DC综合中的时序约束、时序分析

合集下载

dc综合时钟约束规则

dc综合时钟约束规则

dc综合时钟约束规则
摘要:
一、引言
二、DC 综合时钟约束规则的定义与作用
三、DC 综合时钟约束规则的具体内容
1.规则一
2.规则二
3.规则三
四、实施DC 综合时钟约束规则的意义
五、结论
正文:
一、引言
在我国,DC 综合时钟约束规则在设计和实施过程中具有重要意义。

本文将对DC 综合时钟约束规则进行详细介绍,以帮助大家更好地理解和应用这一规则。

二、DC 综合时钟约束规则的定义与作用
DC 综合时钟约束规则是指在数字电路设计中,对时钟信号进行约束以满足设计要求的一系列规定。

其主要作用是确保电路在各种工作条件下都能正常运行,提高电路的稳定性和可靠性。

三、DC 综合时钟约束规则的具体内容
DC 综合时钟约束规则包括以下三个主要内容:
1.规则一:时钟信号的边沿必须满足一定的要求。

例如,时钟信号的上升沿和下降沿必须在一定的时间范围内,以确保数字电路能够正确识别时钟信号的边沿。

2.规则二:时钟信号的周期必须满足一定的要求。

例如,时钟信号的周期必须在一定的时间范围内,以确保数字电路能够按预期进行计数。

3.规则三:时钟信号的相位必须满足一定的要求。

例如,时钟信号的相位必须在一定的时间范围内,以确保数字电路能够正确识别时钟信号的相位。

四、实施DC 综合时钟约束规则的意义
实施DC 综合时钟约束规则有助于确保数字电路的稳定性和可靠性,提高电路的运行效率。

同时,这一规则还有助于降低电路设计和验证的复杂度,缩短设计周期。

五、结论
总之,DC 综合时钟约束规则在数字电路设计和实施过程中具有重要意义。

异步fifo的sdc约束

异步fifo的sdc约束

异步fifo的sdc约束
异步FIFO的时序约束是设计异步FIFO时非常重要的一步,它确保了数据在FIFO中的稳定传输。

在进行时序约束时,需要考虑时钟域的转换、数据传输的延迟以及时序分析等因素。

以下是针对异步FIFO的SDC约束的多角度回答:
1. 时钟域转换,在异步FIFO中,往往会涉及到不同时钟域之间的数据传输,因此需要在时序约束中明确指定数据从一个时钟域到另一个时钟域的延迟限制。

这样可以确保数据在时钟域之间的稳定传输。

2. 时钟频率,在SDC约束中,需要指定异步FIFO所使用的时钟频率。

这有助于综合工具正确地分析和优化FIFO的时序性能。

3. 数据传输延迟,对于异步FIFO的写入和读取操作,需要在SDC约束中指定数据传输的延迟限制。

这有助于确保数据能够按时到达目的地,并且在读取时能够正确地被采样。

4. 时序分析,在SDC约束中,需要进行综合和时序分析,以确保异步FIFO在不同工艺、温度和电压条件下都能正常工作。

这包括
时序收敛、时序边界的定义等方面的约束。

5. 时序路径约束,在异步FIFO的时序约束中,需要指定关键
路径和时序收敛路径,以确保FIFO的关键路径能够满足时序要求,
并且各个路径能够在设计规定的时钟周期内完成。

综上所述,异步FIFO的SDC约束涉及到时钟域转换、时钟频率、数据传输延迟、时序分析以及时序路径约束等方面。

合理设置这些
约束可以确保异步FIFO在实际应用中能够稳定可靠地工作。

dc异步电路约束方法

dc异步电路约束方法

dc异步电路约束方法DC异步电路约束方法DC异步电路约束方法是在数字电路设计中常用的一种技术,用于控制电路的时序和数据流。

在设计数字电路时,为了确保电路的正确性和稳定性,需要对电路进行一系列的约束。

本文将介绍DC异步电路约束方法,并通过具体的案例来说明如何应用这些方法。

一、时序约束时序约束是指对电路中信号的传输时间进行限制,以确保电路在正确的时间顺序下工作。

时序约束的主要目的是避免电路中的冲突和竞争条件,防止出现时序违规的情况。

1. 时钟约束:在异步电路中,时钟信号是非常关键的。

在设计时,需要明确时钟信号的频率、占空比以及时钟的相位关系。

时钟约束的目的是确保时钟信号的稳定性和正确性,避免时钟抖动和时钟偏移等问题。

2. 时序路径约束:时序路径是指信号从输入端到输出端的传输路径。

在设计时,需要对时序路径进行约束,以确保信号在规定的时间内能够传输到目标端口。

时序路径约束的主要目的是避免信号延迟和时序违规问题。

3. 清零和复位约束:在异步电路中,清零和复位信号是非常重要的。

在设计时,需要明确清零和复位信号的时序关系,以确保电路能够正确地进行清零和复位操作。

二、数据流约束数据流约束是指对电路中数据的传输和处理进行限制,以确保电路能够正确地处理和输出数据。

数据流约束的主要目的是避免数据竞争和数据错误问题。

1. 数据有效性约束:在设计时,需要明确数据的有效性和无效性条件,以确保电路能够正确地判断数据的有效性和无效性。

数据有效性约束的主要目的是避免数据竞争和数据错误问题。

2. 数据延迟约束:在设计时,需要对数据的传输延迟进行约束,以确保数据能够在规定的时间内到达目标端口。

数据延迟约束的主要目的是避免数据延迟和时序违规问题。

3. 数据处理约束:在设计时,需要对数据的处理进行约束,以确保电路能够正确地处理和输出数据。

数据处理约束的主要目的是避免数据竞争和数据错误问题。

三、案例分析为了更好地理解DC异步电路约束方法的应用,我们以一个简单的异步计数器电路为例进行分析。

DC综合

DC综合

DC综合归纳总结Author:WJDate:Dec 11 2014 概述:●综合是将RTL源代码转换成门级网表的过程。

●电路的逻辑综合一般由三个步骤组成,即综合=转化+逻辑优化+映射(Synthesis=Translation+Logic Optimization+Mapping)●在综合过程中,优化进程尝试完成库单元的组合,使组合成的电路能最好地满足设计的功能、时序和面积的要求●综合是约束驱动(constraint driven)的,给定的约束是综合的目标。

约束一般是在对整个系统进行时序分析得到的,综合工具会对电路进行优化以满足约束的要求。

●综合以时序路径为基础进行优化。

(注意:电路中的cell,对于前一级是load,其电容越大负载能力越大;对于后一级是drive,其电阻越小驱动能力越大。

有:大器件大电容小电阻,小器件小电容大电阻)启动文件:1. search_path指定了综合工具的搜索路径。

2. target_library为综合的目标库,它一般是由生产线提供的工艺相关的库。

3.synthetic_library是综合库,它包含了一些可综合的与工艺无关的IP。

dw_foundation.sldb是Synopsys提供的名为Design Ware的综合库,它包含了基本的算术运算逻辑、控制逻辑、可综合存储器等IP,在综合是调用这些IP有助于提高电路性能和减少综合时间。

4. link_library是链接库,它是DC在解释综合后网表时用来参考的库。

一般情况下,它和目标库相同;当使用综合库时,需要将该综合库加入链接库列表中。

5. symbol_library为指定的符号库。

6. synlib_wait_for_design_license用来获得DesignWare-Foudation的许可(license)。

7. alias语句与UNIX相似,它定义了命令的简称。

8. 另外,在启动文件中用符号“/*” 和“*/” 进行注释。

DC学习(9)综合后处理时序分析

DC学习(9)综合后处理时序分析

DC学习(9)综合后处理时序分析DC时序分析与内部嵌⼊的时序分析仪(STA)⼀:编译及编译后步骤1: 第⼀次综合 compile_ultra | -no_boundary | -no_autoungroup | -scan | -timing | -retime2: 查看时序 report_constraint -all_violation report_timing3: 若第⼆步时序检查有violation,则可进⾏group_path增添路径,优化多条路径,改进时序约束等等。

group_path -critical -weight ......4:再次编译 complile_ultra......5: 若violation还有,继续修改,若violation改进不了,则返回rtl代码阶段,修改代码。

⼆:report_timing1:check_timing与report_timing区别 check_timing:检查路径是否都有约束,约束是否完整,在综合之前检查; report_timing:检查时序有没有问题,在综合之后检查。

2:时序报告的查看  下⾯主要介绍时序报告的检测,毕竟timing is everything。

关于时序报告的查看,前⾯也讲得很清楚了,这⾥再来具体讲述⼀下。

Design Compiler中,常⽤report_timing命令来报告设计的时序是否满⾜⽬标(Check_timing:检查约束是不是完整的,在综合之前查看,要注意不要与这个混淆)。

时间报告有四个主要部分:·第⼀部分是路径信息部分,如下所⽰:主要报告了⼯作条件,使⽤的⼯艺库,时序路径的起点和终点,路径所属的时钟组,报告的信息是作建⽴或保持的检查,以及所⽤的线负载模型。

·第⼆部分是路径延迟部分, 这个路径延迟部分是DC计算得到的实际延迟信息;命令执⾏后,对于下图中的路径,得到的⼀些路径信息,有了单元名称(point),通过该单元的延时(Incr),经过这个单元后路径的总延时等信息:上图的解释: 路径的起点是上⼀级D触发器的的时钟端。

DC逻辑综合

DC逻辑综合
10
变量的设定:设置的变量在DC启动时读入,便于综合的处理,同时有些DC的 变量必须在设置文件中输入。如可以设定命令的简写,保存多少条命令等: alias cud current_design alias rpt report_timing history keep 300
11
综合脚本实例(.synopsys_dc.setup)
✓ 符号库(symbol_library): 定义了单元显示的图形库,当用design_vision来查看图形的时候使用。
✓ 综合库(synthetic_library): 是由Synopsys公司提供的DesignWare库,包含了许多IP核及运算单元,用于 实现verilog描述的运算符,为电路的优化起着重要的作用。
set_operating_conditions -max slow -max_library slow -min fast -min_library fast
可以用set_min_library指定best和worst两种库,在设计中所用到的 库都可以指定。如: # 为综合用的sram库指定最佳情况可最坏情况

8
目标库和初始环境的设置
DC启动时会先启动.synopsys_dc.setup文件,它里面设定了综合所需要的工 艺库的信息以及一些对于工具的设定命令。
启动时,DC会以下述顺序搜索并装载相应目录下的启动文件: 1)、DC的安装目录; 2)、用户的home目录; 3)、当前启动目录。 注意:后装载的启动文件中的设置将覆盖先装载的启动文件中的相同设置。
由于时钟一般是高扇出(high fanout)的,DC不会对高扇出的连线做设计 规则(DRC)的检查和优化。DC默认的时钟网络是理想的。在综合时不对时 钟的高扇出做处理,而是留在后续的布局布线中做时钟树综合(CTS)。

DC时序分析

DC时序分析

设计中常用的约束

设计中常用的约束(Assignments或Constraints)主要分为 3类:

时序约束:主要用于规范设计的时序行为,表达设计者期 望满足的时序条件,指导综合和布局布线阶段的优化算法 等。 区域与位置约束:主要用于指定芯片I/O引脚位置以及指导 实现工具在芯片特定的物理区域进行布局布线。 其他约束:泛指目标芯片型号、接口位置,电气特性等约 束属性。

首先要分析路径,找出最长和最短路径,因为dc的综合都 是根据约束而得到最短和最长路径来进行器件选择的。所 以接下来将图中的所有路径标出。因为没有前级( input_delay)和后级电路(output_delay),我们只分析图中给 出的 路径,如下图:

对于红色路径:Td=Tcell+Td4+Td5+Td6=1+4+3+1=9 对于黄色路径:Td=Tcell+Td4+Td5+Td6+Td8=1+4+3+1+2=11 对于粉色路径:Td=Tcell+Td1+Td2+Td3=1+2+3+2=8 对于绿色路径:Td=Tcell+Td7+Td2+Td3=1+2+3+2=8

Global skew是指,同一时钟域,任意路径的最大skew。

Local skew是指,同一时钟域,任意2个有逻辑关联关系的 路径最大skew。

interClock skew是指,不同时钟域之间路径的最大skew
latency

Latency分为source lantency 和 一般的latency。 Source latency 指的是时钟源 到时钟端口的延迟。 一般Latency指的是时钟端口 到内部时序器件的时钟管脚 的延迟。 一般只考虑latency即可。

第四章DC综合的设计约束

第四章DC综合的设计约束

第四章DC综合的设计约束第四章设计约束设计约束描述了设计的⽬标,这⾥所说的设计⽬标主要包括时延⽬标和⾯积⽬标两部分,相应的,设计约束也由时延约束和⾯积约束两部分组成。

4.1 时序电路的时延约束时序电路的时延约束主要包括时钟主频、输⼊延时、输出延时等内容。

4.1.1 创建时钟在DC中使⽤create_clock命令创建系统时钟(该命令对当前设计有效),该命令的语法如下:create_clock<端⼝名>-period <周期>-waveform <边沿列表>z<端⼝名>:设计的时钟端⼝z-period <周期>:时钟周期,单位⼀般为nsz-waveform <边沿列表>:时钟上升沿和下降沿的时刻,从⽽决定时钟信号的占空⽐。

⼀般上升沿的时刻设为0例4-1(为ddfs设计创建⼀个5ns的时钟,时钟端⼝为clk,占空⽐为1:1)current_design ddfscreate_clock clk –period 5 –waveform {0 2.5}由于时钟端的负载很⼤, DC会使⽤Buffer来增加其驱动能⼒。

但是⼀般情况下,设计者都使⽤布局布线⼯具来完成这项⼯作,所以有必要指⽰DC不要对时钟⽹络进⾏修改,可以使⽤以下命令:set_dont_touch_network clk在图形界⾯中,进⼊ddfs的符号描述,选中其时钟端(clk),选择Attributes -> Clocks -> Specify菜单。

在弹出的Specify Clock 对话框的Period域中填⼊指定的周期值(本例中是10),并选择Don’t Touch Network复选框即可(如图4-1所⽰)。

完成以上步骤后,可以在ddfs的clk端⼝上看到红⾊的⽅波标志(如图4-2所⽰)。

(a) Specify Clock菜单 (b) 创建时钟对话框中创建时钟图4-1 在Design Analyzer4.1.2 设置输⼊延时输⼊延时的概念可⽤图4-3来解释。

DC时序分析讲课讲稿

DC时序分析讲课讲稿
同步电路数据传输模型
最小时钟周期: tCLK = Microtco + tLOGIC + tNET + MicrotSU- tCLK_SKEW tCLK_SKEW = tCD2 - tCD1
最高时钟频率: fmax = 1 / tCLK
Tips
同步系统的运行速度 即同步时钟的速度。同步时钟愈快, 电路处理数据的时间间隔越短,电路在单位时间处理的数 据量就愈大。
Source latency 指的是时钟源 到时钟端口的延迟。
一般Latency指的是时钟端口 到内部时序器件的时钟管脚 的延迟。
一般只考虑latency即可。
latency对于内部逻辑的影响
下图是不考虑 latency的情况
内部逻辑延迟的限度为: T2-T1-Tinput_delay-Tsetup
设计中常用的约束
设计中常用的约束(Assignments或Constraints)主要分为 3类:
时序约束:主要用于规范设计的时序行为,表达设计者期 望满足的时序条件,指导综合和布局布线阶段的优化算法 等。
区域与位置约束:主要用于指定芯片I/O引脚位置以及指导 实现工具在芯片特定的物理区域进行布局布线。
DC时序分析
常用术语
Clock setup:时间建立关系 tsu:输入建立时间 th:输入保持时间 tco:时钟到输出延时 tpd:管脚到管脚延时 Minimum tpd & tco:最小tpd & tco Clock Skew:时钟偏斜 最小时钟周期与最高频率 Setup Time:建立时间 Hold Time:保持时间 Latency:延迟 Slack:时间裕量
静态时序分析与动态时序仿真
动态时序仿真是针对给定的仿真输入信号波形,模拟设计 在器件实际工作时的功能和延时情况,给出相应的仿真输 出信号波形。它主要用于验证设计在器件实际延时情况下 的逻辑功能。由动态时序仿真报告无法得到设计的各项时 序性能指标,如最高时钟频率等。

dc中关于clock latency的设置

dc中关于clock latency的设置

DC中关于Clock Latency的设置1. 介绍时钟延迟对于数字电路设计来说是一个非常重要的概念。

在DC综合工具中,时钟延迟的设置可以对数字电路的性能和功耗产生重大影响。

正确地设置时钟延迟可以帮助设计人员优化数字电路的性能和功耗,并确保电路能够按照设计要求正常运行。

2. 时钟延迟的定义时钟延迟是指时钟信号从发出到实际被接收的时间延迟。

在数字电路设计中,时钟延迟直接影响着电路中各个时序元件的工作状态。

时钟延迟主要包括时钟上升沿到达各个时序元件的时间差和各个时序元件的时钟上升沿到输出信号稳定的时间。

3. DC中的时钟延迟设置在DC综合工具中,时钟延迟可以通过设置时钟时序约束来实现。

时钟时序约束包括时钟到达时间(clock arrival time)和时钟延迟时间(clock latency)。

时钟到达时间指的是时钟信号到达时序元件的时间,而时钟延迟时间则是指时钟信号的延迟时间。

4. 时钟延迟的重要性正确地设置时钟延迟对于数字电路设计来说是非常重要的。

在实际应用中,时钟延迟的设置可以影响电路的时序性能、功耗以及时序分析的准确性。

如果时钟延迟设置不当,可能导致电路的工作不稳定,甚至无法满足设计时序要求。

5. 时钟延迟设置的优化策略在DC中,可以通过设置时钟延迟来优化电路的性能和功耗。

一般来说,可以采用以下策略来优化时钟延迟的设置:5.1 根据时序分析结果调整时钟延迟,确保电路的时序性能满足设计要求。

5.2 结合时序优化工具,对时钟延迟进行全局优化,以降低电路的功耗和时序容忍窗口,提高电路的性能。

5.3 对时钟树进行时钟延迟的设置,以确保时钟到达各个时序元件的时间是稳定和一致的。

6. 结语时钟延迟的设置在数字电路设计中起着非常重要的作用。

在DC综合工具中,正确地设置时钟延迟可以帮助设计人员优化数字电路的性能和功耗。

通过合理地设置时钟延迟,可以确保电路能够按照设计要求正常运行,并且在实际应用中取得良好的性能和功耗表现。

Designed Compile DC综合

Designed Compile DC综合

Set_wire_load_model设置连线负 载模型
在DC综合的过程中,连线延时是通过 设置连线负载模型(wire load model)确 定的。 连线负载模型基于连线的扇出,估计它 的电阻电容等寄生参数,它是也是由 Foundry提供的。 我们可以让DC自动根据综合出来的模 块的大小选择负载模型,这个选项在默 认下是打开的。

工艺库的分类

逻辑库
只包含与综合过程有关的信息且通过DC用于设计 的综合和优化。 它一般包括:引脚到引脚的时序,面积,引脚类 型,功耗等等!
逻辑库
它包含单元的物理特征:物理尺寸,层信息,单 元方位相关的数据
DC中的工艺库及其配置

GTECH库 GTECH库是Synopsys的通用工 艺库。它由DC自带,是独立于厂家工艺的 。该库中包含的元件仅代表一定的逻辑功 能而不带有任何工艺参数。DC在转译时会 先将HDL描述转化为GTECH库单元组成的 电路。
工艺库的格式
DC用到的工艺库是.db或者是.lib格式的 .lib格式的文件是可读得,通过此文件 可以了解库的详细信息,比如说工作电 压,操作温度,工艺偏差等等。 .db格式的库是二进制的,不可读。.db 格式的库由.lib格式的库通过命令 read_lib生成。

工艺库的分类
逻辑库 物理库

Set_multicycle_path 设置多周 期路径
在FF1和FF2之前,存在一个BIG_LOGIC,假设我 们允许它的延时在两个周期之内。
Set_multicycle_path 设置多周 期路径
第一个语句说明建立时间是在FF1触发后的第二个 周期后检查,第二个语句说明保持时间在FF1触发 后的第一个周期检查。可得此时的波形图如下:

DC综合操作流程_设置流程.

DC综合操作流程_设置流程.

总流程1:库的设置2:设计的读入3:设置环境属性(1)set_operating_conditions(2)set_wire_load_model和set_wire_load_mode(3)set load(4)set_drive或者set_driving_cell4:设计规则约束(1)set_max_transtion(2)set_max_capacitance(3)set_max_fanout5:优化约束(1)create_clock(2)set_clock_uncertainty(3)set_clock_latency(4)set_input_delay(5)set_output_delay(6)set_false_path(7)set_multicycle_path(8)set_max_delay和set_min_delay(9)set_max_area7:一些编译命令及DC的输出格式注意:1:在前端设计中一般不做hold_time的约束,hold_time的约束可以在后端修复!!!总流程:1:对库进行基本设置,如下:设置完成后应该查看.synopsys_dc.setup里面库的设置和软件application setup处的设置是否一样!DC的初始化文件.synopsys.dc.setup 需要用ls –a显示,命令:more .synopsys.dc.setup查看文件内容!2:读入设计,两种方法:read和analyze+elaborateAnalyzer是分析HDL的源程序并将分析产生的中间文件存于work(用户可以自己指定)的目录下;Elaborate则在产生的中间文件中生成verilog的模块或者VHDL的实体缺省情况下,elaborate读取的是work目录中的文件中的第一个库的工作环境作为优化时使用的工作环境。

(1)set_operating_conditions:工作条件包括三方面—温度、电压以及工艺;工作条件一般分三种情况:best case, typical case, worst case图形界面:#1:先进入the symbol view of the top界面,选择top模块#2:attributes—operating environment—operating conditions命令方式:#1:可通过report_lib libraryname命令来查看,如下图查看的是slow.db 库的工作条件,则使用命令:report_lib slow,右边是report_lib fast。

DC综合概论全面总结

DC综合概论全面总结

DC综合概论全面总结1setup time与hold time之一 (2)2setup time与hold time之二 (4)3setup time与hold time之三 (8)4fanout与skew (13)5high fanout (19)6multicycle_path (30)7multicycle_path补充 (41)8gated clock之一 (46)9gated clock之二 (50)10virtual clock (53)11IO约束 (56)12优化约束 (61)1setup time与hold time之一IC代码的综合过程可以说就是时序分析过程,DC会将设计打散成一个个路经,这些路经上有cell延迟和net延迟,然后DC会根据你加的约束,来映射库中符合这种延迟以及驱动的器件。

从而达到综合的目的。

DC的所有时序约束基础差不多就是setup time和hold time。

可以用下面的图片说明:所谓setup time即建立时间,也就说数据在时钟到来之前保持稳定所需要的时间,hold time即保持时间,也就是说在时钟到来之后数据需要保持稳定的时间。

在深入建立时间和保持时间之前。

先了解下DC中的路经以及start point、end point。

所谓start point就是:(1)input port(顶层设计的输入端口)(2)clock pin of sequential cell(触发器的clock pin)所谓的end point就是:(1)output port(顶层设计的输出端口)(2)data pin of sequential cell(触发器的data pin)了解start point和end point,就可以方便的了解DC是如何将设计打散成路经,一个设计中基本的路经分为4种,如下图:path1:input port to data pin of sequential cellpath2:input port to output portpath3:clock pin to data pin of next sequential cellpath4:clock pin to output port所有的设计也就这四种类型的路径。

时序分析与时序约束

时序分析与时序约束

时序分析与时序约束(基于TimeQuest Timing Analyzer)一、基础篇:常用的约束(Assignment/Constraints)分类:时序约束、区域与位置约束和其他约束。

主要用途:1、时序约束:规范设计的时序行为,表达设计者期望满足的时序条件,指导综合和布局不同阶段的优化算法等。

简而言之就是规范和指导的作用。

倘若合适的话,它在综合、影射、布局布线的整个流程中都会起指导作用,综合器,布线器都会按照你的约束尽量去努力实现,并在静态时序分析报告中给出结果。

2、区域与位置约束:指定芯片I/O引脚位置以及指导实现工具在芯片中特定的物理区域进行布局布线。

3、其他约束:主要作用:1、提高设计的工作频率:通过附加时序约束可以控制逻辑的综合、映射、布局和布线,以减少逻辑和布线的延时。

其实,综合后的结果只是给出你的设计一个大概的速度范围,布线后的速度比综合后给出的结果要低,这是因为综合后只有器件的延时,而布线后除了器件的延时还要加上布线上的延时。

至于低多少就看设计者的约束能不能很好的指导布线器进行优化了。

2、获得正确的时序分析报告:在QuartusII 中,内嵌的是静态时序分析工具(STA, Static Timing Analysis),他的作用就是设计进行评估,只有在正确的输入时序约束的情况下,才能得到可靠的报告。

同时也是做FPGA设计时是必须的一个步骤,事实上大家一般都已经做了这一步,我们在FPGA加约束、综合、布局布线后,会生成时序分析报告,设计人员会检查时序报告、根据工具的提示找出不满足setup/hold time的路径,以及不符合约束的路径,这个过程就是STA。

此外,STA是相对于动态时序仿真而言的,它通过对每个时序路径的延时分析,计算出最高的设计频率(fmax),发现时序违规(Timing Violation)。

注意:静态时序分析仅仅聚焦于设计时序性能的分析,而不会涉及逻辑性能。

在STA中主要分析的路径有:时钟路径,异步路径,数据路径。

dc综合时钟约束规则

dc综合时钟约束规则

dc综合时钟约束规则【实用版】目录1.DC 综合时钟约束规则的概述2.DC 综合时钟约束规则的组成3.DC 综合时钟约束规则的应用4.DC 综合时钟约束规则的优缺点正文一、DC 综合时钟约束规则的概述DC 综合时钟约束规则,全称为直流综合时钟约束规则,是一种在数字电路设计中用于控制时序关系的规则。

在数字电路设计中,时序关系是保证电路正常工作的关键因素,而 DC 综合时钟约束规则则是用来约束这些时序关系的一种方法。

通过 DC 综合时钟约束规则,设计人员可以更好地控制电路的时序,从而提高电路的稳定性和可靠性。

二、DC 综合时钟约束规则的组成DC 综合时钟约束规则主要由两部分组成:静态时序约束(Static Timing Constraint,STC)和动态时序约束(Dynamic Timing Constraint,DTC)。

1.静态时序约束(STC):静态时序约束是一种基于固定时间的时序约束,主要用于约束电路中各个逻辑门的输出时间。

在静态时序约束中,设计人员需要为每个逻辑门设置一个最大的输出时间,以确保电路的稳定性。

2.动态时序约束(DTC):动态时序约束是一种基于信号变化的时序约束,主要用于约束电路中各个触发器的输入时间。

在动态时序约束中,设计人员需要为每个触发器设置一个最小的输入时间,以确保电路的稳定性。

三、DC 综合时钟约束规则的应用DC 综合时钟约束规则在数字电路设计中有广泛的应用,尤其在高级数字集成电路设计中。

通过应用 DC 综合时钟约束规则,设计人员可以有效地控制电路的时序,从而提高电路的稳定性和可靠性。

同时,DC 综合时钟约束规则还可以帮助设计人员优化电路设计,提高电路的性能。

四、DC 综合时钟约束规则的优缺点1.优点:- 有效控制电路的时序关系,提高电路的稳定性和可靠性。

- 帮助设计人员优化电路设计,提高电路的性能。

- 适用于各种规模的数字电路设计。

2.缺点:- 设置时序约束需要一定的经验和技巧,需要设计人员具备较高的技术水平。

DC综合中的时序约束、时序分析

DC综合中的时序约束、时序分析

DC综合中的时序约束、时序分析A时序约束的概念和基本策略时序约束主要包括周期约束(FFS到FFS,即触发器到触发器)和偏移约束(IPAD到FFS、FFS到OPAD)以及静态路径约束(IPAD到OPAD)等3种。

通过附加约束条件可以使综合布线工具调整映射和布局布线过程,使设计达到时序要求。

例如用OFFSET_IN_BEFORE约束可以告诉综合布线工具输入信号在时钟之前什么时候准备好,综合布线工具就可以根据这个约束调整与IPAD相连的Logic Circuitry的综合实现过程,使结果满足FFS的建立时间要求。

附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。

附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。

附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

附加约束的基本作用提高设计的工作频率对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。

通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。

获得正确的时序分析报告几乎所有的前端设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对设计的性能做出评估。

静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析报告。

周期(PERIOD)的含义周期的含义是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念确是最通用的,周期的概念是FPGA/ASIC时序定义的基础概念。

后面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。

DC 综合资料

DC 综合资料

DC的使用一、实验目的1、掌握DC软件的基本使用流程;2、熟悉基本的DC命令,并理解其意义;3、对DC综合后的结果进行分析。

二、实验工具Synopsys 公司电路综合工具Design Complier,即DC。

三、实验内容概述1、利用DC图形界面进行电路综合;2、使用DC脚本文件进行电路综合;3、查看综合报告,根据报告分析电路性能。

四、实验步骤(文件说明:为了演示方便,在进行下面的实验时需要用到两个文件,一个是example1.v,它是描述一个电路的verilog代码,我们的目标就是用DC综合这个代码得到满足约束条件的电路网表;另一个是dc.scr,它是综合example1.v 的脚本文件。

)DC既可使用图形界面,也可不使用图形界面而直接运行脚本来综合电路。

当然,它们二者功能是一样的,在图形界面的每步操作都有相应的命令。

我们先以较为直观的图形界面来演示各个操作步骤,并给出相应的tcl命令,再用DC 脚本来对电路进行综合。

准备好需要综合的文件和相应的脚本文件后,下面就开始我们的实验:一、DC图形界面的使用。

1.DC图形界面的启动打开一个终端窗口,键入命令dv –db_mode,回车:则DC图形界面启动,如下图所示:红框处是DC的命令输入框,所有以下在图形界面上的操作都可以在这个命令输入框中输入相应的命令来完成。

选择Help-----→Man Pages可以查看DC的联机帮助。

相应指令:man。

例:man man表示查看man命令的帮助。

man create_clock表示查看creat_clock命令的帮助。

2.设置库文件选择File----→Setup打开如下界面:接下来就要在这设置库文件了,在设置之前我们有必要对这些库做个简单说明:●search_path是要指定综合工具的搜索路径。

●target_library为综合的目标库,它一般是由生产线提供的工艺相关的库。

●synthetic_library是综合库,它包含了一些可综合的与工艺无关的IP。

使用dc进行逻辑综合的基本步骤

使用dc进行逻辑综合的基本步骤

使用dc进行逻辑综合的基本步骤该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

该使用dc进行逻辑综合的基本步骤该文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注。

文档下载说明Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document 使用dc进行逻辑综合的基本步骤can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!DC综合是数字电路设计过程中非常重要的一步,它将逻辑功能描述转换为对应的门级电路。

dc综合约束指令 -回复

dc综合约束指令 -回复

dc综合约束指令-回复什么是DC综合约束指令?DC综合约束指令(Design Compiler Constraints,简称DC综合约束)是一种用于面向集成电路设计的约束语言。

它在针对ASIC(Application Specific Integrated Circuit,特定应用集成电路)和FPGA(Field Programmable Gate Array,现场可编程门阵列)的综合过程中起到关键作用,通过指令来约束设计的行为,以达到预期的功能和性能要求。

DC 综合约束指令可以对设计的时序、电气特性、布局约束等多个方面进行详细的控制和配置。

本文将详细介绍DC综合约束指令的使用方法和基本原理。

1. DC综合约束指令的作用DC综合约束指令的主要目的是确保综合工具(如Synopsys Design Compiler)在进行逻辑综合时,可以根据设计者的设定和需求生成所期望的结果。

通过约束指令,我们可以对时序约束、电气特性和布局进行定制,使得综合工具在生成门级电路前能够尽可能满足设计的目标和要求。

2. 时序约束时序约束是DC综合约束指令中非常重要的一部分。

它用来确保产生的电路能够在时钟和数据之间正确地进行数据传输,以满足设计要求。

时序约束通常包括时钟频率、时钟占空比、输入输出延迟、最大工作频率等参数。

设计者需要根据目标器件和设计要求,精确地设置这些参数,以避免时序违例和数据错误。

通过时序约束,我们可以控制电路的时钟域和数据路径,从而保证电路的正确性和稳定性。

3. 电气特性约束DC综合约束指令还可以用于设定电气特性约束,以确保集成电路的电气性能符合预期。

这些特性包括功耗、噪声容限、信号完整性等。

通过设置电气特性约束,设计者可以控制电路的功耗消耗、电压稳定性以及信号传输的准确性。

这些约束对于不同的应用场景和器件有着不同的要求,设计者需要根据实际情况进行合理的设定和优化。

4. 布局约束DC综合约束指令还可以用于对电路的布局进行约束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DC综合中的时序约束、时序分析
A时序约束的概念和基本策略
时序约束主要包括周期约束(FFS到FFS,即触发器到触发器)和偏移约束(IPAD到FFS、FFS到OPAD)以及静态路径约束(IPAD到OPAD)等3种。

通过附加约束条件可以使综合布线工具调整映射和布局布线过程,使设计达到时序要求。

例如用OFFSET_IN_BEFORE约束可以告诉综合布线工具输入信号在时钟之前什么时候准备好,综合布线工具就可以根据这个约束调整与IPAD相连的Logic Circuitry的综合实现过程,使结果满足FFS的建立时间要求。

附加时序约束的一般策略是先附加全局约束,然后对快速和慢速例外路径附加专门约束。

附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对FPGA/CPLD输入输出PAD附加偏移约束、对全组合逻辑的PAD TO PAD路径附加约束。

附加专门约束时,首先约束分组之间的路径,然后约束快、慢速例外路径和多周期路径,以及其他特殊路径。

附加约束的基本作用
提高设计的工作频率
对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。

通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。

获得正确的时序分析报告
几乎所有的前端设计平台都包含静态时序分析工具,利用这类工具可以获得映射或布局布线后的时序分析报告,从而对设计的性能做出评估。

静态时序分析工具以约束作为判断时序是否满足设计要求的标准,因此要求设计者正确输入约束,以便静态时序分析工具输出正确的时序分析报告。

周期(PERIOD)的含义
周期的含义是时序中最简单也是最重要的含义,其它很多时序概念会因为软件商不同略有差异,而周期的概念确是最通用的,周期的概念是FPGA/ASIC时序定义的基础概念。

后面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。

周期约束是一个基本时序和综合约束,它附加在时钟网线上,时序分析工具根据PERIOD约束检查时钟域内所有同步元件的时序是否满足要求。

PERIOD约束会自动处理寄存器时钟端的反相问题,如果相邻同步元件时钟相位相反,那么它们之间的延迟将被默认限制为PERIOD约束值的一半。

如下图所示
时钟的最小周期为:
TCLK = TCKO +TLOGIC +TNET +TSETUP -TCLK_SKEW
TCLK_SKEW =TCD2 -TCD1
其中TCKO为时钟输出时间,TLOGIC为同步元件之间的组合逻辑延迟,TNET为网线延迟,TSETUP为同步元件的建立时间,TCLK_SKEW为时钟信号TCD2和TCD1延迟的差别。

数据和时钟之间的约束
为了确保芯片数据采样可靠和下级芯片之间正确地交换数据,需要约束外部时钟和数据输入输出引脚之间的时序关系(或者内部时钟和外部输入/输出数据之间的关系,这仅仅是从采用了不同的参照系罢了)。

约束的内容为告诉综合器、布线器输入数据到达的时刻,或者输出数据稳定的时刻,从而保证与下一级电路的时序关系。

这种时序约束在Xilinx中用Setup to Clock(edge),Clock(edge)to hold等表示。

在Altera里常用tsu (Input Setup Times)、th (Input Hold Times)、tco (Clock to Out Delays)来表示。

很多其它时序工具直接用setup和hold表示。

其实他们所要描述的是同一个问题,仅仅是时间节点的定义上略有不同。

下面依次介绍。

关于输入到达时间
输入到达时间的计算,时序描述如下图所示:
定义的含义是输入数据在有效时钟沿之后的TARRIVAL时刻到达。

则,
TARRIVAL=TCKO+TOUTPUT+TLOGIC 公式1
根据上面介绍的周期(Period)公式,我们可以得到:
Tcko+Toutput+Tlogic+Tinput+Tsetup-Tclk_skew=Tclk; 公式2
将公式1代入公式2:Tarrival+Tinput+Tsetup-Tclk_skew=Tclk, 而Tclk_skew满足时序关系后为负,所以
TARRIVAL +TINPUT+TSETUP <TCLK 公式3
这就是Tarrival应该满足的时序关系。

其中TINPUT为输入端的组合逻辑、网线和PAD 的延迟之和,TSETUP为输入同步元件的建立时间。

数据延时和数据到达时间的关系
TDELAY为要求的芯片内部输入延迟,其最大值TDELAY_MAX与输入数据到达时间TARRIVAL的关系如上图所示。

也就是说:TDELAY_MAX+TARRIVAL=TPERIOD
所以:
TDELAY<TDELAY_MAX=TPERIOD-TARRIVAL
要求输出的稳定时间
从下一级输入端的延迟可以计算出当前设计输出的数据必须在何时稳定下来,根据这个数据对设计输出端的逻辑布线进行约束,以满足下一级的建立时间要求,保证下一级采样的数据是稳定的。

计算要求的输出稳定时间如下图所示:
公式的推导如下:
定义:TSTABLE = TLOGIC +TINPUT +TSETUP
从前面帖子介绍的周期(Period)公式,可以得到(其中TCLK_SKEW=TCLK1-TCLK2):TCLK=TCKO+TOUTPUT+TLOGIC+TINPUT+TSETUP+TCLK_SKEW
将TSTABLE的定义代入到周期公式,可以得到:
TCLK=TCKO+TOUTPUT+TSTABLE+TCLK_SKEW
所以:TCKO +TOUTPUT+TSTABLE<TCLK
这个公式就是TSTABLE必须要满足的基本时序关系,即本级的输出应该保持怎么样的稳定状态,才能保证下级芯片的采样稳定。

有时我们也称这个约束关系是输出数据的保持时间的时序约束关系。

只要满足上述关系,当前芯片输出端的数据比时钟上升沿提早TSTABLE 时间稳定下来,下一级就可以正确地采样数据。

其中TOUTPUT为设计中连接同步元件输出端的组合逻辑、网线和PAD的延迟之和,TCKO为同步元件时钟输出时间。

实施时序约束的方法和命令
实施上述约束的基本方法是,根据已知时序信息,推算需要约束的时间值,实施约束。

具体地说是这样的,首先对于一般设计,首先掌握的是TCLK,这个对于设计者来说是个已知量。

前面介绍公式和图中的TCKO和TSETUP(注:有的工具软件对TCKO和TSETUP 的定义与前面图形不同,还包含了到达同步器件的一段logic的时延)是器件内部固有的一个时间量,比较难以确定的是TINPUT和TOUTPUT两个时间量。

约束输入时间偏移,需要知道TINPUT,TINPUT为输入端的组合逻辑、网线和PAD的延迟之和,PAD的延时也根据器件型号也有典型值可选,但是到达输入端的组合逻辑电路和网线的延时就比较难以确定了,只能通过静态时序分析工具分析,或者通过底层布局布线工具量取,有很大的经验和试探的成分在里面。

约束输出时间偏移,需要知道TOUTPUT,TOUTPUT为设计中连接同步元件输出端的组合逻辑、网线和PAD的延迟之和,仍然是到达输出端的组合逻辑电路和网线的延时就比较难以确定,需要通过静态时序分析工具分析,或者通过底层布局布线工具量取,有很大的经验和试探的成分在里面。

输入偏移约束:时钟周期为20ns,前级寄存器的TCKO选择1ns,前级输出逻辑延时TOUTPUT为3ns,中间逻辑TLOGIC的延时为10ns,那么TARRIV AL=14ns,于是可以在数据输入引脚附加NET DA TA_IN OFFET=IN 14ns AFTER CLK约束,也可以使用OFFSET_IN_BEFORE对芯片内部的输入逻辑进行约束,其语法如下:
NET DATA_IN OFFET=IN TDELAY BEFORE CLK
其中TDELAY为要求的芯片内部输入延迟,其最大值与输入数据到达时间TARRIV AL 的关系:TDELAY_MAX + TARRIV AL = TPERIOD,所以TDELAY < TPERIOD - TARRIV AL = 20 - 14 =6 ns。

输出偏移约束:设时钟周期为20ns,后级输入逻辑延时TINPUT为4ns、建立时间TSETUP 为1ns,中间逻辑TLOGIC的延时为10ns,那么TSTABLE=15ns,于是可以在数据输入引脚附加NET DATA_OUT OFFET=OUT 15ns BEFORE CLK约束,也可以直接对芯片内部的输出逻辑直接进行约束,NET DA TA_OUT OFFET=OUT TOUTPUT_DELAY AFTER CLK,其中TOUTPUT_DELAY为要求的芯片内部输出延迟,其最大值与要求的输出数据稳定时间TSTABLE的关系为:
TOUTPUT_DELAY_MAX+TSTABLE= TPERIOD。

TOUT_DELAY< TPERIOD - TSTABLE = 20 - 15 = 5ns。

相关文档
最新文档