Forum: FPGA, VHDL & Co. ein paar Fragen zu Systemverilog


von systemverilog (Gast)


Lesenswert?

Hi,

Um in Verilog festzustellen, ob ein Zähler seinen Maximalwert erreicht 
hat prüfe ich dies mit folgendem Ausdruck:
1
reg [WIDTH-1:0] cnt;
2
.
3
.
4
.
5
always (posedge ..)
6
begin
7
    if(cnt == {WIDTH{1'b1}})
8
        .. blah .. mach was weil voll
9
end

Gibt es mit Systemverilog die Möglichkeit direkt nachzufragen ob ein 
Register voll ist. Kann man mit Systemverilog nachfragen welche 
Bit-Breite ein Register hat?
Also ich ich meine kann man so etwas änliches schreiben wie:
  if(cnt'full)

oder cnt'width

von Andi M. (andi6510) Benutzerseite


Lesenswert?

Das geht mit dem reduction-AND:

if (&cnt) begin
   // ... ja um Himmels willen, will denn keiner was machen???
end

Das gibts schon in Verilog'95 :-)

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Da speziell nach SystemVerilog gefragt wurde. Das folgende sollte auch 
gehen:
1
if cnt == '1 begin
2
    // ...
3
end

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.