Gast
#651820
Hallo... Wie programmiere ich am besten eine Overflowerkennung für einen Counter? Der Overflow soll zwischen gespeichert werden, bis er Resetet wird. Als Eingang dient der Zählerwert. Danke
|
Anzeige
|
Counter Overflow erkennung
Gast
#651820
Hallo... Wie programmiere ich am besten eine Overflowerkennung für einen Counter? Der Overflow soll zwischen gespeichert werden, bis er Resetet wird. Als Eingang dient der Zählerwert. Danke Meinst du etwa so?
Gast
#651891
Ein up counter macht einen Carry, ein down counter macht einen Borrow, diesen gibt man auf ein Flipflop, fertig.
Gast
#651929
ist es möglich diesen ausdruck (counter = x"FFF") direkt an eine set-eingang zu legen? Ich bekomme dann immer den fehler (iOverflowEnable='1' and (iCtr=tCtrMax))... Oder muss ich das zwangweise als Process implementieren. Das Problem beim Process ist, das die Overflows nicht konsequent erkannt werden. (Ich denke es liegt an den Taktraten von dem Zähler (100MHz-400MHz)... Grüße und danke für die Hilfen.... Du musst den Process doch nicht takten.
Gast
#651971
Ich habe den Prozess auch nicht getaktet. Es funktioniert soweit ok... Nur bei höhren Taktraten erkennt er nicht mehr jeden Overflow.
Was ist denn das überhaupt für ein Zähler, der mit 400 MHz zählt? Läuft der im FPGA? Ansonsten hüpft bei dir das tOverflow immer nur ganz kurz auf 1, das Halten soll dann wohl in dem tFlipflop passieren? Bei 400 MHz ist der Impuls natürlich ziemlich kurz... MARK wrote: > tFlipflop: component FD1S3DX > port map ( > CD=>iRES_Overflow, > CK=>tOverflow, > D=>'1', > Q=>oOverflow > ); Sehe ich das richtig dass du tOverflow als Clock verwendest? Das ist nicht die feine Art. Leg das doch an einen Set-Eingang von einem getakteten Flipflop. Oder schreib das ganze erst mal als Verhaltensbeschreibung, ein Gemisch aus Netzliste und Prozessen ist der Übersichtlichkeit ja nicht unbedingt zuträglich. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|