Gast
#2837581
Hallo, ich befasse mich gerade wie der Titel schon sagt mit Multi-Cylcle Contraints und dazu habe ich ein paar Fragen. Vorweg ich hab zwar schon ein wenig was mit Verilog gemacht aber auf keinen Fall ein Experte. Vorallem nicht mit Timing Contraints bisher hab ich nur eine Clock Contraint angegeben mit dem Rest stehe ich noch ein wenig auf Kriegsfuß ;) Ich hab ein Beispiel mit Ise (Xilinx) fuer dem XC95288xl in Verilog erstellt (siehe Attachment). Nicht abschrecken lassen wegen Verilog. Es ist einfach nur ein Counter der der hochzählt, ein Vergleich und das Ergebnis wird dann aus dem Modul gegeben. Das mit dem Counter und Vergleich ist nur ein Beispiel es geht nicht um den Sinn usw. Da das ganze bei 100Mhz laufen soll ist es zu langsam für ein Cycle... daher meine Versuche mit Multi-Cylcle Contraints usw. Die Fragen: 1) Ich Verstehe es so, dass ich im Source für das Clock Enable selbst sorgen muss und nur der ISE sagen muss wie lang der Path braucht via Contraint. Ist das so korrekt? Irgendwie wenn ich die RTL Schematic ansehe sieht das ziemlich kaputt aus. Anscheinend hat der RTL Schematic Viewer der ISE hat ein Problem mit Addern ? Alle Anschlüsse zum Adder fehlen irgendwie (siehe Attachment). 2) In meinem ucf-file habe ich folgendes angegeben: NET "clk" TNM_NET = clk; TIMESPEC TS_clk = PERIOD "clk" 10 ns HIGH 50%; NET "ce" TNM_NET = "TNM_CE"; TIMESPEC TS_MCP_CE = FROM "TNM_CE" TO "TNM_CE" TS_clk * 2; die Zeile: TIMESPEC TS_MCP_CE = FROM "TNM_CE" TO "TNM_CE" TS_clk * 2; habe ich mit dem Contraints-Editor eingeben. Wenn ich das Top-Modul implementiere bekomme ich in der Console folgendes: WARNING:Cpld:999 - Syntax error in timing constraint 'TS_clk*2', this constraint is ignored. Wenn ich folgendes via Contraints-Editor eingebe: TIMESPEC TS_MCP_CE = FROM "TNM_CE" TO "TNM_CE" 20 ns; funktioniert es keine Warnung. Warum kommmt dort ein Syntax Error ? Verstehe ich nicht! 3) Wenn ich den Timing Report ansehe: Summary Performance Summary Min. Clock Period 11.000 ns. Max. Clock Frequency (fSYSTEM) 90.909 MHz. Limited by Cycle Time for clk Clock to Setup (tCYC) 11.000 ns. Clock Pad to Output Pad Delay (tCO) 5.800 ns. Timing Constraints Constraint Name Requirement (ns) Delay (ns) Paths Paths Failing TS_clk 10.0 0.0 0 0 TS_MCP_CE 20.0 11.0 395 0 /../ Ist das korrekt so ? Also er meckert zwar nicht mehr nur die Max. Clock Frequency ist noch immer bei 90.909 Mhz. Da haette ich eigentlich 100Mhz erwartet? LG ;)
