Skip to content
Snippets Groups Projects
Commit a0d75525 authored by Job van Wee's avatar Job van Wee
Browse files

ready for review?

parent f5fb3afd
Branches
No related tags found
1 merge request!215Resolve L2SDP-660
Pipeline #25796 passed
...@@ -47,8 +47,7 @@ ARCHITECTURE tb OF tb_ddrctrl_address_counter IS ...@@ -47,8 +47,7 @@ ARCHITECTURE tb OF tb_ddrctrl_address_counter IS
CONSTANT c_data_w : NATURAL := func_tech_ddr_ctlr_data_w( g_tech_ddr ); -- 576 CONSTANT c_data_w : NATURAL := func_tech_ddr_ctlr_data_w( g_tech_ddr ); -- 576
CONSTANT c_adr_w : NATURAL := 4; CONSTANT c_adr_w : NATURAL := 4;
CONSTANT c_max_adr : NATURAL := 2**c_adr_w; CONSTANT c_max_adr : NATURAL := 2**c_adr_w;
k
k
SIGNAL tb_end : STD_LOGIC := '0'; SIGNAL tb_end : STD_LOGIC := '0';
SIGNAL clk : STD_LOGIC := '1'; SIGNAL clk : STD_LOGIC := '1';
...@@ -62,11 +61,15 @@ ARCHITECTURE tb OF tb_ddrctrl_address_counter IS ...@@ -62,11 +61,15 @@ ARCHITECTURE tb OF tb_ddrctrl_address_counter IS
BEGIN BEGIN
in_sosi.data(c_data_w - 1 DOWNTO 0) <= in_data(c_data_w - 1 DOWNTO 0); -- 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;
in_sosi.data(c_data_w - 1 DOWNTO 0) <= in_data(c_data_w - 1 DOWNTO 0);
in_sosi.valid <= in_data_enable;
clk <= NOT clk OR tb_end AFTER c_clk_period/2; clk <= NOT clk OR tb_end AFTER c_clk_period/2;
...@@ -82,13 +85,10 @@ BEGIN ...@@ -82,13 +85,10 @@ BEGIN
WAIT UNTIL rising_edge(clk); -- align to rising edge WAIT UNTIL rising_edge(clk); -- align to rising edge
WAIT FOR c_clk_period*10; WAIT FOR c_clk_period*10;
ASSERT in_sosi.data(c_data_w - 1 DOWNTO 0) = out_mosi.wrdata(c_data_w - 1 DOWNTO 0) REPORT "Wrong wrdata 1" SEVERITY ERROR;
ASSERT in_sosi.valid = out_mosi.wr REPORT "Wrong wr 1" SEVERITY ERROR;
FOR I IN 0 TO 6 LOOP FOR I IN 0 TO 6 LOOP
in_data_enable <= '1'; in_data_enable <= '1';
in_data <= NOT in_data; in_data <= NOT in_data;
ASSERT I = TO_UINT(out_mosi.address) REPORT "Wrong address 1" SEVERITY ERROR; ASSERT I = TO_UINT(out_mosi.address) REPORT "Wrong address, I = " & NATURAL'image(I) SEVERITY ERROR;
WAIT FOR c_clk_period*1; WAIT FOR c_clk_period*1;
in_data_enable <= '0'; in_data_enable <= '0';
WAIT FOR c_clk_period*2; WAIT FOR c_clk_period*2;
...@@ -112,8 +112,19 @@ BEGIN ...@@ -112,8 +112,19 @@ BEGIN
WAIT FOR c_clk_period*20; WAIT FOR c_clk_period*20;
tb_end <= '1'; tb_end <= '1';
WAIT; WAIT;
END PROCESS;
p_verify : PROCESS
BEGIN
WAIT UNTIL rising_edge(clk);
IF rising_edge(clk) THEN
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;
END IF;
END PROCESS; END PROCESS;
u_address_counter : ENTITY work.ddrctrl_address_counter u_address_counter : ENTITY work.ddrctrl_address_counter
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment