Was macht dieser Code (falsch) ?
1 | doublesynch : PROCESS(aRst, clk) IS
|
2 | BEGIN
|
3 | IF aRst = '1' THEN
|
4 | input <= (OTHERS => '0');
|
5 | ELSIF rising_edge(clk_i) THEN
|
6 | input <= signal_1;
|
7 | ELSIF falling_edge(clk_i) THEN
|
8 | input <= signal_2;
|
9 | END IF;
|
10 | END PROCESS ff;
|
Ich möchte, daß mit steigender und fallender Flanke jeweils eines der
beiden Signale weitergegeben wird. Signal1 ist vor einem Flip Flop und
Signal2 nach dem Flipflop, das umgekehrt nach diesem Schema angesteuert
wird. So möchte ich sicherstellen, daß immer nur ein stabiles Sigal
weitergeschaltet wird. (der clk "weis") wann das Signal stabil ist.