ich kämpfe mich gerade durch Verilog und PSL durch und frage mich, wie ich folgendes realisieren soll: Ein Dut (H-bridge controller) soll die Ausgänge auf unerlaubte 'Zustände' testen (also die gate signale). Dazu habe ich folgendes geschrieben: [verilog] // psl gate_check_1: assert always (gates != 'h0F) @(posedge clk_fsm) report "All Gates are enabled"; // psl gate_check_2: assert always (gates != 'h03) @(posedge clk_fsm) report "H-Bridge left arm shot through / cross conduction"; // psl gate_check_3: assert always (gates != 'h0B) @(posedge clk_fsm) report "H-Bridge right arm shot through / cross conduction"; [/verilog] Nun wird dieser Test ja auch vor dem Reset geprüft wie es ausschaut. Kann man dass ab/an einen bestimmten Zeitpunkt binden? Wie? Modelsim gibt Syntax Error aus, wenn ich [verilog] /* psl ... report ... */ [/verilog] schreibe, mach ich da was falsch? PS: an die Admins: verilog mode fehlt, VHDL is ja da
So vielleicht:
1 | // psl gate_check_1: assert always (gates!='h0F && !Reset) @(posedge clk_fsm) report "All Gates are enabled";
|
ich sehe schon , ich habe es zu einfach beschrieben ;-) Genau genommen habe ich kein Reset Signal - in der FSM (one-hot) ist beim default einfach ein next_state = Idle, von da aus wird gehopst. Aber das Prinzip dürfte damit aber das gleiche sein - eben nicht im state = 'h00
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.