- signal timer : integer range 0 to 65535;
- signal timer_next : integer range 0 to 65535;
- constant timer_max : integer := 35;
- signal counter : integer range 0 to 15;
- signal counter_next : integer range 0 to 15;
- signal txd_next : std_logic;
+ constant BAUD : integer := CLK_FREQ/BAUDRATE;
+
+ type STATE_UART_TX is (IDLE, SENDBITS, DONE);
+ signal state_int, state_next : STATE_UART_TX;
+
+ signal txd_next, txd_int : std_logic;
+ signal tx_done_next, tx_done_int : std_logic;
+ signal tx_to_send : std_logic_vector(0 to 10);
+ signal bitcnt_int, bitcnt_next : integer range 0 to 10;
+ signal baudcnt_int, baudcnt_next : integer range 0 to BAUD;