Hallo,
kann man den dargestellten Zähler anders aufbauen?
Er soll nur einen kurzen Impuls am Ausgang bei bestimmter Frequenz
erzeugen. Momentan ist mir die Länge des "OUT" Impulses zu lang (2 CLK
Takte).
Wie kann man das Problemchen lösen? (Eingabe = Eingang)
Vielen Dank!
1 | process (CLK, Reset)
|
2 | begin
|
3 | if Reset='1' then
|
4 | Puffer<='1';
|
5 | zahl_a <= (others => '0');
|
6 | elsif CLK='1' and CLK'event then
|
7 |
|
8 | if Puffer='1' then
|
9 |
|
10 | zahl_a <= zahl_a + 1;
|
11 |
|
12 | if zahl_a = Eingabe then
|
13 | Puffer<='0';
|
14 |
|
15 | end if;
|
16 | zahl_b <= "0000";
|
17 | else
|
18 |
|
19 | zahl_b <= zahl_b + 1;
|
20 |
|
21 | if zahl_b = "0001" then
|
22 | Puffer<='1';
|
23 | end if;
|
24 | zahl_a <= "0000";
|
25 | end if;
|
26 | end if;
|
27 | end process;
|
28 |
|
29 | Out <= not Puffer;
|