微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA中BLOCK ram 和DISTRIBITE RAM

FPGA中BLOCK ram 和DISTRIBITE RAM

时间:10-02 整理:3721RD 点击:
大家好:
     在V6的板子上编写算法,全部使用BLOCK ram的IP核来存储数据,综合结果中BLOCK ram资源占用率为92%,太多了。
现在想用其他资源来生成ram,于是想到了DISTRIBITE RAM,用distibute ram ip核代替了部分BLOCK ram IP核,可是综合
结果BLOCK ram资源占用率还是92%,不知为何?望赐教!

你看一下ISE的选项,XST, MAP, PAR高级选项都要看到,里面会有让你选择用块还是分布RAM的,有可能会给你自动替换掉了,


HI:
    你好,我试了下将synthesize-XST属性中的BRAM使用率改为了70%。可是综合后还是没有任何变化,不知道你说的是不是修改这块呢。


MAP选项里有个-bp选项,这个应该没有勾上吧?
同时XST里的HDL OPTIONS里-fsm_style, -ram_style -rom_style里等与BLOCK RAM相关的应该没有指定为BLOCK RAM吧?
或者改用synplify综合下看看
也可以把使用的分布式RAM减少一半(不是改用BRAM代替),要是BLOCK RAM没有减少,那证明与此无关,是其它地方占用来着。



    我用的版本是13.2,MAP选项里没有个-bp选项,其他选项也没有ram的说明
    XST里的HDL OPTIONS里-fsm_style, -ram_style -rom_style里设置的都是AUTO
    就不知道是其他什么原因了

可以添加综合约束(* RAM_STYLE="DISTRIBUTED" *)试下


      改了后还是没有变化,郁闷啊

看样子,最好是修改设计。
注意一下每一个ram和fifo的大小。够用就可以了。不要弄太大 。


就是在修改设计啊,原来用的时BLOCK ram,现在改用DISTRIBUTE ram了,可是综合结果BLOCK RAM 占用资源没变

不是这样修改
1.先核对每个地方用了多少blockram,可不可以少用几个?能不能改用DRAM。修改用DRAM以后,要相应的修改ram的容量。否则会大量的占用LUT资源。
2.如果上面方法搞不定,只有修改你的实现了,比方说删除一些不太必要的功能。比方说换一种用ram比较少的方式实现。.......



    哦,你说的是从整体设计上来求改进啊!我用的都是simple dual ram,不然的话就得考虑时钟的倍频了,多时钟设计会出现更多的问题,还是想将之前用BLOCK RAM IP核的地方改用其他RAM资源来实现,理论上说来调用DRAM代替部分BRAM,那么BRAM的资源是要减少的啊,因为DRAM用的时LUT资源啊,不会占用片内BRAM的。

BRAM少一个两个,要仔细看才能看出来。否则只看一个百分比,没有什么用处。
仔细看一下综合的报告。
你生成DRAM的时候,如果位宽和深度跟原来比不变的话,那一个18K BLOCK RAM要换多少LUT啊?
所以换了以后要缩小DRAM的深度。
不过建议还是先看看综合报告和布局布线报告,看看ram都用到什么地方了,是不是能省一些。

使用分布式ram还是blockram,在器件手册应用里边说明了的,如果是小容量的ram,在生成ram的时候就推荐使用分布式ram生成。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top