X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fbeh_display_tb.vhd;h=5b6e6a15ed61c2514cf64ac074161594453b1439;hb=5f4ec84aff1e4c4d26eb7707a2e9d899ed519bb9;hp=02a82575956046e5d2bff6d96ecce5835e335750;hpb=296b97dc82442c2ff794f729003dd4358ed7e10c;p=hwmod.git diff --git a/src/beh_display_tb.vhd b/src/beh_display_tb.vhd index 02a8257..5b6e6a1 100644 --- a/src/beh_display_tb.vhd +++ b/src/beh_display_tb.vhd @@ -17,7 +17,7 @@ architecture sim of beh_display_tb is signal command : std_logic_vector(COMMAND_SIZE - 1 downto 0); signal command_data : std_logic_vector(3 * COLOR_SIZE + CHAR_SIZE -1 downto 0); -- history/display - signal d_new_eingabe, d_new_result : std_logic; + signal d_new_eingabe, d_new_result, d_new_bs : std_logic; signal d_zeile : hzeile; signal d_spalte : hspalte; signal d_get, d_done : std_logic; @@ -36,6 +36,7 @@ begin -- history d_new_eingabe => d_new_eingabe, d_new_result => d_new_result, + d_new_bs => d_new_bs, d_zeile => d_zeile, d_spalte => d_spalte, d_get => d_get, @@ -59,7 +60,7 @@ begin end process; process - variable input : hstring := "123513 "; + variable input : hstring := "123513 "; variable ctmp : character; variable checkall : boolean := true; @@ -76,10 +77,12 @@ begin icwait(sys_clk, 5); sys_res_n <= '1'; - while i <= 71 loop + while i <= 5 loop + icwait(sys_clk, 10); d_new_eingabe <= '1'; wait on d_get; -- = '1'; icwait(sys_clk, 1); + d_new_eingabe <= '0'; ctmp := input(to_integer(unsigned(d_spalte))); d_char <= hbyte(to_unsigned(character'pos(ctmp),8)); @@ -88,21 +91,40 @@ begin wait on d_get; -- = '0'; icwait(sys_clk, 1); d_done <= '0'; - d_new_eingabe <= '0'; free <= '0'; - icwait(sys_clk, 3); + icwait(sys_clk, 1); free <= '1'; - icwait(sys_clk, 3); + icwait(sys_clk, 1); -- fuer NOP free <= '0'; - icwait(sys_clk, 3); + icwait(sys_clk, 1); free <= '1'; + icwait(sys_clk, 1); i := i + 1; end loop; + icwait(sys_clk, 2); + d_new_result <= '1'; + icwait(sys_clk, 2); + d_new_result <= '0'; + + -- fuer NOP + free <= '0'; + icwait(sys_clk, 1); + free <= '1'; + icwait(sys_clk, 2); + + -- fuer NOP + free <= '0'; + icwait(sys_clk, 1); + free <= '1'; + icwait(sys_clk, 1); + icwait(sys_clk, 1); + + if checkall then report "alle testfaelle des Displays waren erfolgreich!";