uart_tx: jaja, 0x42 (= b"0100 0010", 'B') ist kein gutes zeichen zum UART testen ;)
authorBernhard Urban <lewurm@gmail.com>
Thu, 27 May 2010 07:08:06 +0000 (09:08 +0200)
committerBernhard Urban <lewurm@gmail.com>
Thu, 27 May 2010 07:08:06 +0000 (09:08 +0200)
src/beh_uart_tx_tb.vhd
src/uart_tx.vhd

index 58fb2ab02d73aa9e35f4e6429775aa3ccbc019f3..3f75682e8b952fb00f49ff797a20b7339ae8f0a5 100644 (file)
@@ -83,14 +83,14 @@ begin
                icwait(sys_clk, 2);
 
                -- 1. parameter: testfallnummer
-               -- 2. parameter: STARTBIT (1 bit) - immer '0' | 8 DATENBITS | 1 STOPBIT - immer '1'
+               -- 2. parameter: STARTBIT (1 bit) - immer '0' | 8 DATENBITS (reversed) | 1 STOPBIT - immer '1'
                -- 3. parameter: byte das gesendet werden soll
-               exec_tc(1, b"0000011111", b"00001111");
-               exec_tc(2, b"0101010101", b"10101010");
-               exec_tc(3, b"0110011001", b"11001100");
-               exec_tc(4, b"0001100111", b"00110011");
-               exec_tc(5, b"0010101011", b"01010101");
-               exec_tc(6, b"0100110111", b"10011011");
+               exec_tc(1, b"0000011111", b"11110000");
+               exec_tc(2, b"0101010101", b"01010101");
+               exec_tc(3, b"0110011001", b"00110011");
+               exec_tc(4, b"0001100111", b"11001100");
+               exec_tc(5, b"0010101011", b"10101010");
+               exec_tc(6, b"0100110111", b"11011001");
 
                stop <= true;
                wait;
index 8f15f5b5d6a5b9602a10aa06ea115783a5c41016..a851656f02618a636ab8bfa915f43df8fcbf3a83 100644 (file)
@@ -26,7 +26,7 @@ architecture beh of uart_tx is
 
        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 tx_to_send : std_logic_vector(10 downto 0);
        signal bitcnt_int, bitcnt_next : integer range 0 to 11;
        signal baudcnt_int, baudcnt_next : integer range 0 to BAUD;
 begin
@@ -48,8 +48,8 @@ begin
                        tx_done_int <= tx_done_next;
                        bitcnt_int <= bitcnt_next;
                        baudcnt_int <= baudcnt_next;
-                       -- HIGHBIT (1) | STARTBIT (1) | DATA (8) | STOPBIT (1)
-                       tx_to_send <= '1' & '0' & tx_data & '1';
+                       -- STOPBIT (1) | DATA (8) | STARTBIT (1) | HIGHBIT (1)
+                       tx_to_send <= '1' & tx_data & '0' & '1';
                end if;
        end process;