物理设计

布局利用率(placement utilization)

把芯片的核心区想象成一个停车场,标准单元就是一辆辆汽车。布局利用率回答的就是一个问题:这个停车场停满了多少?它表示你的逻辑实际占用了多大比例的可用地面——把每个标准单元的面积加起来,再除以它们被允许摆放的核心区域面积。利用率 0.70 意味着 70% 的地面被单元占据,剩下 30% 还是空着的柏油地。

那空着的 30% 并不是浪费,而是布线器需要的喘息空间。导线并不是在另一个维度里穿行——它们走在叠放于单元上方的金属层上,还得通过过孔(via)往下钻才能接到单元引脚,所以一块单元密不透风、塞满到墙角的地面,根本没地方让连线穿过去。把利用率推得太高——超过大约 80% 到 90%——布线器就会用光布线轨道,拥塞(congestion)骤增,于是你会遇到布不通的网线,或者一大片 DRC 违例。这正是早期布局规划通常瞄准一个宽松的 60% 到 70% 的原因:你是在有意留出余量,好让时钟树缓冲器、修保持时间(hold)的单元,以及后期的 ECO 改动,在布线和签核(signoff)之前都还有地方落脚。

搞清楚你到底是除以哪块面积,会很有帮助。利用率是相对核心区(可摆放区域)来衡量的,而不是整颗裸片(die)——裸片上还有 I/O 焊盘环和留边,那些不归你填。而当核心区里坐着大块硬核(hard macro,比如存储器、PLL)或布局阻挡(blockage)时,工具往往会按真正留给标准单元的那块面积来报告一个有效利用率,这个数会比你最初设的原始数值高出不少。

utilization = (total standard-cell area) / (core placeable area); e.g. 0.65 = 65% full

最基本的比值——让它远低于 1.0,布线器才有轨道可用。

利用率是一个会移动的目标,而不是拨一次就定死的旋钮:它会随着流程一路往上爬——CTS 加入时钟缓冲器、修时序又塞进更多单元——所以要在布局规划阶段就留出余量,而不是一开始就贴着天花板起步。

又称
core utilizationcell utilizationutil核心利用率單元利用率