pltbutils required_updates.txt
|
pltbutils required_updates.txt
|
|
|
While pltbutils is still in alpha- and beta state, backwards compatibility in
|
While pltbutils is still in alpha- and beta state, backwards compatibility in
|
new versions of pltbutils is not prioritized, because the code is still under
|
new versions of pltbutils is not prioritized, because the code is still under
|
development.
|
development.
|
If you have made testbenches which use pltbutils, you may need to make
|
If you have made testbenches which use pltbutils, you may need to make
|
modifications if you update to a newer version of pltbutils.
|
modifications if you update to a newer version of pltbutils.
|
This document lists required modifications to your testbenches.
|
This document lists required modifications to your testbenches.
|
|
|
beta0003 -> beta0004 and later
|
beta0003 -> beta0004 and later
|
1. In your testbench, replace
|
1. In your testbench, replace
|
startsim("ExampleName", pltbv, pltbs);
|
startsim("ExampleName", pltbv, pltbs);
|
with
|
with
|
startsim("ExampleName", "", pltbv, pltbs);
|
startsim("ExampleName", "", pltbv, pltbs);
|
The new argument 2 is a std_logic_vector for skipping tests.
|
The new argument 2 is a std_logic_vector for skipping tests.
|
Read more in the specification.
|
Read more in the specification.
|
2. If you have created your own procedure custom_endsim_msg(),
|
2. If you have created your own procedure custom_endsim_msg(),
|
it must now have a new argument:
|
it must now have a new argument:
|
procedure custom_endsim_msg(
|
procedure custom_endsim_msg(
|
constant testcase_name : in string;
|
constant testcase_name : in string;
|
constant timestamp : in time;
|
constant timestamp : in time;
|
constant num_tests : in integer;
|
constant num_tests : in integer;
|
constant num_skip_tests : in integer; -- New argument
|
constant num_skip_tests : in integer; -- New argument
|
constant num_checks : in integer;
|
constant num_checks : in integer;
|
constant num_errors : in integer;
|
constant num_errors : in integer;
|
constant show_success_fail : in boolean
|
constant show_success_fail : in boolean
|
)
|
)
|
3. If you have created your own procedure custom_endtest_msg(),
|
3. If you have created your own procedure custom_endtest_msg(),
|
it must now have a new argument:
|
it must now have a new argument:
|
procedure custom_endtest_msg(
|
procedure custom_endtest_msg(
|
constant test_num : in integer;
|
constant test_num : in integer;
|
constant test_name : in string;
|
constant test_name : in string;
|
constant timestamp : in time;
|
constant timestamp : in time;
|
constant test_active : in boolean; -- New argument
|
constant test_active : in boolean; -- New argument
|
constant num_checks_in_test : in integer;
|
constant num_checks_in_test : in integer;
|
constant num_errors_in_test : in integer
|
constant num_errors_in_test : in integer
|
)
|
)
|
|
|
alpha0006 -> alpha0007 and later
|
alpha0006 -> alpha0007 and later
|
Nothing.
|
Nothing.
|
|
|
alpha0005 -> alpha0006
|
alpha0005 -> alpha0006
|
For more information and examples, see specification_pltbutils.pdf .
|
For more information and examples, see specification_pltbutils.pdf .
|
1. One less file to be compiled:
|
1. One less file to be compiled:
|
src/vhdl/pltbutils_type_pkg.vhd has been removed.
|
src/vhdl/pltbutils_type_pkg.vhd has been removed.
|
2. testname() has been removed. Call starttest() and endtest() instead.
|
2. testname() has been removed. Call starttest() and endtest() instead.
|
3. In the testbech top, replace
|
3. In the testbech top, replace
|
-- Simulation status- and control signals
|
-- Simulation status- and control signals
|
signal test_num : integer;
|
signal test_num : integer;
|
-- VHDL-1993:
|
-- VHDL-1993:
|
--signal test_name : string(pltbutils_test_name'range);
|
--signal test_name : string(pltbutils_test_name'range);
|
--signal info : string(pltbutils_info'range);
|
--signal info : string(pltbutils_info'range);
|
-- VHDL-2002:
|
-- VHDL-2002:
|
signal test_name : string(pltbutils_sc.test_name'range);
|
signal test_name : string(pltbutils_sc.test_name'range);
|
signal info : string(pltbutils_sc.info'range);
|
signal info : string(pltbutils_sc.info'range);
|
|
|
signal checks : integer;
|
signal checks : integer;
|
signal errors : integer;
|
signal errors : integer;
|
signal stop_sim : std_logic;
|
signal stop_sim : std_logic;
|
with
|
with
|
-- Simulation status- and control signals
|
-- Simulation status- and control signals
|
-- for accessing .stop_sim and for viewing in waveform window
|
-- for accessing .stop_sim and for viewing in waveform window
|
signal pltbs : pltbs_t := C_PLTBS_INIT;
|
signal pltbs : pltbs_t := C_PLTBS_INIT;
|
|
|
4. In the testbench top, under begin, remove
|
4. In the testbench top, under begin, remove
|
-- Simulation status and control for viewing in waveform window
|
-- Simulation status and control for viewing in waveform window
|
-- VHDL-1993:
|
-- VHDL-1993:
|
--test_num <= pltbutils_test_num;
|
--test_num <= pltbutils_test_num;
|
--test_name <= pltbutils_test_name;
|
--test_name <= pltbutils_test_name;
|
--checks <= pltbutils_chk_cnt;
|
--checks <= pltbutils_chk_cnt;
|
--errors <= pltbutils_err_cnt;
|
--errors <= pltbutils_err_cnt;
|
-- VHDL-2002:
|
-- VHDL-2002:
|
test_num <= pltbutils_sc.test_num;
|
test_num <= pltbutils_sc.test_num;
|
test_name <= pltbutils_sc.test_name;
|
test_name <= pltbutils_sc.test_name;
|
info <= pltbutils_sc.info;
|
info <= pltbutils_sc.info;
|
checks <= pltbutils_sc.chk_cnt;
|
checks <= pltbutils_sc.chk_cnt;
|
errors <= pltbutils_sc.err_cnt;
|
errors <= pltbutils_sc.err_cnt;
|
stop_sim <= pltbutils_sc.stop_sim;
|
stop_sim <= pltbutils_sc.stop_sim;
|
|
|
5. Feed stop_sim input of testbench component with pltbs.stop_sim instead
|
5. Feed stop_sim input of testbench component with pltbs.stop_sim instead
|
of just stop_sim.
|
of just stop_sim.
|
6. If the testcase procudure resides in a separate VHDL component,
|
6. If the testcase procudure resides in a separate VHDL component,
|
that component should output pltbs of type pltbs_t.
|
that component should output pltbs of type pltbs_t.
|
7. The testcase process should instansiate the following variable:
|
7. The testcase process should instansiate the following variable:
|
variable pltbv : pltbv_t := C_PLTBV_INIT;
|
variable pltbv : pltbv_t := C_PLTBV_INIT;
|
8. In calls to pltbutils procedures, replace the argument
|
8. In calls to pltbutils procedures, replace the argument
|
pltbutils_sc
|
pltbutils_sc
|
with
|
with
|
pltbv, pltbs
|
pltbv, pltbs
|
9. In the waveform window, replace the old simulation status signals
|
9. In the waveform window, replace the old simulation status signals
|
with pltbs, and expand it to view the member elements.
|
with pltbs, and expand it to view the member elements.
|
|
|
alpha0004 -> alpha0005
|
alpha0004 -> alpha0005
|
1. One more file needs to be compiled: src/vhdl/pltbutils_user_cfg_pkg.vhd .
|
1. One more file needs to be compiled: src/vhdl/pltbutils_user_cfg_pkg.vhd .
|
2. Call starttest() before a test, and endtest() after.
|
2. Call starttest() before a test, and endtest() after.
|
Previously, testname() should be called before a test, but testname() is
|
Previously, testname() should be called before a test, but testname() is
|
now depricated and will be removed in a later version.
|
now depricated and will be removed in a later version.
|
|
|