在数字IC后端实战项目中,Floorplan阶段是预估和规划芯片内部各种组件,如宏模块(macro)、内存块(memory)、电源网络(power plan)等的布局。本文将详细探讨Floorplan阶段的常见问题,包括宏模块间距预估、核心区域和die区域偏差设置、多边形形状的设置、使用和检查DRC问题的方法。
1. 宏模块间距预估:预估两个宏模块之间的间距时,应考虑可用的绕线层,如M6层。根据M6的最小pitch,计算宏模块pin的数量,并以此计算所需的总线宽,再加上余量以确保足够的间距。若可用绕线层较多,采用同样的方法计算,并考虑每个宏模块pin数量的总和,以预估间距。
2. 核心区域与die区域偏差:为避免port与power grid出现短路的DRC问题,一般会在核心区域与die区域之间预留一定空间。具体数值建议为数倍row高度,比如设置为3um。不同形状的Floorplan(如T形、U型)可参考GUI界面设置或脚本进行调整。
3. macro摆放时的DRC检查:在摆放Floorplan时,应关注以下几点以确保无DRC问题:(a)确保macro之间的最小间距满足要求;(b)port之间的最小间距也应满足要求;(c)检查电源网络是否满足DRC要求,包括via过孔、strap宽度与间距、电源网络与port间的短路风险。完成Floorplan后,推荐使用calibre工具进行DRC检查。
4. 不使用UPF:在Floorplan阶段不使用UPF(单元功率模型)。UPF主要用于低功耗设计实现,例如在吾爱IC社区的低功耗四核A7顶层hierarchical实现后端训练营中,会在place阶段前使用UPF文件。
5. 确定DON'T USE列表:设置DON'T USE列表时,应考虑cell的用途和项目的具体需求,如延迟单元、填充单元、天线单元、去耦单元等。这些cell在特定阶段才需使用,完成相应任务后应将其设为DON'T USE,以免影响后续设计。
6. Def文件生成:Def文件可通过write_def命令生成,用于记录物理信息,包括blockage、macro、port、标准单元和网络的详细布局。在完成宏和port摆放后,输出def文件保存布局信息,后续需要此布局时,直接读取def文件即可。
7. 多余边界单元:多出的边界单元(endcap cell)不会影响DRC检查,但应确保总数无误。若有问题,可查看是否遗漏了某些cell。
8. 只摆放macro:使用create_placement -floorplan命令会同时摆放标准单元和宏模块。为只摆放宏模块而不摆放标准单元,需设置app option:set_app_options -name plan.macro.macro_place_only -value true;然后执行create_placement -floorplan。
9. 保留标准单元:使用remove_cells命令删除标准单元会导致逻辑功能改变。若需保留原布局,使用reset_placement -spread_cells命令恢复标准单元的位置。
10. latch up现象:Latch up 是由于CMOS电路中PNP和NPN双极性BJT相互作用产生的低阻抗通路现象,可能导致大电流在电源与地线间流动,严重时会烧毁芯片。预防和解决方法包括确保电路设计合理、添加适当的阻抗匹配和保护电路、避免外部干扰触发闩锁效应等。
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。