From f87158be07342ea06684a524b1e99da4a61d947a Mon Sep 17 00:00:00 2001 From: Eric Kooistra <kooistra@astron.nl> Date: Mon, 14 Aug 2023 13:13:48 +0200 Subject: [PATCH] Add overloaded variant of proc_dp_verify_sosi_equal(). --- libraries/base/dp/tb/vhdl/tb_dp_pkg.vhd | 30 +++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libraries/base/dp/tb/vhdl/tb_dp_pkg.vhd b/libraries/base/dp/tb/vhdl/tb_dp_pkg.vhd index 3413d449e7..b52ebc9b10 100644 --- a/libraries/base/dp/tb/vhdl/tb_dp_pkg.vhd +++ b/libraries/base/dp/tb/vhdl/tb_dp_pkg.vhd @@ -450,6 +450,10 @@ package tb_dp_pkg is signal dut_sosi : in t_dp_sosi_integer; -- use func_dp_stream_slv_to_integer for conversion signal exp_sosi : in t_dp_sosi_integer); -- use func_dp_stream_slv_to_integer for conversion + procedure proc_dp_verify_sosi_equal(constant c_use_complex : in boolean; + signal dut_sosi : in t_dp_sosi; + signal exp_sosi : in t_dp_sosi); + procedure proc_dp_verify_valid(constant c_ready_latency : in natural; signal clk : in std_logic; signal verify_en : in std_logic; @@ -2261,6 +2265,32 @@ package body tb_dp_pkg is end if; end proc_dp_verify_sosi_equal; + procedure proc_dp_verify_sosi_equal(constant c_use_complex : in boolean; + signal dut_sosi : in t_dp_sosi; + signal exp_sosi : in t_dp_sosi) is + begin + assert dut_sosi.sync = exp_sosi.sync report "Wrong dut_sosi.sync" severity ERROR; + assert dut_sosi.sop = exp_sosi.sop report "Wrong dut_sosi.sop" severity ERROR; + assert dut_sosi.eop = exp_sosi.eop report "Wrong dut_sosi.eop" severity ERROR; + assert dut_sosi.valid = exp_sosi.valid report "Wrong dut_sosi.valid" severity ERROR; + if exp_sosi.sop = '1' then + assert dut_sosi.bsn = exp_sosi.bsn report "Wrong dut_sosi.bsn" severity ERROR; + assert dut_sosi.channel = exp_sosi.channel report "Wrong dut_sosi.channel" severity ERROR; + end if; + if exp_sosi.eop = '1' then + assert dut_sosi.empty = exp_sosi.empty report "Wrong dut_sosi.empty" severity ERROR; + assert dut_sosi.err = exp_sosi.err report "Wrong dut_sosi.err" severity ERROR; + end if; + if exp_sosi.valid = '1' then + if c_use_complex then + assert dut_sosi.re = exp_sosi.re report "Wrong dut_sosi.re" severity ERROR; + assert dut_sosi.im = exp_sosi.im report "Wrong dut_sosi.im" severity ERROR; + else + assert dut_sosi.data = exp_sosi.data report "Wrong dut_sosi.data" severity ERROR; + end if; + end if; + end proc_dp_verify_sosi_equal; + ------------------------------------------------------------------------------ -- PROCEDURE: Verify the DUT output valid ------------------------------------------------------------------------------ -- GitLab