作者Acme ( )
看板Electronics
标题Re: [问题] 一些数位ic design遇到的问题
时间Fri Apr 10 23:10:38 2009
1.2.4 :
会有数千个 fanout 你如果不用 DFF sample ,
如何保证到所有的逻辑闸会在同一个 cycle 内 ?
所以要视为不同 clk domain,先 Double Sync 解掉Meta-stable
Double Sync完,看你要加 Buffer 或是分成很多的 DFF
加的 Buffer 只要没有 timing violation 即可
要加 buffer 给 tool 去加即可
如果怎麽加都有 viloation , 那就再分 DFF
3: 我估 fanout 都用 BUF1 的数十倍去估
5: clk uncertainty 一般设 0.3
propagating delay和clk latency ? 这个要设吗? (synthesis script不用)
如果有跑 STA , 应该就会帮你列出来
你只要把 violation 的 修掉即可
※ 引述《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应该怎麽设呢?
: 虽然ic design lab有做过,但不知道实际量产的design有没有一个较标准的值呢?
: 不知道有没有违反问问题的伦理或是板规
: 若有请告知 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.169.41.80
1F:推 bbuc:谢谢你回答 04/10 23:44
2F:→ colinshih:对於同步设计, clk latency必需考虑 04/11 00:57
3F:→ Acme:tree长的再怎麽长,只要都有balance,应该就可以... 04/11 01:10
4F:→ Acme:虽然,长的越长越不好.... 04/11 01:11
※ 编辑: Acme 来自: 118.169.41.80 (04/11 01:17)
5F:→ colinshih:这是uncertainty issue,latency则是bottom up时 IP toIP 04/11 01:35
6F:→ Acme:IP to IP 只要是同个clk domain,不也是要Balance ? 04/11 11:03
7F:→ Acme:latency只是要让每条tree长度差不多吧..不过这是CTS的issue.. 04/11 11:07
8F:推 jordanplus:Sync 2级不是一定的喔,请记得评估MTBF来决定 04/22 14:07