Hallo VHDL-Freunde, ich bin ein bisschen über mein Design besorgt. Ich will mir einen schnellen (1 Takt) Bit-Shifter programmieren. z.B. (8 Byte) 64 Bit-Eingangswort : signal Data_in : std_logic_vector(63 downto 0); signal Data_out : std_logic_vector(127 downto 0); Für einen direkten Shift um 4 Byte habe ich mir dann z.B. folgendes Konstrukt überlegt. Data_out <= ((127 downto 96) => '0') & Data_in & ((31 downto 0) => '0')); Dies habe ich dann jeweils für die anderen byte-Größen ebenfalls gemacht und in einzelne Entities gepackt. Die Eingangsdaten werden über einen Bus an die Shift-Entities geführt, welche zusätzlich einen Adressbus besitzen, um die jeweilige Shift-Größe zu bestimmen (Addresse = Shiftfaktor). Nun bekomme ich für jede Entity für Data_out an den Bits, die ich konstant mit 0 beschreibe die Warnungen Xst: 638: Data_out<xyz> ... signal will be lost und Xst:2261 - The FF/Latch Data_out<xyz> will be removed. Ich brauche diese Signale aber als '0'-Wert drumherum! In der RTL-Synthese werden die '0'-Signale offensichtlich auch an GND geschaltet. Nun meine Frage: Kann ich die Warnungen ignorieren, da ich ja weiß, dass die Signale '0' sein sollen oder gibt es eine Möglichkeit, dies im Vorfelde schon klarzustellen, dass diese fest auf GND liegen können? Wie sieht es mit der CHIP-Implementierung aus? Könnte das "nach hinten" losgehen? gruß Dennis
Gast
#1849911
Er optimiert das halt raus, klar kann man das ignorieren denn du weißt ja dass es so sein soll und ja er legt es dann auf GND.
Hi D. I., danke für die schnelle Antwort! Gruß Dennis
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.