微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > ICC里头是否可以设定不插入buffer,而要求等距离呢?急,多谢啦

ICC里头是否可以设定不插入buffer,而要求等距离呢?急,多谢啦

时间:10-02 整理:3721RD 点击:

ICC里头是否可以对时钟网络设定,不插入任何buffer,让其根据进来的clk来优化各个触发器的摆放位置,即clk到各个触发器的距离等长呢?从placement开始就应该进行这一步?因为先前划分模块了,如果按正规来走,单时钟的优化就有level 20之多。实在没办法。总的寄存器也就一百来个而已。
不等长也行,设定在一定的target_skew之内?望大神们现身帮下忙啊。
芯片属于数模混合芯片,时钟直接来自于模拟输出,具有很大驱动,想直接驱动数字这边的一百多个寄存器,中间不插入buffer,如此可行么?具体怎么操作呢?允许到达各个register有较大偏差,一到两个ns也行。
因为工艺库的buffer不够大,估计撑不到一百多个,我怀疑是不是跟这个有关系,我是用的工艺库里头的最大buffer来做为CK的set_driving_cell的。如果是这个原因,又该怎么设定呢?
有没有CTS时,强制设定CK为ideal net,之类的办法?

顶一下,看看有没有大神

level较深有可能使因为你的DRV设定导致的
尝试改变CTS时DRV的设定值,clk cell的使用

初学者,不好意思。多谢你的帮忙!DRV具体指什么?如何设定的呢?
芯片属于数模混合芯片,时钟直接来自于模拟输出,具有很大驱动,想直接驱动数字这边的一百多个寄存器,中间不插入buffer,如此可行么?具体怎么操作呢?允许到达各个register有较大偏差,一到两个ns也行。
因为工艺库的buffer不够大,估计撑不到一百多个,我怀疑是不是跟这个有关系,我是用的工艺库里头的最大buffer来做为CK的set_driving_cell的。如果是这个原因,又该怎么设定呢?
有没有CTS时,强制设定CK为ideal net,之类的办法?
再次多谢您!

做CTS时设定的max_trans/max_fanout/max_cap就是DRV要求
CTS第一部就是优DRV,然后才去平衡skew/latency等
即使你不追求skew,但DRV最起码的要求要满足。
你的要求我没做过,可以提供一些思路供你测试:
1、只做compiler_clock_tree,不做OPT
2、把全部的FF设exclude pin,这样只会优化DRV
3、不作CTS,当high fanout net优化
你在把DRV设定宽松点,使用驱动较大的buffer

可以在综合时候把约束放宽松些可能可以满足lz的要求,想借此问一下,LZ你们数模混合仿真是如何进行的呢?

注意那100个FF和clock root的物理位置(相互的距离),想办法把他们都集中在一起

多谢陈小编,能否说的细一点呢?我想的思路跟你说的基本一致,就是不知道如何操作啊。按理说这一步应该是在placement时做的么?place没放好的话,cts又如何做呢?还是说根本就无需cts?多谢了!并没有分模块综合,如何将寄存器的位置聚集在一个相对区域呢?

cadence AMS:IC5141+IUS92+MMSIM10.1

多谢,正在试,我也想过不cts,但是仅靠placement这一步的单元摆放能行么?粗糙了点。目前看,本身setup,hold时序就有点紧。如果宽松的话,那倒无所谓。时钟是十来M级别的。
另外的两种方法我也试试,但是貌似还是不明显。
用的是ICC201003,里头有max buffer level的功能设置,但是提示说不能用。实际操作也确实不能用。

对clock net 加上一个很重的权重,这些自然会很近地在一起。
另外你模拟的.lib 要仔细定义,如果drive 强度不够,自然会加buffer了。
如果还是不行,定义它是dont_touch

在place时,加约束,比如bound

多谢~

能再具体点么?不太熟悉这软件。对clock net加权重的具体的命令是什么呢?多谢了!

具体的指令时什么呢?我就知道place_opt
place_opt_feasibility
这两条里面没有bound的设置吧?
还是GUI界面里头怎么设置呢?
多谢了!

create_bounds你可以man 一下看看

顶一下,看看有没有大神

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

网站地图

Top