关于ECO的几个问题
时间:10-02
整理:3721RD
点击:
看到陈小编,关于ECO的理论,提到如下:
做ECO要前端后端联手完成,如何单反的一意孤行,不会得到正确的结果。前端找到要修改的逻辑单元 ==> 后端找到相应的物理位置,检查周围是否有足够的spare cell或者空间做ECO ==》 检查时序,预估ECO后的时序 ==》后端建议使用的ECO cell ==》 前端修改netlist ==》 后端做ECO place/route ==》 ... ...
有几个小问题:
(1) 一般都是做什么逻辑修改呢?比如将一个与非门替换为或非门,在某个地方插入一个反相器这些操作吗?
(2)若果是上面这些操作;可以直接在ICC里用相应的命令修改啊,为什么弄ECO flow呢?是因为修改的地方比较多吗?修改地方多的话,那用
ECO Flow也比较麻烦啊,参看(3)
(3)比如要将一个与非门替换为或非门,后端找到了这个与非门的物理位置,发现其周围也有spare cell和空间,那我们需要指定用哪个spare
cell,然后手动修改其连接关系吗?不应该是工具自动选择spare cell的吗?
(4) 预估ECO后的时序,有什么命令吗? 还是只能替换之后report_timing查看?
可为什么还是可以改动cell呢?
做ECO要前端后端联手完成,如何单反的一意孤行,不会得到正确的结果。前端找到要修改的逻辑单元 ==> 后端找到相应的物理位置,检查周围是否有足够的spare cell或者空间做ECO ==》 检查时序,预估ECO后的时序 ==》后端建议使用的ECO cell ==》 前端修改netlist ==》 后端做ECO place/route ==》 ... ...
有几个小问题:
(1) 一般都是做什么逻辑修改呢?比如将一个与非门替换为或非门,在某个地方插入一个反相器这些操作吗?
(2)若果是上面这些操作;可以直接在ICC里用相应的命令修改啊,为什么弄ECO flow呢?是因为修改的地方比较多吗?修改地方多的话,那用
ECO Flow也比较麻烦啊,参看(3)
(3)比如要将一个与非门替换为或非门,后端找到了这个与非门的物理位置,发现其周围也有spare cell和空间,那我们需要指定用哪个spare
cell,然后手动修改其连接关系吗?不应该是工具自动选择spare cell的吗?
(4) 预估ECO后的时序,有什么命令吗? 还是只能替换之后report_timing查看?
补充一个问题,不是说post ECO不能动 cell ,只能改连接关系吗?
可为什么还是可以改动cell呢?
暂时的EDA还不能自动做,这是要改function的。如果你先改netlist而规定某个cell是从spare cell中选择,现在是没有这样的flow的。所以要人指定哪个spare cell再改netlist。
在tapeout的不同阶段都可以eco,tapeout base layer之前就没有必要 freeze cell
eco没那么复杂,做完了就知道了,
那种metal only eco就需要小心,找合适的spare cell
metal only eco就需要小心,找合适的spare cell
这是说的posteco,那比如pr之后出一个网表,想要断开其中一个cell的连接,连接到其附近的一个spare cell上,需要人工查看断开的这个cell周围都有哪些spare cell,然后手动指定重连接哪个spare cell吗?
还是工具自动考虑?如果是工具自己考虑,那是不是我在pr后出的网表中,只要把想断开的那个cell给断开就ok了,剩下的交由工具做
可以试试gates on the fly (gof)。可以根据从def里读取sparecell的坐标,自动挑选离得近的。也不需要费劲的自己搭复杂的组合逻辑,这些事都交给gof去做吧。
这个gof是哪家的工具?好用吗?
个人觉得好用,比cadence conformal ECO用起来方便,脚本简单。
http://bbs.eetop.cn/thread-621853-1-1.html
学习了~
非常感谢