Forum: FPGA, VHDL & Co. VHDL Xilinx ISE 9.2i 04


von Tommy (Gast)


Lesenswert?

Hallo an alle!

ich bekomme folgende Warnung nach der Synthese:

Xst:2677 - Node <Uhf_Samples_0> of sequential type is unconnected in 
block <AdcToplevel_I_AdcDownsample>.
Xst:2677 - Node <Uhf_Samples_1> of sequential type is unconnected in 
block <AdcToplevel_I_AdcDownsample>.
Xst:2677 - Node <Uhf_Samples_2> of sequential type is unconnected in 
block <AdcToplevel_I_AdcDownsample>.
Xst:2677 - Node <Uhf_Samples_3> of sequential type is unconnected in 
block <AdcToplevel_I_AdcDownsample>.

Der passende VHDL Code in meiner Unit "AdcToplevel_I_AdcDownsample" 
sieht so aus:

Uhf_Samples    : out integer range 0 to C_Ringbuffer_length_E
--C_Ringbuffer_length_E = 400
process (SysDataStorEnaOut,RxClk,reset)
variable sample_counter_uhf : integer range 0 to C_Ringbuffer_length_E;
begin
 if (reset='1') then
  sample_counter_uhf := 0;
 elsif rising_edge(SysDataStorEnaOut) then
  if (sample_counter_uhf < C_Ringbuffer_length_E) then
  ...
  sample_counter_uhf := sample_counter_uhf + 1;
  else
   sample_counter_uhf := 0;
  end if;
 end if;
end process;
Uhf_Samples <= sample_counter_uhf;

Also ein Zähler der mehrere Units "rausverdrahtet" wird und in einer 
anderen Unit wieder verwendet wird.

Die oberen Bit (8,7,6,5,4) werden synthetisiert...

Kann mir bitte jm. helfen?

Danke!

von Tuffke (Gast)


Lesenswert?

Würde mal vermuten, dass Uhf_Samples[3:0] in den anderen Units nicht 
verwendet wird, weshalb die Synthese diese Bits rausnimmt.

Gruß Tuffke

von Tommy (Gast)


Lesenswert?

@ Tuffke:
Danke erstmal für die Antwort
hab da nen kleinen Fehhler in meinem geposteten Code gefunden...die 
variable sample_counter_uhf ist nun ein Signal was hochgezählt wird und 
dem Ausgang nach dem Prozes zugeordnet wird.

Nun hab ich den Zähler nur mal bis 15 zählen lassen. Er müsste also die 
[3:0] nehmen, übernimmt dennoch erst ab [4:...].
Habs auch mal mit std_logic Konvertierung probiert und nen 
std_logic_vector übergeben, geht auch nicht. Und dann hab ich noch das 
Signal nur als "reinen" integer (also ohne RANGE) deklariert. Er nimmt 
dann kurioserweise die bit [4:31].

Der Counter wir bis zum Toplever mit vollen [31:0] bit hochverdrahtet, 
wenn ich dann in die Ziel-Unit runtervrahten will, zeigt mir Chipscope 
nur die Bits [4:31] an...

Weiß nich weiter.

von Tuffke (Gast)


Lesenswert?

Was passiert denn in der "Ziel-Unit" mit dem Signal?

Das Umschreiben der Variable auf Signal kann man sich doch sparen, da es 
zum selben Ergebnis führen sollte.

Das Register, welches den Zählerstand enthält, wird auf jeden Fall auch 
die bits [3:0] halten - jedoch muss es ja nicht sein, dass auch auch 
alle Signal "rausgelegt" werden.

Gruß Tuffke

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
Noch kein Account? Hier anmelden.