您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 经典综合过程Design Compiler
DesignCompilerDesignCompilerDesignCompilerDesignCompiler使用简要说明使用简要说明使用简要说明使用简要说明综合过程综合过程综合过程综合过程DesignCompiler可以针对层次化的组合电路或者时序电路的速度、面积和可布性进行优化。按照所定义的电路的测量特征所要达到的目标,DesignCompiler综合一个电路并将其放入目标库中,这样可以生成适用于你的计算机辅助设计工程(CAE)工具的原理图或网表。综合的过程如下图:读入设计及其子设计。设置顶层的设计特性参数设置实际时序和面积目标参数执行check_design验证设计,识别并且更正错误进行DesignCompiler优化练习介绍练习介绍练习介绍练习介绍在db、verilog、vhdl文件夹下设计内容都是一样的,只是形式不一样。DbDbDbDb文件夹文件夹文件夹文件夹::::ALARM_BLOCK.dbALARM_COUNTER.dbALARM_SM.dbALARM_STATE_MACHINE.dbCOMPARATOR.dbHOURS_FILTER.dbMUX.dbTIME_BLOCK.dbTIME_COUNTER.dbTIME_STATE_MACHINE.dbCONVERTOR.plaCONVERTOR_CKT.dbTOP.dbVerilogVerilogVerilogVerilog文件夹文件夹文件夹文件夹::::ALARM_BLOCK.vALARM_COUNTER.vALARM_SM.vALARM_STATE_MACHINE.vCOMPARATOR.vHOURS_FILTER.vMUX.vTIME_BLOCK.vTIME_COUNTER.vTIME_STATE_MACHINE.vCONVERTOR.plaCONVERTOR_CKT.vTOP.vVhdlVhdlVhdlVhdl文件夹文件夹文件夹文件夹::::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设置设置设置设置pathpathpathpath参数参数参数参数将Synopsys_installroot/arch/syn/bin加到.cshrc文件中。设置设置设置设置SetupSetupSetupSetup文件文件文件文件.synopsys_dc.setup的读取顺序:在启动时,DesignCompiler将搜索三个Setup文件,这三个文件都为.synopsys_dc.setup.从这个文件中,软件工具读取初始化的信息,如使用那些库和如何定制你的图形环境等。尽管他们的名字相同,但是他们在不同的目录下。1.Synopsys的根目录;2.用户目录3.启动Design_Compiler的当前目录TutorialTutorialTutorialTutorial————————闹钟的设计闹钟的设计闹钟的设计闹钟的设计TOPTOPTOPTOPTOP是闹钟设计的最上层的模块,包括了对所有子模块的调用,而这些子模块都执行着闹钟设计的一个单独的功能。ALARM_BLOCKALARM_BLOCKALARM_BLOCKALARM_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设置闹钟时间。它有三个状态,如Figure6-3.TIME_BLOCKTIME_BLOCKTIME_BLOCKTIME_BLOCKTIME_BLOCK类似于ALARM_BLOCK,只不过它是控制时间。它是分级模块中的第二级模块,有四个输入:•SET_TIME与HRSorMINS设置时间•CLK式系统时间•HRS与SET_TIME设置小时•MINS与SET_TIME设置分钟小时和分钟是TIME_BLOCK两个输出信号,他们输出到MUX和COMPARATOR模块。TIME_BLOCK实例化两个子模块。•TIME_COUNTER增加时间和分钟,并且反映Am和PM设置•TIME_STATE_MACHINE用来设置和保存时间,状态机有3个状态,如Figure6-4.MUXMUXMUXMUXMUX决定显示时间设置,使时间和闹铃的显示有效,它有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,显示闹铃。COMPARATORCOMPARATORCOMPARATORCOMPARATORCOMPARATOR比较时间和闹铃,它有四个主要的输入信号:•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_2ALARM_SM_2ALARM_SM_2ALARM_SM_2是有两个状态的状态机:IDLE和ACTIVATE,如Figure6-5.CONVERTOR_CKTCONVERTOR_CKTCONVERTOR_CKTCONVERTOR_CKTCONVERTOR_CKT分级的模块执行一个binary-coded-decimal(BCD)到7段解码的功能。它将闹铃和时间的二进制表示转化为闹铃始终数字可以显示的信号。CONVERTOR_CKT实例化两个子模块:•CONVERTOR在CONVERTOR_CKT设计中有两个实例。一个CONVERTOR实例转化将二进制表示的小时,另一个则转化分钟。CONVERTOR_CKT为一个7段发光二极管显示准备转化好的信息。•HOURS_FILTER使十位上的0的显示在10:00之前和12:59后失效。例如:九点的显示为9:00而不是09:00。使用使用使用使用DesignAnalyzerDesignAnalyzerDesignAnalyzerDesignAnalyzer设置设计环境设置设计环境设置设计环境设置设计环境启动启动启动启动DesignAnalyzerDesignAnalyzerDesignAnalyzerDesignAnalyzer%design_analyzer&读入一个分级的设计读入一个分级的设计读入一个分级的设计读入一个分级的设计读入VHDL包1.选择FileRead.出现读文件的窗口。2.双击vhdl来进到vhdl目录。3.选择synopsys.vhd.4.点击OK.出现VHDL的窗口window并且显示行为。5.当DesignAnalyzer提示符(design_analyzer)出现,在VHDL窗口中单击Cancel。读入最底层的设计模块读入最底层的设计模块读入最底层的设计模块读入最底层的设计模块为了保证对所有模块的调用可以被正确的解析,我们要从设计的最底层模块开始读入,最后读入最上层的模块。tutorial中最底层模块包括:ALARM_COUNTERALARM_STATE_MACHINECONVERTOR(2)HOURS_FILTERTIME_COUNTERTIME_STATE_MACHINE使用read命令读入CONVERTOR因为它是PLA格式。.分析分析分析分析VHDLVHDLVHDLVHDL设计设计设计设计使用analyze和elaborate命令来读入五个VHDL文件。你可以一次性分析这些文件因为他们的格式相同,但是你必须分别elaborate他们。当你分析这些设计模块是,DesignCompiler将结果文件存在WORK目录下。读入读入读入读入VHDLVHDLVHDLVHDL文件并且建立文件并且建立文件并且建立文件并且建立vhdlvhdlvhdlvhdl中间设计文件中间设计文件中间设计文件中间设计文件。。。。分析分析分析分析VHDLVHDLVHDLVHDL设计设计设计设计1.选择FileAnalyze.2.用鼠标左键选择设计模块。选择ALARM_COUNTER.vhd。当你运行UNIX下的DesignAnalyzer来分析ALARM_COUNTER。3.用鼠标中键选择其余的设计模块:ALARM_STATE_MACHINE.vhdHOURS_FILTER.vhdTIME_COUNTER.vhdTIME_STATE_MACHINE.vhd4.点击OK.出现分析窗口显示分析的命令,如Figure7-3,设计中间文件存在work库文件中。5.点击Cancel关闭分析窗口。ElaboratElaboratElaboratElaborateVHDLeVHDLeVHDLeVHDL模块模块模块模块分别Elaborate这五个VHDL模块。Elaborate命令将把设计文件的中间文件解析成.db格式。Elaborate每个VHDL模块:1.选择FileElaborate.出现Elaborate设计窗口,如Figure7-4。2.选择Library中的WORK.3.选择Re-AnalyzeOut-Of-DateLibraries4.选择Designlist中ALARM_COUNTER(BEHAVIOR).5.点击OK.在DesignAnalyzer窗口中,出现ALARM_COUNTER的elaborated后的图标。6.重复上述elaboration过程(从第1步开始)ALARM_STATE_MACHINE(BEHAVIOR)HOURS_FILTER(BEHAVIOR)TIME_COUNTER(BEHAVIOR)TIME_STATE_MACHINE(BEHAVIOR)7.点击Cancel关闭Elaborate窗口。Designsview可以显示这些设计的图标读入读入读入读入PLAPLAPLAPLA设计设计设计设计使用Read命令来读入不是VHDL和Verilog格式的文件。CONVERTOR.pla设计是PLA格式的读入CONVERTOR模块1.选择FileRead.2.选择.db目录db目录有Synopsys.db格式的文件3.点击OK.读文件的窗口出现并先是db目录中的设计文件。如Figure7-7。4.点击滚动条,可以看到其他的文件。读文件窗口列出了所有目录下的文件,但是只有.snopsys_dc.setup中view_read_file_suffix设定的后缀的文件可以显示出来。5.选择CONVERTOR.pla.如Figure7-96.选择SetupCommandWindow.7.点击读入文件窗口中的OK。DesignAnalyzer读入文件并关闭读入文件窗口。DesignAnalyzer显示用其它的图标来表示第三层的设计——CONVERTOR如Figure7-11。8.
本文标题:经典综合过程Design Compiler
链接地址:https://www.777doc.com/doc-4619035 .html