CONSTANTc_queue_nof_rd:NATURAL:=sel_a_b(c_tech_ddr.name="DDR3",1,3);-- derived empirically from simulation, seems to match (c_tech_ddr.command_queue_depth-1)/2
CONSTANTc_wr_fifo_depth:NATURAL:=256;
CONSTANTc_rd_fifo_depth:NATURAL:=g_rd_fifo_depth;
CONSTANTc_rd_fifo_af_margin:NATURAL:=4+c_queue_nof_rd*c_tech_ddr.maxburstsize;-- sufficient to fit one or more rd burst accesses of g_tech_ddr.maxburstsize each
-- Frame size for sop/eop
CONSTANTc_wr_frame_size:NATURAL:=32;
-- Sync period
CONSTANTc_wr_sync_period:NATURAL:=512;
-- Typical DDR access stimuli
-- Typical DDR access stimuli
-- . write block of words in 1 write access and then readback in 4 block read accesses
-- . write block of words in 1 write access and then readback in 4 block read accesses
-- . use appropriate c_len to access across a DDR address column (a_col_w=10)
-- . use appropriate c_len to access across a DDR address column (a_col_w=10)
...
@@ -144,19 +156,15 @@ ARCHITECTURE str of tb_io_ddr IS
...
@@ -144,19 +156,15 @@ ARCHITECTURE str of tb_io_ddr IS
-- Distinghuis between tests for DDR3 and DDR4, because the Quartus 14.1 ip_arria10 DDR4 model simulates about 40x slower than the Quartus 11.1 ip_stratixiv DDR3 uniphy model.
-- Distinghuis between tests for DDR3 and DDR4, because the Quartus 14.1 ip_arria10 DDR4 model simulates about 40x slower than the Quartus 11.1 ip_stratixiv DDR3 uniphy model.