请问ECO
2,不能修改RTL然后指定DC用原来网表中的cell来synthesize出新的网表么?
verplex有个eco 工具可以做的。但是要写好多约束,且仅对纯组合电路比较有效。一旦加点ff,死麻烦。
1. 不一定要手工啊,DC能够做些基本的修改,比如insert cell,connect_net神马的。
2. 这个,可以这样做吗?即使可以,DC并没有增减cell,仅仅依靠修改连线自动搞定的话,说不定setup/hold time会乱的一塌糊涂。谨慎的认为DC这个功能罢。
那多出来的cell和走线空间哪里来的?dc综合的时候有预留万一要改的冗余器件?
呵呵,不是所有的ECO都需要增加cell的,此外backend的人也应该在placement阶段播种一些冗余的cell。
个人认为DC读取P&R netlist做一些改动是可以作为ECO一种方式,不过像楼主说的那种方式,不能说绝不可能,只能说没听说过这么干的。
那就是说,不管何种方式,基本都是在网表上修改啦
看来ECO是个手工活,主要还是要靠人脑哈
怎么指定用原来的cell?每条datapath综合过程中可能会出现随机的情况。你如果每个cell制定的话,如果几千万门的设计,光抓这些cell告诉dc都是件麻烦的事情。
还好了,如果ff是spare cell的话和组合电路区别也不大。如果硬插ff怎么做都会痛苦的。
你还是去仔细了解一下conformal的eco flow吧,非常方便的。
是的,lec 可以做ECO,
不过主要针对同一个文件内部的组合电路做很有效
跨层次的修改还是需要手动的
1. 有很多做ECO的辅助CAD工具的,我们eco开始阶段每个人每天要动几千个cell,用手得干到哪年才是个头啊。。。。
2. 这个不算ECO吧,是纯粹给个新网表给后端做了。当然实际效果是一样的
ff是spare cell也要考虑clock的routing和balance啊,应该比组合逻辑麻烦许多吧
spare cell的ff的时钟已经连好了,要不为啥叫spare cell呢?
怎么连?连时钟树的哪一级?到时候再改回哪一级?预先怎能知道?
每个时钟域都连一些。自动综合啊,综合到时钟树的哪里就连到哪里。
不需要连好,tie了也行。有些时候模块里时钟域多,eco时还不一定这个ff连哪个时钟上呢
ff需要考虑很多因素。spare cell里的ff只是连了一下时钟而已,没有任何的约束。并且没有加入scan链。总之,eco对组合电路来说是简单的,一旦涉及到ff会比较麻烦。有时候宁愿废掉一些功能,用这些废掉功能里的ff,也不用spare cell里的ff。
我觉得这个每个公司都不一样吧。要求不一样自然做法也不一样。我们以前的要求是eco非常少但是要求要做到很快,所以我们每个时钟域都做了冗余的ff,并且都插入了scan chain
。几十个ff而已,也不影响面积和成品率。但是做ECO的时候就非常方便了。这有点像你说的废掉一些功能,只不过我们预先做了一些冗余的功能而已。
你们手工加的spare cell那才几个啊。真正的spare cell都是脚本加的,所有空的地方都加。版图上看下去。全是spare cell。
想加多少就例化多少。另外,加那么多spare cell得对设计多没信心啊。。。
你要这么想,那些地方空着也是空着。又不增加你成本
不就费点电嘛,反正我们不作手持设备,接电源用,不怕费电,就怕做不出。