Timing Library Format (TLF)

本文详细介绍了TLF文件的结构和用途。TLF文件用于存储半导体技术中特定单元的时序和功率参数,包括输入输出延迟路径、时序检查值及互联延迟等。文章还讨论了单元级延迟计算的方法,以及如何在没有布局信息的情况下估算寄生效应。
部署运行你感兴趣的模型镜像

TLF is an ASCII representation of the timing and power parameters associated with any cell in a particular semiconductor technology. The timing and power parameters are obtained by simulating the cells under a variety of conditions and the data is represented in the TLF format.

The TLF file contains timing models and data to calculate

  • I/O delay paths
  • Timing check values
  • Interconnect delays
I/O path delays and timing check values are computed on a per-instance basis.
Path delays in a circuit depend upon the electrical behavior of interconnects between cells. This parasitic information can be based on the layout of the design, but must be estimated when no layout information is available.
And it is no possible to predict the process, voltage and temperature variations and derating factors can be included to compensate for these variations.

Cell-based Delay Calculation
Cell-based Delay Calculation is modeled by characterizing cell delay and output transition time (output slew) as a function of input transition time (input slew) and the capacitive load on the output of the cell.
Timing checks are also functions of  input slew and output and capacitive load.
Each cell has a specific number of input to output paths.



Path delays can be described for each input signal transition that affects an output signal.
The path delay can also depend on signals at other inputs (state dependencies).
In many sequential cells, the pat delay from an input pin to an output pin can depend on the path delay from another output pin to this output pin.














The TLF file is organized in twp scopes:
  • Library Scope
Vendor and technology used
Global models for timing
Net resistance and capacitance(wireloads)
  • Cell Scope
Cell definitions
Default values can be redifined for the cell
Information about every path in the cell and pin information






What we will have and not have in our library???

Library Scope

  • Header information
  • No wireload models:Prior design data is required to accurately generate these models. We will rather use tools like Cadence PKS or Synopsys Physical Compiler.
  • Operation conditions, derating factors, limits and units: Three different values are usually required: typical, worst and best case. However, to accurately get these three values process parameters and transistors models for the entire process spread are required. This informatin is only available to the foundry. We can perform simulations only with MOSIS  provided models. Average extraction parameters and spice models will be used for the simulations. We can still run simulations at various temperatures and voltages. We can use +/- 5% or +/- 10% variations as best and worst case values. When using the library, keep in mind that you need to guard band for these variations.
proc_var( ) property
Specifies the reference points for process variation used for the characterization. Our file will contain values for only one process point and so a 1.0 will be used. However, we can create three different files for typical, worst and best.

temperature and voltage
Specifies the tempreatue and voltage reference points.

proc_mult ( ), temp_mult ( ) and volt_mult ( )
Multipliers that are used by the timing tools to derate data due to variations in process, temperature and voltage.

table_input_theshold ( ), table_output_theshold ( ), table_transition_start ( ) and table_transition_end ( ).
Low and high threshold values for slew calculation (10% - 90% points) and the threshold for delay calculations (50% points).

slew_limit( ) and load_limit( )
Specifies the limits on maximum input slew on an input pin and the maximum output capacitance on any output pin

unit( )
Specifies the units used for time, capacitance, area, power, voltage etc.





Cell Scope

Cell(cell_name )
The cell name

Area( )
Specifies the cell area, used during logic synthesis and timing analysis (wireload)

TIMING_model(timing_arc_name)
Specifies the timing models to use for the particular path in the circuit
Three different models can be used

您可能感兴趣的与本文相关的镜像

LobeChat

LobeChat

AI应用

LobeChat 是一个开源、高性能的聊天机器人框架。支持语音合成、多模态和可扩展插件系统。支持一键式免费部署私人ChatGPT/LLM 网络应用程序。

在时序分析中,timing arc 是描述单元(cell)端口之间信号传播关系的基本元素。每条 timing arc 都对应一个特定的延迟计算模型,用于表示从输入到输出或从输入到输入之间的信号传播行为。在 timing library 中,这些 timing arc 的延迟信息是通过一系列参数和函数来定义的,以便静态时序分析工具(如 STA 工具)能够准确地进行路径延迟估算 [^1]。 ### Timing Arc 的延迟信息 Timing arc 的延迟信息通常包括以下内容: - **延迟模型**:每个 timing arc 会指定其使用的延迟模型,例如线性延迟模型(linear delay model)或非线性延迟模型(non-linear delay model),这决定了如何根据负载电容和驱动能力来计算延迟。 - **延迟表达式**:延迟值通常由一个函数表达式给出,该表达式依赖于输入转换时间和输出负载电容。例如: ``` delay = f(input_transition, output_load) ``` - **条件延迟**:某些 timing arc 可能包含条件延迟(conditional delays),即在特定逻辑条件下才生效的延迟值 [^3]。 ### 延迟计算方法 在 timing library 中,延迟计算一般基于查表法(look-up tables)。工具会将输入转换时间和输出负载电容作为索引,查找预定义的延迟值。例如,在 Synopsys Liberty 格式中,延迟可以表示为: ```tcl cell_rise(delay_template_5x5) { values("0.1, 0.2, 0.3, 0.4, 0.5", "0.15, 0.25, 0.35, 0.45, 0.55", "0.2, 0.3, 0.4, 0.5, 0.6", "0.25, 0.35, 0.45, 0.55, 0.65", "0.3, 0.4, 0.5, 0.6, 0.7") } ``` 上述代码片段定义了上升沿延迟随输入转换时间和输出负载变化的情况 [^3]。 ### Debug 时序弧延迟的方法 为了查找某段 net 或某个 cell 的 delay 信息,常用命令 `report_delay_calculation` 来获取详细的延迟来源报告。该报告通常包括以下几个部分: - 输入转换时间(input transition time) - 输出负载电容(output load capacitance) - 查找延迟所依据的模板(delay template) - 最终计算出的延迟值(calculated delay) 例如,在命令行中执行: ```tcl report_delay_calculation -from [get_pins U1/A] -to [get_pins U1/Z] ``` 可以获得关于从 U1/A 到 U1/Z 的延迟详细计算过程 [^4]。 ### 多路径延迟处理 在实际设计中,一个信号可能经过多个路径到达目标点。因此,timing library 和 STA 工具必须支持多路径(multiple paths)分析,以确保所有可能的时序路径都被正确评估。这种情况下,延迟计算需要考虑不同路径的组合影响 。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值