微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 费解?同时对双端口存储器A、B两端进行写操作

费解?同时对双端口存储器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的数据手册中有注明用户必须避免这种操作

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top