Skip to content
Snippets Groups Projects
Commit e412aac4 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Use tb_end to OR clock, this improves simulation speed from 1h40m to 1h04m.

parent d976f391
No related branches found
No related tags found
1 merge request!252Resolve L2SDP-197
Pipeline #30075 passed
...@@ -105,7 +105,8 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_ring IS ...@@ -105,7 +105,8 @@ ARCHITECTURE tb OF tb_lofar2_unb2b_ring IS
-- Tb -- Tb
SIGNAL sim_done : STD_LOGIC := '0'; SIGNAL sim_done : STD_LOGIC := '0';
SIGNAL tb_clk : STD_LOGIC := '0'; SIGNAL tb_clk : STD_LOGIC := '0';
SIGNAL i_tb_end : STD_LOGIC := '0';
SIGNAL rd_data : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0); SIGNAL rd_data : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0);
SIGNAL i_QSFP_0_TX : t_unb2b_board_qsfp_bus_2arr(g_nof_rn -1 DOWNTO 0) := (OTHERS => (OTHERS => '0')); SIGNAL i_QSFP_0_TX : t_unb2b_board_qsfp_bus_2arr(g_nof_rn -1 DOWNTO 0) := (OTHERS => (OTHERS => '0'));
...@@ -142,9 +143,12 @@ BEGIN ...@@ -142,9 +143,12 @@ BEGIN
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
-- System setup -- System setup
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
ext_clk <= NOT ext_clk AFTER c_ext_clk_period/2; -- External clock (200 MHz) tb_clk <= NOT tb_clk OR i_tb_end AFTER c_tb_clk_period/2; -- Testbench MM clock
eth_clk <= NOT eth_clk AFTER c_eth_clk_period/2; -- Ethernet ref clock (125 MHz)
SA_CLK <= NOT SA_CLK AFTER c_sa_clk_period/2; -- Serial Gigabit IO sa clock (644 MHz) ext_clk <= NOT ext_clk OR i_tb_end AFTER c_ext_clk_period/2; -- External clock (200 MHz)
eth_clk <= NOT eth_clk OR i_tb_end AFTER c_eth_clk_period/2; -- Ethernet ref clock (125 MHz)
SA_CLK <= NOT SA_CLK OR i_tb_end AFTER c_sa_clk_period/2; -- Serial Gigabit IO sa clock (644 MHz)
pps_rst <= '0' AFTER c_ext_clk_period*2; pps_rst <= '0' AFTER c_ext_clk_period*2;
INTA <= 'H'; -- pull up INTA <= 'H'; -- pull up
...@@ -232,8 +236,6 @@ BEGIN ...@@ -232,8 +236,6 @@ BEGIN
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- MM peripeheral accesses via file IO -- MM peripeheral accesses via file IO
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
tb_clk <= NOT tb_clk AFTER c_tb_clk_period/2; -- Testbench MM clock
p_mm_stimuli : PROCESS p_mm_stimuli : PROCESS
BEGIN BEGIN
-- Wait for DUT power up after reset -- Wait for DUT power up after reset
...@@ -374,8 +376,9 @@ BEGIN ...@@ -374,8 +376,9 @@ BEGIN
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
sim_done <= '1'; sim_done <= '1';
proc_common_wait_some_cycles(ext_clk, 100); proc_common_wait_some_cycles(ext_clk, 100);
proc_common_stop_simulation(NOT g_multi_tb, ext_clk, sim_done, tb_end); proc_common_stop_simulation(NOT g_multi_tb, ext_clk, sim_done, i_tb_end);
WAIT; WAIT;
END PROCESS; END PROCESS;
tb_end <= i_tb_end;
END tb; END tb;
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
-- Usage: -- Usage:
-- > as 3 -- > as 3
-- > run -all -- > run -all
-- . tb takes about 1h4m
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
LIBRARY IEEE, common_lib; LIBRARY IEEE, common_lib;
......
...@@ -106,6 +106,7 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_ring IS ...@@ -106,6 +106,7 @@ ARCHITECTURE tb OF tb_lofar2_unb2c_ring IS
-- Tb -- Tb
SIGNAL sim_done : STD_LOGIC := '0'; SIGNAL sim_done : STD_LOGIC := '0';
SIGNAL tb_clk : STD_LOGIC := '0'; SIGNAL tb_clk : STD_LOGIC := '0';
SIGNAL i_tb_end : STD_LOGIC := '0';
SIGNAL rd_data : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0); SIGNAL rd_data : STD_LOGIC_VECTOR(c_32-1 DOWNTO 0);
SIGNAL i_QSFP_0_TX : t_unb2c_board_qsfp_bus_2arr(g_nof_rn -1 DOWNTO 0) := (OTHERS => (OTHERS => '0')); SIGNAL i_QSFP_0_TX : t_unb2c_board_qsfp_bus_2arr(g_nof_rn -1 DOWNTO 0) := (OTHERS => (OTHERS => '0'));
...@@ -142,10 +143,13 @@ BEGIN ...@@ -142,10 +143,13 @@ BEGIN
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
-- System setup -- System setup
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
ext_clk <= NOT ext_clk AFTER c_ext_clk_period/2; -- External clock (200 MHz) tb_clk <= NOT tb_clk AFTER c_tb_clk_period/2; -- Testbench MM clock
eth_clk(0) <= NOT eth_clk(0) AFTER c_eth_clk_period/2; -- Ethernet ref clock (125 MHz)
SA_CLK <= NOT SA_CLK AFTER c_sa_clk_period/2; -- Serial Gigabit IO sa clock (644 MHz) ext_clk <= NOT ext_clk OR i_tb_end AFTER c_ext_clk_period/2; -- External clock (200 MHz)
pps_rst <= '0' AFTER c_ext_clk_period*2; eth_clk(0) <= NOT eth_clk(0) OR i_tb_end AFTER c_eth_clk_period/2; -- Ethernet ref clock (125 MHz)
SA_CLK <= NOT SA_CLK OR i_tb_end AFTER c_sa_clk_period/2; -- Serial Gigabit IO sa clock (644 MHz)
pps_rst <= '0' AFTER c_ext_clk_period*2;
INTA <= 'H'; -- pull up INTA <= 'H'; -- pull up
INTB <= 'H'; -- pull up INTB <= 'H'; -- pull up
...@@ -224,8 +228,6 @@ BEGIN ...@@ -224,8 +228,6 @@ BEGIN
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- MM peripeheral accesses via file IO -- MM peripeheral accesses via file IO
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
tb_clk <= NOT tb_clk AFTER c_tb_clk_period/2; -- Testbench MM clock
p_mm_stimuli : PROCESS p_mm_stimuli : PROCESS
BEGIN BEGIN
-- Wait for DUT power up after reset -- Wait for DUT power up after reset
...@@ -366,8 +368,9 @@ BEGIN ...@@ -366,8 +368,9 @@ BEGIN
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
sim_done <= '1'; sim_done <= '1';
proc_common_wait_some_cycles(ext_clk, 100); proc_common_wait_some_cycles(ext_clk, 100);
proc_common_stop_simulation(NOT g_multi_tb, ext_clk, sim_done, tb_end); proc_common_stop_simulation(NOT g_multi_tb, ext_clk, sim_done, i_tb_end);
WAIT; WAIT;
END PROCESS; END PROCESS;
tb_end <= i_tb_end;
END tb; END tb;
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
-- Usage: -- Usage:
-- > as 3 -- > as 3
-- > run -all -- > run -all
-- . tb takes about 1h4m
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
LIBRARY IEEE, common_lib; LIBRARY IEEE, common_lib;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment