Ich versuche, ein Programm auf xilinx vivado Suite zu simulieren, die das Quadrat einer bestimmten Ganzzahl finden will. Teil meines Programmsformale Größe hat keinen tatsächlichen oder Standardwert vhdl
for j in (num_of_bits-1) downto 0 loop
res <=res+to_integer(unsigned(dvandha(shln(std_logic_vector(to_unsigned(num)),j)))); -- I get error here
report "The resulting square is " & integer'image(res);
res <= to_integer(unsigned(shln(std_logic_vector(to_unsigned(res)),1))); --I get error here
end loop ;
Hier 'res' ist Inout des Integer-Typs. Dvandha ist eine Funktion, die ich geschrieben habe. Die Eingabeparameter sind std_logic_vector und integer. Shln ist Shift-links-Funktion mit 'n' Verschiebungen. num ist meine ganzzahlige Eingabe. Ich erhalte die folgenden Fehler -
„formale Größe hat keinen tatsächlichen oder Standardwert“
ich keine Ahnung bekommen, was der Fehler ist und wie dies loszuwerden. Ich habe keine Variable/Signal mit dem Namen "Größe" in meinem Programm verwendet. Wie groß ist die Größe, auf die es hinweist? Ich nehme an, es ist der Fehler bei der Typkonvertierung. Ich habe die 'numeric_std'-Bibliothek für die Typumwandlung verwendet. Bitte helfen Sie! Danke im Voraus.
Tipp: Beim nächsten Mal nicht alles inline. A) das macht es schwer zu lesen, B) es macht es einfacher, einen Fehler zu machen. – JHBonarius