UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
6,922 Views
Registered: ‎01-14-2009

Reed Solomon Decoder IP block has memory collision error....

Jump to solution

Hello,

 

I am getting the following error:

 

This starts at 115ns and keeps on going forever.... I have done some debuggin and come to the conclusion that it has nothing do with my code. The problem is within the IP.

 

A read was performed on address 0300 (hex) of port B while a write was requested to the same address on port A. The write will be successful however the read value on port B is unknown until the next CLKB cycle.
Memory Collision Error on RAMB16BWE : rs_decode_interface_tb.RS_long.\blk00000003.blk00000004.blk00000756  at simulation time 6905.000 ns.

 

I do get the output and it is correct but it's annoying to see the error messages and also it slows down the simulation which already takes quite a while..

 

I didn't used to get this error. Somehow my project file got corrupted and I had to create new project and hence the IP block. After that it's never been the same. 

 

 Has anybody seen this before?

 

Thanks in advance...

 

Ananda

0 Kudos
1 Solution

Accepted Solutions
Historian
Historian
8,563 Views
Registered: ‎02-25-2008

Re: Reed Solomon Decoder IP block has memory collision error....

Jump to solution

You get this when you read and write the same location simultaneously. You can squelch it by setting the SIM_COLLISION_CHECK attribute on the RAMB16BWE instance to "NONE" but do note that if you do this, you could mask potential real problems. See the Libraries Guide for your FPGA family.

 

NB that if your design could possibly have such a conflict, then you should set the WRITE_MODE_A (and/or WRITE_MODE_B, if you can write to both sides) attribute as documented in the Libraries Guide. The default is "WRITE_FIRST," which is probably what you want, but one of the other modes might better suit your app.

 

-a

----------------------------Yes, I do this for a living.
4 Replies
Historian
Historian
8,564 Views
Registered: ‎02-25-2008

Re: Reed Solomon Decoder IP block has memory collision error....

Jump to solution

You get this when you read and write the same location simultaneously. You can squelch it by setting the SIM_COLLISION_CHECK attribute on the RAMB16BWE instance to "NONE" but do note that if you do this, you could mask potential real problems. See the Libraries Guide for your FPGA family.

 

NB that if your design could possibly have such a conflict, then you should set the WRITE_MODE_A (and/or WRITE_MODE_B, if you can write to both sides) attribute as documented in the Libraries Guide. The default is "WRITE_FIRST," which is probably what you want, but one of the other modes might better suit your app.

 

-a

----------------------------Yes, I do this for a living.
Visitor azachary
Visitor
4,678 Views
Registered: ‎06-24-2013

Re: Reed Solomon Decoder IP block has memory collision error....

Jump to solution

I am getting the same error in the same circumstances.  The RS decoder core gives me this error message:

A read was performed on address xxx0 (hex) of port B while a write was requested to the same address on port A. The write will be successful however the read value on port B is unknown until the next CLKB cycle.

at 150 ns(2): Error: Memory Collision Error on RAMB18E1 ::tb_rs_nand_flash:nand_flash_ctrl:fldatapath:rddatapath:rs_decoder:blk00000003_blk00000004_blk00000990:tdp:ramb18e1_tdp_inst: at simulation time 150 ns.

 

This begins right after system reset (I am not using the optional sync reset input to the decoder).  Input 'sync' is inactive from the beginning, there is no reason for the decoder to be active.

 

I also had a standalone test bench that worked fine, when I put the core into a larger system I began getting these errors.  Since the memory block is in the protected Xilinx code, I can't alter parameters on it.

 

Please advise & thanks,

Al Zachary

0 Kudos
Visitor azachary
Visitor
4,665 Views
Registered: ‎06-24-2013

Re: Reed Solomon Decoder IP block has memory collision error....

Jump to solution
Hi bassman59,
I messed up my first attempt to implement your suggestion. I did find the offending RAM block and silenced it ( SIM_COLLISION_CHECK = NONE) and things are working now.
Best regards,
Al Zachary
0 Kudos
Historian
Historian
4,658 Views
Registered: ‎02-25-2008

Re: Reed Solomon Decoder IP block has memory collision error....

Jump to solution

@azachary wrote:
Hi bassman59,
I messed up my first attempt to implement your suggestion. I did find the offending RAM block and silenced it ( SIM_COLLISION_CHECK = NONE) and things are working now.
Best regards,
Al Zachary

I'm glad a four-year-old suggestion is still helpful !

----------------------------Yes, I do this for a living.
0 Kudos