OpenCores
URL https://opencores.org/ocsvn/cascaded_fir_filter/cascaded_fir_filter/trunk

Subversion Repositories cascaded_fir_filter

[/] [cascaded_fir_filter/] [trunk/] [FIR_cascaded_tb.v] - Diff between revs 4 and 5

Show entire file | Details | Blame | View Log

Rev 4 Rev 5
Line 135... Line 135...
        parameter       INP_FILE = "IQ_chirp_signal.txt",
        parameter       INP_FILE = "IQ_chirp_signal.txt",
        parameter       PING_FILE = "IQ_chirp_ping.txt",
        parameter       PING_FILE = "IQ_chirp_ping.txt",
        parameter       SIM_DURATION = 24000000                                 // simulation duration after reset duration
        parameter       SIM_DURATION = 24000000                                 // simulation duration after reset duration
        `endif
        `endif
);
);
        reg     clk;                                                                            // тактовая частота
        reg     clk;                                                                            // clock
        reg     reset;                                                                          // сброс
        reg     reset;                                                                          // reset
        reg     inp_clk;                                                                        // стробы отсчётов
        reg     inp_clk;                                                                        // samples strobes
        wire    [3:0] count;
        wire    [3:0] count;
        reg                                                                     inp_ping_start;         // начало зондирующего импулься
        reg                                                                     inp_ping_start;         // start of ping
        reg                     [INP_SAMP_WIDTH - 1:0]   inp_samp_I;                     // входные отсчёты
        reg                     [INP_SAMP_WIDTH - 1:0]   inp_samp_I;                     // input samples In-phase
        reg                     [INP_SAMP_WIDTH - 1:0]   inp_samp_Q;                     // входные отсчёты
        reg                     [INP_SAMP_WIDTH - 1:0]   inp_samp_Q;                     // input samples Quadrature
        reg                     [PING_ADDR_WIDTH - 1:0] inp_ping_length; // длительность зондирующего импульса, во входных отсчётах
        reg                     [PING_ADDR_WIDTH - 1:0] inp_ping_length; // ping pulse length
        // parallel interface to coefficients RAM
        // parallel interface to coefficients RAM
        reg                                                                     IOB_ping_from_Rx;       // 1 - получать ЗИ из входных отсчётов, 0 - не получать ЗИ из входных отсчётов, подразумевается запись напрямую в RAM
        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;        // RAM зондирующего импульса, выбор RAM, должен быть 1, чтобы RAM не заполнялась входными отсчётами ЗИ
        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;         // RAM зондирующего импульса, data Re
        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;     // 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_I;               // RAM зондирующего импульса, data Re
        //reg   signed  [INP_SAMP_WIDTH - 1:0]  IOB_ping_RAM_D_Q;               // RAM зондирующего импульса, data Im
        //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 signed      [PING_ADDR_WIDTH - 1:0]  IOB_ping_RAM_A;         // ping RAM - address
        reg                                                                     IOB_ping_RAM_IQ;        // RAM зондирующего импульса, write enable
        reg                                                                     IOB_ping_RAM_IQ;        // 
        reg                                                                     IOB_ping_RAM_WR;        // RAM зондирующего импульса, write enable
        reg                                                                     IOB_ping_RAM_WR;        // 
        reg                                                                     IOB_ping_RAM_RD;        // RAM зондирующего импульса, write enable
        reg                                                                     IOB_ping_RAM_RD;        // 
        reg                                                                     IOB_ping_RAM_load_ready;
        reg                                                                     IOB_ping_RAM_load_ready;
        wire            [OUT_SAMP_WIDTH - 1:0]   out_samp_I;                     // выходные отсчёты, результат обработки
        wire            [OUT_SAMP_WIDTH - 1:0]   out_samp_I;                     // output samples, processing result
        wire            [OUT_SAMP_WIDTH - 1:0]   out_samp_Q;                     // выходные отсчёты, результат обработки
        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;  // сумма квадратов выходных отсчётов, для отладки
        wire signed     [OUT_SAMP_A_SQ_WIDTH - 1:0]      out_samp_A_sq;  // summ of squares
        wire                                                            out_samp_strobe;        // стробы выходных отсчётов
        wire                                                            out_samp_strobe;        // output samples strobes
        wire                                                            out_frame_strobe;       // стробы периода зондирования
        wire                                                            out_frame_strobe;       // ping strobes
        //reg   [INP_SAMP_WIDTH - 1:0]  inp_signal_file [0:32767];
        //reg   [INP_SAMP_WIDTH - 1:0]  inp_signal_file [0:32767];
        reg     [15:0]   inp_signal_file [0:8191];                                        // хранение входного сигнала
        reg     [15:0]   inp_signal_file [0:8191];                                        // output storage
        reg     [15:0]   ping_file       [0:4095];                                                // хранение ЗИ
        reg     [15:0]   ping_file       [0:4095];                                                // ping storage
 
 
        reg     [CLK_TO_SAMP_ADDR_WIDTH - 1:0]                   clk_to_samp_counter;    // счётчик номера отсчёта в периоде зондирования
        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;             // счётчик адреса в frame
        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
        reg     [SIM_FRAME_COUNTER_WIDTH - 1:0]                  frame_counter;                  // frame number counter
        integer cpu_io_counter;
        integer cpu_io_counter;
        FIR_cascaded
        FIR_cascaded
#(
#(
        .INP_SAMP_WIDTH                         (INP_SAMP_WIDTH),
        .INP_SAMP_WIDTH                         (INP_SAMP_WIDTH),
        .PING_ADDR_WIDTH                        (PING_ADDR_WIDTH),
        .PING_ADDR_WIDTH                        (PING_ADDR_WIDTH),

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.