ein Signal mehreren Komponenten zuweisen (Top Entity)

Gast #838742
Lesenswert?

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.
Gast #839633
Lesenswert?

>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,
Gast #839688
Lesenswert?

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.
Gast #839720
Lesenswert?

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;
#839850
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren