简体   繁体   中英

Unexplained Red X's (collisions?) with Dual-Port BRAM in Xilinx ISim

I've read up on this quite a bit and I can't figure out why I would have Red X's (Collisions?) with a simple Dual-Port BRAM IP core.

在此处输入图片说明

I think there are only a few scenarios that can cause this:

Multiple sources: I checked and I don't have multiple sources diving current_row_data_out. I only read from it.

Simultaneous Read + WRite to the same address: Nope. As you can see in the image, read_addr and write_addr are always different.

What else can it be?

The issues was caused by one or two writes of uninitialized data all the way in the beginning of the simulation. It created a chain-reaction that didn't show up until later because the values read in the beginning were coincidentally correct.

I don't know if this is helpful, but in case someone made the same stupid mistake as me, I'll put my case here.

I accidentally initialized the wire of dout to be 0, which doesn't give me an compilation error but when the output lines are not 0s, it will give me X.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM