前段时间完成了一个IP在HLMC_55工艺下的后端设计,在此记录如下。
关于工艺
本次设计选用工艺库为IH55LP_HS_RVT_V2p3_1P4M_1TM2X,设计中不包含IO及Memory,因此物理库只引用standard_cell。关于时序库,target_library选择ih55lp_hs_rvt_ss_1p08_125c_basic.db,link_library选择ih55lp_hs_rvt_ss_1p08_125c_basic.db和ih55lp_hs_rvt_ff_1p32_-40c_basic.db。tech_file选择tf/HLMC_cl055lp_1p4m_1tm2x_mw.tf。因为此工艺只有4层金属,相比其他工艺,绕线问题将成为本设计的设计瓶颈。
拿到的初始文件
从前端拿到的东西只有一个网表和一个sdc,因此本次设计不包含扫描链。从sdc可看出,本次设计包含8个主时钟,其中最高频时钟周期为1.25ns(为了减轻后面修正时序的工作量,在apr时把周期调整为1.2),另有17个衍生时钟,用于产生分频。
从版图拿到的floorplan size为{ {0 0}, {0 482},{2550 482},{2550 0},{2005 0},{2005 382},{545 382},{545 0}},这是一个不规则图形,一开始跑流程的时候仅仅意识到这个不规则形状可能对时序有恶劣的影响,没有考虑到其对绕线的影响,这一点后面再详细讲述。
开始后端流程
建立设计库和加载网表没有什么特别之处,和其他大多数项目的流程相同。
create_mw_lib {自己指定的设计库路径(文件夹&#