ISE使用IP核生成的SRAM,读写需要时钟的原因

转载 2015年11月20日 22:19:22

   原文地址:http://bbs.ednchina.com/BLOG_ARTICLE_3021049.HTM


    在工程中,FIFO 是一个经常用到的模块,进行不同时钟域数据的转换。在用FPGA时,FIFO直接调用IP核,简单、实用。

昨天晚上,在网上看到百度一个笔试题,用 SRAM 写一个 FIFO ,于是想到这样一个问题,FIFO的结构式什么样的 ?不用IP 核,自己写效果(速度和面积)会怎么样 ?


1、用 QII 建一个FIFO 工程,使用 IP 核 ,通过 RTL ,可以看到

可以看到,右上角 红色框 是一个 RAM 模块 ,FIFO的IP核就是基于 SRAM 的 。红色框,点进去,可以看到 RAM

RAM模块,使用的就是FPGA专门存储器模块, 此处是 M9K 。


2、再说说 SRAM ,SRAM是静态随机存储器,和SDRAM区别在于不用时时刷新,比较容易控制。

写FPGA程序,也是直接调用 RAM IP 核,实际生成时,也是使用的硬件存储器 M9K 模块。

读写SRAM 是不需要时钟的(专门的SRAM芯片6116等,也都没有时钟管脚),都是异步操作。然而,我们发现,使用IP核生成的SRAM,读写都是需要时钟的,Why ?? 

原因很简单,在SRAM的 数据,地址,使能 各端口外接了触发器,使得读写SRAM成了时序控制方式,如下图,RAM IP 核 ,输出寄存器是可以选择的。


放大RAM 


3、 SDRAM 芯片内部结构道理一样,内部存储器阵列是没有时钟,由于,模式选择寄存器,地址寄存器,数据寄存器 等等,使得读写SDRAM 也是时序方式。

 SRAM的 分类 : 读写共用一套 地址,数据总线,读写使能控制 ; 写一套 地址,数据, 读又一套数据,地址总线 ,读和写时分开的。


自己写 FIFO ,后边再说 ...

举报

相关文章推荐

如何使用synplify综合ISE Core Generate生成的IP核

Xilinx的ISE软件有自带的综合工具XST,但是我们有时候需要使用第三方的综合工具(例如Synopsys的Synplify Pro),这时候就需要在synplify上综合完之后生成edif网表文件...

ISE使用IP核生成的SRAM,读写需要时钟的原因

原文地址:http://bbs.ednchina.com/BLOG_ARTICLE_3021049.HTM     在工程中,FIFO 是一个经常用到的模块,进行不同时钟域数据的转换...
  • HengZo
  • HengZo
  • 2015-11-20 22:19
  • 1662

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

重写的使用

 package day11; /**  * 【问题】  * 父类的方法不太适合用于子类  * 【重写的概念】    //方法的重载只要求方法名相同,参数不许不同,其他可以相同  * ...

java只使用try和finally不使用catch的原因和场景

JDK并发工具包中,很多异常处理都使用了如下的结构,如AbstractExecutorService,即只有try和finally没有catch。 class X { private fin...

STM32学习笔记之时钟分析

本文结合网上的两篇时钟分析文章,并结合本人的理解来分析STM32的时钟系统。

在ISE中使用FFTv5.0 IP核时出现的错误

今天想产生一个16384点的FFT核,使用的是ISE10.1,然而总是出错,错误如下:Generating IP...WARNING:sim:216 - The chosen IP does not ...

javascript读取和修改原型特别需要注意的事儿,因为原型的读写不具有对等性

对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了n...

使用ireport+jasperreports生成报表时需要注意的地方

之前使用ireport+jasperreprots做了一些报表的开发,自己首先学习基础知识,然后遇到问题在网上查找。有些问题也是自己摸索着进行开发的。现在把自己在学习过程中遇到的问题总结一下,系统大家...

Linux下SRAM的读写

项目中需要用ARM与FPGA进行通信,通信方式是通过FPGA生成的SRAM作为数据的交换区,ARM9芯片为ATMEL的AT91SAM9260,采用Linux 2.6.19的内核,今天搞了一天,总算是读...

CLOSE_WAIT生成的原因

http://www.cnblogs.com/rootq/articles/1258900.html CLOSE_WAIT,TCP的癌症,TCP的朋友。 CLOSE_WAIT状态的生成原因...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)