热度 4||
题记:流沙的岁月,刻画的年轮,在这个七月,踏进了第七个工作年头。近两年工作繁忙,少有时间来论坛更新日志,似乎显得日子过得更加匆忙。有人说,七年就是一辈子。工作生活当中都会有很多节点,倒不是强求固定的时间,却是一种职业规划中的阶段。放下搬砖的劳累,偷得浮生半日闲,矫情一下,哈哈。就用小小的hard macro笔记来开始新阶段的旅程,像一块“顽石”(hard macro)一样,保持初心,勇往直前,不负曾经。
简介:设计中往往有某些特殊的电路,结构紧促,需要尽可能做到链路简短且相邻路径长度相等,还要不受外部电压变化二造成信号干扰等等。面对这些特殊的需求,将这一部分电路捆绑在一起,做成hard macro,然后在top层进行复用,就可以很好的实现电路本身的功能。
第一部分, 基本流程
1. Data 准备:netlist,pinlist,sdc,stdcell lib,lef,qrc等常规的文件数据,用来做pr用
2. Pr阶段:迭代确定size,pin location,powerplan等,并完成cts,route,和opt
3. Sta阶段:进行starrc,抽取spef文件,跑PT检查时序是否满足。另外需要检查特殊需求的信号之间的skew是否满足balance的要求。
4. Redhawk检查decap的电容值是否满足
5. Signoff drc检查
6. Release数据
第二部分, 重点操作实践
1. PR部分除了floorplan部分,而对于hardmacro及place部分需要手动来操作。
A. 注意最短路径的摆放,需要考虑base drc的规则,及时checkPlace。
B. 最短路径控制摆放位置,也要控制绕线层数,尽量用相同的层来绕线,保证pvt下delay接近。
2. Sta部分的静态时序属于常规检查,不再赘述。但是信号之间的skew需要特殊的脚本check,类似与data 2 data check。
A. 得到所有的路径的data path的长度,循环进行比较大小
B. 差值大于标准值即违例。
关键命令:get_timing_path, report_timing
3. Decap电容的计算
要求的标准值根据波形仿真得到的一个减小噪声的安全电容值。
理论计算,aplreader xxx.cdev文件打开查表得到具体一个decap cell的电容值大小(cap=(vdd cap + vss cap / 2)),从而计算出需要多少个,评估可行性。
加满之后,跑redhawk的cpm model,得到cpm.inc文件,可以打开看到具体的cap值,相加得到total值。
4. Signoff drc也是常规检查,lvs,lec,ir等检查完毕即可到处gds,release出来。
总结:
具体的操作因人而异,可以脑洞大开,探索不同的解决方案,迭代优化得到最优解。
熟练操作之外,更重要的就是沟通,统筹和评估。做事容易,做人难。工作注意细节,生活注意大节。在这个特殊的日子里,留下点文字,mark一下。后面的路,在实践中摸索,定期总结,争取早日进阶。