设为首页 | 卖家服务热线:0571-85317586
维库欢迎您! [登录] 免费注册 | 行业黑名单 | 维库商城 | 网站导航
全球领先的电子元器件市场
IC 电子元器件 PDF 技术资料 电子资讯 电子通 论坛
最新型号:
微信扫一扫
关注我们
资料首页 技术方案 电路图 设计应用 新品速递 行业标准 基础电子 电子通
当前位置:首页 >> 技术资料 >> 嵌入式系统/ARM技术 >> 外部SRAM解决FPGA的存储
外部SRAM解决FPGA的存储 文章出处:maychang 发布时间: 2011/06/30 | 3048 次阅读
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据,而DRAM(Dynamic Random Access Memory)每隔一段时间,要刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。所以在主板上SRAM存储器要占用一部分面积。
所谓外部SRAM是指连接在FPGA外部的静态RAM(SRAM)。外部SRAM存储器也有不少种类。对于外部SRAM的选择是由应用需求的性质决定的。使用外部SRAM存储器既有优点又有缺点。
优点
外部SRAM存储器提供比片内存储器更大的存储容量,速度也相当快,但是略逊于片内存储器。常用的外部SRAM的容量可达128KB至10MB.特殊的SRAM可以具有更小或更大的容量。SRAM通常是具有很低的反应时间和高吞吐量的设备,由于是通过共享的双向总线连接到FPGA上,外部SRAM的速度较片上存储器略低。SRAM的接口很简单,这使得将SRAM连接到FPGA成为一项简单的设计工作。你还可以使用多个外部SRAM共享总线,甚至使用不同种类外部存储器,比如闪存或SDRAM.
缺点
在基于FPGA的嵌入系统中使用外部SRAM的主要缺点就是成本高以及占用板上空间。SRAM设备要比其它高容量的存储器诸如SDRAM,每MB的平均售价更昂贵。而且SRAM也比SDRAM和"零空间"的FPGA片内存储器平均每MB占用更多的板上空间。
最佳应用场合
外部SRAM作为存储中等大小的数据模块的缓冲表现良好。可以使用外部SRAM作为不适合片内存储器且反应时间又低于SDRAM的数据缓存。还可以将多个SRAM相组合以增加容量。
SRAM也是随机寻址数据的最佳选择。很多SRAM器件都可以存取无序地址的数据,反应时间与存取有序地址的数据一样短,而SDRAM在这一点上做得并不好。SRAM是大型LUT的理想存储器种类,能够储存诸如对于片内存储器来说过于巨大的色彩转换运算法则数据。
外部SRAM作为执行存储器为无缓存的CPU工作时表现相对良好。当CPU没有缓存来缓冲其它种类存储器的高反应时间时,外部SRAM的低反映时间特性有助于改善CPU的性能。
不适于应用场合
外部SRAM不适用的系统包括:需要使用大数据量存储器的系统和成本受限的系统。如果系统需求一个大于10MB的存储模块,设计者将更倾向于考虑其它种类的存储器,比如更低廉的SDRAM.
外部SRAM的种类
有多种SRAM器件可供选择。最常见的种类如下:
异步SRAM – 由于其不依靠时钟,所以是最慢的一种SRAM.
同步SRAM(SSRAM)– 同步SRAM运行同步于一个时钟信号 .同步SRAM的速度比异步SRAM快,但是也更昂贵。
伪SRAM – 伪SRAM(PSRAM)是指具有SSRAM接口的动态RAM(DRAM)
零总线周转时间SRAM –零总线周转时间SRAM(ZBT SRAM)从读到写的转换需要零个时钟周期,这使得它的反应时间很短。ZBT SRAM通常需要一个专用的控制器使其低反应时间的优势发挥出来。
注意事项
为使外部SRAM器件达到出最佳性能,建议遵循以下原则:
使用与连接的主系统控制器的接口数据带宽相同的SRAM.
如果管脚使用或板上空间的限制高于系统性能要求,可以使用较连接的控制器的数据带宽小一些的SRAM设备,以便减少管脚数量并减少PCB板上可能的存储器数量。然而,这种变化将导致降低SRAM接口的性能。
关于FPGA
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA.因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(复杂可编程逻辑器件备)。 |