Forum: FPGA, VHDL & Co. quartus II Assignement Editor


von Michael (Gast)


Lesenswert?

Hallo,

ich programmiere seit einiger Zeit mit Verilog ein Programm. Und ich
bekomme timing-Probleme.

1. Problem: ich benutze einen Frequenzteiler auf meinem FPGA, der mir
eine Frequenz von 80MHz auf 20MHz teilt. Diese 20MHz verwende ich für
mein komplettes Modul. Nun macht Quartus die Timing-Analyse mit 80 MHZ
und meckert dann hier und da, dass Programm nicht alle Anforderung
erfüllt. Ich würde gerne Quartus sagen, das dieses Modul nur mit 20MHz
läuft, leider ist es mir bisher nicht gelungen, dass korrekt im
Assignement Editor einzustellen.

2. Problem: ich verwende ein Latch, das ein mit 20MHz getaktes
Enablesignal bekommt. Quartus bezieht das nun wieder auf die 80MHz...
die Folgen sind mal wieder Timingprobleme.

wäre sehr dankbar über jegliche Tips im Umgang mit Quartus oder dem
Assignement Editor


Michael

von Jürgen Schuhmacher (Gast)


Lesenswert?

Wenn es mit dem overall Timing "default required fmax" nicht geht,
brauchts Du ein clk -Setup. Woher kommen die 80MHz? Normalerweise hat
man ja aussen die geringere Frequenz und zieht sie hoch. Dann entnimmt
Quartus die Timing-Randbedingungen automatisch aus der CLK-Definition.
Dies müsste auch dann gehen, wenn man nur runterteilt: (Megawizzard,
CLK, Faktor 1, Teiler 4). Dann erkennt Quartus, daß hinten nur 20Meg
anliegen. Ansonsten das Clk-Netz (20) ausdrücklich unter "individual
clks" mit 20Meg eintragen und den 80er mit 80.

Änhlich müsste man auch das Latch constrainen können, wobei das obige
das untere Problem miterledigen sollte.

von Michael (Gast)


Lesenswert?

also ich habs geschafft, das Problem zu lösen, indem ich einen eigenen
Teiler in Verilog programmiert habe. Davor habe ich einen Teiler
verwendet der aus 2 FFs aufgebaut war. Nun habe ich aber erfahren, dass
diese Clk-Constraints nur auf Module angewendet werden können. Mit
dieser FF-Schaltung wirken die Constraints nicht, weil Quartus sie
nicht versteht. Also am besten ein Verilog oder VHDL Modul schreiben
und schon sollte es funktionieren.

Das haben mir noch die von Altera gemailt, bzgl. der Pfade
(Verbindungen) scheint mir besonders wichtig zu sein. "Please also
make sure that no paths are existed between base and derived clocks,
since it easily leads to gated clock and introduces hold timing
violation."

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.