history/display: nach d_new_result = '1' werden die naechsten 70 bytes vom display
[hwmod.git] / src / beh_display_tb.vhd
index 707788b0fbebd156849e03960bce689cc46ddf79..6b0b19b762e273a991ed33afb4b6c0255d0bcb7c 100644 (file)
@@ -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,
@@ -69,6 +70,7 @@ begin
                sys_res_n <= '0';
                d_new_eingabe <= '0';
                d_new_result <= '0';
+               d_new_bs <= '0';
                d_done <= '0';
                d_char <= x"00";
                free <= '1';
@@ -76,10 +78,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,7 +92,6 @@ begin
                        wait on d_get; -- = '0';
                        icwait(sys_clk, 1);
                        d_done <= '0';
-                       d_new_eingabe <= '0';
 
                        free <= '0';
                        icwait(sys_clk, 1);
@@ -104,6 +107,25 @@ begin
                        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!";