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

Added proc_common_timeout_failure().

parent 4dda9c5f
Branches
No related tags found
No related merge requests found
...@@ -95,6 +95,11 @@ PACKAGE tb_common_pkg IS ...@@ -95,6 +95,11 @@ PACKAGE tb_common_pkg IS
SIGNAL clk : IN STD_LOGIC; SIGNAL clk : IN STD_LOGIC;
SIGNAL level : IN STD_LOGIC_VECTOR); SIGNAL level : IN STD_LOGIC_VECTOR);
-- Exit simulation on timeout failure
PROCEDURE proc_common_timeout_failure(CONSTANT c_timeout : IN TIME;
SIGNAL tb_end : IN STD_LOGIC);
-- Handle stream ready signal, only support ready latency c_rl = 0 or 1. -- Handle stream ready signal, only support ready latency c_rl = 0 or 1.
PROCEDURE proc_common_ready_latency(CONSTANT c_rl : IN NATURAL; PROCEDURE proc_common_ready_latency(CONSTANT c_rl : IN NATURAL;
SIGNAL clk : IN STD_LOGIC; SIGNAL clk : IN STD_LOGIC;
...@@ -483,6 +488,17 @@ PACKAGE BODY tb_common_pkg IS ...@@ -483,6 +488,17 @@ PACKAGE BODY tb_common_pkg IS
END LOOP; END LOOP;
END proc_common_wait_until_value; END proc_common_wait_until_value;
PROCEDURE proc_common_timeout_failure(CONSTANT c_timeout : IN TIME;
SIGNAL tb_end : IN STD_LOGIC) IS
BEGIN
WHILE tb_end='0' LOOP
ASSERT NOW < c_timeout REPORT "Test bench timeout." SEVERITY FAILURE;
WAIT FOR 1 us;
END LOOP;
END PROCEDURE;
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
-- PROCEDURE: Handle stream ready signal for data valid -- PROCEDURE: Handle stream ready signal for data valid
-- . output active when ready='1' and enable='1' -- . output active when ready='1' and enable='1'
......
...@@ -25,11 +25,12 @@ ...@@ -25,11 +25,12 @@
-- > as 5 -- > as 5
-- > run -all -- > run -all
LIBRARY IEEE, technology_lib, tech_ddr_lib; LIBRARY IEEE, technology_lib, tech_ddr_lib, common_lib;
USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_1164.ALL;
USE technology_lib.technology_pkg.ALL; USE technology_lib.technology_pkg.ALL;
USE technology_lib.technology_select_pkg.ALL; USE technology_lib.technology_select_pkg.ALL;
USE tech_ddr_lib.tech_ddr_pkg.ALL; USE tech_ddr_lib.tech_ddr_pkg.ALL;
USE common_lib.tb_common_pkg.ALL;
ENTITY tb_tb_io_ddr IS ENTITY tb_tb_io_ddr IS
...@@ -96,6 +97,8 @@ BEGIN ...@@ -96,6 +97,8 @@ BEGIN
tb_end <= '1' WHEN tb_end_vec=c_tb_end_vec ELSE '0'; tb_end <= '1' WHEN tb_end_vec=c_tb_end_vec ELSE '0';
proc_common_timeout_failure(1 ms, tb_end);
p_tb_end : PROCESS p_tb_end : PROCESS
BEGIN BEGIN
WAIT UNTIL tb_end='1'; WAIT UNTIL tb_end='1';
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment