DC示例练习笔记

合集下载

数字后端流程一【Design_Compile】实例笔记

数字后端流程一【Design_Compile】实例笔记

DC 综合DC 又称为设计综合将设计的RTL代码综合成门级网表的过程。

在DC 流程中一般要经过以下几个步骤,以项目A为例做如下分析:1】在项目子目录下创建DC文件夹,在DC文件夹下分别创建db in lib_syn log netlist rpt和script 文件夹以及一个makefile 文件用来运行DC 脚本。

2】第二步就是复制相应工艺技术库文件到lib_syn ,一般有2种文件各3个分别包括了typical worst 和best情况,一类是db,文件一类是lib 文件也可以在lc_shell 下读取lib 得到相应的db文件。

3】第三步将需要综合的设计RTL代码(V erilog 文件)复制到in 文件夹4】第四步在script 创建综合脚本,脚本创建过程将在后面介绍5】第五步编写运行脚本的makefile 文件6】第六步运行脚本而后查看综合报告,是否有违例现象出现,如果有修改脚本加以修复直到最终通过设计。

注意另外的几个文件夹作用db文件夹存放DC综合生成的项目db文件,综合网表输出到netlist 文件夹,综合程序运行报告存放在log文件夹中,而综合结果的数据报告则存放在rpt 文件夹中。

DC脚本的编写(A.scr)DC综合脚本基本上有几大部分组成1】定义综合环境中命名规则(分别对net cell port 命名)define_name_rules verilog –casesensitivedefine_name_rules verilog –type net –allowed “a-z A-Z 0-9 _ ” \-first_restricted “ _ 0-9 N ”\-replacement_char “_” \-prefix “n”define_name_rules verilog –type cell –allowed “a-z A-Z 0-9 _ ” \-first_restricted “ _ 0-9 ”\-replacement_char “_” \-prefix “u”define_name_rules verilog –type port –allowed “a-z A-Z 0-9 _ ” \-first_restricted “ _ 0-9 ”\-replacement_char “_” \-prefix “p”2】综合环境的建立指明库所在的位置Search_path = { lib_syn/db }指定综合所需目标库一般选用最恶劣情况worst 库作目标库target_library = { slow.db}创建链接库,链接库中包括了一些已经做好的设计和子模块,又包括了当前设计的目标库是设计实例化时所用的库文件link_library = { “ * ” , slow.db } + synthetic_library在上述的环境建立所需的各类库中,一般有生产商提供目标库,库中的各类cell用于逻辑映射,链接库则包括了目标库,还包括其他一些以前设计实例基本单元,我们门级网表实例化元件和单元都来自于它。

DC-DC变换器

DC-DC变换器

MIT 电力电子课程笔记D.PerreaultDC/DC 变换器分析方法:平均状态下的基尔霍夫电压/电流定律,周期稳定状态条件1T ∫t∑i d =0所以有∑1T ∫t i d =0因而,∑ i d =0。

这意味着基尔霍夫电流定律除可用于瞬时值以外同样适应于平均电流的情况(可以从电荷守恒导出)。

同样我们可以导出基尔霍夫电压定律的平均值情况为∑ v k =0。

在周期稳定状态(PSS)的条件下分析变换器,有以下基本结论平均基尔霍夫电流定律:∑ i d =0平均基尔霍夫电压定律:∑ v k =0PSS 下的电感满足:0L V <>=PSS 下的电容满足:0C I <>=如果电路是无损耗的:in out PP =考虑如下的DC/DC 变换器假设电感和电容都很大,以至于电感中的电流和电容端电压近似为直流,即i L T ≈I L ,v c T ≈V c 。

对开关进行脉冲宽度调制(PWM),设占空比为d ,有如下图:得到的电压波形为基于平均基尔霍夫定律,在PSS 条件下有1221221()(1)()0L V dT V V d T V dV T V T V dV <>=−+−−==−=∴=因为0L V <>=,21x V V dV <>=<>=再来考虑电流20C I <>=,所以2L I I =10c I <>=,所以112112()(1)0c I I I dT I d T I dI =−+−=∴=综上,1212,I dI dV V ==,所以1122I V I V =,即达到了理想的功率平衡。

使用这种“平均值”分析技巧时候一定要小心,因为当可以使用一个平均值时必须要考虑到瞬时值的大小。

在这种情况下,有1,20V V >,因而功率从1传到2。

一种具体的实现如下图:此电路即为buck 变换器或者降压变换器。

在一个开关状态中,如果输入与输出存在一个直流通路,则称此类变换器为直接型。

DC示例练习笔记

DC示例练习笔记

DC 示例练习笔记1、示例准备1)DC软件;2)试验材料准备,构造risc_design文件夹3)在Verilog文件夹下增加count4.v,count_tb.v源码文件4)该文件夹复制到虚拟机中2、示例练习1)设置库文件在自己的工作的文件夹下,使用design vision &在后台打开DC图形界面,file->setup设置link library,target library,symbol library如图,这个库文件在安装目录dc2016/library/syn文件夹下,复制到自己新建的文件下,在此设置的时候选择即可。

2)使用菜单file->read 读入count4.v count_tb.v文件,查看log打印文件如下read_file -format verilog {/usr/work/risc_design/source/verilog/count4.v} Loading db file '/usr/work/risc_design/libraries/tc6a_cbacore.db'Loading db file '/usr/synopsys/dc2016/libraries/syn/gtech.db'Loading db file '/usr/synopsys/dc2016/libraries/syn/standard.sldb'Loading link library 'cba_core'Loading link library 'gtech'Loading verilog file '/usr/work/risc_design/source/verilog/count4.v'Detecting input file type automatically (-rtl or -netlist).Reading with Presto HDL Compiler (equivalent to -rtl option).Running PRESTO HDLCWarning: Can't read link_library file 'your_library.db'. (UID-3)Compiling source file /usr/work/risc_design/source/verilog/count4.vInferred memory devices in processin routine count4 line 14 in file'/usr/work/risc_design/source/verilog/count4.v'.=================================================== ============================| Register Name | Type | Width | Bus | MB | AR | AS | SR | SS | ST |=================================================== ============================| q_reg | Flip-flop | 4 | Y | N | N | N | N | N | N |=================================================== ============================Presto compilation completed successfully.Current design is now '/usr/work/risc_design/source/verilog/count4.db:count4' Loaded 1 design.Current design is 'count4'.design_vision>Current design is 'count4'.3)设置互连线模型菜单attribute->operating environment ->wire load ;4)设置时钟约束在图形界面的层次化窗口中选中顶层设计,右键选择“”schematic view“”出现如下界面选中clk管脚,然后点击菜单attributes->specify clk 弹出窗口如下填写name 、period、rising、falling即可约束为时钟周期、上升沿、下降沿。

DC使用教程

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——精选推荐

DC——精选推荐

DC武汉⼤学电⼯电⼦实验教学⽰范中⼼集成电路设计实验实验报告电⼦信息学院电⼦信息⼯程专业年⽉⽇实验名称逻辑仿真DC 指导教师姓名年级学号成绩⼀、预习部分1.实验⽬的(预期成果)2.实验基本原理(概要)3.主要仪器设备(实验条件,含必要的元器件、⼯具)⼀.实验⽬的:1. 利⽤简单的例⼦学习熟悉综合的三个步骤:翻译、优化、映射;2. 学习设置DC 的库函数和对象;3. 学习design vision 的基本操作;4. 学习设计分区的基本概念和操作;5. 学习综合的基本操作的作⽤和意义;6. 学会⽤design vision 来实现对设计的综合。

⼆.实验原理:1)DC 是Synopsys 综合⼯具的核⼼。

在对⼀个设计进⾏综合时,可以选⽤两种界⾯:A. Design Vision(简称DV)—图形窗⼝界⾯;B. dc_shell—命令⾏界⾯。

2)DC设计流程图3)设计的优化与综合:优化分为三个阶段:结构优化阶段,逻辑优化阶段,门级优化阶段。

最常⽤的约束和时序检查命令:.report_constraint -all_violators:报告设计约束的所有违约。

.report_timing -delay_max:报告每⼀个路径组建⽴时间(setup time)约束的最差时序路径。

. report_timing -delay_max:报告每⼀个路径组保持时间(hold time)约束的最差时序路径。

三.实验设备与软件平台:基于UNIX 系统的服务器、PC ⼯作站、Synopsys DC 综合软件。

⼆、实验操作部分1.实验数据、表格及数据处理(综合结果概要、仿真波形图、时序分析结果、signalTAPII 结果等)2.实验操作过程(可⽤图表⽰)3.结论四.实验步骤:实验⼀DC⼯具逻辑综合基本流程实验1、进⼊risc_design所在的⽬录,键⼊:shell> design_vision-xg。

2、在File->setup 中设置各个库,如下:Target library ―core_slow.db‖Link_library ―* core_slow.db‖Symbol_ibrary ―core.sdb‖3、读⼊所需的设计⽂件⼊unmapped/PRGM_CNT_TOP.ddc并链接(Link)。

《电气工程概论》第一章 电机与电器基础(第1节)课堂笔记及练习题

《电气工程概论》第一章 电机与电器基础(第1节)课堂笔记及练习题

《电气工程概论》第一章电机与电器基础(第1节)课堂笔记及练习题主题:第一章电机与电器基础(第1节)学习时间:2015年9月28日--10月4日内容:我们这周主要学习绪论以及第一节开关电器的部分内容,主要学习开关电器的技术参数,低压断路器(自动开关)的用途、分类、选择要点,低压控制器的用途、选用。

通过绪论的学习对电气工程概论这门课程有个总体的了解,同时要对低压断路器(自动开关)、低压控制的概念以及技术参数和使用方法重点掌握。

绪论1.电气工程的历史和形成电气工程是研究电磁领域的客观规律及其应用的科学技术,以电工科学中的理论和方法为基础而形成的工程技术。

根据电气工程学科的发展现状,可将其分为相对独立的五个分学科:电力系统及其自动化技术、电机与电器及其控制技术、高电压与绝缘技术、电力电子技术和电工新技术,其结构简图如下:2.电气工程的地位和发展电气工程学科在国家科技体系中具有特殊的重要地位。

1)是国民经济的一些基本工业(能源、电力、电工制造等)所依靠的技术科学;2)是另一些基本工业(交通、铁路、冶金、化工、机械等)必不可少的支持技术;3)是一些高新技术的重要科技组成部分。

3.电气工程的展望1)20世纪中叶以来,以电子信息技术为核心的新技术革命正在兴起,冲击着所有传统科学,包括基础科学、技术科学、综合科学,甚至社会科学等在内的广大领域。

2)有人统计,最近20年中的科技创造和发明超过了过去两千年中创造发明的总和。

3)在技术科学范围内,不少学科都发生了“旧貌换新颖”的变化,电工学科的巨大变化也十分显著。

第一章电机与电器基础第一节开关电器1.1.1概述1.开关电器概述(1)断路器:电力网正常工作和发生故障时关合和开断电路。

(2)隔离开关:将高压设备与电源隔离,以保证检修工作人员的安全。

(3)熔断器:电路发生故障或短路时,依靠熔件的熔断来开断电路。

(4)低压控制电器:接通和分断低压交、直流的控制电路。

其中,高压断路器是电力系统中最重要的高压开关电器,不但要用于关合、开断正常线路工作,更主要是用来在电力系统发生短路故障时自动切断短路电流。

DC-PT-FM-ICC学习笔记

DC-PT-FM-ICC学习笔记

Backend Study NotesDC综合学习笔记 ................................................................................................................................................. - 1 -一、verilog 编写........................................................................................................................................... - 1 -二、DC综合注意的地方 ............................................................................................................................. - 2 -1.在同一个电路中不能同时含有触发器和锁存器两种电路单元。

................................................. - 2 -2.在电路中不能出现有反馈的组合逻辑。

......................................................................................... - 2 -3.不能出现用一个触发器的输出作为另一个触发器的时钟。

......................................................... - 2 -4.异步逻辑和模拟电路要单独处理。

................................................................................................. - 2 -5.使用的单元电路没有映射到工艺库中。

DC-DC培训

DC-DC培训

三、DC-DC的纹波和噪音
2. 平行线测量装置
平行线测量装置如图下所示。图 中,C1 是多层陶瓷电容(MLCC), 容量为1μF,C2 是钽电解电容,容量是10μF。两条平行铜箔带的电压 降之和小于输出电压值的2%。该测量方法的优点是与实际工作环境比较 接近,缺点是较容易捡拾EMI 干扰。
三、DC-DC的纹波和噪音
三dcdc的纹波和噪音纹波和噪声的测量方法在测量纹波和噪声这一性能指标时经常有这样的情况发生发现与产品技术规格上的指标不符大大地超过技术规格上的性能指标要求这往往是用户的测量装置不合适测量的方法测量点的选择不合适或采用通用的测量探头所致双绞线测量装置双绞线测量装置如图3所示
一、直流—直流变换电路概述
考虑到稳态工作时电感伏秒平衡的特点,电感充放电过程电流 波动值相等,依据前面的分析,晶体管导通时有:
(U d U o ) U d (1 D) (1 D) DU d I L t1 DT L L fL 考虑到输出电压脉动很小,有 iL iC,且有一周期内电容充 放电平衡,根据图4-2中ic波形,Q的时间为T/2,则电容纹波峰峰
二、降压式变换电路(Buck电路)
(2)电路工作频率很高,一个开关周期内电容充 放电引起的纹波uripple(t) 很小,相对于电容上 输出的直流电压Uo有: uripple
max
U o 电容
上电压宏观上可以看作恒定。
电路稳态工作时,输出电容上电压由微小的纹波和较大 的直流分量组成,宏观上可以看作是恒定直流,这就是开关 电路稳态分析中的小纹波近似原理。
从等效电路模型的分析可以知道,电容上输出电压uo(t)就是us(t) 的直流分量再附加微小纹波 uripple(t) ,且 uripple max U 0 ,晶体管导

【学霸笔记】2.2相交与垂直—2021-2022学年四年级上册数学同步重难点讲练北师大版(含解析)

【学霸笔记】2.2相交与垂直—2021-2022学年四年级上册数学同步重难点讲练北师大版(含解析)

学霸笔记—北师大版2021-2022学年北师大版数学四年级上册同步重难点讲练第二单元线与角2.2 相交与垂直教学目标1.借助实际情况和操作活动,认识垂直。

2.能根据点与线之间垂直的线段最短的原则,解决生活中的一些简单的问题。

3、认识垂直,能用三角尺画垂线4、能根据点与线之间垂直的线段最短的原则,解决生活中的一些简单的问题教学重难点教学重点:建立相交与垂直的概念,能认识垂线;能用三角尺画垂线教学难点:根据点与线之间垂直的线段最短的原理解决问题;能根据点与线之间垂直的线段最短的原则,解决生活中的一些简单的问题【重点剖析】●相交:如果两条直线只有一个公共点,这两条直线叫相交直线。

●垂直:两条直线相交成直角时,叫做两条直线相互垂直。

两条直线互称为对方的垂线。

●一条直线的垂线有无数条,过线外一点作已知直线的垂线只能画一条。

●从直线外一点到这条直线所画的垂直线最短,它的长度叫作这点到直线的距离。

当两条直线相交成直角时,这两条直线互相垂直。

其中一条线是另一条线的垂线,这时两条直线的交点叫作垂足。

【典例分析1】找一找,填一填.AB和平行,AD和平行,AC和平行,AB和垂直,CE和垂直,AD和垂直.【思路引导】在同一平面内不相交的两条直线叫做平行线;在同一平面内相交成直角的两条直线叫做互相垂直.据此填空即可.【完整解答】解:AB和CD平行,AD和BC(BE或CE)平行,AC和DE平行,AB和BC(BE或CE或AD)垂直,CE和DC(或AB)垂直,AD和AB(或DC)垂直.故答案为:CD,BC(BE或CE),DE,BC(BE或CE或AD),DC(或AB),AB(或DC).【考察注意点】此题考查了垂直和平行的特征和性质,根据意义判断即可.【典例分析2】(2019秋•勃利县期末)两条平行线之间的距离处处.正方形的两条邻边互相.【思路引导】根据平行的性质:平行线之间的距离处处相等;根据长方形和正方形的特征:长方形和正方形的两组对边互相平行,两组邻边互相垂直;据此解答.【完整解答】解:两条平行线之间的距离处处相等.正方形的两条邻边互相垂直;故答案为:相等,垂直.【考察注意点】此题考查学生对长方形和正方形特征的理解和运用.【题干】(2019秋•新疆期末)中有条线段,个锐角,个直角.【题干】(2019春•醴陵市期末)(1)画一条长4厘米的线段.(2)在方格纸上画一个直角(从给出的点画起).一、选择题1.(2018·辽宁全国·四年级期中)一条直线的垂线有()条.A.1 B.2 C.无数2.(2019·广东)下图中最短的一条线段是线段()。

DC概论总结

DC概论总结

DC概论总结1 DC概论之一setup time与hold time之一 (2)2 DC概论二之fanout与skew (5)3 DC概论三setup time与hold time 之二 .......... (11)4 DC概论四setup time 与hold time 之三 (15)5 DC概论五之high fanout (21)6 DC 概论六之multicycle_path (32)7 DC 概论七之multicycle_path 补充 (42)8 DC概论八之gated clock之一 (47)9 DC概论九之gated clock之二 (52)10 DC概论十之virtual clock (55)11 DC概论十一之IO约束 (58)12 DC概论十二之优化约束 (63)1DC概论之一setup 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(顶层设计的输出端口)3.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所有的设计也就这四种类型的路径。

DC学习

DC学习

以DesignCompiler为例子讲解综合2009-03-19 11:09:13来源:转载作者:佚名共有评论(0)条浏览次数:878第一节:什么是综合呢?synthesis,台湾翻译为-合成,其作用就是将硬件描述语言的RTL级代码转变为门级网表。

当然,现在综合技术已经很成熟了,还有推出的行为(behavioral)综合和物理(physical)综合。

我们这里讨论的是逻辑(logic)综合。

综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展,我们就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是我们使用的RTL CODE。

很多人入门都用HDL做设计,就以为HDL就只是用来做设计的,没有看到HDL最初始的一面,所以在验证的时候,就无法用好HDL另外一部分强大的功能。

有时间还是可以看看Writing Testbench这本书,增强对HDL语言在验证方面作用的了解,也是提高对HDL认识很好的补充。

我们以DesignCompiler为例子讲解综合的过程。

首先,综合就要必须要用综合库,这个你可以向厂家要,综合库可以通过.lib这个库文件转变成.db综合库,这个过程可以在DesignCompiler里面用实现,综合库里面有什么内容呢?.db 是无法阅读的,.lib是可以阅读的,里面有库的基本参数的单位,库运行的条件,各种参数,最重要的是两个部分,一个是WLM-Wire Load Model,一个Gate的定义(输入输出,功能,时序参数,面积等等);这只是StandarCell的库,另外还有其他库,如RAM,DSP的综合库,都以.db的形式存在。

综合需要三种输入,一个是代码,一个是综合库,一个是综合脚本script。

综合脚本主要包括了一下内容,对综合工具环境的配置,对综合对象外部环境的设置(operation condiction),对WLD的设置,对综合对象的时序的约束,综合策略,综合优化,综合报告和输出。

数字逻辑综合DC脚本示例及解释

数字逻辑综合DC脚本示例及解释

数字逻辑综合DC脚本⽰例及解释#script for Design Compiler# Language : TCL# Usage :# 1) make sure the lib in the current directory# 2) if you have the file .synopsys_dc.setup,# set synopsys_dc_setup_file 1,# if not, set synopsys_dc_setup_file 0# 3) change Step 3 : Variables to what you want# Especially : top module name, clock name,# reset name, all files name, and period# 4) typing dc_shell-t -f run_72.tcl | tee -i run.log##========================================================set synopsys_dc_setup_file 0#-----------------------------------------------------# Step 1 :# Setting Up path and library:# If you have edited the file .synopsys_dc.setup, then you can skip over this step#-----------------------------------------------------if { $synopsys_dc_setup_file == 0} {set search_path [list /home/chanshi/dc/library/smic /home/chanshi/dc/rfid/source /home/chanshi/dc/script]set target_library {typical.db}#set target_library {CSM35OS142_typ.db};# if you want use typical library,change to typical.db#set link_library [list {*} ram_interp_typical_syn.db ram_458_typical_syn.db typical.db]set link_library [list {*} $target_library]}#set symbol_library {csm18ic.sdb csm18io.sdb}#set synthetic_library {dw_foundation.sldb};# Design Wareset command_log_file "command.log"#-----------------------------------------------------# Step 2 :# Compile Swithes#-----------------------------------------------------#set verilogout_no_tri true ;# if inout used, tri net will be used#通过将三态(tri)逻辑声明成线⽹(wire)来确保⽹表中不会出现三态逻辑,因为⼀些布线⼯具很难读取包含tri、tran源语、assign语句的⽹表,对于“inout”类型的port,DC产⽣tri wire 语句和tran 源语,对于tri,还会产⽣assign语句set test_default_scan_style multiplexed_flip_flop#设置扫描链的类型,还可以通过set_scan_configuration -style来设置set link_force_case case_insensitive#设置link命令是否区分⼤⼩写,默认是check_reference,就是根据产⽣reference的模块格式来判断是否⼤⼩写敏感,如果是vhdl格式就是不敏感,如果是verilog就敏感define_name_rules VLSI_NET -allowed "a-zA-Z0-9_" -first_restricted "0-9_" -type net -max_length 256define_name_rules VLSI_CELL -allowed "a-zA-Z0-9_" -first_restricted "0-9_" -type cell -max_length 256define_name_rules VLSI_PORT -allowed "a-zA-Z0-9_" -first_restricted "0-9_" -type port -max_length 256define_name_rules TAN_RULE -allowed "a-zA-Z0-9_" -first_restricted "0-9_\[]" -max_length 256 -map {{{"*cell*", "mycell"}, {"*-return", "myreturn"}}};set hdlin_check_no_latch "true"#设置如果推断出锁存器,是否报warning,默认是false,即不报。

DC综合教程

DC综合教程

DC综合教程启动dc的三种方法:DCSH:dc_shellTCL:dc_shell-t //注意:-t前没有空格图形化界面:design_visiontip1. 综合主要包括三个阶段:转换(translation)、优化(optimization)与映射(mapping)。

1. 转换阶段:综合工具将高层语言描述的电路用门级的逻辑来实现,对于Synopsys 的综合工具DC 来说,就是使用gtech.db库中的门级单元来组成HDL 语言描述的电路,从而构成初始的未优化的电路。

2. 优化与映射:是综合工具对已有的初始电路进行分析,去掉电路中的冗余单元,并对不满足限制条件的路径进行优化,然后将优化之后的电路映射到由制造商提供的工艺库上。

tip2DesignWare 是集成在DC综合环境中的可重用电路的集合DesignWare 分为DesignWare Basic 与DesignWare Foundation,DesignWare Basic 提供基本的电路,DesignWare Foundation提供性能较高的电路结构。

如果需要Foundation的DesignWare,需要在综合的时候设置synthetic_library3。

tip3 日志文件Design Analyzer 在启动时自动在启动目录下面创建两个日志文件:command.log 和view_command.log,用于记录用户在使用Design Compiler 时所执行的命令以及设置的参数,在运行过程中同时还产生filenames.log的文件,用于记录design compiler访问过的目录,包括库、源文件等,filenames.log文件在退出design compiler 时会被自动删除。

启动dc_shell时则只产生command.log 的日志文件。

tip4Propagation Delay传播延时Transition Time转变延时Setup Time建立时间The setup time for a sequential cell is theminimumlength of time the data-inputsignal must remain stable before the active edge of the clockHold Time保持时间The hold time for a sequential cell is the minimum length of time the data-inputsignal must remain stable after the active edge of the clock脚本:################################# Read design file #//read –format verilog[db、vhdl] file //dcsh的工作模式read_db file.db //TCL工作模式读取DB格式read_verilog file.v //TCL工作模式读取verilog格式read_vhdl file.vhd //TCL工作模式读取VHDL格式//设定时钟create_clock -name "clock" -period 20 -waveform { 0.000 10.000 } { clk }//输出文件write -f verilog -out output/count.v //输出网表write -f ddc -out output/count.ddc//综合数据文件write_sdf mapped/count.sdf //标准延时文件//综合compile -map_effort medium -incremental_mappingtip6设置设计环境Define the Design Environment1. Defining the Operating Conditions设置操作环境查看有哪些操作环境dc_shell> read_file my_lib.dbdc_shell> report_lib my_lib指定操作环境dc_shell> set_operating_conditions WCCOM -lib my_lib 2.设置线负载模型set_wire_load_mode Top/Enclosed/Segmentedset_wire_load_model "10x10"3. Modeling the System Interface设置系统接口The set_drive and set_input_transition Commands:dc_shell> current_design top_level_designdc_shell> set_drive 1.5 {I1 I2}dc_shell> current_design sub_design2dc_shell> set_driving_cell -lib_cell IV {I3}dc_shell> set_driving_cell -lib_cell AN2 -pin Z -from_pin B {I4} Defining Loads on Input and Output PortsDefining Fanout Loads on Output Ports4. Setting Logic Constraints on Portsset_equal port1 port2set_oppositeset_logic_dcset_logic_oneset_logic_zeroset_unconnectedtip7设定设计约束When Design Compiler optimizes your design, it uses two types of constraints:Design rule constraintsOptimization constraints用于组成逻辑1. Maximum Transition Timedc_shell> set_max_transition 5 [current design]2. Maximum FanoutYou can set a maximum fanout constraint on every driving pin and input port as follows:dc_shell> set_max_fanout 8 [get_designs ADDER]计算Fanout值:Maximum Fanout>=Total Fanout Load注意:取出某些约束用:dc_shell> remove_attribute [get_designs adder] max_transitiondc_shell> remove_attribute [get_ports port_name] max_fanoutdc_shell> remove_attribute [get_designs design_name]max_fanoutdc_shell> remove_attribute port_name fanout_load3. The set_fanout_load command sets the expected fanout load value for listed output ports.To find the fanout load on the input pin of library cell AND2 in library libA, enterdc_shell> get_attribute "libA/AND2/i" fanout_loadTo find the default fanout load set on technology library libA, enterdc_shell> get_attribute libA default_fanout_load用于综合出可以驱动的最大扇出的引脚4. Maximum CapacitanceMaximum capacitance is a design rule constraint. It is set as a pin-level attribute that definesthe maximum total capacitive load that an output pin can drive. That is, the pin cannot connect to a net that has a total capacitance greater than or equal to the maximum capacitance defined at the pin.dc_shell> set_max_capacitance 3 [get_designs adder]5. Minimum CapacitanceThe min_capacitance design rule specifies the minimum load a cell can drive.设计规则的优先权1. Minimum capacitance2. Maximum transition3. Maximum fanout4. Maximum capacitance5. Cell degradationtip8设定优化约束Optimization ConstraintsTiming Constraints对于同步pashscreate_clockset_input_delayset_output_delay对于异步pashsset_max_delayset_min_delayMaximum Areadc_shell> set_max_area 0.0dc_shell> set_max_area 14.0Managing Constraint Prioritiesset_cost_priority [-default] [-delay] cost_listReporting Constraints:dc_shell >report_constraint写脚本tip9:在终端中启动DC用脚本综合dc_shell-t -f ./scripts/seg_drive.tcl > 1将报告写入1文件tip10:设计中有多个模块时,如果用top_down策略,则在脚本中得把所有的模块读入:set active_design seg_drive //注意:相等于一个宏定义,用active_design代替seg_drive read_verilog {encode_seg.v number_mod.v scan.v seg_drive.v} //read_file也可以,它可以读多种格式文件,包括.db#analyze -format verilog {encode_seg.v number_mod.v scan.v seg_drive.v}#elaborate $active_design //注意这里是$active_designcurrent_design $active_design //将顶层设置成当前设计link//read_verilog命令与后面的analyze、elaborate功能相同,可以选择其中一个;参看《ASIC综合与DC使用》:set_svf ./mapped/svf/$active_design.svf //没查############################################# ##1# Define the Design Environment#1############################################# ##113Modeling the SystemInterface设置系统接口21)set_operating_conditions slow //设定一个库的环境,库内包含使用温度、电压、电路特征线宽等2)set_wire_load_model –name model_name –lib_name library –max –min//设定线负载模型set_wire_load_model -name tsmc090_wl40 -library slow //表示使用库slow里的tsmc090_wl40线模型如果没有wire_load_model,可以将auto_wire_load_selection 参数设置为 true,则 DC自动根据综合之后的面积来选择一个统计的线负载模型用于估计连线延迟。

隔离DC-DC变换器

隔离DC-DC变换器

MIT电力电子课程笔记D.Perreault★★隔离式DC/DC变换器动机:1 在输入和输出之间实现电器隔离 2 高传输比3 容易生成多路输出★第一个例子(Flyback变换器,间接变换类型)VoutD=−Vin1−D,D为占空比。

插入一个变压器后DVin+(1−D)N1Vout=0N2VoutDN2=()Vi n1−DN1将磁路设计成一个元件:具有气隙的电感,能量存贮在励磁电感中。

例如:Flyback变压器。

圆圈的第一部分:能量通过线圈1存储在变压器中。

圆圈的第二部分:通过线圈2能量流出变压器。

1 能量存贮在变压器的励磁电感之中,像电感一样设计,只不过多出第二个线圈。

2 可以通过绕线的方向改变输出电压的极性。

3 可以使用接地的主开关4 变比可以减小开关的容量5 通过增加绕组来增加输出端口数变压器隔离同样可以用在直接类变换器中。

★隔离式buck变换器本质上就是buck加上变压器隔离。

开关导通的时候:Vx=(开关关断:Vx=0N2)VinN1VoutN2=()D可以推导出,VNin1考虑励磁电感效应,必须要求<Vµ>=0,否则核心将会饱和。

必须要为励磁电流iµ提供一条路径,直到核心回到零磁通。

(与Flyback变换器不同,励磁电感在此处并不需要)。

必须要使核心的磁通在每个周期都能回到零磁通。

一个简单的办法,钳位复位电路。

λµ=Lµiµ=N1BcoreAc,所以Bcore=LµN1Aciµ核心的峰值磁通BPK=VinDTN1Ac我们要确保Vµdt→0,即能够使核心复位。

否则,核心的磁通会因为电流随着时间不断漂移,最终达到饱和。

∫所以,Vz(1−D)T≥VinDT⇒Vz≥Vin即VpkD1−D,开关的峰值电压为输入电压加上齐纳电压,Vin1−DD=Vin+Vz。

V≥V()+V()=inin故pk。

当Dmax=0.5时,Vpk=2Vin;1−D1−D1−D当Dmax=0.75时,Vpk=4Vin。

LDO和DC-DC原理、应用与对比-学习笔记V1

LDO和DC-DC原理、应用与对比-学习笔记V1

LDO和DC-DC器件的原理、应用与对比一、定义LDO:低压差线性稳压器(low dropout voltage regulator),仅能使用在降压应用中。

也就是输出电压必需小于输入电压。

DC/DC:直流电压转直流电压。

严格来讲,LDO也是DC/DC的一种,但目前DC/DC多指开关电源。

具有很多种拓朴结构,如BUCK(降压)。

BOOST(升压)等。

二、LDO工作原理低压差线性稳压器(LDO)的基本电路如图1-1所示,该电路由串联调整管VT(PNP晶体管,注:实际应用中,此处常用的是P沟道场效应管)、取样电阻R1和R2、比较放大器A 组成。

低压差线性稳压器基本电路LDO电源基本由三大模块组成:调整电路模块、反馈电路模块、误差放大模块。

反馈模块:经R1上的分压对LDO输出电压进行采集;R1与R2电阻误差为1%;误差放大模块:将采集到的电压信号输入到比较器的反向端与正向端电压(实际想稳压输出的电压)进行比较,再将比较结果进行放大;有的LDO内部为节省器件面积,没有对Vref 进行滤波处理,在这种请况下就需要在Vref引脚上10微法电容保证其低噪声和低纹波的输入;调整模块:比较器输出的放大信号输入到MOS管的门级,使MOS管调整自身的导通压降,从而实现对输出的电压进行调整;其内部MOS管工作线性区。

实际的线性稳压器还应当具有许多其它的功能,比如负载短路保护、过压关断、过热关断、反接保护等,而且可采用串联调整管也可用MOSFET。

三、LDO的主要参数1.输出电压(Output Voltage)输出电压是低压差线性稳压器最重要的参数,也是电子设备设计者选用稳压器时首先应考虑的参数。

低压差线性稳压器有固定输出电压和可调输出电压两种类型。

固定输出电压稳压器使用比较方便,而且由于输出电压是经过厂家精密调整的,所以稳压器精度很高。

但是其设定的输出电压数值均为常用电压值,不可能满足所有的应用要求,但是外接元件数值的变化将影响稳定精度。

PowerDC操作练习_100621

PowerDC操作练习_100621



16
P/F Mode的含义

P/F Mode是指当使用Equal/Unequal Current Mode的时 候,用来计算Sink上的实际电压的方法,其结果可与 Pass/Fail(通过/不通过)的标准相比较。 WORST(最差):Pass/Fail 基于电源管脚的最大电压与 地管脚的最小电压之间的差值。 AVERAGE(平均):Pass/Fail 基于所有电源管脚的平均 电压与所有地管脚的平均电压之间的差值。
检查SINK_J8管脚上的电压电流,可以发现:每个pin上的电流相等,电
压算出来各不相同。符合之前假设的Equal Current模型
25
仿真结果:查看彩图

先查看电压分布图,点击Voltage Distribution Plot 该步骤一般需要较长的时间,因为工具需要把大量的3维仿真结果全部映 射到封装或PCB板的实际物理结构上 电压、电流彩图结果的切换既可以在仿真流程中进行,也可以在界面右侧 的Distribution菜单中进行
MH = (SinkNominal + SinkTolerance) – (SinkActualSimResult + VRM tolerance) ML = – (SinkNominal – SinkTolerance) + (SinkActualSimResult – VRM tolerance) Margin = min (MH, ML)
点击Sink Voltage,切换到Sink的仿真结果 Actual Voltage为各个Sink上实际的直流电压,是根据VRM的电压以及
Sink上抽取的电流,解电路方程组求得的 绿色的对勾表示:所有3个Sink的压降都满足要求 Margin是指各个Sink上实际的电压容限,计算公式如下

C++笔记(完美版)适合初学者之欧阳家百创编

C++笔记(完美版)适合初学者之欧阳家百创编

C++笔记(day02) 2007-3-23欧阳家百(2021.03.07)1、%ldd 可行文件的名字; ---可查看连接库2、C++严格区分大小写,变量命名只能使用字母,数字,或下划线,第一个字母必须使用字母或下划线3、float单精度,double双精度sizeof(int)---返回int在内存中占的大小size(bool)=1size(char)=1size(short)=2size(int)=4size(long)=4size(float)=4size(double)=8无符号的数据一旦溢出,将成为0。

有符号的int最大值2147483647,益处变为最小值,负数4、不同数据间赋值:有兼容性的,占空间小的数据类型,可以给占空间大的数据类型赋值不兼容的,可能会造成数据丢失。

int ->float可以转换;float->int 小数部分丢失5、运算符要求数据类型要相同i++ 先用后加 ++i 先加后用布尔运算符号:结果真或假逻辑运算符:做bool运算!(1)“与”运算&&,两条件要同时成立(2)“或”运算||,只要有一个条件是真,就成立6、按位与“&”有0则与的结果为0按位或“|”有1则或的结果为1按位异或“^”两位不同则为1,相同为07、左移“<<" 左移1相当于乘以2右移“>>" 右移1相当于除以28、三目运算符条件?真:假9、返回变量--- 表达式可以再次赋值,赋值语句返回变量本身eg:(a=10)=20返回变量的值 --- 不可再次赋值 eg:(a+5)=10左值:变量、赋值表达式,++i的返回值是左值右值:不能放在“=”左边的是右值,i++的返回值是右值常量要在声明时就赋值,并且不能修改10、流程控制while(条件){循环体} 条件成立,则进入循环,知道条件为假时,退出循环(1)声明循环变量(2)while()确定循环条件(3)循环变量要有所变化,避免形成死循环for(变量初始化;条件;变量的变化){循环体代码}开始时判断循环条件是否成立,循环结束后,到第三个条件,使用变量改变do{循环体}while(条件);先执行一次,再判断条件,选择是否继续执行循环break; 跳出循环,执行循环之外的下一条语句continue; 从次处开始,结束本次循环,进行下一次循环11、课堂练习---求1到100之间的所有素数C++笔记(day03) 2007-03-261、cin 输入流一旦破坏,就不能恢复2、函数:一段相关代码组成的集合,以便完成一个特定的目的。

DC综合——学习笔记

DC综合——学习笔记

DC综合——学习笔记DC综合——学习笔记⼀、DC综合简介1.1 什么是综合?概括地说:综合就是把⾏为级的RTL代码在⼯艺、⾯积、时序等约束下转换成对应的门级⽹表。

综合是使⽤软件的⽅法来设计硬件,然后将门级电路实现与优化的⼯作留给综合⼯具的⼀种设计⽅法。

它是根据⼀个系统逻辑功能与性能的要求,在⼀个包 含众多结构、功能、性能均已知的逻辑元件的单元库的⽀持下,寻找出⼀个逻辑 ⽹络结构的最佳实现⽅案。

即实现在满⾜设计电路的功能、速度及⾯积等限制条件下,将⾏为级描述转化为指定的技术库中单元电路的连接。

综合主要包括三个阶段:转换(translation)、优化 (optimization)与映射(mapping)。

转换阶段综合⼯具将⾼层语⾔描述的电路⽤门级的逻辑来实现,对于 Synopsys 的综合⼯具 DC 来说,就是使⽤ gtech.db1库 中的门级单元来组成 HDL 语⾔描述的电路,从⽽构成初始的未优化的电路。

优化与映射是综合⼯具对已有的初始电路进⾏分析,去掉电路中的冗余单元,并对不满⾜限制条件的路径进⾏优化,然后将优化之后的电路映射到由制造商提供的⼯ 艺库上。

常⽤的⼯具:Synopsys: DC(⽤的较多)Candance:Genus1.2 综合需要的⽂件RTL⽂件;标准单元的库⽂件;其他库⽂件。

如IO库P库等等(不⼀定有)1.3 综合输出的⽂件综合后的门级⽹表;带时序约束信息的sdc⽂件:其他⼀些后端需要⽤的特殊配置,如dont_touch设置等;保留综合结果的ddc⽂件(之后可以直接load这个⽂件,查看综合结果);1.4 电路综合的要求1.4.1 综合脚本的要求综合脚本必须是可重⽤的。

脚本的可重⽤主要有两⽅⾯的含义:1)在 整个电路设计过程中,当后端⼯具提取出线负载模型后作综合或者在布局 布线完成之后再做综合,保证添加的限制条件与初始时的综合是相同的。

2) 当系统的⼀些参数改变时,⽐如,⼀个模块从 16 位变为 32 位,⽽模块的功能没有改变,可以不改变综合的脚本,只需要改变其中的参数就可以实现该⽬标。

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

DC 示例练习笔记1、示例准备1)DC软件;2)试验材料准备,构造risc_design文件夹3)在Verilog文件夹下增加count4.v,count_tb.v源码文件4)该文件夹复制到虚拟机中2、示例练习1)设置库文件在自己的工作的文件夹下,使用design vision &在后台打开DC图形界面,file->setup设置link library,target library,symbol library如图,这个库文件在安装目录dc2016/library/syn文件夹下,复制到自己新建的文件下,在此设置的时候选择即可。

2)使用菜单file->read 读入count4.v count_tb.v文件,查看log打印文件如下read_file -format verilog {/usr/work/risc_design/source/verilog/count4.v} Loading db file '/usr/work/risc_design/libraries/tc6a_cbacore.db'Loading db file '/usr/synopsys/dc2016/libraries/syn/gtech.db'Loading db file '/usr/synopsys/dc2016/libraries/syn/standard.sldb'Loading link library 'cba_core'Loading link library 'gtech'Loading verilog file '/usr/work/risc_design/source/verilog/count4.v'Detecting input file type automatically (-rtl or -netlist).Reading with Presto HDL Compiler (equivalent to -rtl option).Running PRESTO HDLCWarning: Can't read link_library file 'your_library.db'. (UID-3)Compiling source file /usr/work/risc_design/source/verilog/count4.vInferred memory devices in processin routine count4 line 14 in file'/usr/work/risc_design/source/verilog/count4.v'.=================================================== ============================| Register Name | Type | Width | Bus | MB | AR | AS | SR | SS | ST |=================================================== ============================| q_reg | Flip-flop | 4 | Y | N | N | N | N | N | N |=================================================== ============================Presto compilation completed successfully.Current design is now '/usr/work/risc_design/source/verilog/count4.db:count4' Loaded 1 design.Current design is 'count4'.design_vision>Current design is 'count4'.3)设置互连线模型菜单attribute->operating environment ->wire load ;4)设置时钟约束在图形界面的层次化窗口中选中顶层设计,右键选择“”schematic view“”出现如下界面选中clk管脚,然后点击菜单attributes->specify clk 弹出窗口如下填写name 、period、rising、falling即可约束为时钟周期、上升沿、下降沿。

观察命令行打印如下:create_clock -name "clk" -period 100 -waveform { 0 50 } { m4/clk }即刚才的设置其实就是这条命令的图形化而已。

5)综合点击菜单design->design compile 弹出如下界面其实和咱们日常开发所使用的的EDA工具差不多,打开map effort 有medium 和high可选,area effort有none /low/medium/high可选,power effort有none/low/medium/high可选。

其他选项还不明白是啥作用,先按照默认来吧。

点击OK发现报错,信息如下“”Error: Could not read the following target libraries:your_library.db “”分析就是找不到”your_library.db”这个库文件,本身也不存在这个库文件,这个库文件是软件默认的名称,那我们删掉这个库文件就行了打开菜单 file->setup重新进入库文件设置的界面,分别点击link library、target library、symbol library右边的三个点进入路径界面,选中your_library.db,然后点击delete,删除即可。

然后重新综合试一下,应该没有问题了。

打印信息如下:compile -exact_mapInformation: Evaluating DesignWare library utilization. (UISN-27)=================================================== =========================| DesignWare Building Block Library | Version | Available |=================================================== =========================| Basic DW Building Blocks | L-2016.03-DWBB_201603.1 | * || Licensed DW Building Blocks | | |=================================================== =========================Information: There are 10 potential problems in your design. Please run'check_design' for more information. (LINT-99)Beginning Pass 1 Mapping------------------------Processing 'count4'Processing 'count_tb'Updating timing informationInformation: Updating design information... (UID-85)Information: Timing loop detected. (OPT-150)U1/A U1/YWarning: Disabling timing arc between pins 'A' and 'Y' on cell 'U1'to break a timing loop. (OPT-314)Beginning Mapping Optimizations (Medium effort)-------------------------------TOTALELAPSED WORST NEG SETUP DESIGNTIME AREA SLACK COST RULE COST ENDPOINT --------- --------- --------- --------- --------- -------------------------0:00:11 39.0 0.00 0.0 0.00:00:11 39.0 0.00 0.0 0.00:00:11 39.0 0.00 0.0 0.00:00:11 39.0 0.00 0.0 0.00:00:11 39.0 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.0Beginning Delay Optimization Phase----------------------------------TOTALELAPSED WORST NEG SETUP DESIGNTIME AREA SLACK COST RULE COST ENDPOINT --------- --------- --------- --------- --------- -------------------------0:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.0Beginning Area-Recovery Phase (cleanup)-----------------------------TOTALELAPSED WORST NEG SETUP DESIGNTIME AREA SLACK COST RULE COST ENDPOINT--------- --------- --------- --------- --------- -------------------------0:00:11 28.5 0.00 0.0 0.00:00:11 28.5 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.00:00:11 27.6 0.00 0.0 0.0Loading db file '/usr/work/risc_design/libraries/tc6a_cbacore.db'Note: Symbol # after min delay cost means estimated hold TNS across all active scenariosOptimization Complete---------------------然后就完成了综合流程。

相关文档
最新文档