当前位置:文档之家› 中文DC文档

中文DC文档

中文DC文档
中文DC文档

max_transition可以定义为上升或下降电阻和线网负载的乘积,除了工艺库中提供的,用户也可自己定义,而实际采用的是最严格的那个定义值。

相比较max——transition并不直接控制线网的实际电容,而max_capacitance作为直接控制电容的限制而提出的。但是其cost function是基于总的电容而不是瞬态时间。二者可以同时定义。没有违反约束的定义是:驱动pin或者是port的max capacitance大于或者是等于所有被驱动管的电容之和。

Max transition和max fanout 和max capacitance可以用来决定设计中的buffer个数。―――影响时间参数

优化约束―――对时间的约束优先于对面积的约束。在满足对面积的约束之前,会尽量的考虑满足对时间约束条件的满足。

对时间的约束―――-时序电路中通过对时钟的定义来达到,set input delay和set output delay。

――――组合电路通过对set max delay和set min delay来设定点点之间的时间延迟,max delay通过设定set max delay和creat clock来达到; 而min delay通过设定set min delay和对保持时间的要求来达到。其中的使用set fix hold来固定保持时间。

优化的过程就是减少代价函数的过程――包括设计规则代价函数和优化代价函数。Max delay cost;min delay cost;max power cost;max area cost;

其中max delay cost是代价函数中具有最优权。

Max delay cost的计算:最差的违背和每个路径组的权重之积――worst violation;path group;

当设计不能满足时序单元的建立时间的要求的时候,违背就发生了。一般,把由一个时钟约束的路径组合成一个路径组,这样每个时钟都建立了一个单独的路径组,而剩余的路径组合成默认的路径组,如果在没有时钟的情况下,所有的路径都组合成一个默认的路径组。而综合总是针对路径进行的,所以很容易给每个路径定义其权重。如:max delay cost=1×1+1×2+1×3=6

min delay cost次重。与路径无关,是所有的最差的min delay违背之和,当实际的延迟时间小于设定的期望的延迟时间的时候,违背就发生了。如:min delay=1+2+3=6 max power是用于ECL电路中。

综合时候的时钟设定:

设定时钟树的时候,使用set dont touch network来设定时钟的dont touch参数值,防止

buffers。

Synopsys的STA不报告时序单元中针对时钟管脚的延迟(认为是理想状态-0)。如果时钟经过门单元的话,则不能认为时钟延迟是0,所以也要设定set clock skew-proagated选项来得到非零的时钟延迟,如果ASIC提供商已经定义了相对于时序单元管脚的潜在的时钟skew的上限的话,可以用set clock skew -uncertainty来定义skew。在设定完时钟之后,我们要使用set input delay和set output delay-option来设定输入输出端口的时间设定。用set multicycle path来设定复合时钟。

DC报告同步逻辑到同步逻辑或者是在时序单元之间的时序――DC报告从时钟到时钟的时间延迟信息。

默认情况下,时间路径在有建立或者保持约束的管脚处结束(如ff的数据针或者是寄存器的异步针set,clear)。

Dctimingreport列出每个路径组的最差路径,每个时钟的建立creat clock都是建立了单独的路径组。report timing显示从初始输入到初始输出的路径,除非在其中定义了开始结束点。

一个时间报告的例子:报告两个ff之间的时序。Clock network delay是理想的,所以f reg/cp―――即时钟是在0时刻上升的,然后加上clock到q的时间间隔――――数据到达第二个ff的时间2.24ns;对于第二个ff而言,则其clock network delay仍然是0,在下个时钟的上升沿,5ns处,第二个ff的建立时间要求是0.85ns,所以最早到达第二个ff 的数据必须在5-0.85=4.15的时候到达,否则会出现建立时间违背。这样就可以得到slack =4.15-2.24=1.91ns。

总结,由工艺库提供的建立时间(library setup time)的要求和create clock命令建立的时钟周期共同的决定了max delay。

默认的情况下,DC没有把保持时间固定住,为了满足保持时间的要求而插入delay的话,使用命令fix hold clk。

设定input delay和output delay之后的时间约束:输出延迟是外部的电路对输出端口的时间限制,在时钟周期-output delay之前,数据必须到达该端口。output external delay。同样道理,input delay是相对于时钟而言,必须空出来的时间间隙-input external delay slack=时钟周期-librarysetuptime-input(output)external delay-中间的逻辑延迟。

Set dont touch:尤其适用于层次化的设计优化当中,分配给一个设计或者是单元库。层次设计中的某些模块已经设定了约束条件并进行了优化,希望在整个设计进行整体优化的时候

Reference IVA;而instance是引用库中的reference之后在具体设计中的例子,如U1,U2。一个refernence可以被引用为很多个instance。

如果给库中的某个reference设定dont touch参数的话,则所有引用此单元的instance 都继承了此参数的含义。使用report reference和report cell命令都会显示此参数的情况。所以,不可以在已经设定dont touch 参数的reference时,删除掉引用此reference 的instance的dont touch参数。“大的涵盖小的”。

删除此参数的命令是: remove attribute find(design,A)dont touch

寻找设计中哪些单元有此参数的设定,使用filter和find命令即可。搜寻层次设计的全部,使用-hierarchy命令。Filter find(cell-hierarchy,“*”)“@dont touch==true”。另外在对库单元进行实例化的时候,如果要保持实例化后的库单元在优化之后保持网表的格式,可以在优化之前设定此参数。

Flattening

将组合逻辑转换成两层的乘积和的形式,目的为了提高设计的速度。Two level sum of products form

限制:在包含XORs,选择器和加法器的电路中禁用,另外在设计有超过20个输入端口的情

况下,DC很难完成。

默认的情况下,不支持。flattening之后所有的中间层被去掉。Y1=a+b X1=Y1×c―――

X1=ac+bc 合并

Structuring

和flattening相反,为了增加面积和门的个数,增加了很多为不同输出共享的中间单元。 展开

分两种,timing driven和boolean structuring,前者是默认值,考虑到了时间的因素。

而后者没有,多次的后者会大大增加优化的的时间,用于随机逻辑的优化,目的是为了最小

化面积――很少用到。

Set flatten true

Set structure timing true

看其设定的结果:report compile option

Flattening vs。Ungrouping

Flatten是使用在compile option(编译选项)中的,而在设计中去处掉层次设计中的分层

的话,使用Ungroup命令,所以一个被flattened的设计并不是消除了层次,

优化的时候flatten选项打开的。Flattening the hierarchy的概念和ungroup the design

的一样。Flattening不同于Flattening the hierarchy。

Ungroup和group是为了在设计中去处层次和添加层次。Ungroup命令执行的时候,在以前

存在的分层中的实例继承了被A被ungroup后,

则以前A中的一个实例u2改名为a1/u2,其中a1是A的参考引用量reference的实例名―――即总体上提高一个等级。

同样的ungroup命令适用于设计中的线网类型net――增加层次,或者是增加后台注释。也

可以通过施行ungroup中的simple name选项。另外可以通过执行ungroup+flatten选项

来递归的ungroup一个层次化设计中的不同的层。比如执行ungroup flatten all将设为

top level的设计的当前设计的所有层都ungrouped,除非其中有点模块有了dont touch

参数。

Group命令正好和ungroup相反,可以将设计中的某些实例组合到一个新的分层中去,并定

义设计名字(参考引用量的的名字reference)和此分层之上的层次的实例名。比如 group{u1 u2} design name NEW BLOCK cell name Z1

Set dont use

阻止DC引用工艺库中的某些单元,拥有此参数的单元在优化的时候,不被使用或者是被忽

略掉。比如:set dont use libB/NAND2

Set prefer

改变在工艺转换的时候选择的单元的优先顺序。工艺转换是将一个网表从一个库映射到另外

一个库的基本过程。对于执行编译的过程没有任何的影响。当库中的某个单元被设定了此参

数以后,在每次从库中引用具有此功能的单元的时候,总会引用此单元。

Characterize

只用于层次化的设计当中。当一个总的设计下属的两个单元已经被优化好了以后,在对整个总的设计进行优化的时候,希望不要改变此模块的约束条件和优化目标。如果有多个子的模块已经被优化好了,则最好要分别的将其characterize下来。

编译设计时候的策略

综合结果是工艺库,代码风格和综合策略的结合。 Cumbersome讨厌的笨重的。。

适当的分层,分了太多的层次的化,因为通过边界的优化总是很困难,而将一个很大的模块进行整体的优化的化,则很难充分的优化出一个结果来。所以一般常规的做法是以250到5000个门作为一个模块。

Scenario――可能遇到的情况

对时序和面积的设定没有经验:可以在没有设定约束条件的情况下,先观察结果,然后在设定时钟或者是特定路径的时间约束。

Report constraints all violator verbose DC会列出所有不满足时序要求的路径,如果是很大的差距的话,可能是代码的问题,如果是很小的差距的话,可以在编译一次,分析结果。综合的结果和自己编译起步的起点的关系很大。如果总是很难满足时序要求的话,就可以考虑一下的情况:

代码的问题;可能是功能有误的路径或者是有运行时间超过一个周期的某条路径;对异步的路径设定max delay和min delay;对违背时间的时序电路,使用group path命令创建独立的路径组,给不同的路径组设定不同的权重;在很接近要求的情况下,使用incremental compile。

综合的结果是综合起点的函数。对工艺库中的单元的理解有助于综合的进行,某些时候,给定的综合库不可能完成所需要的综合任务。

在了解了时间的要求之后,可以采用的命令过程如下:

Identify any multi-cycle paths and false paths that might exist in the design Create path groups using group_path command-----给产生大的时间违背的路径设定高的权值

Set the variable compile_default_critical_range

Compile

Compile incremental-map_effort high

使用compile default critical range参数来设定一个时间值,DC将会显示时间违背在此范围的路径,然后进行incremental微调,通常是小于2ns,一般来说设定的约束条件越好,在最后的综合的结果越好。

在观察开始没有设定任何的约束条件的情况下的综合结果后,然后改进其约束条件进行综合是常见的方法。但是在开始的综合之后,其引用模块以及搭建电路的风格已经建立,很难再尝试其他的别的风格的综合结果。所以常见的方法是,通过对第一次的综合了解了约束条件的设定方向,从还没有综合之前的文件处开始进行综合,多多的尝试,直到找到最好的方案――保存为.db文件。

在最初的综合之前,尽量的设定合适的约束条件,使得DC不会过分的对非关键路径进行过分的强制的约束。综合之后,使用命令check design来检查设计中没有不用的逻辑,具体的比如没有连接的端口,穿通,多驱动等。使用check resources检查设计中使用的资源――引用的库中单元的情况。尝试ungroup设计――是的面积减小,但是会增加布局布线的难度。将合适的没有结构化的随机逻辑模块flatten――使用set flatten;将控制逻辑和数据路径逻辑group进不同的组中――使用group hdl block。

编译层次化的设计―――top down和down top结合使用;

通常要使用已经有的模块进行设计,所以有时候需要将其中的某些子模块先读入分别编译,再读入顶层模块――使用characterize命令。

即:compile characterize compile方法。避免对于一个时钟驱动一个子模块!!如果顶层模块有不止一个时钟的化,在整体综合的时候可能会产生不可接受的时间延迟,解决办法是―――将设计划分开,给在顶层模块下面的模块分别设定约束,然后在顶层模块下面characterize。

逻辑综合的指南

1.获得更好的综合结果,对组合电路部分设定精确的点到点的时间约束,而对时序电路使用create clock和group path来设定约束条件。

2.同的设计模块的输出进行寄存。这样每个信号的输入总是面对着一个寄存器,对某个模块

的输入的驱动力等于ff的平均驱动力,另外,输入延迟等于通过ff路径延迟。

3.将不同沿的ff放在不同的分层的模块中,(正负沿触发),这样会减少综合的难度和易于插入测试。

4.将FSM单独合并优化。Group fsm可以做到。

5.合理的综合的模块的的大小为250到5000个门。

6.避免尽量多的层次化的模块,通过层次边界的优化要花费很大的代价。但是也不能用太多的flat设计―――走中间路线。

7.尽量将关键路径分在层次化设计的单独层次中。关键路径不通过层次的边界会大大的提高优化的效率!!

8.如果编译的时间很长,其可能的原因是――――

使用了高的map effort;

设计太大,需要将其划分开来;

已经声明的虚假路径通过了层次的边界,或者是在设计中使用了比如set multicycle;

在顶层模块中有glue逻辑,使用ungroup/group命令将其组合进入子模块中;

没有必要的使用了flatten。一般来说只有对随机逻辑使用flatten按钮,包含muxs,xor,adder等模块也是不需要flatten的,另外对输入端口个数大于20个的设计,也不适合使用flatten。

打开了boolean优化,boolean只有对随机逻辑设计才合适;

9.对于数据通路逻辑,使用instantiating逻辑(比如已经建立好的门逻辑或者是muxs)――即使用引例!!

10.对设计模块的划分成组很关键。区分好数据路径模块,随机逻辑和已经结构化的模块。拥有很多的扇出的信号和驱动组的逻辑和被驱动组的逻辑合并在一个分层模块中去。将共享模块分在一个层次中去――――将联系紧密的模块分在一个层次中。

11.使用compile default critical range=?的命令来不仅仅观察最关键的路径的时钟情况,还可以看到所有违背时间范围在?之内的路径。在就要完成时序要求的场合下使用。不仅完成对关键路径的优化,还要完成对在这个range范围内的路径的优化。最后使用的方法。也就是在设定各种约束条件之后,发现优化结果很难有什么改变的情况下,设定此参数――-小值,然后再优化。此值设定过大会造成编译时间的大大增加。

?flatten和ungroup对综合的影响差别在哪里??

寻找设计中所有的时钟,以及他们的周期。

Find(clock,“*”)

Get attribute find(clock,clk)period

对非关键路径的优化

group path name MY GROUP weight 20 critical range 10 to {OUT PORT2}―――此命令创建了一个组――MY GROUP,将所有通往OUT PORT的路径包含进来。并设定此路径的权重为20,并设定在10的范围内的路径都进行优化操作。没有路径只可以输入一个组。

寻找某个层次的针对某个引用模块的所有的实例

cell list={}

filter find(cell.“*”,-hier)“@ref name==FD1”

cell list=dc shell status

count=0

foreach(cell instance,cell list){count=count+1}

echo“Total number of FD1 cells in design are”count

状态机的综合

在DC映射工艺库的时候,并不知道此描述的是有限状态机。report fsm可以通过报告的形式告知此为有限状态机。

通过set fsm state vector来告诉DC此为FSM,而设定vector的目的是为了帮助工具区分开状态寄存器和一般的常用的寄存器。

使用set fsm encoding 命令来对状态进行分配状态。而set fsm encoding style命令来设定状态分配的编码形式。

使用group fsm命令来将状态ff和有联系的组合逻辑组合成单独的一个层。而通过extract,可以将FSM以状态表的形式写出来。

固定最小的时间延迟违背

max delay是为了满足时序电路的建立时间的要求而提出的。,同样,DC也可以设定最小的

时间要求。Max delay必须在最坏情况下得到满足。-worst case

min delay是为了满足时序电路的保持时间的要求而提出的。保持时间的问题是由于同一个时钟通过相邻的两个寄存器的时候带来的。由于min delay是在best case的情况下得到的。所以保持时间的要求也是在这种条件下得到满足。

通过2步编译的方法使得同时满足建立时间和保持时间的要求:

在worst case情况下,满足建立时间的要求;

然后将条件环境变量设定为best case,使用fix hold命令给需要设定特定的时间要求的时钟。第二步的编译要将only design rules选择项开启-此将所有的保持时间的违背都固定住。另外在best case 的operation condition情况下,max delay会有比较大的正的时间间隙――slack。保持时间的固定(fix hold)往往是以建立时间为代价。可通过以下的方法避免,通过设定约束条件使的在best case情况下,关键路径也是最长的时间路径。达到此目的的其中一个方法是,

给时钟设定一个负的不确定的值――比如set clock slew minus uncertainty命令。Holdtime的问题经常出现在转移寄存器和扫描链中,因为DC一般认为时钟是没有任何的时间延迟的。可以通过set clock skew propagated命令来设定网络的时间延迟。

工艺转换

网表从一个工艺库到另一个工艺库的转换叫做工艺转换。

Current design=top

Taret library=libB

Link library=liA

Search path=search path + “path to the two libraries”

Translate

DC8000使用手册

彩机工作的7个步骤: 1、充电通过充电电极丝给感光鼓表面充上高压电 2、曝光利用感光鼓表面的光导特性,感光鼓表面曝光,形成一定形状不等位的电荷区 3、显影碳粉颗粒在电场作用下吸附在感光鼓表面被曝光的区域 4、转印当打印纸通过转印辊时,被带上与碳粉相反的电荷,使碳粉颗粒按一定 的形状转印到纸上 5、分离纸从感光鼓和转印辊上分离出来 6、定影已经印上文字的打印纸上的碳粉颗粒,需要熔化才能渗透到纸里 7、清洁感光鼓表面的碳粉并未完全被转印到纸上,通过刮刀清理后,并可完成 下一轮转印成像过程。 打印常见问题(人为原因) 1.文件有明显问题(破图,掉字,白页,文件不完整,乱码,出边),但打印前没有预览检查而造成打废; 2. 文件正反错(拼错,位置错,头对头,头对脚设置问题,打印正反错位而导 致废P,纸尺寸有差别而导致错位较大 3.文件尺寸问题,尺寸太满,打不满或太靠边,图像会被打掉 4.印制单上设置与文件设置不符(克度,尺寸,正反面,页数) 5.操作员打完单子后没有提交,其他操作员又打印一遍,造成多打 6.用错纸,克度,铜版,哑粉用错

7.纸中混其它不同克度的纸,导致打废 8.单双面打错,导致单打双,双打单 9.打印薄纸夹纸,特别是80g,128g纸,打印前要多洗纸 10.份数不对,有时输入份数时会输不上去,输入后腰检查份数是否正确11.打印图像有质量问题,但是操作员发完作业后,并没有检查成品图像质量,而造成废P 12.特别强调的是正反套位的问题,打印样后腰检查正反套位是否正常,不正常一定要调整,一般在服务器上调整。 常用配件及耗材

日常操作规 1.颜色管理:a.早班人员每天上午必须校色,并把校色后打印样登记存放b.更换重要零配件(鼓,载体,一次转印辊,二次转印辊,IBT等)候及大修后,要执行校色流程 c.校色步骤(略) 2.调整双面错位: 进入步骤:钥匙键(11111)---- Tools pathway---- machine defaults 2 --- alignment adjustment -----Paper tray 1 --- alignment profile1 ----- Lead registration(调整左右错位值) side registration(调整上下错位值) 在出纸方向,图像太靠下,要调整左右值,按加;图像靠上,按减 注:调整左右值,没有作用时,说明纸尺寸不符合标准(太短或太长)3.电极丝原则上每打印5000P清洁一次,实际中每天要清洁一次 4.每日检查耗材的使用状况,及时备用或更换 5.机器大批量打印时,操作员应时刻监看设备运转情况,以防出现大批量打印错误和复本质量问题 6.大批量打印时,请经常清理接纸盘,总是等到EMPTY OCT提示才拿纸很容易造成接纸盘被压坏 7.打印到一半急停,按UI上粉红色的键或者纸盒是最好的方法,千万不要拉门,这样容易造成卡纸 8.有些人为不可判断的故障恢复,可以重新启动打印机和服务器 9.换鼓时贴上标签(日期, 当前总P数) 10.换新鼓后要打印200P左右再校色 11.加硅油量不要太多,与油槽颈部平行即可 12.IBT支架上右侧红色辊每打印10万P顺时针转一格 13.要轻推纸盒及大抽屉 14.每周日对DC8000进行大的维护保养,即执行DC8000每周日常维护规15.打印机台面上严禁放置矿泉水,酒精等液体,以防漏水造成电路板烧坏 取卡纸的方法,取卡纸请遵照两个原则:

DNDC模型使用手册

DNDC模型使用手册 ( 9.3版本 ) 新罕布什尔大学 地球海洋与空间研究所 2010年1月15日

致谢 我们感谢美国国家科学基金会(NSF)、美国航天与空间总署(NASA)、美国农业部(USDA)、环境保护署(EPA)、国家海洋与大气总署(NOAA)及国家大气研究中心(NCAR/UCAR)自1989年以来为发展DNDC模型所提供的持续支持。世界许多国家的科研人员为该模型的发展做出了贡献,他们或为模型验证提供数据,还为模型添加新的功能。这些研究者包括李长生(Changsheng Li美国)、斯苐夫·富罗京(Steve Frolking美国)、罗伯特·哈里斯(Robert Harriss美国)、里查德·泰瑞(Richard Terry美国)、麦克·凯雷(Michael Keller美国)、帕提克·葛瑞尔(Patrick Crill美国)、安姬·卫紫(Antje Weitz德国)、泰德·派克(Ted Peck美国)、卫理·温岚德(Wayne Wendland美国)、大卫·金克森(David Jenkinson英国)、王英平(Yingping Wang澳大利亚)、庄亚辉(Yahui Zhuang 中国)、戴昭华(Zhaohua Dai中国)、罗尔·布兰特(Roel Plant 荷兰)、周叶(Ye Zhou中国)、张宇(Yu Zhang中国)、林清华(Qinghua Lin中国)、王晓科(Xiaoke Wang中国)、富罗里安·史坦格(Florian Stange德国)、克劳斯·布特巴赫-巴尔(Klaus Butterbach-Bahl德国)、汉斯·帕潘(Hans Papen德国)、索菲亚·泽克美斯特-波坦斯顿(Sophie Zechmeister-Boltenstern奥地利)、郑循华(Xunhua Zheng中国)、孙建中(Jianzhong Sun中国)、秦晓光(Xiaoguang Qin中国)、斯蒂夫·佳伟斯(Steve Jarvis英国)、布朗尼·斯依德(Bronwyn Syed英国)、劳娜·布朗(Lorna Brown英国)、雷·德斯佳丁(Ray Desjardins加拿大)、沃特·斯密思(Ward Smith加拿大)、布莱安·格兰特(Brian Grant 加拿大)、 罗·萨斯(Ron Sass美国)、黄燿(Yao Huang中国)、蔡祖聪(Zucong Cai中国)、康国鼎(Guoding Kang中国)、佳瑞亚· 波佳瓦特(Jariya Boonjawat泰国)、鹤田治雄(Haruo Tsuruta 日本)、泽本卓治(Ta kuji Sawamoto 日本)、小林和彦(Kazuhiko Kobayashi日本)、邱建军(Jianjun Qiu中国)、拉福·柯斯(Ralf Kiese德国)、卡尔·特伦蒂(Carl Trettin美国)葛荪(Sun Ge美国)、徐成一(Cheng-I Hsieh台湾)、雷纳德·莱姆克(Reynald. Lemke加拿大)、瑟雷德·萨喀(Surinder Saggar新西兰)、罗波·安德欧(Robbie Androw新西兰)、阿温·缪斯(Arvin Mosier美国)、卡罗斯·爱得阿多(Carlos Eduardo巴西)、程根伟

DC-DC模块电源应用手册

DC/DC 模块电源 应用手册 广州德励电子科技有限公司 二零零七年三月二十二日

目 录 一、基本术语解释 (1) 输入电压范围(Input Voltage Range) (1) 负载电压调整率(Load Voltage Regulation) (1) 输入(线性)电压调整率(Line Voltage Regulation) (1) 输出电压精度(Ouput Voltage Accuracy) (1) 输入和输出波纹电压(Input and Output Ripple) (1) 输入与输出隔离电压(Input to Output Isolation) (1) 绝缘阻抗(Insulation Resistance) (1) 全负载效率(Efficiency at Full Load) (1) 温度漂移(Temperature Drift) (1) 温升(Temperature above Ambient) (1) 开关频率(Switching Frequency) (1) 空载功耗(No Load Power consumption) (1) 隔离电容(Isolation Capacitance) (1) 平均无故障时间(Mean Time Between Failure)[MTBF] (1) 躁声(Noise) (1) 工作温度范围(Operating temperature range) (2) 二、电源的设计及选用 (3) 确定电源规格 (3) 系统配电设计 (4) 三、电源的测试 (7) 开尔文四端测试法 (7) 模块的性能 (7) 四、电源的应用 (11) 隔离(Isolation) (11) 串联使用(Connecting DC/DC Converters in Series) (11) 并联使用(Connecting DC/DC Converters in Parallel) (11) 模块并联使用的推荐值 (12) 滤波(Filtering) (12) 输出滤波计算 (12) 限制涌浪电流(Limiting Inrush Current) (13) 容性负载 (13) 隔离电容和漏电流 (13) 过载保护 (14) 输入欠压保护 (15) 无负载过压上锁 (15) 输入短路保护 (15) EIA-232接口 (16) 隔离数据采集系统 (16) 远距离传输 (16) 减小噪声 (17) 电磁兼容 (17)

ubuntu中DC安装详细教程(修改版)

说明:本教程在ubuntu10.04 之后,一直到ubuntu11.10 上验证成功,在之前的版本应该也以。 首先表示歉意。由于之前发的那个教程在破解的地方少截了一张图,部分人无法找到文件,造成无法破解,对那些已经下载了的朋友造成误导,表示歉意。为了能使更多的人正确破解并应用这个强大的软件,所以在此重新安装一次,并编写教程,顺便改正上次其他的几个小错误。 1、准备安装文件(setup 文件夹),内容如下图: 2、在主目录下建立soft 文件夹,并在soft 文件夹下建立dc2012,在dc2012 下新建dc、scl 文件夹,同时把setup 文件夹也拷贝到soft 文件夹下(本教程中,主目录为lbq 文件夹,在上步骤中,已经把setup 文件夹拷贝到soft 文件夹下了)。 3、由于早期的ubuntu 默认没有安装csh,需要先打开终端,运行sudo apt-get install csh,11.04版之后的好像都默认安装了。然后在ubuntu 软件中心中搜索wine,并安装成功(在后面的破解中需要用到wine)。 4、开始安装。如下图,按照图中所示路径,进入到该文件夹中,右键单击setup.sh,“” 点击属性,打开选中允许以程序执行文件(E)”。 权限标签, “ “”

5、右键单击setup.sh,“” 点击打开,如下图6“” 、点击运行,如下图: 7“ 、点击Start”,如下图:

8、选择所要安装软件dc “ 的原程序路径。点击Browse...”,选择路径如下图所示: 9“ 、点击Done”,如下图所示:

10“ 、一路Next”,遇到的几处选择如下几幅图所示,紫色表示选择。

中文DC文档

max_transition可以定义为上升或下降电阻和线网负载的乘积,除了工艺库中提供的,用户也可自己定义,而实际采用的是最严格的那个定义值。 相比较max——transition并不直接控制线网的实际电容,而max_capacitance作为直接控制电容的限制而提出的。但是其cost function是基于总的电容而不是瞬态时间。二者可以同时定义。没有违反约束的定义是:驱动pin或者是port的max capacitance大于或者是等于所有被驱动管的电容之和。 Max transition和max fanout 和max capacitance可以用来决定设计中的buffer个数。―――影响时间参数 优化约束―――对时间的约束优先于对面积的约束。在满足对面积的约束之前,会尽量的考虑满足对时间约束条件的满足。 对时间的约束―――-时序电路中通过对时钟的定义来达到,set input delay和set output delay。 ――――组合电路通过对set max delay和set min delay来设定点点之间的时间延迟,max delay通过设定set max delay和creat clock来达到; 而min delay通过设定set min delay和对保持时间的要求来达到。其中的使用set fix hold来固定保持时间。 优化的过程就是减少代价函数的过程――包括设计规则代价函数和优化代价函数。Max delay cost;min delay cost;max power cost;max area cost; 其中max delay cost是代价函数中具有最优权。 Max delay cost的计算:最差的违背和每个路径组的权重之积――worst violation;path group; 当设计不能满足时序单元的建立时间的要求的时候,违背就发生了。一般,把由一个时钟约束的路径组合成一个路径组,这样每个时钟都建立了一个单独的路径组,而剩余的路径组合成默认的路径组,如果在没有时钟的情况下,所有的路径都组合成一个默认的路径组。而综合总是针对路径进行的,所以很容易给每个路径定义其权重。如:max delay cost=1×1+1×2+1×3=6 min delay cost次重。与路径无关,是所有的最差的min delay违背之和,当实际的延迟时间小于设定的期望的延迟时间的时候,违背就发生了。如:min delay=1+2+3=6 max power是用于ECL电路中。 综合时候的时钟设定: 设定时钟树的时候,使用set dont touch network来设定时钟的dont touch参数值,防止 buffers。 Synopsys的STA不报告时序单元中针对时钟管脚的延迟(认为是理想状态-0)。如果时钟经过门单元的话,则不能认为时钟延迟是0,所以也要设定set clock skew-proagated选项来得到非零的时钟延迟,如果ASIC提供商已经定义了相对于时序单元管脚的潜在的时钟skew的上限的话,可以用set clock skew -uncertainty来定义skew。在设定完时钟之后,我们要使用set input delay和set output delay-option来设定输入输出端口的时间设定。用set multicycle path来设定复合时钟。

dc使用教程

DC使用说明 文件说明:在进行下面的演示时需要用到两个文件,一个是example1.v,它是描述一个电路的verilog代码,我们的目标就是用DC综合这个代码得到满足约束条件的电路网表;另一个是dc.scr,它是综合example1.v的脚本文件。这两个文件都在/home/student1000目录下,大家把它们拷贝到自己的目录下,以备使用。DC既可使用图形界面,也可不使用图形界面而直接运行脚本来综合电路。 一、DC图形界面的使用。 1.DC图形界面的启动 1.1 打开一个终端窗口,写入命令dv –db_mode,敲入回车。 则DC图形界面启动,如下图所示

红框处是DC的命令输入框,以下在图形界面上的操作都可以在命令输入框中输入相应的命令来完成。 选择Help----- Man Pages可以查看DC的联机帮助。相应指令:man。例:man man表示 查看man命令的帮助。man create_clock表示查看creat_clock命令的帮助。

2.设置库文件 选择File---- Setup 需要设置以下库文件,如下图。 相应指令: set search_path [list /tools/lib/smic25/feview_s/version1/STD/Synopsys \ /tools/lib/smic25/feview_s/version1/STD/Symbol/synopsys] set target_library { smic25_ff.db } set link_library { smic25_ff.db smic25_ss.db } set symbol_library { smic25.sdb }

相关主题
文本预览
相关文档 最新文档