ich folgende Eigenschaft Erklärung haben und in einem meiner System Verilog-Dateien überprüfen:Warum soll Quartus Prime die für die Simulation verwendete Systemverifikationszusicherung nicht ignorieren?
property StepOutP_pulse_width;
int count;
@(posedge ClkRs_ix.clk)
($rose(mc.outvec.StepOutP_o),count=STEPPER_PULSE_WIDTH) |->
(mc.outvec.StepOutP_o,count--)[*] ##1 (~mc.outvec.StepOutP_o && count==0);
endproperty // StepOutP_pulse_width
assert property (StepOutP_pulse_width);
Diese im Grunde die Breite eines Impulses durch das Signal mc.outvec.StepOutP_o
Wenn ich das versuchen zu kompilieren erzeugt prüft Design, Quartus Prime nicht über diese Eigenschaft Erklärung sagt
Fehler (10170): Verilog HDL Syntaxfehler bei steppingcontroller.sv (404) in der Nähe von Text: "]"; erwarte einen Operanden. Suchen Sie nach Syntax , und beheben Sie Syntaxfehler, die unmittelbar vor oder bei dem angegebenen Schlüsselwort angezeigt werden. Die Intel FPGA Knowledge Database enthält viele Artikel mit spezifischen Details zum Beheben dieses Fehlers. Rufen Sie die Knowledge Database unter https://www.altera.com/support/support-resources/knowledge-base/search.html auf und suchen Sie nach dieser spezifischen Fehlernummer.
Nun, ich würde denken, dass bei der Analyse & Synthese dieser Eigenschaft Erklärungen und die damit verbundene Aussagen sind vollständig, da sie nur Sorge Simulation ignoriert. Aber anscheinend ist es nicht der Fall. Modelsim (Original-Mentor-Grafikversion) hat kein Problem, es zu kompilieren, und ebenso macht die Behauptung das, was erwartet wird. Quartus Verilog Kompilierungseinstellungen werden auf 'SystemVerilog'
Gewusst wie:
die Eigenschaft Spezifikation mit quartus Compiler-konform machen?
oder Setup-Compiler diese Assertionen zu ignorieren?
Dank
alle Methoden, mit denen ich gearbeitet habe, vorschlagen, 'ifdef/'ifndef um den Assertionscode zu setzen. Also, Sie können es tun. Es wird gegenüber der Verwendung von translate on/off-Direktiven bevorzugt. – Serge
Die Fehlermeldung schlägt vor, dass die Datei als Verilog anstelle von SystemVerilog behandelt wird. Wenn Sie die Assertions auskommentieren, akzeptieren Sie andere SystemVerilog-Schlüsselwörter wie 'always_comb' und' always_ff'? – Greg
Ich habe überprüft, und Quartus Compiler ist wirklich im SystemVerilog-Modus eingerichtet. Es sei denn, es gibt eine andere Einstellung als Zuweisungen/Einstellungen/Compilereinstellungen/Verilog HDL-Eingabe. Was ist der genaue Grund, warum ifdef Methode gegenüber On/Direktiven bevorzugt werden sollte? –