当前位置:首页 > EDA > 电子设计自动化
[导读]SOC设计人员除了做好自己的设计工作外,还需要和DC等后端(中端)同事进行工作上的交互。

SOC设计人员除了做好自己的设计工作外,还需要和DC等后端(中端)同事进行工作上的交互。

我们需要提供给他们具体的时钟结构图,重点是clk_i,div_clk等信息,帮助他们完成sdc的timing 约束,以及检查上的约束放松信息,例如false path和multi-cycle。

然后他们会给我们反馈综合报告,我们需要能看懂综合报告,并且能分析时序违例原因。

我们需要掌握的最基本的知识就是什么是时序违例?他们和建立保持时间的关系。

1、建立时间与保持时间概述

建立时间(Tsu):在时钟采样沿之前,数据必须保持稳定的时间,该时间量称为建立时间。

保持时间(Th):在时钟采样沿之后,数据必须保持稳定的最短时间。

理想最优的建立时间和保持时间出现在数据中间采样的位置,如下所示,实质就是使触发器在采样沿得到稳定的数据,如果数据在时钟上升沿的建立保持时间内{latch edge-setup,latch edge+hold time}发生跳变,则会产生亚稳态输出,即输出值在短时间内处于不确定态,有可能是1,有可能是0,也可能什么都不是,处于中间态。

SoC设计入门 - 建立时间与保持时间

建立保持时间模型

在出现沿打沿的现象时会出现建立时间最大值或者保持时间最大值。

理想建立时间最大值:

SoC设计入门 - 建立时间与保持时间

理想建立时间

理想保持时间最大值:

SoC设计入门 - 建立时间与保持时间

理想保持时间

2、寄存器之间数据传输概念图

寄存器数据传输的模型:数据从在Reg1到Reg2,理想情况下采样沿到达Reg2时,数据的中间位置到达Reg2的数据端,这样出现最优的建立时间和保持时间,此时采样的数据也是最稳定的,如果时钟早到或者数据早到,严重的情况下就会产生时序违例。

SoC设计入门 - 建立时间与保持时间

数据传输模型

3、时序图分析

SoC设计入门 - 建立时间与保持时间

时序图

逐步分析这个时序图,在第一个clk上升沿的时候,将D1的数据传递到了Q1,触发器的延迟为Tco,接下来经过组合逻辑Tcomb,Q1变为了D2,随后在第二个clk上升沿,将D2的数据传递到了Q2。

回到最上面的定义,建立时间和保持时间的区别就在于处在时钟事件的前后,红色虚线就代表着时钟事件。

建立时间分析

极限情况就是Tco+Tcomb+Tsu=Tclk,当然我们设计时往往时留有余量的

Tco+Tcomb+Tsu

如果发生了建立时间违例是什么情况呢?那就是下面的表达式

Tco+Tcomb+Tsu>Tclk

我们高中时对这个是最敏感的,毕竟选做题,所以大家肯定都知道怎么把这个表达式的大于号变成小于号。

方法如下:

1.降频,使时钟周期变大。

2.使用Tsu要求更低的cell。

3.优化组合逻辑。

4.优化前级cell的输出驱动能力。

1和3是我们设计人员需要重点掌握的,2和4是后端人员的事情,timing eco的方式。

使用方法1的情况一般是项目快要tape out了,时序实在收敛不下来,并且降频也能满足设计的基本功能时。

使用方法3的做法一般是打散组合逻辑,加一级pipe,需要的设计充分了解。

保持时间分析

极限情况就是Th=Tco + Tcomb,含义是什么呢?就是前一级寄存器针对D1的第二次采样不能太快,不然就会让D2变化的太早,引起亚稳态。同样的,我们设计是有余量的,一般情况

Tco+Tcomb>Th

如果发生了保持时间违例是什么情况呢?那就是下面的表达式

Tco+Tcomb

前一级寄存器的数据变化太快了,导致后级寄存器来不及采样。那么怎么规避呢?

方法如下:

1.使用Th要求更低的cell。

2.增加组合逻辑延迟。

3.降低前级cell的输出驱动能力。

这些其实都是后端需要处理的,重点介绍方法2,就是在data path上插buffer。

总结

上面介绍了建立保持时间的含义,以及常用的解决时序违例的方法。我们设计人员能做的就是养成良好的设计习惯,

·组合逻辑太过复杂的就考虑使用pipeline结构

·尽量避免使用if嵌套结构,进行使用case

还有一点你会发现,后端处理set up违例和hold违例的方法常常时相悖的,也就是你修好了set up violation,又产生了hold violation。这就要求后端的实力足够强大,敢于尝试timing ECO来手动调整clk tree和data path,当然我们也一定要绘制详细的时钟结构图帮助他们进行这些尝试。降频只能是无奈时采样的方法。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘 要:介绍了一种光伏制氢多端口变流器的设计原理、组成与各端口特性 ,该设备可应用于光伏电站配属的制氢站 ,给制 氢车间电解槽提供稳定的可调电源。实验证明:在光伏制氢应用中 ,该设备具有为制氢车间提供稳定的可调电源...

关键字: 光伏制氢;多端口变流器;汇流端口

摘 要:针对NRL型测氡仪在取样过程全程计数的测氡模型中计算复杂的问题 ,构建了一种简单计算氡浓度标定测氡仪刻 度因子的方法 。该方法在实验标定仪器标准刻度因子后 ,再根据氡的衰变规律计算任意测量周期的刻度因子 ,且...

关键字: 连续测氡;刻度因子;等效时间

摘 要:随着制造加工技术的发展 , 以及医疗、军工等重要领域对平面类零件加工的表面精度要求提高 , 目前对平面类零件 多数采用研磨盘进行加工 ,成本高且操作复杂。磁粒研磨作为一种新型研磨方式具有精度高、易 自动化等特...

关键字: 磁粒研磨;永磁交变磁场;磁性磨料

摘 要:针对传统绝缘操作杆作业法带电接引流线工作中存在的安全隐患及线路绝缘化处理的问题 ,提出了配电线路带电 接引流线组合工具的设计方案 ,分析了组合工具主要设计思路及各部分构造 , 阐述了组合工具的配合方式及使用流...

关键字: 带电作业;可靠性;引流线;配电线路

摘 要:介绍了一种基于STM32控制的肌电诱发康复器的恒流源设计 , 能够实现电流的步进可调控制 , 电流调节范围:0 ~ 3 000 mA 。恒流电源系统包括硬件系统和软件系统 ,硬件系统以控制器STM32为核...

关键字: 恒流源;PI反馈调节;STM32微控器

在这篇文章中,小编将为大家带来FPGA三段式状态机设计的相关内容。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: FPGA 状态机

本文中,小编将对FPGA不复位的代码实现予以介绍

关键字: FPGA 复位

本文中,小编将对OV7670 驱动设计予以详细介绍,如果你想对它的详细情况有所认识,或者想要增进对设计方案的了解程度,不妨请看以下内容哦。

关键字: OV7670 驱动设计 FPGA 开发板

以下内容中,小编将对基于FPGA的多通道频率检测仪设计的相关内容进行着重介绍和阐述,本文仅为上篇,具体实现方案放在下篇文章中,大家可以按需检索。

关键字: 检测仪 频率检测仪

在下述的内容中,小编将会对基于FPGA的多通道频率检测仪实现方案部分予以详细,如果频率检测仪的设计是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: 检测仪 频率检测仪
关闭