Gast
#3538063
Hallo zusammen, ich habe den folgenden VHDL-Code (etwas vereinfacht!).
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
Ich habe also einen getakteten Prozess, in dem ich das Signal s_check_signal aktualisiere. Dieses Signal wird dann in kombinatorischer Logik verschaltet und dann mit den statischen Inputs (CFG_IN_1/2) vergleichen und daraufhin das VALID-flag erzeugt. Nun habe ich in der Simulation das oben gezeigte Bild. Zu sehen ist ein kurzer Peak im Valid Signal der genau dann entsteht, wenn s_check_signal aktualisiert wird. Der Peak ist 0ps lang, wird also auch bei maximaler Zoom-Stufe nicht breiter. Woher kommt dieser Peak? Ich denke Modelsim ist eine funktionale Simulation, in der die Laufzeiten im Gatter keine Rolle spielen? Auch wenn ich mir nicht erklären kann, wieso an dieser Stelle Laufzeiten eine Rolle spielen sollten, denn zu jederzeit ist ja erfüllt, dass VALID = '0' sein sollte. Vor und nach der entscheidenden Taktflanke sollte VALID eigentlich '0' sein, aber zur Flanke wird es kurz '1'. Vor der Flanke ist s_check_signal "00000010". Das verstehe ich nicht ganz. Kann mir jemand eine Erklärung dazu geben? Vielen Dank! Tom
