集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: lcytms

FPGA初级课程第十五讲 RAM

[复制链接]
 楼主| lcytms 发表于 2016-11-18 12:43:35 | 显示全部楼层
仿真运行结果

设置好仿真之后,可以看到仿真结果。
可以看到复位完成后,wren写使能信号交替为1-0-1-0。
wren=1时观察写入数据data,wren=0时观察读出数据q(有一拍延迟)。
依次如下:
        ①        wren=1,此时写入数据data为0~255变化;
        ②        wren=0,此时读出数据q为0~255变化,与写入一致(有一拍延迟);
        ③        wren=1,此时写入数据data为128~255 - 0~127变化;
        ④        wren=0,此时读出数据q为128~255 - 0~127变化,与写入一致(有一拍延迟);
        ⑤        同①
        ⑥        同②
        ⑦        同③
        ⑧        同④,以下依次循环。
将写入数据data和读出数据q设置为模拟数值显示,更便于总体观察。
仿真运行结果与设计要求一致。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-18 12:45:18 | 显示全部楼层
查看RTL视图——altsyncram

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| lcytms 发表于 2016-11-18 12:45:42 | 显示全部楼层
好了,今天的课程就讲到这里。
通过今天的课程,我们学习了RAM(随机存取存储器)的基本概念,然后实际演示了一下应用RAM的IP核来进行RAM逻辑电路的建模与仿真,并通过仿真查看效果。
希望大家掌握RAM的基本概念,并熟练运用Verilog语言调用对应的IP核编写相关逻辑。
更复杂的知识和技巧我们将逐步通过后面的课程展现给大家。

课程到此结束,谢谢大家的关注!
芙蓉王 发表于 2016-11-18 16:22:50 | 显示全部楼层
                               牛
Nigulasi 发表于 2016-12-5 22:53:01 | 显示全部楼层
    begin
                                                                                 start_num <= start_num + 8'd128;
                                                                                 wren <= 1;
                                                                                 addr <= 0;
                                                                                 data <= start_num + 8'd128;
                                                                                 state <= 1;
                                                                         end  //这句不太懂
 楼主| lcytms 发表于 2016-12-6 21:22:28 | 显示全部楼层
本帖最后由 lcytms 于 2016-12-6 21:26 编辑
Nigulasi 发表于 2016-12-5 22:53
begin
                                                                                 start_nu ...


是为了让写入的数据有所变化,起始数(start_num)加128(256的一半),这样方便观察。
要不然每次都一样,看不出变化。当然也可以调整增加的步长,比如说128变为64,32等。
希望能帮到你。

可以参考21#楼

仿真运行结果

设置好仿真之后,可以看到仿真结果。
可以看到复位完成后,wren写使能信号交替为1-0-1-0。
wren=1时观察写入数据data,wren=0时观察读出数据q(有一拍延迟)。
依次如下:
        ①       wren=1,此时写入数据data为0~255变化;
        ②        wren=0,此时读出数据q为0~255变化,与写入一致(有一拍延迟);
        ③        wren=1,此时写入数据data为128~255 - 0~127变化;
        ④        wren=0,此时读出数据q为128~255 - 0~127变化,与写入一致(有一拍延迟);

Nigulasi 发表于 2016-12-7 09:30:58 | 显示全部楼层
谢谢  懂了
Esmiamor 发表于 2016-12-27 17:38:22 | 显示全部楼层
              感谢分享。
fpga_wuhan 发表于 2017-1-6 11:04:27 | 显示全部楼层
FPGA初级课程第十五讲 RAM
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-23 11:17 , Processed in 0.067631 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表