Altera公司Cyclone系列器件内部ram使用率分析
2012-03-01 21:18
169 查看
在使用Cyclone系列器件的过程中经常碰到综合报告中Total memory bits使用率只有不到50%,但想要继续使用多余ram时却发现无法成功配置。那剩余的ram到什么地方去了呢?这要从Cyclone器件中ram的结构来说起,以下以Cyclone III代器件为例进行分析:
Altera公司提供的《Cyclone III Device Handbook》中有一章详细介绍了CycloneIII中的Memory Blocks(详见《Cyclone III Device Handbook》, Volume I,Section I,3)。Cyclone III中的ram块是M9k,每一块中包含8192个存储位,加上校验位共9216位,故称M9k。每个ram块可配置为表3-1中的各种模式。
现在来看一下当用作fifo时ram的两种使用情况:
当fifo的宽度和深度符合表3-1中的各种配置时(fifo宽度和深度小于或等于表中的对应数值),每个fifo使用1个M9K块即可,但如果没有完全使用该块中的ram时,该块一般不可用做他用了。比如配置宽度为12位深度为512的fifo时实际使用的ram位为12*512=6144 ,故实际使用率为6144/8192=75%,当所有fifo都按照这种配置来分配时FPGA中的ram最大使用率也就是75%。一种特殊情况是当fifo容量较小而且读写时钟分别相同时,QuartusII可能把几个fifo使用同一个ram块来实现。
当fifo宽度大于表3-1中所允许的最大宽度时Quartus会使用多个ram块来实现,比如配置宽度为114位的fifo时,Quartus必须使用3个ram块来实现这个fifo。当深度为25实际使用的ram位为114*25=2850 ,故实际使用率为2850/(8192*3)=11.6% ,相当多的ram位被综合掉。
如何才能知道ram块的使用情况呢,在QuartusII生成的报告中打开Fitter => Resource Section => Ram summay。其中详细描述了每个ram块的使用情况,可根据实际情况来对其进行优化。
Altera公司提供的《Cyclone III Device Handbook》中有一章详细介绍了CycloneIII中的Memory Blocks(详见《Cyclone III Device Handbook》, Volume I,Section I,3)。Cyclone III中的ram块是M9k,每一块中包含8192个存储位,加上校验位共9216位,故称M9k。每个ram块可配置为表3-1中的各种模式。
现在来看一下当用作fifo时ram的两种使用情况:
当fifo的宽度和深度符合表3-1中的各种配置时(fifo宽度和深度小于或等于表中的对应数值),每个fifo使用1个M9K块即可,但如果没有完全使用该块中的ram时,该块一般不可用做他用了。比如配置宽度为12位深度为512的fifo时实际使用的ram位为12*512=6144 ,故实际使用率为6144/8192=75%,当所有fifo都按照这种配置来分配时FPGA中的ram最大使用率也就是75%。一种特殊情况是当fifo容量较小而且读写时钟分别相同时,QuartusII可能把几个fifo使用同一个ram块来实现。
当fifo宽度大于表3-1中所允许的最大宽度时Quartus会使用多个ram块来实现,比如配置宽度为114位的fifo时,Quartus必须使用3个ram块来实现这个fifo。当深度为25实际使用的ram位为114*25=2850 ,故实际使用率为2850/(8192*3)=11.6% ,相当多的ram位被综合掉。
如何才能知道ram块的使用情况呢,在QuartusII生成的报告中打开Fitter => Resource Section => Ram summay。其中详细描述了每个ram块的使用情况,可根据实际情况来对其进行优化。
相关文章推荐
- Oracle LOCK内部机制及最佳实践系列(四)深入分析mode 2-6 的TM锁相互间的互斥关系
- apache kafka系列之源码分析走读-kafka内部模块分析
- nova创建虚拟机源码分析系列之七 传入参数转换成内部id
- Ogre内部渲染流程分析系列
- Ogre内部渲染流程分析系列
- Ogre内部渲染流程分析系列
- Ogre内部渲染流程分析系列
- Hadoop Hive概念学习系列之内部表和外部表对比分析(二)
- apache kafka系列之源码分析走读-kafka内部模块分析
- Ogre内部渲染流程分析系列
- Ogre内部渲染流程分析系列
- 笔记之Cyclone IV 第一卷第一章FPGA 器件系列概述
- Oracle LOCK内部机制及最佳实践系列(二)模拟RI锁定导致阻塞的场景,并分析v$lock
- Ogre内部渲染流程分析系列
- JAVA集合源码分析系列:ArrayList源码分析
- tornado源码分析系列(二)
- share pool使用率过高分析原因
- 智能手机应用取证系列之一:新浪微博android应用程序取证分析
- MIFARE系列逻辑加密卡的安全性分析
- dubbo源码分析系列——dubbo的SPI机制自适应Adpative类分析