FPGA之分布RAM(1)

这篇具有很好参考价值的文章主要介绍了FPGA之分布RAM(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SLICEM 资源可以实现分布式 RAM。可以实现的 RAM 类型:

单口 RAM

双端口

简单的双端口

四端口

下表给出了通过1SLICEM中的4个LUT可以实现的RAM类型FPGA之分布RAM(1),fpga开发

1.32 X2 Quad Port Distributed RAM

        我们介绍过把 6 输入 LUT 当作 2 个 5输入 LUT 使用,在这里,就可以同一个 LUT 实现数据位宽的增加。对于32X2的4口RAM,如下图所以,代表了输入和输出的数据位宽都是2bit,深度是32.4口代表了4个LUT都处于工作状态,它们的DIO和DII,共用,第一个LUT的Al-A5和WAI-WAS相连接,并且4个LUT的WA1-WAS全部接到了一起。所以我们可以同时把数据写入到每个LUT的地址空间,然后可以分别读出每个LUT的数据。写操作是同步写入,读操作是异步读出。4口RAM实际上用的不多,我们重点看后面的单口RAM和双口 RAM。 

FPGA之分布RAM(1),fpga开发

原语调用

RAM32M#(.

INIT_A(64'h0000000000000000), // Initial contents of A Port

INIT_B(64'h0000000000000000), // Initial contents of B Port

INIT_C(64'h0000000000000000), // Initial contents of C Port

INIT_D(64'h0000000000000000) // Initial contents of D Port

)RAM32M_inst(

.DOA(DOA)// Read port A 2-bit output

.DOB(DOB),// Read port B 2-bit output

.DOC(DOC),// Read port C 2-bit output.

.DOD(DOD), // Read/write port D 2-bit output

.ADDRA(ADDRA), // Read portA 5-bit address input

.ADDRC(ADDRC), // Read port C 5-bit address input

.ADDRD(ADDRD), // Read/write port D 5-bit address input

.DIA(DIA),// RAM 2-bit data write input addressed by ADDRD, read addressed by ADDRA

.DIB(DIB),// RAM 2-bit data write input addressed by ADDRD,read addressed by ADDRB

.DIC(DIC),// RAM 2-bit data write input addressed by ADDRD,// read addressed by ADDRC

.DID(DID),// RAM 2-bit data write input addressed by ADDRD//read addressed by ADDRDC.

.WCLK(WCLK)// Write clock input

.WE(WE)// Write enable input );

2. 64 X1 Single Port Distributed RAM

对于64X1的单口RAM只要使用一个LUT就够了,地址A0-A5和WAO-WA5接到一起,当 WE为1的时候为写操作,当WE为0的时候为读操作。 

FPGA之分布RAM(1),fpga开发

 原语调用:

RAM64XIS #(

INIT(64'h0000000000000000)// Initial contents of RAM) RAM64XIS_inst (

.(O),//1-bit data output

.A0(A0), // Address[0] input bit

.Al(Al), ) // Address[1] input bit

.A2(A2),// Address[2] input bit

.A3(A3),// Address[3] input bit

.A4(A4),// Address[4] input bit

.A5(A5),// Address[5] input bit

.D(D),// 1-bit data input

.WCLK(WCLK), // Write clock input

.WE(WE)// Write enable input);

3.64 X1 Dual Port Distributed RAM

对于双口RAM,如下图所示,使用了2个LUT,第一个LUT的读写地址是连接到一起的,而第二个LUT的写地址和第一个LUT的写地址连接到一起,但是读地址是独立,所以双口RAM可以同时进行读和写操作。 

FPGA之分布RAM(1),fpga开发

 FPGA之分布RAM(1),fpga开发文章来源地址https://www.toymoban.com/news/detail-808013.html

到了这里,关于FPGA之分布RAM(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA片内RAM读写代码示例

    RAM(Random Access Memory),也就是随机存取寄存器,它可以随时把数据数据写入任一指定地址的存储单元,也可以随时从任一指定地址中读出数据,其读写速度是由时钟频率决定的。 在本例程汇总,实现了向RAM里面写入1024个数据,然后再读取出来,通过ILA(在线逻辑分析仪)进行

    2024年04月26日
    浏览(22)
  • FPGA中RAM的结构理解

    看代码的过程中对RAM的结构不是很理解,搞脑子一片浆糊,反复推算,好不容易理清了思路,记录下来,防止忘记。开辟的RAM总容量为128bytes,数据的位宽为32位(即一个单元有32bit数据) RAM结构示意图:

    2024年02月16日
    浏览(28)
  • FPGA Develop Note ——— RAM

    RAM 的英文全称是 Random Access Memory ,即随机存取存储器,简称随机存储器。它可以随时把数据 写入 任一指定地址的存储单元,也可以随时从任一指定地址的存储单元中 读出 数据,其 读写速度是由时钟频率决定的 。 Types RAM类型 特性说明 数据读写口数量 地址口数量 Simple P

    2024年03月15日
    浏览(39)
  • (34)FPGA IP设计(RAM)

    1.1 本节目录 1.2 IP核介绍 1.3 FPGA介绍 1.4 Verilog介绍 1.5 Vivado_RAM_IP设计 1.6 结束语 IP核有行为(Behavior)级、结构(Structure)级和物理(Physical)级三个层次的分类,对应着三个种类型的IP核,它们是由硬件描述语言设计的软核(Soft IP Core)、完成结构描述的固核(Firm IP Core) 和基于物理描述并

    2024年01月19日
    浏览(30)
  • FPGA原理与结构(8)——块RAM(Block RAM,BRAM)

    系列文章目录:FPGA原理与结构(0)——目录与传送门         大家对于RAM应该并不陌生,RAM就是一张可读可写的存储表,它经常被拿来与ROM进行对比,相比之下,ROM只可读。而在FPGA中,RAM一般可以分成两种,一种是使用LUT资源组成的分布式RAM(DRAM),另一种就是块RAM(B

    2024年02月08日
    浏览(26)
  • Quartus 平台 FPGA 片内 RAM 使用

    本文将以 Quartus 自带的 RAM:2-PORT 为例,介绍 EP4CE6E22C8 On Chip Memory 的使用 位于 On Chip Memory 下有两个 RAM IP 核 分别是单端口 RAM 和双端口 RAM: 单端口RAM只有一组地址线,这组地址线控制着写数据端口和读数据端口, 而双端口RAM具有两组地址线,这两组地址线分别控制着写数据

    2024年02月03日
    浏览(32)
  • #FPGA(IP_RAM 调用 )

    1.IDE:Quartus II 2.设备:Cyclone II  EP2C8Q208C8N   3.实验:调用单端口RAM仿真读取写入 4.时序图: 5.步骤: (1)添加一个初始化文件做对比,255递减到0(HEX文件) (2)仿真时出现报错,为配置的ram的.v文件没有添加,按如下方式解决。   6.代码: ram_ctrl.v tb_ram_ctrl.v  

    2024年02月19日
    浏览(25)
  • FPGA入门系列12--RAM的使用

    文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码书写以及代码的讲解,可作

    2024年02月06日
    浏览(40)
  • 【FPGA】zynq 单端口RAM 双端口RAM 读写冲突 写写冲突

    RAM 的英文全称是 Random Access Memory,即随机存取存储器,简称随机存储器,它可以随时把数据写入任一指定地址的存储单元,也可以随时从任一指定地址的存储单元中读出数据,其读写速度是由时钟频率决定的。 具体的分类讲解可以看SDRAM、DRAM及DDR FLASH ROM概念详解这篇文章

    2024年02月04日
    浏览(38)
  • FPGA入门系列12--RAM的使用1

    文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码书写以及代码的讲解,可作

    2024年02月04日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包