To make it work, I set the (AR/AW)CACHE=0x11 and (AR/AW)PROT=0x00. In the CDMA datasheet, these were the recommended values, which I confirmed with ChipScope, when attached to CDMA's master port.
To make it work, I set the (AR/AW)CACHE=0x11 and (AR/AW)PROT=0x00. In the CDMA datasheet, these were the recommended values, which I confirmed with ChipScope, when attached to CDMA's master port.
The default values set by VHLS were 0x00 and 0x10 respectively, which is also the case in the last post.
The default values set by VHLS were 0x00 and 0x10 respectively, which is also the case in the last post.
Alex
Alex
UPDATE: Xilinx docs say that (AR/AW)CACHE is ignored
output[DATA_DEPTH:0]wnum_in_fifo,// number of items in FIFO on write side
output[DATA_DEPTH:0]rnum_in_fifo// number of items in FIFO on read side
);
);
localparamintegerDATA_2DEPTH=(1<<DATA_DEPTH)-1;
localparamintegerDATA_2DEPTH=(1<<DATA_DEPTH)-1;
//ISExst: FF/Latch ddrc_test01.axibram_write_i.waddr_i.fill[4] has a constant value of 0 in block <ddrc_test01>. This FF/Latch will be trimmed during the optimization process.
//ISExst: FF/Latch ddrc_test01.axibram_write_i.waddr_i.fill[4] has a constant value of 0 in block <ddrc_test01>. This FF/Latch will be trimmed during the optimization process.
...
@@ -61,38 +62,45 @@ module fifo_same_clock_fill
...
@@ -61,38 +62,45 @@ module fifo_same_clock_fill
//ISExst: FF/Latch ddrc_test01.axibram_write_i.wdata_i.fill[4] has a constant value of 0 in block <ddrc_test01>. This FF/Latch will be trimmed during the optimization process.
//ISExst: FF/Latch ddrc_test01.axibram_write_i.wdata_i.fill[4] has a constant value of 0 in block <ddrc_test01>. This FF/Latch will be trimmed during the optimization process.
// Do not understand - why?
// Do not understand - why?
reg[DATA_DEPTH:0]fill=0;// RAM fill
reg[DATA_DEPTH:0]fill=0;// RAM fill
reg[DATA_DEPTH:0]fifo_fill=0;// FIFO (RAM+reg) fill
reg[DATA_DEPTH:0]wfifo_fill=0;// FIFO (RAM+reg) fill - total number in FIFO
reg[DATA_DEPTH:0]rfifo_fill=0;// number in FIFO, ready to be read out