《Xiinx内嵌快存储器的使用.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Xiinx内嵌快存储器的使用

Xilinx公司提供了大量的存储器资源,包括了内嵌的块存储器、分布式存储器以及16位的移位寄存器。利用这些资源可以生成深度、位宽可配置的RAM、 ROM、FIFO以及移位寄存器等存储逻辑。其中,块存储器是硬件存储器,不占用任何逻辑资源,其余两类都是Xilinx专有的存储结构,由FPGA芯片的查找表和触发器资源构建的,每个查找表可构成16 1位的分布式存储器或移位寄存器。一般来讲,块存储器是宝贵的资源,通常用于大数据量的应用场合,而其余两类用于小数据量环境。 1.块存储器的组成和功能介绍 在Xilinx FPGA中,块RAM是按照列来排列的,这样保证了每个CLB单元周围都有比较接近的块RAM用于存储和交换数据。与块RAM接近的是硬核乘加单元,这样不仅有利于提高乘法的运算速度,还能形成微处理器的雏形,在数字信号处理领域非常实用。例如,在Spartan 3E系列芯片中,块RAM分布于整个芯片的边缘,其外部一般有两列CLB,如图4-120所示,可直接对输入数据进行大规模缓存以及数据同步操作,便于实现各种逻辑操作。 图4-120 Spartan3E系统芯片中块RAM的分布图 块RAM几乎是FPGA器件中除了逻辑资源之外用得最多的功能块,Xilinx的主流 FPGA芯片内部都集成了数量不等的块RAM硬核资源,速度可以达到数百兆赫兹,不会占用额外的CLB资源,而且可以在ISE环境的IP核生成器中灵活地对RAM进行配置,构成单端口RAM、简单双口RAM、真正双口RAM、ROM(在RAM中存入初值)和FIFO等应用模式,如图4-121所示。同时,还可以将多个块RAM通过同步端口连接起来构成容量更大的块RAM。 图4-121 块RAM组合操作示意图 1)单端口RAM模式 单端口RAM的模型如图4-122所示,只有一个时钟源CLK,WE为写使能信号,EN为单口RAM使能信号,SSR为清零信号,ADDR为地址信号,DI和DO分别为写入和读出数据信号。 图4-122 Xilinx单端块RAM的示意模型 单端口RAM模式支持非同时的读写操作。同时每个块RAM可以被分为两部分,分别实现两个独立的单端口RAM。需要注意的是,当要实现两个独立的单端口RAM模块时,首先要保证每个模块所占用的存储空间小于块RAM存储空间的1/2。在单端口RAM配置中,输出只在 read-during-write模式有效,即只有在写操作有效时,写入到RAM的数据才能被读出。当输出寄存器被旁路时,新数据在其被写入时的时钟上升沿有效。 2)简单的双端口RAM 简单双端口RAM模型如图4-123所示,图中上边的端口只写,下边的端口只读,因此这种RAM也被称为伪双端口RAM(Pseudo Dual Port RAM)。这种简单双端口RAM模式也支持同时的读写操作。 图4-123 Xilinx简单双端口块RAM的示意模型 块RAM支持不同的端口宽度设置,允许读端口宽度与写端口宽度不同。这一特性有着广泛地应用,例如:不同总线宽度的并串转换器等。在简单双端口RAM模式中,块RAM具有一个写使能信号wren和一个读使能信号rden,当rden为高电平时,读操作有效。当读使能信号无效时,当前数据被保存在输出端口。当读操作和写操作同时对同一个地址单元时,简单双口RAM的输出或者是不确定值,或者是存储在此地址单元的原来的数据。 3)真正双端口RAM模式 真正双端口RAM模型如图4-124所示,图中上边的端口A和下边的端口B都支持读写操作,WEA、WEB信号为高时进行写操作,低为读操作。同时它支持两个端口读写操作的任何组合:两个同时读操作、两个端口同时写操作或者在两个不同的时钟下一个端口执行写操作,另一个端口执行读操作。 图4-124 Xilinx真正双端口块RAM的示意模型 真正双端口RAM模式在很多应用中可以增加存储带宽。例如,在包含嵌入式处理器MiroBlaze和DMA控制器系统中,采用真正双端口RAM模式会很方便;相反,如果在这样的一个系统中,采用简单双端口RAM模式,当处理器和DMA控制器同时访问RAM时,就会出现问题。真正双端口RAM模式支持处理器和DMA控制器同时访问,这个特性避免了采用仲裁的麻烦,同时极大地提高了系统的带宽。 一般来讲,在单个块RAM实现的真正双端口RAM模式中,能达到的最宽数据位为36比特*512,但可以采用级联多个块RAM的方式实现更宽数据位的双端口RAM。当两个端口同时向同一个地址单元写入数据时,写冲突将会发生,这样存入该地址单元的信息将是未知的。要实现有效地向同一个地址单元写入数据,A 端口和B端口时钟上升沿的到来之间必须满足一个最小写周期时间间隔。因为在写时钟的下降沿,数据被写入块RAM中,所以A端口时钟的上升沿要比B端口时钟的上升沿晚到来1/

文档评论(0)

yingrong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档