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目录中的文件3:设置环境定义:如果不指定operating_conditions,DC自动搜索link_library 中的第一个库的工作环境作为优化时使用的工作环境。

(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。

另外一个例子,只是为了说明库中的library name必须是用report_lib 命令得到下面图形中的conditions里面的库的name:(******自己想的******)#2:一般综合时候只需考虑最差和最好两种情况即可,最差情况用于做建立时间(setup time)的时序分析,最好情况用于做保持时间(hold time)的时序分析。

最差情况-max下使用slow.db库,最好情况-min下使用fast.db库;{最差和最好情况和温度以及电压有很大关系,温度越大,延时越大;电压越大,延时越小;不过温度对延时的作用更大}所以:##1: 做建立时间分析时候用最差情况,命令:set_operating_conditions –max “slow”##2: 如果既要分析建立时间,又要分析保持时间,则需要两条命令:set_min_library slow.db –min_version fast.dbset_operating_conditions –min fast –max slow首先通过命令set_min_library同时设置worst-case和best-case的library,然后通过set_operating_conditions命令指定不同环境下使用的库模型;上面的命令指定的是:fast库用于对hold time优化,slow库用于对setup time进行优化。

set_operating_conditions –min fast –max slow命令中的–min fast和–max slow可以互换。

(2)set_wire_load_model和set_wire_load_mode命令方式:#1:set_wire_load_model: 设置连线负载模型, 为了估计模块输出的时序—transition time;DC默认输出负载为0负载模型可以通过report_lib libraryname命令下查看线的模型种类,如下图是fast.db库中的几种线的模型。

在布局布线前应使用较悲观的模型,对最坏的情况做综合,线负载模型由目标库提供。

-max –min选项指定该模型用于估计最大路径延迟和最小路径延迟。

例如:(写一个即可)set_wire_load_model -name tsmc13_wl40 -minset_wire_load_model -name smic13_wl50 –max :最坏情况或者可以直接设置负载模型:set_wire_load_model -name tsmc13_wl40 -library slow表示使用的是slow库里的tsmc13_wl40线模型。

#2:自己不清楚如何选择的话,则让DC自动选择set auto_wire_load_selection true#3:上面的设置完成后,需要对负载模块的使用位置加以说明,三种模式,命令如下:set_wire_load_mode top 或set_wire_load_mode enclosed 或set_wire_load_mode segmented关系如下:top: 指定模块互连线延迟的估计使用顶层模块的线负载模型enclosed: 指定模块互连线延迟的估计使用包含该连线的最小模块的线负载模型segmented: 将连线按模型边界分段,各段的延迟分别按照各自模块的线负载模型估计延迟,然后把估计结果相加得到该连线的延迟一般情况下使用的是:set_wire_load_mode top图形界面:上图中的第一步指的是先选择top模块,然后设置top模块下的环境属性。

***附加:还可以给某个模块设置负载模型:(下面设置timer模块)***set current_design timer ***先转到timer模块下***set_wire_load_model -name tsmc13_wl40或者下面的:(3)set load:设置输出负载比较精确地计算输出电路的延迟,DC需要知道输出电路驱动的所有负载。

该命令有两种用法:一种是直接给端口赋一个具体的值,另一种是结合命令load_of指出它的负载相当于工艺库中哪个单元的负载值。

命令方式:#1:set_load 5 [get_ports OUT1]#2:set_load [load_of my_lib/and2a0/A] [get_ports OUT1]说明OUT1端口接的负载值地my_lib中and2a0单元的A管脚的负载值。

#3:把上面命令set_load [load_of my_lib/and2a0/A] [get_ports OUT1]中的get_ports OUT1换为all_outputs就可以给全部输出端口赋值。

其中load_of 命令可以算出某个引脚的负载电容值。

电路负载的大小会影响到它的延迟,而且负载越大,延迟越大,DC在缺省情况下认为端口的负载电容都是0,因此具有无穷大的驱动能力。

图形界面:必须先选中全部的输出负载然后再设置负载值!!!!!***********具体如何找这个负载不清楚!!!!!!!!!!!****************(4)set_drive或者set_driving_cell:设置输入驱动。

为了更加准确估计模块的输入时序,为了更加准确的估计输入电路的延迟,DC需要知道信号到达输入端口的过渡时间(transition time)。

默认下,DC认为输入驱动的驱动能力无限大,即transition time=0;Set_drive使用确定的值来估计输入端的输入电阻,从而得到输入端口的延迟;set_driving_cell是假定一个实际的外部驱动单元来估计输入的transition time;该命令用于设置输入端口或者双向端口上的电阻值,该电阻值是用于驱动输入端口的单元的输入电阻,因此,该值越大,就说明输入端口的驱动能力越弱,连线的延迟也就越大。

更常用的是set_driving_cell命令,以库中某个单元电路的引脚驱动能力为基准来模拟输入端口的驱动能力。

例1:首先通过drive_of指定具体的驱动单元电阻值,得到驱动单元电阻后,通过:set_drive+值+[get_ports clk] 命令给输入端口clk赋值。

下图是给除了clk以外的其它输入端口驱动:4:设计规则约束约束(DRC:design_rule_constraint)DRC规则的优先级: transition>fanout>capacitance(1)set_max_transtion:设置最大传输时间连线的转换时间是其驱动引脚的逻辑电平变化的时间,包括rising time和falling,从10%的VDD变化到90%的VDD所需的时间。

设定最大的转换时间set_max_transtion,这个值一般设为周期的10%。

例如:set_max_transtion 1.8 [current_design] 一般情况下current_design指的是top。

(2)set_max_capacitance:输出管脚可以驱动的最大电容值定义输出管脚可以驱动的最大电容值。

例:set_max_capacitance 1.5 [get_ports out1] 或者set_max_capacitance 1.5 [get_designs top](3)set_max_fanout:设置最大扇出负载连线的最大扇出负载指的是它所驱动的所有输入引脚的扇出负载的总和。

扇出负载不同于负载,它是个无量纲的数值。

max_fanout经验值一般设为20,即一个门的输出最多驱动20个输入引脚(如果每个引脚的输出负载是1的话)。

******计算fanout值,如下*******或者: set_max_fanout 3.0 [all_outputs]图形界面:在attributes-optimization constraints-design constraints5:优化约束Optimization Constraints(1)create_clock:用于定义时钟的周期和波形(duty及起始沿)duty:占空比,指高电平在一个周期所占的时间比率。

合集下载

DC综合教程

DC综合教程

DC操作流程
1.在虚拟机中 打开终端
DC操作流程 2. 创建综合 环境 在终端输入: new_dc xxx
xxx为你想要创 建的文件夹的名 字
DC操作流程
3. 修改环境(参考Readme
文件)
a.修改filelist.tcl 添加通过验证的源代 码
DC操作流程
b.修改synopsys.sdc 添加综合约束
DC 工具简要入门
2012年秋
内容
• 1. 逻辑综合以及综合工具
Design Compile • 2.DC操作流程
• 3.现场演示
逻辑综合
• 将RTL代码转换为门级网表 的过程
逻辑综合
DC工具
• Design Compile是常用的综合 工具,在DC中,共有8中设计 实体 • 1、设计(Design):一种能 完成一定逻辑功能的电路。设 计中可以包含子设计
• 对于DC而言,通常要指定下面4种库 • 1、Target library 工艺库,由代工厂提供的和具体工艺 相关的工艺库 • 2、Link library 指定DC查找时所指定的目标,通常 也就是Target library
DC工具--指定参考库
• Synthetic library DC综合时将转化HDL代码为相应元 件时所参考的IP库。比如符号“+”, 通过IP库查找生成某类加法器。默认 使用自带的加法库。 • Symbol library 使用图形界面时,在原理图上绘制 与非门等标准单元的符号库
DC工具
• 2、单元(Cell):子设计的实例 • 3、参考(Reference):单元的参考对 象,即单元是参考的实例 • 4、端口(Port) • 5、管脚(Pin) • 6、线网(Net) • 7、时钟(Clock) • 8、库(Library):综合时用到的一组基 本单元的集合

DC教程

DC教程
搜索路径(search_path)
该变量给出了 DC 环境下读入的文件(包括库文件和设计文件)的搜寻路径。当读入没有给出路 径的文件时,DC 则按照 search_path 给出的路径搜索该文件。
如果 search_path 表示多个路径,用 list 将所有路径组合成一个集合。
目标工艺库(target_library)
三、目录组织结构
做综合时各文件的存放目录没有严格的规定,但为了便于管理和查看,一般会分类放在不同的 目录下,下面是一个目录组织结构的范例:
四、操作步骤
Step1:启动 DC 首先进入 deller 服务器,打开一个 Terminal,输入命令:
source cshrc_eda
然后按照前面讲的目录结构建立文件夹,把所需要的文件放入相应的文件夹,进入工作目录 run, 这时在 terminal 中输入命令: design_vision&
6.2 pbist.read
该文件为读取原始的设计文件,内容如下
analyze 语句读入设计文件,‐format 选项的值为 verilog(源代码用 verilog 编写)或 vhdl(源代 码用 vhdl 编写),elaborate 语句建立一个 design,design 的名字为设计文件中 module 的名字。一般 最后读入顶层模块所在的文件,这样执行完所有的语句后,current_design 就是顶层模块对应的 design,这也是后面综合的对象。
进的过程。综合工具根据设定的参数,采用一定的算法来使设计尽量满足设计要 定义设计环境
求。
这三个步骤是对综合过程的整体概述,而实际上综合包含很多的设置和操
作。基本的综合流程如右图所示。 (1) 准备 HDL 文件。RTL 级的 HDL 描述。

DC使用教程范文

DC使用教程范文

DC使用教程范文DC(DataCamp)是一家致力于数据科学和编程教育的在线学习平台,从数据分析到机器学习,提供了丰富多样的课程供学习者选择。

以下是使用DC的教程,帮助你快速上手并充分利用该平台。

第一步:注册和登录2.点击右上角的“注册”按钮,填写所需信息并创建账户。

3.注册成功后,使用您的电子邮件和密码登录。

第二步:选择和开始课程1. 在主页上,您可以看到不同的课程类别,例如Python、R、数据处理等。

选择您感兴趣的领域。

2.在课程列表中浏览不同的课程,并点击感兴趣的课程以获取更多信息。

3.如果你对课程内容和学习目标感兴趣,点击“开始课程”按钮开始学习。

第三步:学习1.每个课程由一系列称为“章节”的模块组成。

浏览章节并选择您要学习的章节。

2.每个章节由一系列视频讲座、概念讲解和互动练习组成。

观看视频并阅读相关文本以掌握相关概念。

3.完成互动练习以巩固所学知识。

您可以编写代码、回答问题或选择正确答案等方式参与互动练习。

第四步:参与练习1.在课程中,您将有机会通过编写代码参与实践练习。

2. 每个练习都有一个类似Jupyter Notebook的界面,您可以在其中编写和运行代码。

3.您可以随时点击“提交”按钮,检查您的答案并获得反馈。

如果您的答案正确,您将进入下一个练习。

第五步:课程作业1.每个课程都有一系列的课程作业,旨在帮助您将所学知识应用于实际项目。

2.通过完成作业,您可以通过编写和提交代码来测试您的技能。

3.您还可以查看其他学习者的解决方案以获得更多灵感和学习。

第六步:学习进度和证书1.在每个课程中,您可以随时查看您的学习进度。

每个章节和练习完成后,进度条会相应更新。

2. 在课程完成后,您将获得一个证书,证明您已成功完成该课程,并且可以在LinkedIn上共享您的证书。

第七步:继续学习和探索1.当您完成一个课程后,您可以继续选择新的课程来进一步扩展您的技能。

2. DataCamp不断更新和添加新的课程,确保您能够跟上最新的数据科学和编程发展。

24 V DC开关电源设备安全操作规程

24 V DC开关电源设备安全操作规程

24 V DC开关电源设备安全操作规程一、前言为了确保24 V DC开关电源设备运行的安全性和稳定性,避免设备故障和人身伤害事故的发生,制定本规程,对24 V DC开关电源设备的安全操作进行规范。

本规程将详细介绍设备的规格、使用环境、操作流程、维护等内容,希望所有使用此设备的人员遵守本规程,共同维护设备运行的安全稳定。

二、设备规格1.输入电压范围:180-240 V AC。

2.输出电压:24 V DC。

3.输出电流:最大2 A。

4.安全保护:过载保护、过温保护、短路保护。

5.工作温度:-20°C~+50°C。

三、使用环境1.设备应放置在通风良好、干燥、洁净无尘、温度适宜的环境中,避免有害气体、腐蚀性气体及易燃易爆气体。

同时,避免阳光直射、雨淋、震动、人工破坏等情况。

2.在使用该设备时,应确保输入电压与设备规格匹配,同时保持稳定的电压值,避免电压波动引起设备损坏和人身伤害。

3.在设备正常使用时,严禁拆卸、改装、调整以及自行修理,以免误操作导致设备故障或发生事故。

四、操作流程1.在使用该设备前,先检查设备是否正常工作,输入电压是否匹配设备规格,确保设备处于正常工作状态。

2.再根据实际场景,按照设备工作的要求,将需要输入电源的设备连接到24 V DC开关电源设备。

3.开始使用设备时,操作人员应按照设备的操作说明书,正确连接电源和相关的设备、仪器、传感器等,并确认电路接线无误后再通电。

4.在操作设备时,应注意观察设备工作状态,如发现设备运行异常或出现故障,应及时停止使用,并采取相应的排除故障措施。

5.使用完毕后,应先将电源关闭,再拔掉连接线,按照设备要求将设备存放在指定的地方。

五、维护1.定期检查设备的电缆和接线,确认接线牢固,无松动、损坏等情况。

2.定期清洁设备的外壳和通风孔,避免设备受到灰尘和脏物的影响。

3.定期更换设备的过载保护、过温保护、短路保护等元件,确保设备的安全和稳定运行。

数字ic中dc综合的流程

数字ic中dc综合的流程

数字ic中dc综合的流程下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。

文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by theeditor. I hope that after you download them,they can help yousolve practical problems. The document can be customized andmodified after downloading,please adjust and use it according toactual needs, thank you!In addition, our shop provides you with various types ofpractical materials,such as educational essays, diaryappreciation,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 andwriting methods,please pay attention!1. 设计输入:将设计的 RTL(Register Transfer Level)代码输入到 DC 综合工具中。

Designed Compile DC综合

Designed Compile DC综合

建立时间和保持时间的slacks: 例:建立时间: ---------------------------------------------------data required time 31.74 data arrived time -19.80 -----------------------------------------------------slack 11.94 arrived time应比required time提前,这样才能保证建 立时间不违例。
首先选定reset端口,Attribute->Optimization Constraints->Timing Constraints… 点击OK,完成reset的延迟设置. 相对应的脚本命令是: dc_shell> set_max_delay 5 from RESET
Set_max_delay 设置最大延迟
DC时序路径:
时间通路的划分
几个概念
数据传输需要的时间(Data Arrival Time ):信号到达时间是指信号到达电路中 某一点的真实时间,一般等于信号到达 时序路径起点的时间加上信号在该时序 路径上传播所用的时间。 要求到达时间(Data Required Time):指 期望信号到达电路中某一点的时间。 时序裕度(slack):指电路中某点处要求到 达时间与实际信号到达时间的差值

建立时间和保持时间
建立时间(setup time):数据在时钟信号源到 达之前必须要稳定的时间,如果建立时间不 满足,数据不能正确打进时序逻辑单元 保持时间(hold time):数据在时钟信号源到 达之后必须要稳定的时间,如果保持时间不 够,数据被时序逻辑单元正确锁存 基本单元的延时(Tcq):门延时是指信号通 过实际的标准单元所需要的时间.在时序逻辑 单元中,反映为从时钟沿开始,到数据输出 需要的时间 . 线延时:线延时是指由于导线的阻容而导致的 信号传播延时

DC综合流程

translationoptimizationtranslation是指把设计的hdl描述转化为gtech库元件组成的逻辑电路mappinggtech库元件映射到某一特定的半导体工艺库上此时的电路网表包含了相关的工艺参数optimization是根据设计者设定的时延面积线负载模型等综合约束条件对电路网表进一步优化的过程综合库综合库中定义了operationconditionwireloadmodelgate输入输出功能时序参数面积等等
综合步骤8:分析修改设计
通常Design Compiler根据设计综合和优化的结果生成众多的报告。根据诸如面积、 约束和时序报告来分析和解决任何设计问题,或者改进综合结果。 需要的报告: report_design:报告用户的综合环境,包括operating condition、wire load report_constraint:用户定义的constraint report_timing -nworts num :所有路径中最差的路径。
读网表,设计预编译 用缺省的设置,不能存储中 间结果 不能对parameter进行操作
Architecture(vhdl)
可以进行结构化的操作
不可用
综合步骤4:design environment
设计环境包括operating condition、wire load和system interface三部分
综合步骤4:design environment
2、wire load 对于wire load mode三种模式示意图
综合步骤4:design environment
3、system interface set_drive:用来指定input port的驱动强度,它指定的是一个阻抗值,用来计算从 这个port到被它驱动的cell之间的路径延时,0表示最大驱动,通常用于clock ports。 例:set_drive 0 $PROCLK set_driving_cell:用来模拟驱动input port的cell的驱动阻抗,用于计算输入信号的 transition time做DRC的检查,一般在分模块综合时使用,顶层则设置为PAD或用 buffer隔离。 例:set_driving_cell -lib_cell DFFRX2 -no_design_rule [get_ports RX_DDC_PDC_SDAT_16B] 选项-no_design_rule是指DFFRX2自身的DRC检查不做。 set_load:用于定义net或port的电容负载,保证输出路径的时序,主要用input port和output port,在顶层则设置为PAD的电容值或用buffer隔离,在库中获得。

DC使用教程

False Path(伪路径)是指电路中的一 些不需要考虑时序约束的路径,它一般 出现在异步逻辑之中。 在异步多时钟网络中,时钟是不同的晶 振产生的时钟。但是在默认情况下, DC并不知道,它会认为它们是同步的 时钟网络而尽量去找两个时钟之间的最 小捕捉时间,不但浪费了时间而且会产 生出不符合要求的电路。
如何看时序报告:
通过产生的时序报告读出以下信息: 1)是setup time report还是hold time report? 2)时钟频率多少?

确定是setup time report还是hold time report? 看oprating conditions:worst(建立 时间),best(保持时间)。为什么? 看path type:max(建立时间), min(保持时间)。为什么? 时钟频率多少: 通过上升沿和下降沿的时间来确定
Set_load 设置输出负载
估计模块输出的时序——transition time DC默认输出负载为0. 单位由Foundry厂提供,一般是pf.

Set_max_transition 设置最大传 输时间
Transition time 是指改变某线所驱动 的pin所需要的时间,该时间的计算方 法是基于工艺库的。 输出的传输时间是输入传输时间以及输 出负载的函数关系。 DC在优化的过程中就是确保设计的所 有net的对应的传输时间小于所设定的 最大传输时间。
DC时序路径:
时间通路的划分
几个概念
数据传输需要的时间(Data Arrival Time):信号到达时间是指信号到达电 路中某一点的真实时间,一般等于信号 到达时序路径起点的时间加上信号在该 时序路径上传播所用的时间。 要求到达时间(Data Required Time): 指期望信号到达电路中某一点的时间。 时序裕度(slack):指电路中某点处要求 到达时间与实际信号到达时间的差值

DC电源操作指导书

PS-305D DC
电源操作指导书
制定: 审核: 批准
页次: 1 / 1
1 目的
1.1 规范PS-305D DC 的作业程序和动作以确保机器的正常作业 2 适用范围
2.1 公司PS-305D DC 的操作与维护 3 职责
IQC :设备的基本操作和使用 4
机器操作
4.1 开关机前的检查:
4.1.1 检查电源是否为设备的标定电压(标准为220的交流电压)
范围内。

4.1.2 反复开关机之间的间隔时间不得少于20秒. 4.2 开机
4.2.1 在关机状态,将机箱上的power 向下按一下
4.3 操作步骤
4.3.1 选择所需模式如CC 、CV 模式进行,具体见图调试按钮.
4.4 关机
4.4.1 在开机状态,将机箱上的POWER 键向下按一下
5
注意事项
5.1 设备在使用过程中,调整正确档位测试 5.2 不得让设备受到撞击或强烈振动。

5.3 保证设备的安全接地及防静电线接入. 6
支持文件
6.1 PS-305D DC 《使用说明书》。

DC综合

• 为了反映这个偏差,我们在综合的时候 可以用一个命令来模拟它,即 set_clock_uncertainty。
Set_clock_uncertainty 设置时钟不确定 性
Set_false_path 设置虚假路径
• False Path(伪路径)是指电路中的一些不 需要考虑时序约束的路径,它一般出现在 异步逻辑之中。
DC综合的三个阶段:
• 转译(translation):
• Translation 是指用HDL语言描述的电路转化为用 GTECH库元件组成的逻辑电路的过程。GTECH是 Synopsys的通用工艺库,它仅表示了逻辑函数的功 能,并没有映射到具体的厂家工艺库,也就是说独 立于厂家工艺的。
• 优化(optimization)和映射(mapping) :
• 例如我们现在要设置RESET的最大时延为5
Set_max_delay 设置最大延迟
首先选定reset端口,Attribute->Optimization Constraints->Timing Constraints… 点击OK,完成reset的延迟设置. 相对应的脚本命令是: dc_shell> set_max_delay 5 from RESET
• 那么,从输入端口经过路径N到触发器DFF2 的输入端所用的时间=时钟周期-输入延 时
输出延时
• 那么,数据从触发器DFF3的D端到输出端口 所用的时间=时钟周期-输出延时
这样,整个设计的路径就全部被约束了。
DC的使用流程
库文件简单说明
• 目标工艺库(Target_library): • 是指将RTL级的HDL描述到门级时所需的标准单元综合库,它是
Set_wire_load_model设置连线负载模 型
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档