Hallo, ich baue gerade etwas in Simulink + Systemgenerator für den SPartan 6 und nutze dort den Cordic Block. Meine Taktrate ist 250Mhz. Ich bastel jetzt schon einige Zeit am Timing, bekomme aber immer 2-3 Timing Fehler beim Cordic, so dass ich max 246 MHz nutzen kann. Prinzipiell reicht das, da in der SChaltung vor dem Cordic nur alle 8 Takte ein neuer Wert kommt. Der Cordic muss also nur 250/8 Mhz schnell sein. Weiß jemand, wie ich eine andere Taktdomain zuweise? Bzw einen Clock Enable oder sowas? Am besten auch so, dass der Timing Anayser das auch so versteht.
Brauchst Du nicht, der Cordic kann ruhig voll laufen. Du musst nur alle 8 Takte ein Datum entnehmen. Hochtakten geht mit einem anschliessenden Delay, das später in FFs übersetzt wird. In der Synthese dann register retiming anwerfen. Wenn Du ihn doch runtertakten willst: Nimm einen "Rate Conversion Block" mit einem 8:1 Ratio, unter Verwerfung der 7 von 8 unbrauchbaren Bits.
Ja würde ihn einfach voll laufen lassen, aber wenn ich ihn mit 250MHz laufen lasse, kommt immer Timing Constrain error.
"Rate Conversion Block" den finde ich garnicht. Ich habe einen Block, der heißt Downsample, meinst du das?
"downsample" ist in jedem Fall, das, was Du brauchst. Die Rate Conversion dann, wenn Du die Taktdomaine wechselst.
Mit dem downsample wird aber nicht das Problem der nicht erreichbaren FPGA-Geschwindigkeit gelöst, wenn ich mich nicht irre.
Welchen Spartan6 hast du genau? Und kannst du die Bitbreiten für den Winkel und für dein Sinus Output angeben? Könnte mal was testen auf was ich komme.
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.