mikrocontroller.net

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


Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Tuffke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tommy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tuffke (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.