bonjour à tous et merci d'avance de votre aide.
Voila mon problème, je programme en VHDL sous Xilinx et je voudrais mettre plusieurs entrées de même taille dans un tableau pour pouvoir calculer diverses parité (verticale, horizontale et diagonale), mais je n'y arrive pas.
Le calcul de parité fonctionne parfaitement, mon seul problème est de mettre toutes mes entrées sous forme de tableau.
voici mon code pour mieux comprendre.
Merci d'avance de votre aide.Code:library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Parite_diag is generic(n : integer := 15); port( load1_D : IN std_logic; load2_D : IN std_logic; reset_counter_out : IN std_logic_vector(15 downto 0); adress_counter_out : IN std_logic_vector(15 downto 0); read_sequence_out : IN std_logic_vector(15 downto 0); RN_16_out : IN std_logic_vector(15 downto 0); Handle_out : IN std_logic_vector(15 downto 0); parité_D : out std_logic_vector (1 to (2*n))); end Parite_diag; architecture Behavioral of Parite_diag is type tableau is array (0 to n,0 to n) of std_logic_vector; signal t : tableau(1 to n,1 to n) := (reset_counter_out, adress_counter_out, read_sequence_out, RN_16_out,Handle_out); signal p1 : std_logic_vector(1 to n); signal p2 : std_logic_vector(1 to n); begin --t <= ("000", "101", "101") after 100 ns, ("000", "100", "000") after 200 ns; process(t) variable i : integer; variable l : integer; variable p_var1 : std_logic; variable p_var2 : std_logic; begin for j in 1 to n loop i := 1; p_var1 := '0'; for j_var in j to n loop p_var1 := p_var1 xor t(i,j_var); i:=i+1; --j_var:=j_var+1; end loop; p1(j) <= p_var1; end loop; for k in 1 to n loop l := 1; p_var2 := '0'; for k_var in k to n loop p_var2 := p_var2 xor t(k_var,l); l:=l+1; end loop; p2(k) <= p_var2; end loop; parité_D <= p1 & p2; end process; end Behavioral;
-----