Hallo, ich habe gestern alle VHDL-Dateien im Projekt umgebaut und komplett auf IEEE.std_logic_arith.all und IEEE.std_logic_unsigned.all verzeichtet, nutze also wie hier empfholen nurnoch IEEE.std_logic_1164.all und IEEE.numeric_std.all. Da hatte den schönen Vorteil, dass mein Spartan s1200 zu 6% weniger belegt ist, aber auch den kleinen Nachteil, dass ich jetzt richtig viele Warnings bekomme. Z.B. habe ich vorher geschrieben: if VECTOR(15 downto 8) = 0 then und jetzt: if VECTOR = (15 downto 8 => '0') then und bekomme dafür das Warning: Size of operands are different: result is <true> Was ja eigentlich nicht konstant <true> sein sollte oder muss ich da in dem Beispiel auch die anderen Bits beachten? Oder wie vergleicht man nur einen Bereich eines Vectors mit einem festen Bitmuster? Vielen Dank!
Gast
#2556482
versuchs doch mal mit if unsigned(VECTOR(15 downto 8)) = 0 then :D
Sehr schön! Danke!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.