Gast
#1682360
Hallo, ich habe ein Problem oder ggf. ein Verständigungsproblem mit VHDL und ich hoffe das mir hier geholfen werden kann. Ich benötige für ein Projekt im Studium einen 3-Bit Up/Down Zähler. Dazu habe ich eine ein Counter "entworfen" welcher 3 Eingänge (clk, btn_up, btn_down) hat. Dazu verwende ich folgenden Source Code.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
Wie man sieht soll der Wert des Zählers bei „btn_up“ 1 und bei „btn_down“ -1 hinzuzählen. Diese Objekt habe ich als Block Symbol entworfen und benutze es in meiner Schematicfile. In meiner TestBench werden das „clk“ und „btn_up“ Signal aller 10 ns gewechselt. Der „clk“ wird bevor er in den Zähler geht durch einen Frequenzteiler durch 4 geteilt. Nun Zählt mein Zähler aber komischer weise nicht bis "111" sondern nur bis "011" also das 3 Bit wird nicht gewechselt sodass es zu folgender Waveform (siehe Anhang) beim Simulieren kommt. Kann mir jemand sagen was ich falsch mache und warum mein Zählerstand nie >= 3 wird? Über Hilfe und ggf. eine Erklärung wäre ich sehr dankbar. MfG Witch


