1.max_fanout 反映的是driving 单元的能力,fanout_load反映的是driven 单元的特征。. {- d+ y; F3 Q, Z. }9 Q' B3 h( o
所以库中cell的描述时,描述output pin属性用max_fanout(因为它要去驱动其它单元),描述input pin属性用fanout_load。
7 k. Q; p4 @* p% B) V这个理解应该没有问题吧?( @' @1 c" m) D" L, [6 `8 y
1 Z, R1 ?# T; s5 v0 o% N- y0 m( V
2.在具体current design中,output port用到了max_fanout_load,实际上反映了能连在这个output port后面的被驱动net(or port)的等效个数。
5 Y$ T5 |# s9 w6 U5 d这个理解是不是也对?1 J/ c$ d9 J3 i# z0 i
9 P. V, q3 m. C' `4 L/ l
3.在具体current design中,input port用到了max_fanout。这个就有疑问了,这个是下面情况的哪一种??
3 e5 e N3 w- ~) H' u a) 在current design内部,input port会驱动内部其它单元,所以设定input port自身的max_fanout,表示设计内部连接到这个input port上的等效
, M% h' w+ z) c+ }- z1 V Y9 y线网根数不能大于max_fanout的值。) f0 E6 V+ G6 s( }0 k4 O" |
: Y) d/ S' l/ F; t3 X
b) 考虑current design是一个被驱动单元,外部前面有一个驱动单元,max_fanout是对外围的设定,表示current design 作为一个被驱动单元,它所
; r. S) ?$ }; y& K8 X( u有的inputs 的fanout_load之和不能大于前面那个驱动单元的max_fanout。这个时候max_fanout就作为current design的外部约束。
: F' y7 I- V+ _到底是a) b)中的哪一种情况?
8 w5 w$ Q4 a2 U/ N
6 f E1 Y) U" K" C' W0 W5 v' d' q4.在DC手册上发现一个情况,max_fanout不仅仅可以用在current design 的input ports,而且可以用到all the nets in the design
( `; l% h! b: n% ~% u9 g7 [ 从max_fanout反映的是驱动能力的角度考虑,如果set_max_fanout到 nets上,表示nets有了这么大的驱动能力,这些nets
2 c$ r6 c. V2 j" l+ ` 去驱动后面的cell 时,nets本身的max_fanout可以和后面cell的fanout_load进行比较了。- a( L4 l6 J; I4 p) G+ s
这种理解对不对?8 u6 O& i; {/ c
; n. N4 {. j; c [5 m* a. ^8 U. l5.当设定了max_fanout 和max_fanout_load以后,DC会只优化current design本身吗?还是它还会考虑选用适当的current design前面的驱动单元和6 R* q; e8 s$ P, k, H Z
current design 后面的被驱动单元?
////////////////////////////////////////////////////////////////////
如果 data端的fanout 很大的话怎么处理?
q:有个data数据有很多fanout,每条fanout都经过一堆综合逻辑最终到达regisiter的D端.因而我在综合的时候这个data的其始点有很大的transition和delay.那我应该如何处理他?象clock那样set_ideal_network吗?
谢谢大家指教!
a:
方法的确比较多,感觉比较好的办法还是让工具自己解决:
set_max_fanout/capacitance A current_design
compile -only_design_rule *
问题:关于扇出(fanout)的进一步探讨问题 发布时间:2005-06-19 作者: iammujun
扇出应该是一个门对它后续门的驱动能力,那么就是说对于某个门它都有一个扇出的限制数,书上说超出了这个限制数,后续门的工作
状态可能就不正常了。那么我现在有几个问题请求和朋友们探讨一下:
1.如果我需要驱动的门的数目超出了扇出限制,那么我在扇出的位置增加驱动器可行么?那么是不是只要多加驱动器就可以驱动无数的
扇出呢?
2.扇出对速度的影响大么?电路里面的延时可以分成门延时,线上延时和扇出延时(当然也包括FF的建立时间等等),那么大的扇出是不
是有可能形成电路里面的crucial path?那么怎么解决呢?加驱动器可以解决速度的问题么?还是把大的扇出分解为小的扇出?比如有100
个扇出,那么就用FF把这100个分成两组50个的扇出,这样把100个扇出本来在一个cycle执行的扇出分解为两个cycle执行?
我不知道我表达清楚没有,谢谢各位。
----------------------------------------------------------------------------------------------------------------------------------------------------
回复:Mayhelpyouout 发布时间:2005-06-19 作者: lack
数电里有个很重要的概念:Fan out:“一逻辑门的输出需要驱动多个等效门的输入,称输出端接的需要驱动的等效门数为扇出F”。
试想,加的负载越多,由栅电容并联组成的负载电容就增大,从而使电路延迟增大,以及电荷分配又使其输出给负载的电压降低。所以
有个驱动能力问题!
这里,我们需要做的是 如何在增多负载时,仍使该线路上的延时保持基本不变,以便和其他线路上的时序关系保持同步.这就是 我们分析
和设计集成电路时的一个基本出发点。
----------------------------------------------------------------------------------------------------------------------------------------------------
回复:还是概念问题 发布时间:2005-06-20 作者: 李澎
扇出问题在TTL时代是经常要考虑的问题,在CMOS主导的时代已经几乎不需要考虑了,因为从原理上讲TTL输入端应该算电流控制输出逻
辑,而CMOS是电压控制输出逻辑。所以,在CMOS时代遇到的扇出能力不足时,绝对是比较难的课题,解决起来不是几句话的问题。
提高FF的扇出“几乎”不能采用多个FF,而是在FF输出后面接BUFFER。如果你的时间限制连BUFFER都无法满足要求,那也同样是个
棘手的问题,需要专题研究。
------------------------------------------------------------------------------------------------------------------------------------------------
回复:扇出是描述TTL器件的负载能力 发布时间:2005-06-20 作者: odd_kylin
扇出是描述TTL、DTL器件的负载能力,在器件手册中常见某器件能带几个标准TTL负载。TTL器件输出无论是集电极开路或图腾方式末级
都集电极输出的NPN晶体管,负载能力取决于此管的能力,负载除吸入电流外还有负载的输入电容和线路的电容,现在的芯片吸入电流都
很小,主要的负载是容性的,此电容和负载电阻组成积分电路。其中上升沿是无源驱动时间与集电极接的负载电阻以及外部负载的电容有
很大关系,电阻选的大延时时间长功耗小,电阻选的小功耗大,延时时间短,图腾输出的电阻已经确定,OC输出的可根据需要改变电阻
当然是有范围的(芯片输出是对管无此问题)。下降沿是有源驱动故延时较短,所以我们常见的对速度要求较高的输入都是下降沿驱动。
驱动能力和延时取决晶体管的。由于芯片体积有限所以功率有限。
实事上驱动力不可能无限,因为负载不可能无限,一般一个器件在设计芯片电路时它的应用范围基本确定了它的负载,特殊需要可外加驱
动器件代价是时间延时,驱动器件的输入对扇出器件也是负载,也不可能无限制在一个输出端扩展。事实上CMOS器件也是要考虑负载能
力的,此时主要问题来自容性负载。
-------------------------------------------------------------------------------------------------------------------------------------------------
回复:感谢李澎,还想进一步与您讨论 发布时间:2005-06-21 作者: iammujun
非常感谢您的解答,但是有些观点我还想与您作进一步商榷。mos管虽然是由电压驱动,但是在fan-out点上随着扇出的增多还是会碰到分
压的问题,这是我从一本书上看到的。这本书的名字是《The practical Xilinx designer lab book》,作者进行了比较详细的分析。如果您
愿意就这个问题作一些讨论,能否留下您的mail,我把书上相应的内容扫描下来给您发过去。谢谢。
另一方面,我在FPGA上面如果要实现相应的大扇出,扇出数目好像对速度的影响还是比较大的。我在看论文的时候,一些人使用了所谓
的fanout-tree,但是没有具体指明如何构成。后来我在xilinx的站点看到官方的建议是“复制逻辑”,我想可能这就是所谓的fanout-tree,接
着我在某个站点找到了复制逻辑的方法,连接如下:
http://www.chinaecnet.com/xsj04/xsj052341.asp
请注意2.3.2节即是,也就是我在提问中所描述的用FF分割的方法。因为我对fanout改进的目的并不是提高它的负载能力,而是希望能对速
度提高。加buffer(也是驱动的一种吧?)只能提高其Fanout的数目,而对速度没有帮助吧?我这种理解对么?
同时非常感谢lack,odd_kylin的解答,你们的回答对我非常有帮助,非常感谢!
------------------------------------------------------------------------------------------------------------------------------------------------
回复:自问自答,总结一下 发布时间:2005-06-21 作者: iammujun
看了前面几位前辈的解答,让我有了新的思路,我下午在图书馆查阅了几本相关的书籍,让我有了一种茅塞顿开的感觉。因为我本科专业
和底层的东西比较远,因此我想我既然已经明白了,那么用自己的话说出来应该是比较浅显。于是我就写了下面这段文字,即是对自己这
个问题的一个总结,同时也是对几位前辈的解答的感谢,同时我也提出了自己认为进一步值得商榷的地方。
如下的文字的思想主要来这两本书:
Digital Integrated Circuit :analysis and design by John E. Ayers
Digital Design: principle and practices by John F. Wakerly
同时我加了一点自己的理解,有一些我觉得不好直译的部分我加入了原文:
扇出的能力主要是由管子的静态特性和动态特性来决定。
所谓的静态特性,就是前一级的管子对后级的直流电流驱动能力,而能使其稳定工作于Q点,就是其电阻性的表现,也叫DC-Load;
而动态特性是指电路对于电压切换速度方面的需求(就是高低电压互相切换的速度)。因为无论是线上还是管子本身都有一个等效的容
值,这个速度就是电容的充放电时间,也就是RC常数。这时表现为容性,也叫AC-Load.当扇出数超过某个值的时候,电压的切换速度已
经不能满足系统的要求(unaccepetable)(就是已经不能满足系统对频率的要求).
静态特性与动态特性同时对管子起作用,但是一般考虑起主要作用的那个(stringent limitation prevails).
对于TTL器件来说,一般考虑的是静态的特性,也就是有多大的电流驱动能力。
而对于Mos器件来说,如果后面驱动的也是Mos管的话,因为流过后级管子的电流就是管子的漏电流,这个电流极小,因此可以忽略不
计。因而可以认为其后级的输入电阻是无穷大的,所以一般不考虑其静态特性,而考虑其动态特性,也就是电容性。(这就是李澎和
odd_kylin都在解答中所提到的Mos管子一般不考虑其驱动能力的意思)
而MOS管上升与下降时间的延迟(RC常数)主要考虑两个因素:一是R,就是开门管子(ON-transistor,这个我不知道怎么表达)的等效电阻,二
是C,后级的等效电容。因为组成反向器的两个MOS管在开关的时候使用不同的NP沟道,这两个沟道的阻值是不同的,因而造成了上升时
间和下降时间的不同,上升时间会长一点,而下降时间会比较短。(这就是 odd_kylin解答中所说的“常见的对速度要求较高的输入都是
下降沿驱动”,但是我觉得 odd_kylin的所叙述的原因还有商榷的余地,我比较认同的是书上的原因:就是NP沟道所不同的电阻造成RC
常数的不同。)
最后再次感谢odd_kylin, 李澎,lack三位前辈的指导。
-------------------------------------------------------------------------------------------------------------------------------------------------
回复:这个讨论开始有点意思了 发布时间:2005-06-23 作者: 李澎
加上BUFFER对速度肯定是有影响了,而且会比一般的门要多一点。复制逻辑的方法应该更多应用在FPGA这样的场合(也许我孤陋寡
闻,我很难想象一个具体的实例),如果两个物理位置不同的FF要等效,在对增加一个BUFFER都不容易满足的场合,同步问题也应该是
让你棘手的问题
----------------------------------------------------------------------------------------------------------------------------------------------
回复:个人对mos电路fanout(驱动)理解 发布时间:2005-06-28 作者: 小可
确切的说,在MOS是更加应该叫“驱动”,
首先提出在digital领域MOS的模型:
作为前级,两个电流源串两个电阻,一个电流源连到电源,另一个到地。相应地就有四个参数,两个电流源的大小,和两个电阻的大小。
作为后级,就是化简为一个简单的电容,参数Cf。
通过上述的化简之后,就变成了通常电路理论中电流源通过一个电阻对一个电容充放电。
应用中有两点需要注意:
1、一个门在驱动别人的同时它也要被别人驱动。
2、电流和电阻要么通过查datasheet,或者通过自己的实验得到
文章评论(0条评论)
登录后参与讨论