3系列FPGA中使用LUT构建分布式RAM(1)

前一阵出差,然后又吹空调受凉休息了一阵子,耽误了不少时间。现在缓过劲来了,可以继续写作了。出差途中数小时路上无聊,就顺手打印了XAPP463.pdf,即《Using Block RAM in Spartan-3 Genera  TI on FPGAs》,深感FPGA配置的灵活与复杂性。在此把阅读此应用报告的心得分享一下,欢迎大家交流。

在赛灵思Spartan-3、3E等系列的FPGA中,其逻辑单元CLB中一般含有不同数量的单端口RAM(SRAM)或者双端口RAM(DRAM),这里的“单”或者“双”是由我们开发人员定义的。一般情况下这种RAM分布于(distributed)FPGA的阵列结构中,所以被称为“分布式RAM”,以便区别于FPGA中的块RAM(block RAM);它们的详细区别大家可以看Spartan3系列的用户手册(UG331.pdf, Spartan-3 Genera  TI on FPGA User Guide),其中对所有模块及其功能都有最全面的解释,包括各种复杂的时序分析。分布式RAM在局部设计中可以方便地实现小的数据缓存区、FIFO或者寄存器组等等。接下来我们讨论分布式RAM的特征、功能以及如何使用Xilinx的工具来调用分布式RAM。

 3系列FPGA中使用LUT构建分布式RAM(1)_设计制作_电源/新能源


通常情况下,分布式RAM是同步写,异步读的;然而,在实际使用时,可以根据需求使用与LUT关联的寄存器来实现同步读的功能。每一个16& TImes;1位的RAM都可以进行级联以构成更大的RAM,此时需要对逻辑资源进行仔细的优化设计以便尽可能满足时序要求。这些细节以后会结合我的一个实例进行分析。

Spartan-3 FPGA的CLB支持最高达64位深x1位宽的RAM。同时存在于一个SLICEM slice的两个LUT可以结合起来构成双端口的16x1位的RAM——其中的一个LUT带有读/写端口,它可以同时写入两个16x1 的LUT RAM,而另一个只有读端口,一次只能单独的读取一块RAM。。

分布式RAM可以在许多高性能的应用中大显身手;这些应用一般要求相对较小的嵌入式的RAM模块,例如FIFO或者寄存器组。我们通常用到的ISE套装中的CORE Generat一般可以根据Spartan-3的结构特征,自动产生优化的分布式RAM,一般它产生的是带有同步或者异步FIFO的RAM。

54
39
0
50

相关资讯

  1. 1、《杨家将》票房惨影评人:香港导演拍死古装片2843
  2. 2、《长歌行》大结局,迪丽热巴粉丝坐不住了,皓嫣CP被指吃红利4677
  3. 3、《等风来》将映井柏然倪妮互相“看不上”3409
  4. 4、一代功夫巨星,香港豪宅曝光令人艳羡,2个亲哥哥却住破农屋!4950
  5. 5、《追虎擒龙》曝“两手遮天”片段 梁家辉吴镇宇精湛演技打动观众2157
  6. 6、王宝强与女友恋情早有端倪?女方称其“宝宝哥”,还为其电影做宣传4335
  7. 7、山河令:赵敬打蝎儿VS子舒打老温,一个家暴现场,一个爱的小怼怼3748
  8. 8、小沈阳上《我就是演员》助演,得到了和章子怡飙戏的机会4760
  9. 9、《正青春》:林睿一个举动,是章小鱼站在了对立面4540
  10. 10、《动物世界》:当剪刀石头布沦为赌博,国产赌片佳作诞生了?3740
全部评论(0)
我也有话说
0
收藏
点赞
顶部