ImageVerifierCode 换一换
格式:DOCX , 页数:122 ,大小:1.27MB ,
资源ID:11772471      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11772471.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Design+Compiler.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Design+Compiler.docx

1、Design+CompilerDesign Compiler使用简要说明综合过程Design Compiler可以针对层次化的组合电路或者时序电路的速度、面积和可布性进行优化。按照所定义的电路的测量特征所要达到的目标,Design Compiler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。综合的过程如下图: 读入设计及其子设计。 设置顶层的设计特性参数 设置实际时序和面积目标参数 执行check_design验证设计,识别并且更正错误 进行Design Compiler优化练习介绍在db、verilog、vhdl文件夹下设计内容都是一

2、样的,只是形式不一样。Db文件夹:ALARM_BLOCK.dbALARM_COUNTER.dbALARM_SM.dbALARM_STATE_MACHINE.dbCOMPARATOR.dbHOURS_FILTER.dbMUX.dbTIME_BLOCK.dbTIME_COUNTER.dbTIME_STATE_MACHINE.dbCONVERTOR.plaCONVERTOR_CKT.dbTOP.dbVerilog文件夹:ALARM_BLOCK.vALARM_COUNTER.vALARM_SM.vALARM_STATE_MACHINE.vCOMPARATOR.vHOURS_FILTER.vMUX.vT

3、IME_BLOCK.vTIME_COUNTER.vTIME_STATE_MACHINE.vCONVERTOR.plaCONVERTOR_CKT.vTOP.vVhdl文件夹:ALARM_BLOCK.vhdALARM_BLOCK.vhdALARM_SM.vhdALARM_STATE_MACHINE.vhdCOMPARATOR.vhdHOURS_FILTER.vhdMUX.vhdTIME_BLOCK.vhdTIME_COUNTER.vhdTIME_STATE_MACHINE.vhdCONVERTOR.plaCONVERTOR_CKT.vhdTOP.vhd设置path参数将 Synopsys_inst

4、allroot/arch/syn/bin加到.cshrc文件中。设置Setup文件.synopsys_dc.setup的读取顺序:在启动时,Design Compiler将搜索三个Setup文件, 这三个文件都为.synopsys_dc.setup. 从这个文件中,软件工具读取初始化的信息,如使用那些库和如何定制你的图形环境等。尽管他们的名字相同,但是他们在不同的目录下。1 Synopsys的根目录;2 用户目录3 启动Design_Compiler的当前目录Tutorial闹钟的设计TOPTOP是闹钟设计的最上层的模块,包括了对所有子模块的调用,而这些子模块都执行着闹钟设计的一个单独的功能。

5、ALARM_BLOCKALARM_BLOCK 是分级模块的第二级,它控制闹钟的设定。它有ALARM_BLOCK 有四个输入信号: ALARM 用来和HRS或MINS来设定闹铃时间 CLK 是系统时钟 HRS用来和ALARM 来设定闹铃时间 MINS用来和ALARM 来设定闹铃时间ALARM_BLOCK 有两个输出信号为:闹铃的小时和分钟。输出信号输出到MUX和COMPARATOR模块。ALARM_BLOCK 实例化了两个子设计: ALARM_COUNTER 增加闹钟小时和分钟,并反映AM和PM设定。 ALARM_STATE_MACHINE 设置闹钟时间。它有三个状态,如Figure 6-3.T

6、IME_BLOCKTIME_BLOCK 类似于ALARM_BLOCK,只不过它是控制时间。它是分级模块中的第二级模块,有四个输入: SET_TIME 与 HRS or MINS 设置时间 CLK 式系统时间 HRS 与SET_TIME 设置小时 MINS 与SET_TIME 设置分钟小时和分钟是TIME_BLOCK 两个输出信号,他们输出到MUX和COMPARATOR模块。TIME_BLOCK 实例化两个子模块。 TIME_COUNTER增加时间和分钟,并且反映Am和PM设置 TIME_STATE_MACHINE 用来设置和保存时间,状态机有3个状态,如Figure 6-4.MUXMUX 决定

7、显示时间设置,使时间和闹铃的显示有效,它有5个输入信号: ALARM 与HRS 或 MINS 设置闹铃时间 ALARM_HRS 是从ALARM_BLOCK输入的闹铃小时 ALARM_MIN 是从ALARM_BLOCK输入的闹铃分钟 TIME_HRS 是从TIME_BLOCK输入的闹铃小时 TIME_MIN 是从TIME_BLOCK输入的闹铃分钟MUX 处理这些输入信号,并将结果输出到CONVERTOR_CKT, 使CONVERTOR_CKT 显示适当的时间和闹铃。缺省的显示是时间。当ALARM = 1, 显示闹铃。COMPARATORCOMPARATOR 比较时间和闹铃,它有四个主要的输入信号

8、: ALARM_HRS 是从ALARM_BLOCK.来得小时闹铃信号 ALARM_MIN 是从ALARM_BLOCK来得分钟闹铃信号 TIME_HRS 是从TIME_BLOCK来得小时信号 TIME_MIN 是从TIME_BLOCK来得分钟信号当闹铃和时间以及AM和PM都相等时,COMPARATOR 发出一个信号到ALARM_SM_2 模块。ALARM_SM_2ALARM_SM_2是有两个状态的状态机:IDLE 和 ACTIVATE, 如Figure 6-5.CONVERTOR_CKTCONVERTOR_CKT 分级的模块执行一个binary-coded-decimal (BCD)到 7段解码

9、的功能。它将闹铃和时间的二进制表示转化为闹铃始终数字可以显示的信号。CONVERTOR_CKT 实例化两个子模块: CONVERTOR 在CONVERTOR_CKT设计中有两个实例。一个CONVERTOR实例转化将二进制表示的小时,另一个则转化分钟。CONVERTOR_CKT 为一个7段发光二极管显示准备转化好的信息。 HOURS_FILTER 使十位上的0的显示在10:00之前和12:59后失效。例如:九点的显示为9:00而不是09:00。使用Design Analyzer设置设计环境启动Design Analyzer%design_analyzer &读入一个分级的设计读入VHDL包1.

10、选择 File Read.出现读文件的窗口。2. 双击vhdl来进到vhdl目录。3. 选择synopsys.vhd.4. 点击OK.出现VHDL 的窗口window并且显示行为。5. 当Design Analyzer提示符(design_analyzer) 出现, 在VHDL窗口中单击 Cancel。 读入最底层的设计模块为了保证对所有模块的调用可以被正确的解析,我们要从设计的最底层模块开始读入,最后读入最上层的模块。tutorial中最底层模块包括:ALARM_COUNTERALARM_STATE_MACHINECONVERTOR (2)HOURS_FILTERTIME_COUNTERTI

11、ME_STATE_MACHINE使用read命令读入CONVERTOR因为它是PLA格式。.分析VHDL设计使用analyze和elaborate命令来读入五个VHDL文件。你可以一次性分析这些文件因为他们的格式相同,但是你必须分别elaborate他们。 当你分析这些设计模块是,Design Compiler将结果文件存在WORK目录下。读入VHDL文件并且建立vhdl中间设计文件。 分析VHDL设计1. 选择File Analyze.2. 用鼠标左键选择设计模块。选择ALARM_COUNTER.vhd。当你运行UNIX下的Design Analyzer来分析ALARM_COUNTER。3.

12、用鼠标中键选择其余的设计模块:ALARM_STATE_MACHINE.vhdHOURS_FILTER.vhdTIME_COUNTER.vhdTIME_STATE_MACHINE.vhd4. 点击OK.出现分析窗口显示分析的命令,如Figure 7-3,设计中间文件存在work库文件中。5. 点击Cancel关闭分析窗口。Elaborate VHDL模块分别Elaborate这五个VHDL模块。Elaborate命令将把设计文件的中间文件解析成.db 格式。Elaborate每个VHDL模块:1. 选择File Elaborate.出现Elaborate设计窗口,如Figure 7-4。2. 选

13、择Library中的 WORK.3. 选择Re-Analyze Out-Of-Date Libraries4. 选择Design list中ALARM_COUNTER(BEHAVIOR).5. 点击OK.在Design Analyzer窗口中,出现ALARM_COUNTER的elaborated后的图标。6. 重复上述elaboration过程(从第1步开始)ALARM_STATE_MACHINE (BEHAVIOR)HOURS_FILTER (BEHAVIOR)TIME_COUNTER (BEHAVIOR)TIME_STATE_MACHINE (BEHAVIOR)7. 点击Cancel关闭E

14、laborate窗口。Designs view可以显示这些设计的图标读入PLA 设计使用Read命令来读入不是VHDL和Verilog格式的文件。CONVERTOR.pla 设计是PLA 格式的读入CONVERTOR模块1. 选择File Read.2. 选择.db目录 db目录有Synopsys .db格式的文件3. 点击OK.读文件的窗口出现并先是db目录中的设计文件。如Figure 7-7。4. 点击滚动条,可以看到其他的文件。读文件窗口列出了所有目录下的文件,但是只有.snopsys_dc.setup中view_read_file_suffix设定的后缀的文件可以显示出来。5. 选择C

15、ONVERTOR.pla .如Figure 7-9 6. 选择Setup Command Window.7. 点击 读入文件窗口中的OK。Design Analyzer 读入文件并关闭读入文件窗口。Design Analyzer 显示用其它的图标来表示第三层的设计CONVERTOR如Figure 7-11。8. 最小化命令窗口读入第二级设计第二级包括:ALARM_BLOCKALARM_SM_2COMPARATORCONVERTOR_CKTTIME_BLOCKMUX象读入最底层设计一样analyze和elaborate上面的第二层设计读入最上层设计Analyze和elaborateTOP.vhd

16、当你读入了TOP模块后,全部的闹钟的设计的分级的层次结构都已经读入,并且显示在Designs View中有13个图标,如Figure 7-16.用Design Analyzer设置特征参数:在读入设计后,要说明设计的环境变量,这些环境变量包括了当信号到达端口(port)时,他们的的驱动能力,或者输出端口的负载能力。本节就是描述如何来设置闹钟设计的这些参数。为TOP模块设置参数设置参数时可以使用Symbol view。1.选择TOP.2. 单击向下的箭头。3. 点击Symbol View 按钮。设置输入端口的驱动能力假设除了CLK的所有输入端口的驱动能力为0.08(单位由目标库决定)。你可以同时

17、选定并设定所有的要设定的输入端口。1使用鼠标左键来选择输入端口ALARM;2使用中间选择其他的除了CLK之外的所有的输入端口,见Figure 7-17。设置驱动能力1. 选择Attributes Operating Environment Drive Strength 显示Drive Strength 窗口,如Figure 7-18。当你选择了一个端口时,在Port Name区域里会显示这个端口的名字,如果你选择了不知一个端口时,这个区域就会是空白的,而你在这个窗口输入的值将应用为所有选定的端口。2. 在Rise Strength处键入0.08,而Fall Strength将自动会被设为0.0

18、8,因为“Same Rise and Fall”这个选项缺省的情况下是选定的。3. 单击Apply。你可以将端口的驱动的值设为与库中单元的输出引脚的驱动能力的值相同。当你不知道在库中你所需要地引脚的驱动值时,你可以使用drive_of 命令来找出并且设置这个值。假设CLK 的驱动值要设为与buffer单元B4I的Z引脚的驱动能力相同。注意::在例子中,我们用set_drive来设定驱动能力,然而set_driving_cell 比set_drive有更高的优先级。set_driving_cell命令将一个输入引脚和一个驱动单元相关联,而不是与一个具体的驱动的值相关联。设置CLK的驱动能力在这里

19、,我们要将CLK的驱动能力设为与B4I的Z引脚的驱动能力相同。1. 在Symbol view下,选择CLK。2. 点击Rise Strength区域,按下Ctrl-u 来删掉值0.00。3. 在Rise Strength 区域中,输入:drive_of (class/B4I/Z)。Design Analyzer 将该命令复制到Fall Strength区域。4. 点击Apply。Rise和fall的值(0.0335)出现在相应的框中,如Figure 7-19所示。更改驱动能力在设置过输入端口的驱动能力后,还可以对其进行修改。假设在本例子中,我们之前设置的输入端口SET_TIME的驱动能力不对,

20、可以按下面的不走对其进行修改:1. 选择SET_TIME端口。2. 把Rise Strength的值改写为0.06,Fall Strength的值同时被更新为0.06。3. 点击Apply。4. 点击Cancel来关掉Drive Strength窗口。设置输出端口的负载能力设置SPEAKER_OUT的负载能力负载能力用来对某个限定的模块的输出端口的负载的容量建模。你可以将端口的负载能力设置位于库单元的负载值相同。当你不清楚所需要的库单元的负载值时,使用load_of命令来决定和设置一个负载值。假设端口SPEAKER_OUT 驱动5个反向器,而反向器同库单元IVA(目标库中的一个反向器)相同。1

21、. 选择SPEAKER_OUT端口2. 选择Attributes Operating Environment Load来打开Load窗口,如Figure 7-20。3. 在Capacitive load 中填上load_of (class/IVA/A) * 5,在星号(*)前留个空。注意引脚A是IVA的输入端口。4. 点击Apply,capacitive load 的值自动计算出来为7.50。SPEAKER_OUT 驱动能力为5个反向器,每个反向器的负载值为1.5,所以SPEAKER_OUT的负载值为 1.5*5 = 7.5。5. 点击Cancel退出Load窗口。设置总线的驱动能力假设端口D

22、ISP1和DISP2每个的驱动能力都为3(标准负载),AM_PM_DISPLAY的驱动能力为2(标准负载)。设置DISP1的驱动:1. 选择DISP1。2. 选择Attributes Operating Environment Load。出现两个Load和Bus Selector窗口,如Figure 7-21。使用Bus Selector窗口选择要设置参数的总线的位。在这个窗口中,所有的位都被选中。如果只想设置一个位的负载的话,只用选择某个位,然后在Load窗口中键入值即可。在这里,我们将整个总线设置相同的参数3. 点击Cancel关闭Bus Selector窗口。4. 在Capacitive

23、 load域中,键入3。5. 点击Apply,负载值就被赋给了DISP1。运用同样的过程将3赋给DISP2。设置AM_PM_DISPLAY的负载能力1. 选择AM_PM_DISPLAY。2. 在Capacitive load域填入2。3. 点击Apply。4. 点击Load窗口中的Cancel。为最上层模块设置其他的特性有些特性是要为一个最上层模块设置的,但是并不是真对某个输入或输出端口。这些参数会对设计的优化产生一个全局的影响。这里我们要为TOP模块设置如下参数: Wire Load Operating Conditions设置Wire LoadDesign Compiler 优化以线网的扇

24、出为基础来从连线负载(wire load)模型来估计连现长度。Design Compiler 使用这个信息来计算连线长度和传输延迟。连线负载(wire load)模型由估计的die的大小来决定。在目标库中连线负载都有定义如果ASIC的库支持的话,Design Compiler 以面积为基础自动选择连线负载表1. 选择TOP。2. 选择Attributes Operating Environment Wire Load,出现Wire Load窗口,如Figure 7-22,3. 选择10x10 (class),在库文件的定义中,10x10 对应于的die的大小为1 mm x 1 mm。4. 点击

25、OK。设置运行条件(Operating Conditions)运行条件就是温度、过程、运行电压等。目标库定义了这些运行条件。库的生产厂商定一个一个与其他昌上不同的默认的运行条件。通用的默认的运行条件为: 温度 25 C 过程 1 电压 5Design Compiler 的静态时序分析是对设计的驱动能力,到达时间以及负载能力的变化对电路时序特征所带来的影响建模。同样,你能个分析一个设计的最好、中等、最坏特性或运行条件。设置运行条件:1. 选择Attributes Operating Environment OperatingConditions.Operating Conditions窗口如Fi

26、gure 7-23所示,其间列出了目标库中的运行条件。每一个运行条件的后面都有括号包括着目标库的名字。2. 选择WCCOM (class),在这里,我们假设运行条件为最差的情况(WCCOM),按目标库中定义的,温度为70.0 F,过程为1.5,电压为4.75。3. 点击OK.保存设计在设置完设计的特性后,保存文件将TOP模块保存为.db格式,1. 选择File Save As 打开Save Design窗口,文件名显示为TOP.db。2. 改变目录到tutorial/db/ directory.3. 输入TOP_attributes.db 作为文件名,并保存这个文件。4. 检查“Verify

27、that the Save All Designs in Hierarchy option ”设置为on。5. 点击OK。Design Analyzer保存了设计和所设置的特性参数。使用dc_shell来设置设计环境Starting dc_shell in UNIXdc_shell 提供了两种命令行模式。dcsh模式使用的是Synopsys开发的命令行语言。Tcl 模式是基于Tool Command Language (Tcl)的。启动Design Compiler, 键入dc_shell命令,dcsh模式是默认的模式,使用-tcl_模式开关来运行Tcl模式。% dc_shell -启动dc_

28、shell的dcsh模式。dc_shell或者% dc_shell -tcl_mode -启动dc_shell的Tcl模式dc_shell-t使用dc_shell读入层次化设计在执行这些操作的过程中,dc_shell模式会反馈回一个数字“1”,表示命令成功完成。读入一个层次化设计简化一个大而复杂的设计的方法就是将它分为小的部分,每个部分都完成一个功能,这些小的部分就为子模块。一个设计韩又一个或多个子模块就是一个层次化的设计。层次化设计可以含有多个层,每层含有一个或多个子模块。最上层模块则调用或引用这些子模块。 Alarm Clock设计是个层次化设计,TOP是最上层模块。在任何时候使用dc_s

29、hell保存设计保存设计设置,将使用dc_shell的write命令。这个命令将整个设计写入磁盘。其语法:write -format format -hierarchy -no_implicit-modified -output file -library library_namedesign_list -names_file mapping_name_files-donot_expand_dw读入VHDL包如果你要使用VHDL格式,那么必须要在读入设计文件前先读入VHDL包。包的文件名为synopsys.vhd,它在vhdl 目录下。键入下面的命令: dc_shell read -forma

30、t vhdl “./vhdl/synopsys.vhd” 或者dc_shell-t read_file -format vhdl list ./vhdl/synopsys.vhd例子输出在成功之行Read命令后,dc_shell输出如下内容:Loading db file /usr/synopsys/myarch/libraries/syn/standard.sldbLoading db file /usr/synopsys/myarch/libraries/syn/gtech.dbLoading vhdl file /usr/synopsys/tutorial/vhdl/synopsys.vhdReading in the Synopsys vhdl primitives./bohm/tutorial/vhdl/synopsys.vhd:Information: Saving the package synopsys. (HDL-202)No designs were read读入最低层的设计Analyzing the VHDL Designs使用analyze和elaborate命令来读入五个VHD

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1