芯片设计的原型(Prototyping)流程,引脚分配(Pin Assignment)

在芯片设计的原型(Prototyping)流程中,引脚分配(Pin Assignment) 是指在完成早期全局路由(earlyGlobalRoute)后,对跨分区(Partition)信号的引脚进行精确定位、检查和调整的过程,目的是确保分区边界处的信号连接物理可行,避免后续布线冲突。以下是基于文档内容的详细解释:

一、引脚分配的核心目的

在分层设计中,芯片被划分为多个分区独立设计,而跨分区的信号需要通过边界引脚连接。引脚分配的关键是:

  1. 确定信号在分区边界的具体连接位置,确保路由路径最短、拥塞最小;
  2. 避免引脚重叠、短路或金属层不匹配等物理违规,防止信号传输失效。

二、关键操作步骤及命令解析

1. 精确分配引脚位置
  • 命令assignPtnPin -enforceRoute
  • 操作逻辑
    在分区边界上,根据早期全局路由的路径,将引脚严格放置在路由穿过边界的位置。参数-enforceRoute强制引脚位置与路由规划一致,确保信号走线符合物理规则,避免因位置偏差导致后续布线绕远或拥塞。
2. 检查引脚分配有效性
  • 命令checkPinAssignment
  • 操作逻辑
    验证已分配的分区引脚是否存在重叠、短路风险,或是否超出分区边界。例如,检查不同分区的引脚是否在同一坐标点冲突,或引脚是否位于禁止布线区域。
3. 修复引脚布局违规
  • 命令legalizePin -keepLayer -verbose
  • 操作逻辑
    对重叠或位置违规的引脚进行自动调整,使其符合设计规则。-keepLayer保留引脚所在金属层,避免调整时更换层导致路由重新规划;-verbose输出详细日志,便于定位问题(如违规类型、调整前后坐标等)。
4. 报告未对齐与层不匹配引脚
  • 命令

    plaintext

    reportUnalignedNets -ptnToPtn {unaligned} -topToPtn -rptFile ptnToPtn_unaligned.pins  
    reportUnalignedNets -ptnToPtn {layerMismatch} -topToPtn -rptFile ptnToPtn_layerMismatch.pins  
    
  • 操作逻辑
    • {unaligned}:生成跨分区未对齐引脚报告,定位因位置偏移导致信号无法连通的引脚(如分区 A 的引脚与分区 B 的对应引脚偏移超过允许范围)。
    • {layerMismatch}:检测跨分区引脚使用的金属层不一致问题(如分区 A 用 M4 层,分区 B 用 M5 层),避免因层不匹配导致路由中断。

三、后续流程:结合引脚约束的时序分析

完成引脚分配后,需在路由和时序分析中保持引脚约束,确保设计收敛:

  1. 设置路由模式

    • 命令:setRouteMode -earlyGlobalRoutePartitionHonorPin list_of_ptn_cell_names
    • 作用:在顶层和跨分区网络布线时,严格遵循已分配的引脚位置约束,避免路由过程中改变引脚位置。
  2. 重新运行早期全局路由并保存设计

    • 命令:earlyGlobalRoute + saveDesign assignPin.enc
    • 目的:验证引脚约束下的路由可行性,并保存当前设计状态。
  3. 生成最终时序报告

    • 命令:timeDesign -proto -expandedViews
    • 作用:基于引脚约束后的路由结果,分析时序性能(如建立 / 保持时间违规),确保跨分区信号的时序符合要求。

四、通俗类比:引脚分配如 “跨国边境通关”

  • 分区边界:相当于两国边境,引脚是 “通关口岸”,必须建在规划的交通干道(路由路径)上。
  • assignPtnPin:确定口岸位置,确保车辆(信号)按规划路线通关;
  • checkPinAssignment:检查口岸是否拥挤(引脚重叠)或位置错误(超出边境线);
  • legalizePin:整改违规口岸,确保通关流程合法;
  • 时序分析:验证通关效率(信号延迟)是否满足要求,避免边境拥堵(时序违规)。

你可能感兴趣的:(innovus)