XILINX之RAM使用指南加个人总结.docxVIP

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

XILINX之RAM使用指南(加个人总结)一、 RAM 分类XILINX 的 RAM 可分为三种,分别是:单口 RAM,简化双口 RAM 和真双口 RAM。如下 图所示:?图1 单口 RAM图2 简化双口 RAM A 口写入数据,B 口读数据图3 真双口 RAM A,B 任意一个口都可以读写数据,可从 A 写入,B 读数据二、选择数据位宽和深度Block RAM 的数据位宽为 1-1152bit,深度取决于所选择 FPGA 器件中 block 的数量。超出地址范围之外的写操作,写进去的数据不会与存储器件中的数据冲突。 读超出地址范围之 外数据将会返回无效数据。 注意, 当对超出范围的地址进行操作的时候, 不能置位 set 或 reset 信号,因为这仍然会读出无效数据。三、操作模式每个端口的操作模式决定了此端口的读和写之间关系。端口 A 和 B 可以独立配置为以 下三种模式中任一模式:写优先模式,读优先模式,不改变模式。这些模式详解见下面。 当 A 和 B 端口地址有冲突时,操作模式就会影响 A 和 B 口之间关系。 写优先模式(write first mode):在写优先模式中,输入数据被自动写入存储器件中,并且出现在数据输出端口。时序见下图。这种传输模式增强了在同一端口写操作时使用数据输出总线的灵活性。(即输入数据的同时自动写进存储器和驱动数据到数据输出端)图4 写优先操作模式读优先模式(read first mode):在读优先模式中,预先存储在写地址中的数据会被输出,而输入数据被存入存储器件中。这种模式见下图。(即以前写进当前写地址的数据出现在数据输出端,此时输入的数据被保存到存储器中)图5 读优先模式不改变模式(no-change mode):在不改变模式中,输出锁存在写操作时候保持不变,见下图。在同一端口 的写操作不会对数据输出端口产生影响,输出仍然是以前的读数据。(即输出锁存器保持不改变在写操作期间。说明在写期间输出端不会输出写期间地址的数据,不管以前保存数据还是现在的输入数据)图6 不改变模式四、数据位宽比例Block RAM 产生器支持端口 A 和 B 的位宽不同。即 DINA,DINB,DOUA,DOUTB 位宽可以互 不相同。支持 1:32 到 32:1 之间的比例,端口 A 的宽度最大可达端口 B 的 32 倍,反之亦然。 例如一个 A 口位宽 32bit 深度 2048 的真双口 RAM, 如果 B 端口宽度为 8bit 深度为 8192。 那么 A 地址总线位宽为 11bits, 地址总线位宽为 13bits。 B 数据存在 little-endian 中, 见下图。 An 是相对 A 端口在地址 n 的数据,Bn 是相对于 B 端口在地址 n 的数据。A0 由 B3,B2,B1,B0 构成。(双端口有独立的地址和数据总线以及控制信号,但仍访问同一个存储空间,数据宽度可以不相同,深度和数据宽度比例成反比。各端口地址是各自端口读或写的最宽地址的宽度。)图7 数据位宽比例示意图五、比特写功能(Byte_Write)比特写功能在 8bit 或 9bit 一字节时候都有效。当使用 8bit 一字节时候,没有优先级位,而 且存储宽度限定为 8bit 的倍数。当用 9bit 一字节时候,每一个字节都包含一个优先级位,存储位宽限定为9bit 的倍数。当打开比特写功能时候, WEA 或 WEB 总线位宽为 N 位。等于 DINA 或 DINB 总线的字节数。N 写使能总线的最高位对应着输入字的最高字节。 只有写使能总线在写操作时候置位, 相应的 字节才会存入存储器中。 选择 8bit 字节时候,DIN 和 DOUT 总线都由 8bit 的字节构成,没有优先级。当选择 9bit 字节 时候,DIN 和 DOUT 总线由 9bit 的字节,每一个字节的第 9 位都做为相应字节的优先级位。 字节写功能一般用于连接数据位宽方面,这可能限制了数据位宽选择的灵活性。然而,它不 太可能用于 NO_CHANGE 操作模式。 下面是一个单端 RAM 数据位宽 24bits,写使能总线 WEA 为 3bits 的字节写功能的示意图。图8 字节写功能示意图六、冲突Block 模块支持双口 RAM,每一个口都是独立且平等的,这样就会有数据冲突。下面分别在 异步和同步时钟域中描述这种冲突的后果。冲突和异步时钟:使用异步时钟时候,当一个端口往某个存储地址中写数据时,另一个端口在指定的时间就不能从此存储地址读或写数据。在器件手册中定义了此clock- to-clock 置位时间,和其它 block ram 的转换特性。(对于异步时钟,当一个端口写数据到存储空间,另一个端口不能读或写那个存储空间为一段时间。)冲突和同步时钟:同步时钟倒是一系列特殊

文档评论(0)

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

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

1亿VIP精品文档

相关文档