FPGA 的 RAM 的 区别

FPGA 上有两种RAM, BLock Ram 和 Distributed Ram。

Block Ram:

1、bram是FPGA 中定制的ram资源。位置是固定的,例如BRAM就是一列一列分布的,这就可能造成用户逻辑和BRAM之间的route延时比较长。举个最简单的例子,在大规模FPGA中,如果用光所有的BRAM,性能一般会下降,甚至出现route不通的情况,就是这个原因。灵活的运用BRAM和distributed RAM可以有效利用FPGA资源,提升性能。如果需要用较多的BRAM,合理规划布局也可以提升性能,可以使用Planahead进行布局规划。

2、bram 的输出需要时钟

3、较大的存储应用,建议用bram;零星的小ram,一般就用dram。但这只是个一般原则

Distributed Ram:

1、dram就是用逻辑单元拼出来的,会浪费LUT 资源。

2、dram可以是纯组合逻辑,即给出地址马上出数据,也可以加上register变成有时钟的ram。

在Xilinx FIFO CORE的使用时,有两种RAM可供选择,Block memory和Distributed memory。差别在于,前者是使用FPGA中的整块双口RAM资源,而后者则是拼凑起FPGA中的查找表形

xilinx spartan3an系列fpga:
       一个CLB包含4个SLICE,其中左边两个SLICE可用于存储、移位寄存器和逻辑配置,称为SLICEM;右边的两个SLICE只能用于逻辑组合,称为SLICEL。每个SLICE中有2个LUT,2个存储单元,多路复用器,进位链等。一个LUT和一个存储单元称为一个LOGIC CELL,因此通常一个SLICE等效于2.25个LOGIC CELL。

有两种方式使用Block RAM。法一:使用IP core generator; 法二: 使用verilog 或者VHDL自己写一个模块。

猛然发现,我要实现的不是RAM,而是一个可以单次写一个,单次读多个的一个寄存器组。

时间: 2024-10-18 04:55:08

FPGA 的 RAM 的 区别的相关文章

ROM与RAM的区别

ROM与RAM 简单的说,一个完整的计算机系统是由软件和硬件组成的.其中,硬件部分由中央处理单元CPU(包括运算器和控制器).存储器和输入/输出设备构成.目前个人电脑上使用的主板一般只能支持到1GB的内存,即使是INTEL目前最高阶的450NX芯片组也只能支持到4GB. 存储器包括主存储器(Main Memory)和辅助存储器(Auxiliary Memory).主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存).主存具有速度快.价格高.容量小的特点,负责直接与CPU交换指令和

FPGA内部RAM的初始化

Altera的RAM初始化文件格式是mif和hex. QuartusII自带的RAM初始化工具很方便产生初始化文件. Xilinx的RAM初始化文件格式是coe, 在vivado中软件会将coe文件变成mif 文件.Xilinx和Altera的mif文件格式并不相同.Xilinx的mif文件才是最终有效的初始化文件.可以用Memory Editor编辑工具产生coe文件,具体位置在Tools > Memory Editor.也可以在 $XILINX/coregen/data目录下发现参考文件.

FPGA的嵌入式RAM

FPGA中的嵌入式RAM分为两种:专用的BRAM和分布是RAM(用LUT实现的).这两种RAM又可以配置成单端口和双端口的RAM和ROM.双端口RAM又可以根据读写地址是否在同一块分为Double Port 和Two Port.读取方式也有多种方式,包括:Read first, Write first, No change 等. Block RAM和分布式RAM 在FPGA实现RAM时,可在专用Block RAM和分布式RAM中实现.这两者的选择不仅会影响资源选择,同时还会严重地影响性能和功耗.

(转) 寄存器、RAM、ROM、Flash相关概念区别整理

转自 http://m.blog.chinaunix.net/uid-30077524-id-5570244.html 文章对这几个东西讲得很清楚,值得收藏. 寄存器 寄存器是中央处理器内的组成部份.它跟CPU有关.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC).在中央处理器的算术及逻辑部件中,包含的寄存器有累加器(ACC). 存储器 存储器范围最大,它几乎涵盖了所有关于存储的范畴.你所说的寄存器

SRAM、DRAM、硬盘、ROM、RAM、EPROM、FLASH区别和联系

本文转自xiaoyangger的专栏,地址为:http://blog.csdn.net/xiaoyangger/article/details/7683646 SRAM和DRAM的区别和联系:(电脑中的内存属于DRAM,CPU中的二级缓存属于SRAM) 存储原理 RAM(Random Access Memory )随机存取存储器,主要的作用就是存储代码和数据供CPU 在需要的时候调用. 但是这些数据并不是像用袋子盛米那么简单,更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的

《FPGA全程进阶---实战演练》第一章之FPGA介绍

1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新型高性能产物,是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点.图1.1是Altera Cyclone V芯片. 图1.1 Altera Cyclone芯片 说到这里,不得不提ASIC,即专用集成电路(Application

手机自身内存和手机存储卡的区别?

术语名词: 手机自身内存 和 手机存储卡 手机RAM.ROM和储存卡的那些事 首先说明一下手机RAM.ROM和存储卡的关系.手机的RAM和ROM都属于半导体存储器.手机的RAM即我们常说的内存,是Random Access Memory的缩写,即随机存储器,在工作状态时可以随机读写数据,断电以后会丢失数据.手机的ROM和传统的ROM(Read Only Memory)又有些不一样,它分为两部分,一部分是用于系统,另外一部分是用作用户存储数据.而存储卡则很好理解了,常用的有tf卡,用于存储用户数据

ISE,FPGA和LDPCC译码器

阶段总结 V1.0 2015/5/03 ISE,FPGA和LDPCC译码器 ? 概述 ? 本文总结了LDPC码的译码器设计方法,包括MATLAB和FPGA代码,以及ISE使用过程中的一些问题.本文内容具体包括以下几个部分 总体思路 功能设计 存储设计 完成LDPC码译码器 观察综合报告 时序收敛和流水线 编程策略初探 我犯了什么错误 代码验证 其他 修订历史 以下表格展示了本文档的修订过程 日期 版本号 修订内容 2015/05/03 V1.0 初始版本 ? 简介 ? 不知不觉中,接触LDPC码

v3学院带您一起学习FPGA

本文为原创,转载请注明! 课程名称:双buffer乒乓操作项目概况:使用FPGA内部ram作为缓冲器,实现对外部数据流的缓存:为了提升数据的传输及处理速度,在此节课中将用到两个ram进行乒乓操作.结构框图: 效果描述:本实验做到了使用低速模块处理高速数据流,可以将缓冲的数据在没有停顿的情况下送入到数据流处理模块进行处理.应用案例:在我们做FPGA开发时,为了能更好的处理一下数据流,会经常进行一些数据的缓存,在此节课中让学员能够建立一些数据缓存的概念:乒乓操作是一种经常使用的数据流处理技巧,可以在