URL
https://opencores.org/ocsvn/cascaded_fir_filter/cascaded_fir_filter/trunk
Subversion Repositories cascaded_fir_filter
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 4 to Rev 5
- ↔ Reverse comparison
Rev 4 → Rev 5
/cascaded_fir_filter/trunk/FIR_cascaded_tb.v
137,38 → 137,38
parameter SIM_DURATION = 24000000 // simulation duration after reset duration |
`endif |
); |
reg clk; // тактовая частота |
reg reset; // сброс |
reg inp_clk; // стробы отсчётов |
reg clk; // clock |
reg reset; // reset |
reg inp_clk; // samples strobes |
wire [3:0] count; |
reg inp_ping_start; // начало зондирующего импулься |
reg [INP_SAMP_WIDTH - 1:0] inp_samp_I; // входные отсчёты |
reg [INP_SAMP_WIDTH - 1:0] inp_samp_Q; // входные отсчёты |
reg [PING_ADDR_WIDTH - 1:0] inp_ping_length; // длительность зондирующего импульса, во входных отсчётах |
reg inp_ping_start; // start of ping |
reg [INP_SAMP_WIDTH - 1:0] inp_samp_I; // input samples In-phase |
reg [INP_SAMP_WIDTH - 1:0] inp_samp_Q; // input samples Quadrature |
reg [PING_ADDR_WIDTH - 1:0] inp_ping_length; // ping pulse length |
// parallel interface to coefficients RAM |
reg IOB_ping_from_Rx; // 1 - получать ЗИ из входных отсчётов, 0 - не получать ЗИ из входных отсчётов, подразумевается запись напрямую в RAM |
reg IOB_ping_RAM_CS; // RAM зондирующего импульса, выбор RAM, должен быть 1, чтобы RAM не заполнялась входными отсчётами ЗИ |
wire signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D; // RAM зондирующего импульса, data Re |
reg signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D_reg; // RAM зондирующего импульса, data Re |
reg IOB_ping_from_Rx; // 1 - get ping from input samples; 0 - do not get ping from input samples, ping is written to RAM assumed |
reg IOB_ping_RAM_CS; // ping RAM - RAM select, should be 1 for not to fill RAM with input samples |
wire signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D; // ping RAM - data Re |
reg signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D_reg; // ping RAM - data Re |
//reg signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D_I; // RAM зондирующего импульса, data Re |
//reg signed [INP_SAMP_WIDTH - 1:0] IOB_ping_RAM_D_Q; // RAM зондирующего импульса, data Im |
reg signed [PING_ADDR_WIDTH - 1:0] IOB_ping_RAM_A; // RAM зондирующего импульса, address |
reg IOB_ping_RAM_IQ; // RAM зондирующего импульса, write enable |
reg IOB_ping_RAM_WR; // RAM зондирующего импульса, write enable |
reg IOB_ping_RAM_RD; // RAM зондирующего импульса, write enable |
reg signed [PING_ADDR_WIDTH - 1:0] IOB_ping_RAM_A; // ping RAM - address |
reg IOB_ping_RAM_IQ; // |
reg IOB_ping_RAM_WR; // |
reg IOB_ping_RAM_RD; // |
reg IOB_ping_RAM_load_ready; |
wire [OUT_SAMP_WIDTH - 1:0] out_samp_I; // выходные отсчёты, результат обработки |
wire [OUT_SAMP_WIDTH - 1:0] out_samp_Q; // выходные отсчёты, результат обработки |
wire signed [OUT_SAMP_A_SQ_WIDTH - 1:0] out_samp_A_sq; // сумма квадратов выходных отсчётов, для отладки |
wire out_samp_strobe; // стробы выходных отсчётов |
wire out_frame_strobe; // стробы периода зондирования |
wire [OUT_SAMP_WIDTH - 1:0] out_samp_I; // output samples, processing result |
wire [OUT_SAMP_WIDTH - 1:0] out_samp_Q; // output samples, processing result |
wire signed [OUT_SAMP_A_SQ_WIDTH - 1:0] out_samp_A_sq; // summ of squares |
wire out_samp_strobe; // output samples strobes |
wire out_frame_strobe; // ping strobes |
//reg [INP_SAMP_WIDTH - 1:0] inp_signal_file [0:32767]; |
reg [15:0] inp_signal_file [0:8191]; // хранение входного сигнала |
reg [15:0] ping_file [0:4095]; // хранение ЗИ |
reg [15:0] inp_signal_file [0:8191]; // output storage |
reg [15:0] ping_file [0:4095]; // ping storage |
|
reg [CLK_TO_SAMP_ADDR_WIDTH - 1:0] clk_to_samp_counter; // счётчик номера отсчёта в периоде зондирования |
reg [SIM_FRAME_ADDR_COUNTER_WIDTH - 1:0] frame_addr_counter; // счётчик адреса в frame |
reg [SIM_FRAME_COUNTER_WIDTH - 1:0] frame_counter; // счётчик номера frame |
reg [CLK_TO_SAMP_ADDR_WIDTH - 1:0] clk_to_samp_counter; // counter of number of sample in the ping period |
reg [SIM_FRAME_ADDR_COUNTER_WIDTH - 1:0] frame_addr_counter; // address in frame counter |
reg [SIM_FRAME_COUNTER_WIDTH - 1:0] frame_counter; // frame number counter |
integer cpu_io_counter; |
FIR_cascaded |
#( |