SPEF 全称 Standard Parasitic Exchange Format 是IEEE 标准,最新的标准号是:IEEE Std 1481– 2009. 用于描述芯片中的『连线特性』,即:电阻,电容,电感。SPEF 在数字实现流程中用于『连线特性』在不同工具之间的传递。

虽然用了多年SPEF 但一直没有扒拉开去看里面的格式,最近遇到一个问题,为了搞清楚去扒拉了一遍,问题是:对于如下设计,在netlist 中的A/net1, net2, B/net3 在逻辑上三段,在物理上是一条线,在SPEF 中这条net 是如何表示的?

SPEF 的格式比较简单,SPEF 中的关键字以”*” 开头,如*R_UNIT, *NAME_MAP, *D_NET, 注释以”//” 开头,在IEEE Std 1481– 2009 协议里定义了如下几段:

  • Header definition

  • Name map definition

  • Power and ground net definition

  • External definition

  • Hierarchical SPEF (entities) definition

  • Process and temperature variation definition

  • Internal definition

 

Header definition

定义了SPEF 版本、设计名字、产生时间、厂商、工具、工具版本、分割符、时间电容电阻电感的单位。

Name map definition

为了减小文件的大小,把设计里object 的名字映射成数字,后面引用时直接上数字。

 

解析SPEF:理解逻辑互联在芯片设计中的实际表示-CSDN博客

Power and ground net definition

定义电源跟地的信息。

External definition

定义port 的信息,如方向:I 表示input port, B 表示inout port, O 表示Output port; 坐标:*C; 负载电容:*L; 驱动:*D 等。

Hierarchical SPEF (entities) definition

定义当前设计中instance 信息,用于多个SPEF 合并。

Process and temperature variation definition

这部分是IEEE Std 1481– 2009 新增加的内容,定义影响互连线电容、电感和电阻的工艺参数,电阻的一阶和二阶系数(CRT1、CRT2)以及抽取时的标称温度,有个复杂的计算公式。

Internal definition

SPEF 的主要内容,定义了每一条net 的连接关系,电容电阻电感值:

*D_NET

*CONN section

*CAP section

*RES section (single pin will not have)

*INDUC section

*END

 

举个栗子:

  • *D_NET 行,表示对应net 总电容,容值是*CAP section 电容的总和,*1 表示”name map” 中第一条net, 当前电容是0.021pf.

  • *CONN, 部分指定了该net 的连接信息,其格式是:

  • *CAP 部分定义了电容的详细信息,电容包括『对地电容』跟『耦合电容』两部分,如果net-A 跟net-B 之间有耦合电容,则该耦合电容,在net-A 跟net-B 的*CAP 部分各列一次。

  • *RES 部分定义了该net 的电阻值。

 

回到开头的问题,对于如下设计,在SPEF 中只有一条*D_NET. 

如果是hierarchical flow 且读入spatial AOCV/SOCV 则需要在top 将sub-block 的坐标对齐,如下例:

在Tempus 里用命令set_spef_transform 来对齐。

Quantus 可以用于RF, Analog, Mixed Signal, Customer Digital 等各色设计的RCL 抽取。

 

 

本文转载于: 陌上风骑驴看IC [读SPEF]