Hallo Leute,
Ich habe mir ein schönes Programm zusammengestoppselt, dass den Scancode
einer ps/2 tastatur ausliest, richtig decodiert und am DE2 Board als
Wert an der 7 Segmentanzeige ausgibt (also die Tasten von NUMPAD
0,...,9).
Mein Problem: Ich habe als asynchronen Reset den KEY1 am DE2 Board
hergenommen. Wird dieser gedrückt, sollte die 7Segmentanzeige auf 0
gehen. Dieses tut sie aber nur während ich den Knopf gedrückt habe!
Danach verfällt die Anzeige in den letzten Wert, der eingegeben wurde.
Als Reset verwende ich immer den typischen storage process:
1 | state_storage: process(reset,clock)
|
2 | begin
|
3 | if reset='1' then
|
4 | state <=IDLE;
|
5 | char_code<=(others=> '0');
|
6 | char_ready<='0';
|
7 | elsif (rising_edge(clock)) then
|
8 | state <= next_state;
|
9 | char_ready <= char_ready_next;
|
10 | char_code<=char_code_next;
|
11 |
|
12 | end if;
|
13 | end process state_storage;
|
Auch die negative Logik wird berücksichtigt! Was könnte mein Fehler
sein?
LG Mel