Hi, ich hab mal eine Nope –Frage und zwar hab ich folgendes Problem: Ich hab eine Top-Entity mit mehreren Komponenten und den dazugehörigen Port -Maps, nun hab ich eine Taktleitung sowie eine Reset-Leitung von außen, die ich an alle meine Komponenten anschließen möchte, bloß wie? Wenn ich z.B. den Takt (CLK5) bei dem Port -Map an jeden Takt der jeweiligen Komponente ankopple, dann wird mir ein Fehler ausgespuckt (Port <CLK5> has illegal connection.) Meine Frage, wie schließe ich mehrere Komponenten an eine Leitung an, sei es die Takt-Leitung oder die Reset-Leitung? Für Eure Antworten bedanke ich mich schon mal recht herzlichst.
Das geht genauso wie du schreibst - die Fehlermeldung stammt von etwas anderem.
@Jan: Ne ne, der Fehler kann schon davon kommen. @Fragender: Welche illegallen connections hat den Port <CLK5> ? Sind das auch wirklich alles Takteingänge? Oder Mischmasch? Rick
>Welche illegallen connections hat den Port <CLK5> ? Steht leider nicht bei, Xilinx schneidet die Antwort ab und im Report steht es auch nicht drin. >Sind das auch wirklich alles Takteingänge? Sollten jeweils an einer Taktleitung hängen. Komponente "DLL" CLKIN => CLK5, Komponente "CAN" CLK => CLK5,
Okay, hab jetzt nochmal den Report erstellt. Zum Takt kommt nun folgende vollständige Meldung: ERROR:Xst:2035 - Port <CLK5> has illegal connection. Port is connected to input buffer and following ports: Port <rclk> of node <CAN/cmod/overrun_fifo/inf.x0> (generic_syncram_2p) in unit <top_spartan> Port <wclk> of node <CAN/cmod/overrun_fifo/inf.x0> (generic_syncram_2p) in unit <top_spartan> Port <clk1> of node <CAN/cmod/noft.info_fifo/xc2v.x0> (virtex2_syncram_dp_2) in unit <top_spartan> Port <clk2> of node <CAN/cmod/noft.info_fifo/xc2v.x0> (virtex2_syncram_dp_2) in unit <top_spartan> Port <clk1> of node <CAN/cmod/noft.fifo/xc2v.x0> (virtex2_syncram_dp_1) in unit <top_spartan> Port <clk2> of node <CAN/cmod/noft.fifo/xc2v.x0> (virtex2_syncram_dp_1) in unit <top_spartan> Port <C> of node <CAN/cmod/async.can/rx_sync_tmp> (FDP) in unit <top_spartan> ... usw. Und zum Reset: ERROR:Xst:2035 - Port <Reset_B> has illegal connection. Port is connected to input buffer and following ports: Port <I0> of node <CAN/reset1> (LUT1) in unit <top_spartan> Ich hoffe ihr könnt mir weiterhelfen.
Wenn xilinx abschneidet, dann schau in die log-Datei, hat die endung *.syr (synthese report). Such doch mal auf der platte danach. eventuell verwendest du ein ausgangssignal intern. also sowat: bsp_o: out std_logic; bsp_i: out std_logic; architecture signal bsp_int: std_logic; begin bsp_o <= not bsp_in; --legal bsp_int <= bsp_o; --illegal end architecture;
Das heißt, dass du in irgendeinem deiner Files einen input-Buffer instanziierst (das kann auch automatisch passieren). Es ist nicht möglich, das Signal vor dem input Buffer irgendwohin zu verbinden. Also entweder überall das Ausgangssignal des input Buffers in die port map schreiben, oder gar keinen input Buffer extra instanziieren.
Die input-Buffer werden z.B. bei den DCMs eingefügt. Dürfte bei den DLLs auch so sein. Dann mußt Du Deinen internen Takt am CLK0 (o.ä.) der DCM/DLL abfassen. Rick
ok, dank euch. ich werde mir mal das ganze jetzt nochmals etwas genauer unter euren gesichtspunkten ansehen und wer weiß evtl. will es ja dann auch funktionieren.
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.