时序违例修复

2023-10-10 07:10
文章标签 时序 修复 违例

本文主要是介绍时序违例修复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

建立时间违例修复

1.Tclk角度

2.Tcomb角度

1)流水线

2)重定时

3)关键信号后移

4)操作数平衡

5)树型加法器

6)消除优先级

3.Tnet角度

逻辑复制

4.Tco角度

5.Tskew角度

保持时间违例修复

1.Tcomb角度

2.Tskew角度

3.Tco角度

实例分析


建立时间与工艺、温度、电压、时钟周期有关。

        保持时间与时钟周期无关。

        建立保持时间是芯片本身的特性,它们的存在是触发器内部的特性,在屏蔽毛刺方面起到了一定作用。

建立时间违例修复

Tsu≤Tclk+Tskew-Tco-Tcomb-Tnet

1.Tclk角度

增大Tclk:降低时钟频率。很多产品等级是根据频率来分的,品质好的芯片频率高,价格贵。

2.Tcomb角度

减小Tcomb:

  1. 组合逻辑设计角度:流水线;重定时;关键信号后移;操作数平衡;树型加法器;消除优先级
  2. 物理版图角度:更换速度更快的标准单元(HVT-High Voltage Threshold;SVT-Standard Voltage Threshold);更换驱动能力更强的标准单元(X2,X4);更换阻值更低的金属以减少标准单元电路的负载和金属线网的延迟

1)流水线

        流水线(pipeline):插入寄存器,将组合逻辑分解,使得分解后的延迟基本一致,降低Tcomb。相当于先插入寄存器,再重定时面积换速度;提高最大时钟频率;保证吞吐量不变的情况下改善设计的时序性能。

PPA:性能 Performance、功耗 Power、面积 Area

流水线越深:追求性能,更高的主频

流水线越浅:追求功耗,小面积低功耗。

越深导致的问题:

1.以面积换速度,消耗更多的寄存器,面积开销大,功耗大。

2.流水线中的反压,流水线冲刷问题。分支预测失败,就会导致预取的指令全部作废,重新取指,造成功耗,造成性能损失。

处理器发展面临的挑战:频率墙、功耗墙、存储器墙、应用墙

2)重定时

        寄存器平衡(重定时retiming):在不改变电路功能的情况下,将大块组合逻辑分解成小块组合逻辑,分布到寄存器之间,通过改变寄存器的位置来优化关键路径,减少组合逻辑最大延迟,从而改进最高时钟频率。寄存器重定时与流水线的区别是,重定时不增加寄存器个数,通过改变寄存器的位置来优化关键路径。而流水线是增加了寄存器个数。

3)关键信号后移

        关键信号后移:关键输入应该在逻辑的最后一级提供,其中关键输入为芯片、Slice、或者LUT提供的延时最大的输入,比如在if...else if...链中,将关键信号放在第一级。

4)操作数平衡

        操作数平衡 (加法树、乘法树):将串行逻辑并行优化处理,积之和变为和之积。例如Z=A* B *C * D ,利用括号进行操作树平衡Z=(A * B)*(C * D)。变成树状乘法器,树状加法器。

5)树型加法器

6)消除优先级

        消除优先级:(又叫 代码结构平坦化技术)本身不需要优先级的地方,case代替if...else,使得顺序执行的语句变成并行执行。

3.Tnet角度

减小Tnet:提高工作电压;减小信号延迟;逻辑复制。

逻辑复制

        逻辑复制:当信号扇出很大的时候,该信号到达各个目的逻辑节点的路径变得很长。通过对寄存器进行赋值来降低扇出。复制几个相同的寄存器来分担原来一个寄存器驱动模块的任务。逻辑复制的另一种方法,是在DC软件的约束文件中,设置max_fanout属性,一般将max_fanout设置为3,当实际设计中该信号的fanout超过了3,综合器就会就行自动优化。扇出过大会导致net delay线延迟过大,不利于时序收敛。

4.Tco角度

减小Tco:使用反应更快的D触发器

5.Tskew角度

增加Tskew:在时钟路径上插入buffer

保持时间违例修复

Th≤Tco+Tcomb-Tskew

保持时间与工艺、温度、电压有关。

1.Tcomb角度

增大Tcomb:插入buffer作缓冲器延时。

2.Tskew角度

减小skew: 做时钟树平衡,减小时钟延迟。

3.Tco角度

增大Tco:提高温度,降低电压。

实例分析

Tsu= Tcycle + Tskew-T1 要使Tsu最小,则Tskew最小,T1最大。

Tsu(min) = Tcycle + Tskew(min) - T1(max) = Tcycle(=15) + Tskew(min)(=2+5+2-2) - T1(max) (=11+2+9+2) = 15+2+5+2-2-11-2-9-2 = 22- 24 < Tsetup 因此发生了setup violation

这篇关于时序违例修复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/178823

相关文章

mss32.dll文件丢失怎么办? 电脑提示mss32.dll丢失的多种修复方法

《mss32.dll文件丢失怎么办?电脑提示mss32.dll丢失的多种修复方法》最近,很多电脑用户可能遇到了mss32.dll文件丢失的问题,导致一些应用程序无法正常启动,那么,如何修复这个问题呢... 在电脑常年累月的使用过程中,偶尔会遇到一些问题令人头疼。像是某个程序尝试运行时,系统突然弹出一个错误提

电脑提示找不到openal32.dll文件怎么办? openal32.dll丢失完美修复方法

《电脑提示找不到openal32.dll文件怎么办?openal32.dll丢失完美修复方法》openal32.dll是一种重要的系统文件,当它丢失时,会给我们的电脑带来很大的困扰,很多人都曾经遇到... 在使用电脑过程中,我们常常会遇到一些.dll文件丢失的问题,而openal32.dll的丢失是其中比较

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

电脑提示msvcp90.dll缺少怎么办? MSVCP90.dll文件丢失的修复方法

《电脑提示msvcp90.dll缺少怎么办?MSVCP90.dll文件丢失的修复方法》今天我想和大家分享的主题是关于在使用软件时遇到的一个问题——msvcp90.dll丢失,相信很多老师在使用电脑时... 在计算机使用过程中,可能会遇到 MSVCP90.dll 丢失的问题。MSVCP90.dll 是 Mic

电脑报错cxcore100.dll丢失怎么办? 多种免费修复缺失的cxcore100.dll文件的技巧

《电脑报错cxcore100.dll丢失怎么办?多种免费修复缺失的cxcore100.dll文件的技巧》你是否也遇到过“由于找不到cxcore100.dll,无法继续执行代码,重新安装程序可能会解... 当电脑报错“cxcore100.dll未找到”时,这通常意味着系统无法找到或加载这编程个必要的动态链接库

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

六种msvcp110.dll丢失修复的方法分享,有效快速修复msvcp110.dll丢失

在日常使用电脑的过程中,我们可能会遭遇各种程序运行错误,其中“msvcp110.dll丢失”是一种非常常见的问题。这个问题通常发生在尝试启动某些程序时,系统会弹出一个错误消息,提示“程序无法启动,因为计算机缺少msvcp110.dll”,这可能会让用户感到困惑和无助。幸运的是,这个问题有多种解决方法,本文将指导你通过几种简单的步骤来修复“msvcp110.dll丢失”的问题,让你的程序回到正常运行

多维时序 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测

多维时序 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测 目录 多维时序 | Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SSA-SVR麻雀算法优化支持向量机的数据多变量时间序列预测(完整源码和数据) 2.SS