projects
/
hwmod.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
history/display: backspace logic
[hwmod.git]
/
src
/
beh_display_tb.vhd
diff --git
a/src/beh_display_tb.vhd
b/src/beh_display_tb.vhd
index 02a82575956046e5d2bff6d96ecce5835e335750..5b6e6a15ed61c2514cf64ac074161594453b1439 100644
(file)
--- 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 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;
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,
-- 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,
d_zeile => d_zeile,
d_spalte => d_spalte,
d_get => d_get,
@@
-59,7
+60,7
@@
begin
end process;
process
end process;
process
- variable input : hstring := "123513 ";
+ variable input : hstring := "123513
";
variable ctmp : character;
variable checkall : boolean := true;
variable ctmp : character;
variable checkall : boolean := true;
@@
-76,10
+77,12
@@
begin
icwait(sys_clk, 5);
sys_res_n <= '1';
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 <= '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));
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';
wait on d_get; -- = '0';
icwait(sys_clk, 1);
d_done <= '0';
- d_new_eingabe <= '0';
free <= '0';
free <= '0';
- icwait(sys_clk,
3
);
+ icwait(sys_clk,
1
);
free <= '1';
free <= '1';
- icwait(sys_clk,
3
);
+ icwait(sys_clk,
1
);
-- fuer NOP
free <= '0';
-- fuer NOP
free <= '0';
- icwait(sys_clk,
3
);
+ icwait(sys_clk,
1
);
free <= '1';
free <= '1';
+ icwait(sys_clk, 1);
i := i + 1;
end loop;
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!";
if checkall then
report "alle testfaelle des Displays waren erfolgreich!";