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

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

ID:27457722

大小:51.00 KB

页数:3页

时间:2018-12-04

3系列FPGA中使用LUT构建分布式RAM(1).doc_第1页
3系列FPGA中使用LUT构建分布式RAM(1).doc_第2页
3系列FPGA中使用LUT构建分布式RAM(1).doc_第3页
资源描述:

《3系列FPGA中使用LUT构建分布式RAM(1).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、3系列FPGA中使用LUT构建分布式RAM(1)  前一阵出差,然后又吹空调受凉休息了一阵子,耽误了不少时间。现在缓过劲来了,可以继续写作了。出差途中数小时路上无聊,就顺手打印了XAPP463.pdf,即《UsingBlockRAMinSpartan-3GeneraTIonFPGAs》,深感FPGA配置的灵活与复杂性。在此把阅读此应用报告的心得分享一下,欢迎大家交流。在赛灵思Spartan-3、3E等系列的FPGA中,其逻辑单元CLB中一般含有不同数量的单端口RAM(SRAM)或者双端口RAM(DRAM),这里的“单”或者“双”是由我们开发人员定义的。一

2、般情况下这种RAM分布于(distributed)FPGA的阵列结构中,所以被称为“分布式RAM”,以便区别于FPGA中的块RAM(blockRAM);它们的详细区别大家可以看Spartan3系列的用户手册(UG331.pdf,Spartan-3GeneraTIonFPGAUserGuide),其中对所有模块及其功能都有最全面的解释,包括各种复杂的时序分析。分布式RAM在局部设计中可以方便地实现小的数据缓存区、FIFO或者寄存器组等等。接下来我们讨论分布式RAM的特征、功能以及如何使用Xilinx的工具来调用分布式RAM。  图1分布式RAM的示意图1给

3、出了Spartan系列中分布式RAM的一个结构框图示例,它们一般被包含在CLB之中。CLB中的每一个SLICEM函数发生器或者LUT资源都可以被配置为16&TImes;1的同步RAM,而SLICELslice中的LUT一般不含有分布式的RAM。通常情况下,分布式RAM是同步写,异步读的;然而,在实际使用时,可以根据需求使用与LUT关联的寄存器来实现同步读的功能。每一个16&TImes;1位的RAM都可以进行级联以构成更大的RAM,此时需要对逻辑资源进行仔细的优化设计以便尽可能满足时序要求。这些细节以后会结合我的一个实例进行分析。Spartan-3FPGA

4、的CLB支持最高达64位深x1位宽的RAM。同时存在于一个SLICEMslice的两个LUT可以结合起来构成双端口的16x1位的RAM——其中的一个LUT带有读/写端口,它可以同时写入两个16x1的LUTRAM,而另一个只有读端口,一次只能单独的读取一块RAM。。分布式RAM可以在许多高性能的应用中大显身手;这些应用一般要求相对较小的嵌入式的RAM模块,例如FIFO或者寄存器组。我们通常用到的ISE套装中的COREGenerat一般可以根据Spartan-3的结构特征,自动产生优化的分布式RAM,一般它产生的是带有同步或者异步FIFO的RAM。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。