zoukankan      html  css  js  c++  java
  • Altera公司Cyclone系列器件内部ram使用率分析

      在使用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的两种使用情况:

    1. 当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块来实现。
    2. 当fifo宽度大于表3-1中所允许的最大宽度时Quartus会使用多个ram块来实现,比如配置宽度为114位的fifo时,Quartus必须使用4个ram块来实现这个fifo。当深度为25实际使用的ram位为114*25=2850 ,故实际使用率为2850/(8192*4)=8.7% ,相当多的ram位被综合掉。

      如何才能知道ram块的使用情况呢,在QuartusII生成的报告中打开Fitter => Resource Section => Ram summay。其中详细描述了每个ram块的使用情况,可根据实际情况来对其进行优化。

  • 相关阅读:
    2-10 案例4:像素读取写入
    2-8 案例3:不同图片质量保存
    2-7 案例2:图片写入
    Linux文件操作实用笔记
    Linux文件操作实用笔记
    Linux 文件系统基础
    Linux 文件系统基础
    一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...
    一篇故事讲述了计算机网络里的基本概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等...
    30 个与程序猿有关的成语
  • 原文地址:https://www.cnblogs.com/hujianhua/p/2376231.html
Copyright © 2011-2022 走看看