-- if these ASSERT's get uncommented u can see that modelsim does take a few itteration before the warning gets asserted. These asserts are also present in p_verify
in_sosi.valid<=in_data_enable;
--ASSERT in_sosi.data(c_data_w - 1 DOWNTO 0) = out_mosi.wrdata(c_data_w - 1 DOWNTO 0) REPORT "in_sosi.data does not match out_mosi.wrdata" SEVERITY ERROR; -- gives error if in_sosi and out_mosi do not match
--ASSERT in_sosi.valid = out_mosi.wr REPORT "in_sosi.valid does not match out_mosi.wr" SEVERITY ERROR;
--ASSERT in_sosi.data(c_data_w - 1 DOWNTO 0) /= out_mosi.wrdata(c_data_w - 1 DOWNTO 0) REPORT "in_sosi.data does match out_mosi.wrdata" SEVERITY WARNING; -- gives warning if in_sosi and out_mosi do match
--ASSERT in_sosi.valid /= out_mosi.wr REPORT "in_sosi.valid does match out_mosi.wr" SEVERITY WARNING;
ASSERTI=TO_UINT(out_mosi.address)REPORT"Wrong address, I = "&NATURAL'image(I)SEVERITYERROR;
WAITFORc_clk_period*1;
WAITFORc_clk_period*1;
in_data_enable<='0';
in_data_enable<='0';
WAITFORc_clk_period*2;
WAITFORc_clk_period*2;
...
@@ -112,8 +112,19 @@ BEGIN
...
@@ -112,8 +112,19 @@ BEGIN
WAITFORc_clk_period*20;
WAITFORc_clk_period*20;
tb_end<='1';
tb_end<='1';
WAIT;
WAIT;
ENDPROCESS;
p_verify:PROCESS
BEGIN
WAITUNTILrising_edge(clk);
IFrising_edge(clk)THEN
ASSERTin_sosi.data(c_data_w-1DOWNTO0)=out_mosi.wrdata(c_data_w-1DOWNTO0)REPORT"in_sosi.data does not match out_mosi.wrdata"SEVERITYERROR;-- gives error if in_sosi and out_mosi do not match
ASSERTin_sosi.valid=out_mosi.wrREPORT"in_sosi.valid does not match out_mosi.wr"SEVERITYERROR;
--ASSERT in_sosi.data(c_data_w - 1 DOWNTO 0) /= out_mosi.wrdata(c_data_w - 1 DOWNTO 0) REPORT "in_sosi.data does match out_mosi.wrdata" SEVERITY WARNING; -- gives warning if in_sosi and out_mosi do match
--ASSERT in_sosi.valid /= out_mosi.wr REPORT "in_sosi.valid does match out_mosi.wr" SEVERITY WARNING;