关于Timing和congestion问题
这问的。你是不是都没熟悉流程就问问题?
你需要先了解下后端设计大概的流程。
个人经验:我简单给你讲一下吧。最开始得到congestion的数据是在place完成之后(floorplan完成之后就会得到ultilazation),icc会产生timing和congestion的详细信息(timing report和congestion的图片),通过timing report信息调整你的floorplan(主要就是macros的位置);同时看congestion的图片,如果一定区域内有很高的density,那你就需要对macros的位置进行相应的调整(因为standcell基本都是围绕与他相关的macros摆放),或者直接在高density区域设一个blockage,控制standcell密度,如此反复调整floorplan,直到timing 和 congestion都基本满足要求。在place完成之后,CTS和Route都会产生相应的timing和congestion的信息,如果发现不能接受,就要退回floorplan,重新调整macros位置,或者控制standcell 区域密度。需要注意的是在40nm以下的工艺中,pin density也需要格外关注,如果pin density过高在绕线的时候会出现绕线资源紧张,很难解(DRC)。
谢谢!
还有请教一下,timing和congestion在什么范围才是可接受的呢?
楼上的兄弟其实已经算回答了。后端前期try run 就是提早发现设计的问题,包括timingcongestion
究竟多少算满足,不好定量。timing 每个阶段都要分析具体的结果,要进行比较,进而发现问题,优化,但是过程中已经有几百ns的wns,那保证是不行的,tns也不能过大。
congestion 的衡量是不能在route后出现大量的short 和 drc , place阶段,如果congestion 出现 大面积 1以上的overflow那也是保证不行的。
好的,谢谢!