Ich habe ein Problem mit Xilinx: Eine Taktdomain holt und verbeitet mit 100 MHz Daten und schiebt sie an passende Stellen eines blockrams, wo sie von einer anderen domain abgeholt werden. Die Daten laufen so ein, daß sich die Takte beim Lesen und Schreiben ruhig überschneiden können, ohne dass es zu Problemen kommt. Es geht jetzt einzig darum, dass das design überhaupt synthetisiert. Bevor ich den Lesezwei drin hatte lief das design auf 130 MHz - 100 sind wie gesagt benötigt. Der Leseteil alleine synthetisiert sogar auf 155 MHz, weil es nur Zähler sind, die die Blockrams treiben und Daten auf Ports schieben. Wenn ich beides synthetisiere, komme ich auf 80 MHz :-( Sicher hat das damit zu tun, dass sich die beiden Takte "sehen" und die Synthese es nicht geschnallt bekommt, daß einfach in Ruhe zu lassen. Bei Altera spezifiziere ich da immer CUT TIMING PATH zwischen den beiden Takten und Ruhe ist. Wie geht das bei Xilinx? Die Anleitung brachte mich auf False-Path und einen komischen Gruppenkonstrukt in der Anleitung. NET "clk_80" TNM_NET = FFS "GRP_80"; NET "clk_100" TNM_NET = FFS "GRP_100"; TIMESPEC TS_CUT = FROM "GRP_80" TO "GRP_100" TIG; Kann das jemand erklären, was das heisst und wie es funktioniert? Meine Takte kommen dabei aus einer DCM, muss ich sagen: Inst_power_dcm: power_dcm PORT MAP ( CLKIN_IN => CLK_IN, CLKFX_OUT => clk_100, CLKIN_IBUFG_OUT => open, CLK0_OUT => clk_80, ); wobei die 100 genau 5/4 der 80 sind. 80 kommen aus dem OSC.
Chris schrieb: > NET "clk_80" TNM_NET = FFS "GRP_80"; Nimm alle FFs, die auf clk_80 hören in eine Gruppe GRP_80 > NET "clk_100" TNM_NET = FFS "GRP_100"; Nimm alle FFs, die auf clk_100 hören in eine Gruppe GRP_100 > TIMESPEC TS_CUT = FROM "GRP_80" TO "GRP_100" TIG; Ignoriere Timingbeziehungen zwischen den beiden Gruppen Das ist hier der Fall: 1. Assuming signal clk_in drives synchronous elements beyond the DCM http://www.xilinx.com/support/answers/34348.htm
Danke schon mal soweit. Ich habe mir die Seite angesehen: Muss ich das nur für die internen Takte, also die Ausgänge der DCM machen, oder auch noch die eingehende Clock miteinbeziehen? Eigentlich nicht, oder?
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.