微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求教 关于双口ram的数据缓存

求教 关于双口ram的数据缓存

时间:10-02 整理:3721RD 点击:
菜鸟自学,咋也写不好,好晕啊,请大侠帮帮忙,先谢谢啦O(∩_∩)O~
verilog编程,系统需要在adc_control信号的低电平时期将三个ADC传来的数据缓写入FPGA,各个ADC传送512byte×8位的数据,再在adc_control信号的高电平时期由USB依次读出,因为要硬件控制读取的数据个数,所以我需要用双口RAM进行数据缓存,不能使用FIFO。
我用IP核定制了三个ram,分别是myram11,myram12,myram13
adc_control就是ram的wren写使能信号吗?
(1)这样写入正确吗 : myram11 myram11(clk,ram_data_in1,,ram_wr_addr11,adc_control)/*让读地址空着?定制时没有注明wren是高电 平触发还是低电平触发,怎么表示adc_control低时才写数据?ram_wr_addr11是写地址,需要外部输入,我应该在例化外部再编写它的计数器程序,让它一直加到512吗?*/
(2)如果  myram11[ram_wr_addr11]<=ram_data_in1;
         ram_wr_addr11<=(ram_wr_addr11==511)?0:ram_wr_addr11+1'b1;
这样写是不是就变成了FIFO?

myram11 myram11(clk,ram_data_in1,,ram_wr_addr11,adc_control)
如上例化

wren是高电平使能,



    哦,那我得在中间再做个传递变量是吧,谢谢您哈!

1.双端口ram是该使用的时候三态接口吧,从ram讲是一个双端口ram,存储单元和地址译码部分和别的ram没有什么什么差别,只是数据的输入和输出端做了一个控制。
2.fifo只是在ram之外加了一个控制逻辑,分为同步fifo和异步fifo。
3.建议做设计之前了解一下ram和fifo在底层实现的时候到底食物是什么样子的,切忌不可只停留在定义层面上。

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

网站地图

Top