费解?同时对双端口存储器A、B两端进行写操作
时间:10-02
整理:3721RD
点击:
同时对双端口存储器(True Dual Port Ram)A、B两端进行写操作,而且写操作的地址相同,那到底写进去的是A端口的数据还是B端口的数据呢? 我试验过了下,DOUTA==DINA,DOUTB==DINB;那RAM中写进去的到底是DINA还是DINB呢?
个人觉得写进去很大可能是既不是DINA,也不是DINB
只有DINA=DINB时,写进去的数据才是正确的
可以测试一下,同时写A、B端口,然后再读同一地址的数据,就知道到底是怎么样的了
直接从写地址,读出来看看就知道了吧。
或者查查看该存储器的datasheet,应该有说明的吧。
已经试了,在WRITE FIRST模式下,同时写从A、B端口读写同一地址,结果DOUTA、DOUTB输出都为DINB的值
前仿真是DOUTA、DOUTB都为DINB,但后仿真DOUTB总是为高阻态,DOUTA总是有个别几个数据为高阻态(SPARTAN 3E XCS1000 PT302),但换成SPARTAN 3E xcs500 pq208后,配置下引脚DOUTA读写正确,DOUTB还是为高阻态,即使只是读操作还是为高阻态。 我之前也做了几个程序的后仿真,感觉是碰运气一样,引脚配的好可能就满足时序和频率,配的不好就不行,还有INPUT DELAY 、OUTPUT DELAY和寄存器之间的延迟(这个我到现在还不知道怎么设置),我感觉设置了这几个参数效果不明显,有时效果变更差。
大家来讨论下后仿真的问题啊
你说的后仿真是FPGA上的后仿真?
对在ISE上做后仿真
我记得这个是违规操作
真双口RAM的数据手册中有注明用户必须避免这种操作
