SDRAM和dcfifo的联合

设计原理

在"SDRAM突发读写页"实验中,留下了一个问题,就是从SDRAM读取数据的速度要与SDRAM的驱动时钟同步,这就造成了读出的数据的速率过快,我们很难通过在LED上观察其读出的结果。

在学习了dcfifo之后相信你已经了解了dcfifo的功能,没错这一节就是要用到dcfifo作为跨时域的桥梁,把100M的读时钟频率"降下来"。

通过测试模块往SDRAM写入一页的数据,当写如完成后便进入到延迟状态(当然这个延迟我们可以不要),延迟完成后接着进入到读数据状态,在读数据状态中分为两个部分:一个是写dcfifo,即在读出SDRAM的数据的同时将读出的数据写如dcfifo中,在读完SDRAM内部的256个数据之后也就是对dcfifo写完成了,这个过程读SDRAM和写dcfifo的时钟频率是100M。接着对dcfifo进行读操作,这里的读时钟是50M,在读完成后便接着再对SDRAM进行读操作,以此循环…………

SDRAM突发读写一页的接口

在"SDRAM突发读写页"实验中,驱动SDRAM的顶层接口如下图所示,主要分为3个部分,分别为系统信号、内部信号、SDRAM接口信号。其中系统信号为时钟信号和复位信号,内部信号为读写数据信号和读写控制信号,SDRAM接口信号为FPGA与外部的SDRAM的接口。

该是实验中,系统信号、SDRAM接口信号都很简单,只需配置好其硬件所对应的引脚,当然这里的时钟来源于PLL的倍频时钟。而内部信号要与dcfifo、测试模块进行连接,这也是本节的重点内容。

由于dcfifo只负责接收从SDRAM读出的数据,所以SDRAM顶层模块中的:read_req和read_data需要和dcfifo的顶层模块相连接,read_req也就是dcfifo的写使能write_reg。

异步dcfifo读写的接口

fifo_top只负责接收SDRAM的读出数据,并将其写入到fifo内部,然后再用低的时钟频率将数据读出。

顶层接口信号中的write_reg连接SDRAM的读申请信号read_req,因为读SDRAM的同时对fifo进行写操作,所以SDRAM的数据输出read_data连接到dcfifo的数据输入data_in,read_over用于反馈dcfifo的读操作完成,可以再往fifo内部写入数据。

接口拼接

测试模块

写操作

在判断SDRAM初始化完成后init_done有效,则对SDRAM进行写操作,发送写申请信号的同时发送写数据和写地址信号,在连续写入256个数据后判断rw_ack是否有效,有效则写入完成,将写申请信号清零,进入到延迟状态,延迟一定的时间。

读操作

在延迟一定的时间后便进入到读操作,这时读申请信号有效,并同时发送读地址信号,在下一个状态中判断读操作是否完成(rw_ack是否为1),记住此时也是在对dcfifo进行写操作,当rw_ack有效时,则停止对SDRAM进行读操作,也停止对dcfifo进行写操作,此时进入到对dcfifo进行读操作,当read_over为1时表明对dcfifo读完成,便转入到对SDRAM读操作中,以此循环。

实验效果

实验的工程文件为"sdram_rw_page_fifo",其源代码文件如下:

实验中采用signaltap对输出到LED的数据进行观察,结果如下:

每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

SDRAM和dcfifo的联合的更多相关文章

  1. 46.谈谈SDRAM的作用

    SDRAM这个至今还在用的存储器,虽然被后来的DDR取代,掌握好它还是很重要的.之前在调试时,确实费了好大劲,它的复杂性毋庸置疑,一般人要想弄懂他,得花1个月左右吧,至少我这么认为.话说回来,SDRA ...

  2. SRAM、DRAM、SDRAM、DDR、DDR2、DDR3

    RAM可分为SRAM(Static RAM/静态存储器)和DRAM(Dynamic RAM/动态存储器).SRAM是利用双稳态触发器来保存信息的,只要不掉电,信息是不会丢失的.SRAM存储元件所用MO ...

  3. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十九:SDRAM模块② — 多字读写

    实验十九:SDRAM模块② — 多字读写 表示19.1 Mode Register的内容. Mode Register A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A ...

  4. 编写SDR SDRAM页突发模式控制器的注意点-下篇

    本来是没打算写这些的,但是后面逐渐发现点问题,所以决定再写一个下篇来补充说明一下. 图一 细心的网友会发现上篇末尾的打印是有点问题的,因为我的数据产生器产生的是1-200,1-200,1-200,1- ...

  5. 编写SDR SDRAM页突发模式控制器的注意点

    网上有很多的SDR SDRAM控制器的代码,但都是基于burst1/2/4/8模式下的,这种模式下传输高速的相机数据还是有点拮据的,所以花了几天把这些模式改造成了页突发模式.我的这个控制器模型是这样的 ...

  6. 模拟摄像头解码模块最新测试 TVP5150模块 FPGA+SDRAM+TVP5150+VGA 实现PAL AV输入 VGA视频输出

    模拟摄像头解码模块最新测试  TVP5150模块  FPGA+SDRAM+TVP5150+VGA  实现PAL AV输入 VGA视频输出 测试使用电视机顶盒的AV模拟信号输入,VGA显示器输出测试,效 ...

  7. Dynamics CRM 之ADFS 使用 WID 的独立联合服务器

    ADFS 的使用 WID 的独立联合服务器适用于自己的测试环境,常用的就是在虚机中使用. 拓扑图如下: wID:联合身份验证服务配置为使用 Windows 内部数据库

  8. Dynamics CRM 之ADFS 使用 WID 的联合服务器场

    使用 WID 的联合服务器场 默认拓扑 Active Directory 联合身份验证服务 (AD FS) 是联合服务器场,使用 Windows 内部数据库 (WID). 在这种拓扑, AD FS 使 ...

  9. Hibernate(5)—— 联合主键 、一对一关联关系映射(xml和注解) 和 领域驱动设计

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点总结如下: One to One 映射关系 一对一单向外键(XML/Annotation) 一对一双向外键关联(XML/A ...

随机推荐

  1. 【JAVA 小结】Java关于类与对象的代码

    分别建立2个类class works 和 Person import java.io.*; public class works { public static void main(String[] ...

  2. PHPCMS如何开启手机站点

    现在手机端用户增长急速增长,看天猫今年双十一,有47%交易是移动端交易的,所以手机功能已逐渐替代电脑的功能,使用手机上网已经成为了互联网新的趋势,很多客户以及站长都希望手机能够访问自己的网站,那么今天 ...

  3. JavaScript继承方式详解[转]

    js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承) 类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言,js是基于对象的,它没有类的概念.所以,要想实现 ...

  4. 如何把报表放到网页中显示(Web页面与报表简单集成例子)

    1.问题描述 现在用户开发的系统基本上趋向于BS架构的浏览器/服务器模式,这些系统可能由不同的语言开发,如HTML.ASP.JSP.PHP等,因此需要将制作好的报表嵌入到这些页面中. FineRepo ...

  5. 理解 OpenStack Swift (3):监控和一些影响性能的因素 [Monitoring and Performance]

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  6. java编程思想读书笔记2

    六:访问权限控制 1.java中的4种访问制权限: (1).public:最大访问控制权限,对所有的类都可见. (2).protect:同一包可见,不在同一个包的所有子类也可见. (3).defaul ...

  7. 嵌入式Linux驱动学习之路(一)嵌入式系统的软硬件架构

    硬件资料: 操作系统:(非虚拟机) zws@z-pc:~$ lsb_release -aNo LSB modules are available.Distributor ID: Ubuntu Desc ...

  8. [No000046]为什么跳槽加薪会比内部调薪要高?

    有网友在知乎提问: 最近在思考一个问题,为什么跳槽往往意味着加薪? 如果一个人确有价值,为什么在原来的公司没有在薪水上体现出来?如果没有价值,为什么跳槽以后就会加薪?还是可以单纯的解释为,应聘者和招聘 ...

  9. 转: 使用Eclipse的Working Set,界面清爽多了

    from: http://iyuanbo.iteye.com/blog/1158136 使用Eclipse的Working Set,界面清爽多了   想必大家的Eclipse里也会有这么多得工程... ...

  10. uva10160 Servicing Stations

    The input consists of more than one description of town (but totally, less than ten descriptions). E ...