原创 FPGA实践笔记(六)— FPGA内部SRAM资源

2013-1-7 21:15 2935 5 6 分类: FPGA/CPLD 文集: FPGA实践笔记

    

 FPGA内部的CLB分为SLICE L和SLICE M,SLICE M与SLICE L大同小异,只是SLICE M里的LUT可以作为RAM来存储而已。说起RAM,不得不提起FPGA内部的重要资源-SRAM。笔者使用的Xilinx Virtex 6系列的SRAM被称为M18K,即每个Block RAM的资源为18K bits,有时候也以两个M18K组成一个M36K来称呼FPGA内部的SRAM基本组成单元。

    那么什么叫做SRAM呢?RAM大家都明白,那么这个“S”是什么意思?"S"事实上是Synchronous即同步的意思,意思就是对这种RAM的操作(读,写)都是以时钟为基准,而且对于内部的存储阵列来说,都是一个时钟周期就可以把数据写入,一个时钟周期就可以把数据读出。其时序图如下图所示:

co100qf23434-2.jpg

 

    如上图所示,跟clk时钟信号同步,wr_en有效两个周期,此时wr_en有效时的datain被写入到sram此时的addr对应的地址中。当rd_en有效时(有效两个周期),此时rd_en有效时对应的地址数据里的内容被读出(读出需要一个时钟周期的延时)。

    在高速设计中,一般使用block ram而非基于LUT的分布式ram,其中一个重要原因就是block ram在一般情况下更容易跑高时钟频率。 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

自做自受 2013-7-29 16:36

生活就是工作,工作就是生活,一起品味,支持!

残弈悟恩 2013-7-26 02:06

呵呵,还行吧。。。

用户377235 2013-7-23 08:37

深有感触,值的学习。

用户1514294 2013-7-22 09:58

能有感悟很牛了,我现在连感悟也剩不下了

chen_zs2012_704941858 2013-7-19 06:17

超声波+NRF24L01+MCU

用户403664 2013-7-18 15:28

发财树的土太少了吧

飞言走笔 2013-7-18 07:55

不错~~~~

644398774_263592779 2013-7-16 01:20

倒数第二张,那玩意我没见过??

用户403664 2013-7-15 11:48

很不错哦

用户1669062 2013-6-24 15:10

一般地,SRAM不就是英文StaticRAM的缩写,即静态随机存储器吗?“S”指Static,静态,SRAM是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。

相关推荐阅读
用户1501359 2015-06-15 00:19
小弟编写的FPGA设计经验总结感悟书籍:FPGA深度解析 准备上架销售,北航出版社出版
全书目录如下,从第九章开始为笔者对FPGA常用模块设计思想的深度阐述和解析,为作者从事逻辑设计之经验感悟与总结,希望大家多多指教 目录   第1章FPGA简介   1.1什么是...
用户1501359 2013-01-27 18:56
DSP硬件实现的优化(八)— saturation, rounding的原理和实现
    在数字信号处理系统中,大部分情况下数据都是用定点表示。但是由于DSP经常使用到乘法器,那么两个定点数相乘后的数的位宽将是两个操作数位宽之和。比如说A*B,A的位宽是(1,7,4),B的位宽是(...
用户1501359 2013-01-24 21:26
DSP硬件实现的优化(七)—硬件实现中的定点表示
    用硬件实现DSP基本上是基于定点的算法。什么叫做定 点呢?定点的意思就是小数点的位置是确定的,这是跟浮 点不同的地方。比如说,有一种常用的表示定点的方法, 比如说一个数的定点方...
用户1501359 2013-01-21 22:27
DSP硬件实现的优化(六)—多个M比特有符号数做累加运算时符号位的优化处理方法
    在通信系统中,经常会遇到多个数进行累加的情况。一般情况下,在更好的掌控时序的目标下,我们会选择用基于CSA结构的Wallace tree进行加法树压缩。基本上,参加运算的数都是有符号数,在这种...
用户1501359 2013-01-19 22:54
DSP硬件实现的优化(五)—输入数据带缺口时反馈环路的优化
    在通信数字信号处理中,经常会遇到带有反馈环路的设计。例如数字时钟恢复或者自适应均衡滤波器。该类设计的基础都是对输入数据进行滤波或者均衡,调相,而进行上述计算所用到的系数来自于该滤波器或者均...
用户1501359 2013-01-14 20:30
FPGA实践笔记(七)—verilog组合逻辑描述用assign或者always@(*)的区别和值得注意之处
    verilog描述组合逻辑一般常用的有两种:assign赋值语句和always@(*)语句。两者之间的差别有:     1. 被assign赋值的信号定义为wire型,被always@...
EE直播间
更多
我要评论
1
5
关闭 站长推荐上一条 /3 下一条