Skip to content
Snippets Groups Projects
Commit 5d70f6e0 authored by BRONES Romain's avatar BRONES Romain
Browse files

fix(mmul): Changeorder of mm coefs

All x then all y coefs
parent 6f591eb2
No related branches found
No related tags found
No related merge requests found
...@@ -142,11 +142,11 @@ begin ...@@ -142,11 +142,11 @@ begin
) )
port map( port map(
pi_clk_a => clk, pi_clk_a => clk,
pi_en_a => mm_coef_i(2*I).en, pi_en_a => mm_coef_i(I).en,
pi_we_a => mm_coef_i(2*I).we, pi_we_a => mm_coef_i(I).we,
pi_addr_a => mm_coef_i(2*I).addr(C_W_MM_IDCNT-1 downto 0), pi_addr_a => mm_coef_i(I).addr(C_W_MM_IDCNT-1 downto 0),
pi_data_a => mm_coef_i(2*I).data, pi_data_a => mm_coef_i(I).data,
po_data_a => mm_coef_o(2*I).data, po_data_a => mm_coef_o(I).data,
pi_clk_b => clk, pi_clk_b => clk,
pi_en_b => '1', pi_en_b => '1',
pi_we_b => '0', pi_we_b => '0',
...@@ -162,11 +162,11 @@ begin ...@@ -162,11 +162,11 @@ begin
) )
port map( port map(
pi_clk_a => clk, pi_clk_a => clk,
pi_en_a => mm_coef_i(2*I+1).en, pi_en_a => mm_coef_i(I+C_N_MM_PSC/2).en,
pi_we_a => mm_coef_i(2*I+1).we, pi_we_a => mm_coef_i(I+C_N_MM_PSC/2).we,
pi_addr_a => mm_coef_i(2*I+1).addr(C_W_MM_IDCNT-1 downto 0), pi_addr_a => mm_coef_i(I+C_N_MM_PSC/2).addr(C_W_MM_IDCNT-1 downto 0),
pi_data_a => mm_coef_i(2*I+1).data, pi_data_a => mm_coef_i(I+C_N_MM_PSC/2).data,
po_data_a => mm_coef_o(2*I+1).data, po_data_a => mm_coef_o(I+C_N_MM_PSC/2).data,
pi_clk_b => clk, pi_clk_b => clk,
pi_en_b => '1', pi_en_b => '1',
pi_we_b => '0', pi_we_b => '0',
...@@ -204,11 +204,11 @@ begin ...@@ -204,11 +204,11 @@ begin
p_rndsat:process(clk, rst_n) p_rndsat:process(clk, rst_n)
begin begin
if rst_n = '0' then if rst_n = '0' then
matmult(2*I) <= (others => '0'); matmult(I) <= (others => '0');
matmult(2*I+1) <= (others => '0'); matmult(I+C_N_MM_PSC/2) <= (others => '0');
elsif rising_edge(clk) then elsif rising_edge(clk) then
matmult(2*I) <= f_resize_sat(f_resize_lsb(accu_x, C_W_MM_ACCU-C_N_MM_RND), C_W_MM); matmult(I) <= f_resize_sat(f_resize_lsb(accu_x, C_W_MM_ACCU-C_N_MM_RND), C_W_MM);
matmult(2*I+1) <= f_resize_sat(f_resize_lsb(accu_y, C_W_MM_ACCU-C_N_MM_RND), C_W_MM); matmult(I+C_N_MM_PSC/2) <= f_resize_sat(f_resize_lsb(accu_y, C_W_MM_ACCU-C_N_MM_RND), C_W_MM);
end if; end if;
end process; end process;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment