J'essaye de créer un tableau de vecteurs_logic avec des longueurs réduites. J'ai essayé de faire un tableau avec un générique std_logic_vector et ensuite en utilisant une instruction generate pour créer les vecteurs.VHDL Générer un tableau de STD_LOGIC_VECTORS avec une longueur réduite
architecture behavioral of dadda_mul_32bit is
type and_planes is array (0 to 31) of std_logic_vector;
begin
generate_and_plane:
for i in 0 to 31 generate
and_planes(i) <= and_vector(a, b(i), i);
end generate generate_and_plane;
end behavioral;
avec une fonction qui renvoie un std_logic_vector générique:
function and_vector(vec: std_logic_vector; x: std_logic; length: natural) return std_logic_vector is
variable result: std_logic_vector(length - 1 downto 0);
begin
for i in 0 to length - 1 loop
result(i) := vec(i) and x;
end loop;
return result;
end function;
Suis-je en utilisant la déclaration de manière incorrecte générer?
Pourquoi vos résultats ET ne sont-ils pas de la longueur d'un? – user1155120