我已经对此进行了相当多的阅读,我无法弄清楚为什么我会使用简单的双端口BRAM IP内核获得Red X'(碰撞?)。
我认为只有少数情况会导致这种情况:
多个来源:我查了一下,我没有多个潜水源潜水current_row_data_out。我只读它。
同时读取+写入同一地址:不。正如您在图像中看到的那样,read_addr和write_addr总是不同的。
它还能做什么?
答案 0 :(得分:0)
问题是由模拟开始时一直或两次未初始化数据写入引起的。它创造了一种连锁反应,直到后来才出现,因为在开始时读取的数值恰好是正确的。
答案 1 :(得分:0)
我不知道这是否有帮助,但是如果有人犯了与我相同的愚蠢错误,我将把案件放在这里。
我不小心将dout的连线初始化为0,这不会给我带来编译错误,但是当输出行不为0时,它将给我X。