芯片后端开发基础知识(二)

  • 静态时序分析(Static Timing Analysis):静态执行对于数字设计时序的分析,不依赖于施加在输入端口上的激励,验证设计是否可以安全地运行在给定的时钟频率下且没有时序违例
  • 时序仿真(Timing Simulation):施加一组激励,观察在这组激励下电路行为是否符合要求,然后换一组激励再重复以上过程
  • 建立时间检查:保证数据可以在给定时钟周期内到达触发器
  • 保持时间检查:保证数据在被触发器采样后还能保持一定时间,不会漏采数据
  • STA的运行:
    • 在逻辑设计的逻辑综合后运行:确定最差或关键的时序路径
    • 在逻辑设计的逻辑优化后运行:查看是否有剩余的唏嘘违例路径需要优化,或确定关键路径
    • 在物理设计中:可以在每一部执行STA以确定最差路径
  • 不同阶段下,STA采用的模型:
    • 逻辑设计阶段:
      • 理想的互连线或基于线负载模型的互连线
      • 带有延迟和抖动估计值的理想时钟
    • 物理设计阶段(包括上面2种模型):
      • 具有近似估计值的全局布线的互连线、具有近似寄生参数提取值的实际布线的互连线、具有可以签核(Signoff)精度寄生参数提取值的实际布线的互连线
      • 实际的时钟树
      • 包括串扰的影响或者不包括串扰的影响
  • SDC(Synopsys Design Constraints):设计约束文件基于TCL(Tool Command Language)格式,由Synopsys公司开发定义,用于电路的逻辑综合,对电路的时序、功耗、面积等进行约束。

2 波形的压摆(Slew)

  • 波形(Waveform):定义时钟的高电平时间
  • 上升沿(Rising):时钟信号从0到1的转变时间
  • 下降沿(Falling):时钟信号从1到0的转变时间
  • 有效沿(Active):分为上升沿和下降沿
  • 转换时间(Transition Time):信号在两个特定电平之间转换所需要的时间
  • 压摆率(Slew Rate):电压转换速率
  • 下降压摆(Fall Slew):下降沿达到Vdd的slew_upper_threshold_pct_fall和slew_lower_threshold_pct_fall的时间之差
  • 上升压摆(Rise Slew):上升沿达到Vdd的slew_lower_threshold_pct_rise和slew_upper_threshold_pct_rise的时间之差
  • 压摆阈值点的选择对应的是波形的线性部分
  • 压摆降额系数(Slew Derate Factor):用slew_derate_from_library进行配置,压摆测量预置点为30%和70%且压摆降额系数为0.5,等效于测量阈值点为10%和90%,(70 - 30) / (90 - 10) = 0.5

3 信号偏斜(Skew)

  • 时钟延迟(Clock Latency):从时钟源到终点所花费的总时间,SDC中用set_clock_latency命令显式地指定时钟树的延迟
  • 时钟抖动(Jitter):信号时间与理想事件时间的偏差(Deviation)
  • 时钟偏斜(Clock Skew):到达不同时钟树终点的时间差,是最长时钟路径和最短时钟路径的延迟差,时钟偏斜在SDC中用set_clock_uncertainty命令显式指定时钟不确定度的值,该值包括时钟抖动、时钟偏斜估计值和额外悲观度

4 时序路径(Clock Path)

  • 路径延迟(Path Delay):逻辑通过逻辑路径传播的总延迟,包括逻辑路径中经过各个逻辑单元和网络走线的延迟
  • 最大时序:逻辑从时钟的根节点到达逻辑终点的最大延迟时间
  • 最小时序:逻辑从时钟的根节点到达逻辑终点的最小延迟时间
  • 最大时序路径:也称为晚路径(Late Path),延迟最大的路径
  • 最小时序路径:也称为早路径(Early Path),延迟最小的路径

5 时序弧(Timing Arc)

  • 时序敏感(Timing Sense):输出如何针对输入的不同跳变类型而变化
  • 时序弧(Timing Arc):每个输入引脚到每个输出引脚都存在一条时序弧
  • 正单边类型(Positive Unate):输入引脚上升沿跳变导致输出引脚电平上升(或不变),而输出引脚的下降沿跳变导致输出引脚电平下降(或不变),表示输出引脚电平跳变方向与输入引脚电平跳变方向相同
  • 负单边类型(Negative Unate):输入引脚上升沿跳变导致输出引脚电平下降(或不变),而输出引脚的下降沿跳变导致输出引脚电平上升(或不变),表示输出引脚电平跳变方向与输入引脚电平跳变方向相反
  • 非单边类型(Non-Unate):仅从一个输入引脚的跳变方向无法确定引脚电平将如何跳变,还取决于其他输入引脚的状态

6 时钟域(Clock Domain)

  • 时钟域:由同一时钟驱动的一组触发器
  • 时钟域独立:不存在从一个时钟域开始而在另一个时钟域结束的数据路径
  • 伪路径(False Path):将时钟同步器(Clock Synchronizer)逻辑明确放在两个时钟域之间,不是真实的时序路径,数据没有被约束要在一个时钟周期之内通过同步器逻辑传播,在SDC中用set_false_path命令指定时钟域之间的伪路径

7 工作环境(Operating Condition)

(1)静态时序分析3种标准的工作环境:

  • 最坏情况下的慢速WCS(Worst-Case Slow):工艺慢(Slow)、温度最高(如125°C)、电压最低(如1.2V x 90%)
  • 典型TYP(Typical):典型(Typical)工艺,温度是额定值(如25°C),电压是额定值(如1.2V)
  • 最佳情况下的快速BCF(Best-Case Fast):工艺快(Fast),温度最低(如-40°C),电压最高(如1.2V x 110%)

(2)功耗分析(Power Analysis)工作环境:

  • 最大漏电功耗ML(Maximal Leakage):工艺快,温度最高(如125°C),电压最高(如1.2V x 90%)
  • 典型漏电功耗TL(Typical Leakage):经典工艺,温度最高(如125°C),电压是额定值(如1.2V)

8 时序模型(Timing Model)

  • 时序模型:对设计中的单元实例(Instance)工作时的实际情况进行建模
  • 线性延迟模型(Linear Delay Model):D = D0 + D1 x S + D2 x C,D0、D1、D2为常数,D为逻辑单元的延迟,S为输入过渡时间,C为输出负载电容
    • 输入过渡时间(Input Transition Time):信号过渡时间越大,延迟越大
    • 输出负载电容(Output Load Capacitance):负载电容越大,延迟越大
  • 非线性延迟模型(NLDM,Non-Linear Delay Model):以二维形式表示,两个独立变量是输入过渡时间和输出负载电容,表中的数值表示延迟
    • 计算延迟:cell_rise、cell_fall
    • 计算逻辑单元输出引脚的过渡时间:rise_transition、fall_transition
  • 状态相关的时序模型(State-Dependent Model):取决于引脚状态的多个时序模型
    • 使用when来指定与状态有关的条件
    • 可以既使用状态相关的时序模型又使用非状态相关的时序模型来指定一些时序关系
  • 黑盒(Black Box)的接口时序模型:其可以具有以下时序弧:
    • 纯组合逻辑路径的输入到输出的时序弧
    • 从同步输入端口到相关时钟端口的建立时间和保持时间时序弧
    • 从异步输入端口到相关时钟端口的恢复时间和撤销时间时序弧
    • 从时钟端口到输出端口的输出传播延迟
  • CCS时序模型(Composite Current Source,复合电流源):使用随时间变化且依赖电压的电流源,为不同情况下的接收引脚电容和输出充电电流指定详细时序模型
    • 接收引脚电容(Receiver Pin Capacitance):在过渡波形的不同部分分别指定接收引脚电容,用receiver_capacitance_rise和receiver_capacitance_fall分别定义输入引脚上用于上升沿波形的接收电容及输入引脚上用于下降沿波形的接收电容
    • 输出充电电流(Output Charging Currents):根据输入过渡时间和输出负载电容的不同组合指定随时间变化的输出电流,用output_current_rise和output_current_fall来分别定义上升输出波形的输出电流及下降输出波形的输出电流
  • CCS噪声模型(CCSN,CCS Noise):对单元内不同的CCB进行表示
    • CCB(Channel Connected Block):沟道连接块,是单元的源极(Source)、漏极(Drain)的沟道(Channel)的连接块
    • du_current定义输出引脚上针对输入和输出引脚电压不同组合的直流电流
    • output_voltage_rise和output_voltage_fall定义CCB输出上升和下降的时序信息
    • propagated_noise_high和propagated_noise_low定义通过CCB的串扰噪声传播信息,包括输入噪声幅值和宽度

9 时序检查(Timing Check)

  • 同步时序检查(Synchronous):建立时间和保持时间检查
    • 建立时间(Setup Time):输入的数据必须在有效时钟沿之前保持稳定的最短时间
    • 保持时间(Hold Time):有效时钟沿之后输入的数据必须保持稳定的最短时间
    • timing_type决定该时序逻辑单元是上升沿触发还是下降沿触发,rise_constraint和fall_constraint决定时间约束
    • 负值保持时间表示触发器的数据引脚可以在时钟引脚之前改变,并且仍然满足保持时间的检查要求
    • 建立时间和保持时间的数值总和应为正值
  • 异步时序检查(Asynchronous):恢复时间和撤销时间检查
    • 异步恢复时间和撤销时间检查:验证异步引脚在下一个时钟有效边沿处是否已明确返回到了无效状态
      • 异步引脚无效状态(Inactive):有效时钟沿将开始锁存输入的数据
      • 异步引脚有效状态(Active):输出由异步引脚控制
    • 恢复时间(Recovery Time):异步输入被置为无效(De-asserted)后在下一个有效时钟沿之前需要保持稳定的最短时间
    • 撤销时间(Removal Time):一个有效时钟沿后,异步引脚必须保持有效状态的最短时间,即在有效时钟沿之后必须经过一段撤销时间才能将异步引脚置为无效状态
    • 脉冲宽度检查(Pulse Width Check):确保逻辑单元引脚上的脉冲宽度满足最低要求,timing_type为min_pulse_width
  • 对于触发器的同步输出,有着从时钟引脚(CK)到输出端口(Q或QN)传播延迟检查
    • 传播延迟(Propagation Delay):从时钟的有效沿到输出的上升沿或下降沿

10 功率(Power)

  • 有功功率(Active Power):与单元输入和输出引脚上的行为有关
    • 输出开关功率(Output Switching Power):与单元类型无关,取决于输出负载电容、开关频率和供电电源
    • 内部开关功率(Internal Switching Power):取决于单元类型,是当单元的输入或输出处于活动状态时单元内部的功耗
    • 触发器在每次时钟切换,都会消耗功率,通常是由触发器单元内部反相器的开关引起。即使触发器输出未切换,也会消耗由于时钟引脚切换引起的功率
  • 漏电功率(Leakage Power):与MOS器件的亚阈值电流和栅极氧化物隧穿电流有关
    • 高阈值电压单元漏电小,速度慢;低阈值电压单元漏电打,速度快
    • 温度越高,亚阈值电流越高

参考文献

[1]Bhasker, J.,Chadha, Rakesh著. 赵俊军译. Static Timing Analysis for Nanometer Designs: A Practical Approach. Springer US,2009.06;

[2]陈春章,艾霞,王国雄. 数字集成电路物理设计,[M]北京:科学出版社,2008.08;

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 芯片后端def文件(Design Exchange Format)包含了芯片设计的物理布局和电路连接信息,具体包含以下内容: 1. 芯片外形和尺寸 2. 格网分辨率和布局 3. 片内电路模块的位置、大小和方向 4. 片上电源和地线的位置和连接 5. 片上时钟、复位信号的位置和连接 6. 片上IO引脚的位置和连接 7. 片上晶体管、电容、电感等元器件的位置和连接 8. 片上金属层的层次结构和物理布局 9. 片上信号线的物理布局和连接关系 10. 片上标记和注释信息等 这些信息都是芯片后端设计流程中非常重要的一部分,对于芯片的物理实现和电路性能都有着重要的影响。 ### 回答2: 芯片后端def文件是指芯片设计的布局和物理规则定义文件,其包含以下内容: 1. 物理模型定义:def文件中包含了芯片中各个器件的物理模型定义,如晶体管、电路连线等。这些物理模型定义了芯片中每个组件的具体尺寸和位置,用于后续的布局和布线操作。 2. 布局规则定义:def文件中包含了芯片的布局规则定义,如器件间的最小距离、电源线的宽度等。这些规则是为了保证芯片的稳定性和可靠性,同时也会考虑到制造工艺的限制。 3. 布局信息:def文件中包含了芯片的布局信息,如各个器件的位置、相对位置关系等。这些信息是后续布线操作的基础,可以确保电路信号的传输效率和信号完整性。 4. 电路连线规则:def文件中还包含了芯片的电路连线规则,如连线的层次、层次间的转换规则等。这些规则是为了优化电路的性能和功耗,同时也会考虑到信号互联的物理限制。 5. 器件的组织结构:def文件中还包含了芯片各个器件的组织结构信息,如晶体管的排列方式、块的划分等。这些信息是为了在后续的物理设计过程中进行更高效的布局和布线操作。 总之,芯片后端def文件包含了芯片设计中各个物理层面的信息,如物理模型、布局规则、布局信息、连线规则和器件的组织结构等,为芯片的物理设计和制造提供了基础和指导。 ### 回答3: 芯片后端def文件包含以下内容: 1. 物理约束:def文件包含设计芯片的物理约束信息,包括网格布局、布线规则、电源引脚位置、时钟与时序要求等。物理约束是确保芯片物理布局和布线满足设计规范和性能目标的关键。 2. 栅格与层信息:def文件中包含芯片布局的栅格和层的相关信息。栅格是对芯片布局进行划分和定位的最小单位,用于确定组件和导线的摆放位置。层信息描述了芯片不同层的材料、用途和特性,如金属层、衬底层、电源层等。 3. 非标准单元定义:芯片后端设计过程中,可能会引入一些非标准单元,如特殊的时钟控制器、内存结构等。def文件中包含这些非标准单元的定义和引用关系,确保在后续的布局和布线阶段能够准确处理这些单元。 4. 电路网络信息:def文件中包含了芯片设计的具体电路网络信息,包括各个组件之间的连接关系、输入输出引脚、时钟和时序路径等。这些信息是用于进行详细的布局和布线操作的输入。 5. 特殊器件和电源信息:对于一些特殊的器件和电源单元,def文件中也包含了相应的定义和布局规则。这些特殊器件可能是为了满足特定需求而引入的,如电源管理单元、模拟电路单元等。 总之,芯片后端def文件是存储芯片物理约束与布局的关键文件,它包含了芯片布局、连接、约束和特殊单元等重要信息,为后续的布局布线、时序调整等工作提供了基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值