微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问如何利用好单口ram把它变成双口ram来使用?

请问如何利用好单口ram把它变成双口ram来使用?

时间:10-02 整理:3721RD 点击:
今天出去面试,对方问了一个问题:如何利用好单口ram把它变成双口ram来使用?我当时没有回答出来,对方简单地解释了一下,大概是说时钟沿错开,上升沿给一个口下降沿给一个口就可以了。
具体我没有听太懂,请问哪位大侠方便解释一下,或者有资料共享一下?
谢谢了!



  所有的控制信号分为2路,最后通过或操作连接起来,每一路的时钟控制不一样

一般情况下,单口一个时钟沿只能进行读或写,现在用单口改成双口,就是用一个时钟周期的上沿河下沿分别进行读和写,即可在一个时钟周期内完成这两种操作吧

可以加其他电路吗?
可以的话可以在接口加两个FIFO缓存做乒乓操作
一个作输入缓存,一个作输出缓存



   可以做其他电路,但是貌似这样还是不行吧?我想给出地址和读使能之后最慢一个cycle出数据,而且每个cycle都有数据出和入,这样可以吗?

单口RAM不是只有一个CLK接口吗?怎么做到时钟上下沿各给一个口的?

硬件电路结构已经决定了,单口就只能单口操作。你应该是问题理解错了

是不是问的同时读写问题?RAM满带宽时,只能当单口用了,不满带宽,可以做个读写保护,也能同时读写,就是不能有连续的读写命令。
时钟上下沿的,没看懂。

安找小编所说我个人理解哈,先用时钟上下沿分频,然后做逻辑起来形成一个选择信号(上下沿分频信号相等的时候为高,否者为低),这样工作的时钟的上升沿对应在选择信号的高电平, 下降沿对应在选择信号的低电平,这样分别上下沿分别错开读写,RAM地址线根据选择信号高低电平的时候分别选择读写指针完成读写操作。


我认为单口RAM作双口RAM用关键在于怎么控制好单口RAM同时读写。
这个讨论有结果了吗?可以总结一下吗?我也想知道怎么操作呀!

提供倍频时钟给RAM做工作时钟
交替分配读写操作
第1拍读,第2拍写,第3拍读,第4拍写。
则SPRAM等效为TPRAM

感觉他这个问题就是为了问到你。
物理硬件上已经决定了只有一个端口,怎么可能同时读写?

完全被搞晕了,不懂得大家说的上升沿下降沿是啥,不是只有一个clk么

maoqiu的方法比较合理 哈哈

打包数据读写就好了,2个数据先打包成一个更长的数据写进去,读出来以后再外面分成两个数据不就行了,这样可以 写 读 写 读。外面看到的还是连续的数据进出

接上面的说,写的时候,进行读的打包工作,读数据的时候,进行写的拆包工作

我觉得是把双口读写逻辑,通过仲裁器,进行分时复用。两个master控制一个slave。时钟是通过选择器和门控时钟切换合成一个时钟,还是RAM就用最快的时钟加fifo要看具体应用的速度。

双倍速率时钟,用reg做一级缓存

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

网站地图

Top