※ [本文转录自 bbuc 信箱]
作者: TaipeiWind (人生太奇妙了 ) 看板: Tech_Job
标题: Re: [问题] 一些数位ic design遇到的问题
时间: Fri Apr 10 11:15:41 2009
你的问题很简单 你有一个 high fanout input, 他drive很多logic
synthesis 遇到fanout过多的问题
你有想过 为什麽不挡 反而没事吗??
Ans : 因为tool下了ideal network 在上面
为什麽tool会下这个attribute ?
因为一般来说 high fanout synthesis(HFS) 是在backend做的
就像 scanen, clock reset 这些讯号
他们都有很多fanout, 在synthesis做是没有意义的
latch了 为什麽出事? 因为tool没下ideal network 在你的latch out
所以synthsis tool 做了 HFS
解法 : (1) No latch, 但是在backend要记得做high fanout synthesis
(2) latch, 但是要自己在.sdc 下ideal network on latch out
backend也要做high fanout synthesis
clock uncertainty : 看你的制程 不用太大 一般0.5ns算很大了
propagating delay : 我有一点忘了 不过frondend好像不用下 (不确定XD)
clk latency : 如果是作业的话 不用下了啦....
建议你把.sdc 的doc好好看一下 自己试看看 有下没下的差别
主要还是要看的你control signal是长什麽样
如果简单一点的 下个false path 又快又省事....
※ 引述《bbuc (C&C++完美经典)》之铭言:
: 各位好,我是一个做数位design的研究生
: 关於design中设计的方式遇到一些问题
: 希望有识者能不吝给予指教
: 在与他人讨论的过程中
: 我了解到一颗IC的input与output都必须要用register档住
: 因此在作为control讯号的input port就有些问题
: 由於是一个multi-mode的电路
: 在我原本的写法
: input port作为电路内部的control讯号来切换mode时(非clk/rst)
: 可能会有数千个fanout
: 因为整个电路的动作都被这个讯号所控制(如控制mux)
: 如果我用register挡住这个讯号
: synthesis时似乎因为fanout过大而使得这个储存控制讯号的register变得很大
: delay也较长
: 而不挡时似乎在syn这个阶段比较不会有这个问题
: 我将我想问的问题条列如下:
: 1.是否真的一定要用register档住input,不能直接由input进去控制
: (此讯号在同一mode下为constant)
: 2.若一定要用register档住,fan out又过大的话,可以在synthesis时用
: set max fanout指令来解决吗? 这个指令似乎是用加buffer的方式来解决
: 那麽这些buffer会不会造成timing的延迟呢
: 3.max fanout一般适当的值是多少? (操作频率希望能高於150MHz)
: 4.有人建议我用手刻clock tree的方式去分这些讯号,请问这样是正统的写法吗?
: 5.这是额外的问题.....
: 请问一般而言clock uncertainty应设为多少呢?
: 另外propagating delay和clk latency应该怎麽设呢?
--
※ 编辑: bbuc 来自: 220.136.218.125 (04/10 11:40)
1F:→ bbuc:kevin我觉得你会比较懂他说的解法...orz 04/10 11:43
2F:→ kevin695:我们的tcl只下了clk是ideal吧Orz 04/10 11:56
3F:→ kevin695:当然啦 test pin也都是ideal.... 04/10 11:56
4F:→ bbuc:这样的意思是 他说的我们有做还是我们没做 04/10 12:45
5F:推 kevin695:那部分算是有考量到吧,reset印象中不需要去下ideal 04/10 13:46
6F:→ kevin695:另外像se除了ideal还设don't touch避免tool乱塞buffer 04/10 13:47
7F:→ kevin695:那些算是cic提供的flow里面比较既定的做法了 04/10 13:47