##// END OF EJS Templates
LFR-EQM 2.1.82 - b...
LFR-EQM 2.1.82 - b > SMP_CLK @ 24576MHz/25 = 983.03Hz > OEn active during one cycle > sample ADC_DATA one cycle after the OEn SMP_CLK --------|___________ CLK_25Mhz-|_|-|_|-|_|-|_|-|_|-|_|-|_|-|_|-|_| ADC_OEn ------------|___|----- ADC_DATA ****************{data} ADC_DATA_reg****************{data}

File last commit:

r445:cd810ee8afe4 JC
r600:1d46c91bda8b simu_with_Leon3
Show More
tb.vhd
78 lines | 2.0 KiB | text/x-vhdl | VhdlLexer
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE IEEE.MATH_REAL.ALL;
USE ieee.numeric_std.ALL;
LIBRARY lpp;
USE lpp.cic_pkg.ALL;
USE lpp.chirp_pkg.ALL;
ENTITY testbench IS
END;
ARCHITECTURE behav OF testbench IS
SIGNAL clk : STD_LOGIC := '0';
SIGNAL rstn : STD_LOGIC;
SIGNAL run : STD_LOGIC;
SIGNAL data_in : STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL data_in_valid : STD_LOGIC;
SIGNAL data_out : STD_LOGIC_VECTOR(15 DOWNTO 0);
SIGNAL data_out_valid : STD_LOGIC;
BEGIN
clk <= NOT clk AFTER 5 ns;
PROCESS
BEGIN -- PROCESS
WAIT UNTIL clk = '1';
rstn <= '0';
run <= '0';
data_in_valid <= '0';
WAIT UNTIL clk = '1';
rstn <= '1';
WAIT UNTIL clk = '1';
WAIT UNTIL clk = '1';
run <= '1';
WAIT UNTIL clk = '1';
WAIT UNTIL clk = '1';
data_in_valid <= '1';
WAIT FOR 105 us;
REPORT "*** END simulation ***" SEVERITY failure;
WAIT;
END PROCESS;
-----------------------------------------------------------------------------
DUT_cic: cic
GENERIC MAP (
D_delay_number => 2,
S_stage_number => 3,
R_downsampling_decimation_factor => 16,
b_data_size => 16,
b_grow => 15)
PORT MAP (
clk => clk,
rstn => rstn,
run => run,
data_in => data_in,
data_in_valid => data_in_valid,
data_out => data_out,
data_out_valid => data_out_valid);
-----------------------------------------------------------------------------
chirp_gen: chirp
GENERIC MAP (
LOW_FREQUENCY_LIMIT => 0,
HIGH_FREQUENCY_LIMIT => 1000,
NB_POINT_TO_GEN => 10000,
AMPLITUDE => 200,
NB_BITS => 16)
PORT MAP (
clk => clk,
rstn => rstn,
run => run,
data_ack => data_in_valid,
data => data_in);
END;