SDRAM的学习笔记(菜鸟笔记,大神勿看!持续更新、、、)

1.谈谈SDRAM的信息(我能理解的一小部分信息)。初始化四个阶段就搞得我头疼,还得整天看英文资料。可能很简单的东西,被无数的状态、时间、英语、地址、数据类型搞得心烦意乱。比如说那个状态图吧,本来不想看别人在网上传得状态图的,打算自己看英文资料,给找出来。结果,头都看炸了,还不知道干嘛。

2.我最想不开的是,为什么我要使用SDRAM,仅仅是为了练手?菜鸟的我体会不到SDRAM的优势,只是被混乱的思绪困扰。

3.学到的一个使用计数器的程序:先写一个always计数器,里面含有一个en,再定义一个宏`define t (cnt==8),使用语句:en<=t?0:1

4.在使用SDRAM的时候记得将FPGA和SDRAM的时钟翻转一下。

5.为了简单的检测数据,设计将从SDRAM到FIFO之后的数据送到串口助手显示。这里忽略了两个问题:1.串口助手先读的是低位,我错误的先发送了高位;2.笔记本电脑没有串口,需要接USB-Serial转换器,同时记住必须安装驱动,否则电脑无法识别串口。

6.吃大亏了,我说怎么老是下载老是没结果,即使最简单的程序都没有结果。原来看下面两张图:

第一张图,我下载的文件明显在另一个文件家里面,我还傻乎乎的下载了n次,全他娘的下载的是另一个没有改动过的文件,第二张图才正确!!这才是我现在的工程里面包含的文件。

7.Modelsim仿真的时候先看状态机是否正确。

8.always@(*)的意义。

9.编写testbench的时候,模块定义中,不需要加入引脚。

10.状态机编写最好坚持三段论,第一段对clk,rst_n判断,决定state是否等于next_state;第二段:状态跳转,对state和输入进行判断,注意使用next_state=。。。而不是<=;第三段:逻辑输出,注意case是对next_state进行判断;

11.调用wave波形时,使用testbench模块名,要是想看看例化的文件的寄存器的波形,就使用/xx/xx语句。

12.丫的,还能把parameter和assign搞错,明显就不是一个领域的。

13.我老是搞不懂FIFO的用法,更别提怎么建造一个FIFO。还老是在一个clk还是两个clk上面纠结,现在想想,FIFO的读写都是由wr、rd控制的,别去理会clk。

14.可把我气死了。原来是管脚分配错误。我还在为写了这么长时间的代码,没结果而受打击呢,原来是管脚分配错误。

posted on 2012-10-04 17:54  偶似庆庆  阅读(868)  评论(1编辑  收藏  举报

导航