Добра
есть данные с NCO (reg_cos, reg_sin) и приходяцие данные (reg_data_re, reg_data_im) далее я описываю фільтр
-- //\\\\\\\\\//
-- // Mixer I //
-- //\\\\\\\\\//
process (all)
begin
if (i_rst = '1') then
reg_bpsk_im <= (others => '0');
elsif(rising_edge(i_clk)) then
if valid = '1' then
reg_bpsk_im <= std_logic_vector(signed(reg_sin) * signed(reg_data_im));
end if;
end if;
end process;
-- //\\\\\\\\\//
огромное спасибо!
и(vivado 2019.1) для
module adder_tree #
(
parameter int NUM_INPUTS = 16,
parameter int DATA_WIDTH = 16,
parameter int OUT_DATA_WIDTH = DATA_WIDTH + $clog2(NUM_INPUTS)
) (
input logic clk,
input logic clkena,
input logic [DATA_WIDTH-1:0] idata [0:NUM_INPUTS-1],
output logic [OUT_DATA_WIDTH-1:0] odata
);
localparam int NUM_INPUTS_TRUE = 2 ** ($clog2(NUM_INPUTS));
localp