Wie kann ich Schlupfverletzungen der "Minimalen Impulsbreite" in der Quartus-FPGA-Synthese vermeiden?

Ich synthetisiere eine Spielzeuganwendung auf DE2, aber ich habe ein Timing-Problem (obwohl alle Ein- und Ausgänge in meinem Design getaktet sind). Diese Verstöße beziehen sich auf die "Mindestimpulsbreite" ...

Wie kann ich einen solchen negativen Schlupf während der FPGA-Synthese vermeiden?

+----------------------------------------------------------------------------------------------------------------+
; Slow Model Minimum Pulse Width: 'CLOCK_27'                                                                     ;
+--------+--------------+----------------+------------------+----------+------------+----------------------------+
; Slack  ; Actual Width ; Required Width ; Type             ; Clock    ; Clock Edge ; Target                     ;
+--------+--------------+----------------+------------------+----------+------------+----------------------------+
; -0.500 ; 0.500        ; 1.000          ; High Pulse Width ; CLOCK_27 ; Rise       ; HEX0[0]~reg0  
Das bezieht sich auf eine Uhr - es sieht so aus, als wäre sie zu schnell?
Nein, ich glaube nicht. Es geht um die Form von Clock_27
Welche Einschränkungen haben Sie für die Frequenz und den Arbeitszyklus von CLOCK_27 angegeben? Welche tatsächliche Frequenz und Einschaltdauer erwarten Sie in Ihrer Anwendung?
Als Frequenz sind 27 MHz eingestellt. Die Berichte scheinen zu sagen, dass ich viel höher gehen kann. In Bezug auf die Einschaltdauer habe ich 50/50 % und kann dies ändern, wenn dies empfohlen wird.

Antworten (1)

Ich denke, pjc50 hat die richtige Idee; Haben Sie die Anweisung "create_clock" der .sdc-Datei bearbeitet? Es hat ein Schlüsselwort "Wellenform", das eine Anstiegs- und Abfallzeit für die Wellenform der Uhr angibt, und das Obige kann passieren, wenn diese zu nahe beieinander liegen (z. B. "{ 0.000 1.000 }"). Um das Offensichtliche nicht zu verzerren, aber es sollte eher "{ 0,000 18,519 }" für ein Tastverhältnis von 50 % und einen Takt von 27 MHz sein.

Das ist die Lösung. Danke !