Gast
#418256
Hallo, ich habe ein Projekt in VHDL für einen CycloneII geschrieben, bei dem große Zahlen über einen 32Bit-Bus übertragen werden sollen. Dafür habe ich nun einen Umrechnungsfunktion wie folgt erstellt: function create_four_byte (constant int: integer := 0) return std_logic_vector is variable int_temp: integer := int; variable four_byte_result : std_logic_vector(highest_bit downto 0) := X"00000000"; begin if int_temp >= 50000000 then return four_byte_result; end if; FOR j IN highest_bit-1 downto 0 LOOP if int_temp >= 2**j then four_byte_result(j) := '1'; int_temp := int_temp - 2**j; else four_byte_result(j) := '0'; end if; END LOOP; return four_byte_result; end function; Die Frage: Meiner Meinung ist das nur Kosmetik, weil die Zahl ja so oder so im Chip als Binärwert vorliegt. Gibt es eine Möglichkeit, eine INteger-Zahl direkt auf einen Bus vom Typ pio_bus : OUT std_logic_vector (31 downto 0); zu setzen? Danke! Micha