Folgende Aufgabe:Ein positiv flankengesteuertes D-FlipFlop mit asynchronen Clear und Set ist gefragt. Beide Signale sind aktiv Low. Als Lösung wurde uns vom Lehrer folgender Code gegeben:
1 | Library IEEE; |
2 | use IEEE.Std_Logic_1164.all; |
3 | |
4 | entity FF is |
5 | port(d, clk, clr, set: IN std_ulogic; |
6 | q: OUT std_ulogic;) |
7 | end FF; |
8 | |
9 | architecture a of FF is |
10 | begin
|
11 | process(clk,clr,set) |
12 | begin
|
13 | if(clr='1') then |
14 | q<='0'; |
15 | elsif(set='1') then |
16 | q<='1'; |
17 | elsif(event'clk and clk='1') |
18 | q<=d; |
19 | end if; |
20 | end process; |
21 | end a; |
Die Fragen: Bei aktiv Low, müßte an der Stelle if clr= und set= nicht ein '0' folgen? Welcher Teil erfüllt die asynchrone Clear und Set Forderung bzw. was ist dies überhaupt?