Guten Tag,
ich arbeite mich gerade etwas in VHDL ein und versuche einen BCD to
7-Segment Wandler zu simulieren.
Die Architektur sieht bei mir so aus:
1 | ARCHITECTURE seg7_a OF seg7_e IS
|
2 | BEGIN
|
3 | PROCESS
|
4 | BEGIN
|
5 | CASE bcd_i IS
|
6 | WHEN "0000" => led_o <= "1111110"; -- 0
|
7 | WHEN "0001" => led_o <= "0110000"; -- 1
|
8 | WHEN "0010" => led_o <= "1101101"; -- 2
|
9 | WHEN "0011" => led_o <= "1111001"; -- 3
|
10 | WHEN "0100" => led_o <= "0100111"; -- 4
|
11 | WHEN "0101" => led_o <= "1011011"; -- 5
|
12 | WHEN "0110" => led_o <= "1011111"; -- 6
|
13 | WHEN "0111" => led_o <= "1110000"; -- 7
|
14 | WHEN "1000" => led_o <= "1111111"; -- 8
|
15 | WHEN "1001" => led_o <= "1111011"; -- 9
|
16 | WHEN OTHERS => led_o <= "1111110"; -- 0
|
17 | END CASE;
|
18 | WAIT;
|
19 | END PROCESS;
|
20 | END seg7_a;
|
Wenn ich eine Simulation starte, kommt egal bei welcher BCD Kombination
immer der letzte Wert (hier WHEN OTHERS => led_o <= "1111110"; -- 0).
Ist so ein Case Konstrukt nur mit einem Takt möglich? Oder warum wird
immer der letzte Wert genommen?