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!
Würde mal vermuten, dass Uhf_Samples[3:0] in den anderen Units nicht verwendet wird, weshalb die Synthese diese Bits rausnimmt. Gruß Tuffke
@ 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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.