




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
dc综合实验指导书 .错误!未定义书签。 1概述实验目的?描述综合过程中的四个基本步骤通过学习获得使用Design Compiler的图形接口工具Design Analyzer进行层次化设计的经验。 概述中包含很多先期的参考不要拘泥于这些细节,先开始进行练习。 这些细节在开始时只会挫伤你的兴趣,在随后的讲义和实验中当你再次遇到同样问题(更为详细的细节)时却可以帮助你加深对概念的理解。 初步概念在讲义中,综合过程被描述为翻译+逻辑优化+映像在Synopsys的一系列工具中,翻译是通过read_vhdl/read_verilog命令来执行的。 逻辑优化和映像是通过编译命令来执行的。 在下图中对这个过程进行了阐释初步定义read_vhdl/read_verilog读入(V)HDL文件,执行语法和综合策略的检查,然后使用通用器件“建立”设计。 约束不是DC的命令,而是一系列在使用DC时对设计的时序和面积提出要求的执行步骤。 Compile命令优化一个设计并从你的目标工艺库映像到真正的门级,产生满足要求的实际电路。 DC中的为映像过的设计将被映像后的新设计覆盖。 步骤说明1.登录工作站2.进入工程目录Lab_1UNIXcd lab_1UNIXls-a这是你的进行Lab_1实验的顶级目录;注意名为.synopsys_dc.setup的文件以及各子目录。 在这个实验中你将执行的脚本档就存放在脚本文件子目录中。 3.在UNIX提示行中启动Design AnalyzerUNIXdesign_analyzer&4.按下列顺序选择菜单,打开Design Analyze命令行窗口SetupCommand Window命令行窗口帮助你管理执行的命令以及DC回馈的信息。 调整窗口的位置和大小使Design Analyzer的窗口覆盖整个工作站屏幕的上半部。 调整并移动命令窗口使其处于Design Analyzer窗口下方占据四分之一空间。 5.按下列顺序选择菜单,读入my_chip.vhd文件Setup-Scripts1.Read MY_CHIP SourceCode在设计示例MY_CHIP中,以上五个菜单项帮助你走完整个Design Compiler的基本步骤,这几个菜单项被称做是执行命令的DC脚本。 这个菜单是特别为这个实验创建的;定义在工具建立文件中,这会在随后的讲义中讨论。 你会在Design Analyzer窗口中看见MY_CHIP的“方程”图示。 现在MY_CHIP设计已经出现在DC内存中了,表示其已经处于boolean格式,由GTECH器件构成电路6.双击“equation”图示进入“Symbol View”你将发现一个连有一些输入输出埠的方块。 这就是设计的Symbol View,在右下角的Design Analyzer窗口中显示出来。 显示了设计的方块图。 7.双击Symbol View中的方块进入“Schematic View”注意此时在在右下角的Design Analyzer窗口中显示为“Schematic View”。 你会发现你的设计结构是由一些由通用的独立库中的组件构成的,这些组件位于Synopsys的GTECH库中。 8.按下列顺序选择菜单,对设计进行约束Setup-Scripts-2.Constrain MY_CHIP你会注意在Clock_In埠(左边最上方的端口)显示出红色波形标记。 其脚本档声明这个埠将被视为一个周期为2ns的时钟埠(500MHz)。 其它约束(如操作环境,输入延时等)也被应用。 你会很快学会如何去查看和改变这些约束。 9.按下列顺序选择菜单,对设计进行编译Setup-Scripts-3.Compile MY_CHIP你将看见一个由一些目标工艺库中的实际器件(单元)表示出的你的设计10.按下列顺序选择菜单,对设计进行保存Setup-Scripts-4.Save MY_CHIP这个脚本档以Synopsys内部格式(db)保存你的设计,文件名为my_chip.db,保存在当前子目录中。 11.按下列顺序选择菜单,运行设计的报告。 Setup-Scripts-5.Generate timingreports这个脚本在当前目录中写下两个新的报告,你可以在UNIX下看见这些档,然而,其中包含的所有内容都在Design Analyzer命令窗口中出现过。 注意Design Analyzer命令窗口中最后几行。 报告指出约束条件是被满足的还是违规的?(查找单词MET或VIOLATED)不要担心这里报告中的细节12.按下列顺序选择菜单,退出Design Analyzer。 FileQuit-OK脚本档内容1.Read_my_chip.scr Read-format vhdlmy_chip.vhd2.Constrain_my_chip.scr/*Define theclock periodand clockport*/create_clock-period2-name my_clockfind(port,Clock_In)/*indicate the“input valid”delay*/set_input delay1-maxclock my_clockall_inputs()-find(port,Clock_In)/*indicate thesetup timerequirements ofoutput ports*/set_output_delay1-max-clock my_clock all_outputs()/*indicate thedrive characteristicson theinputs:*/set_driving_cell-lib_cellfdef1a3all_inputs()find(port,Clock_In)/*indicate thecapacitive loadingon theoutputs*/set_load10.0*load_of(ssc_core_slow/inv1a3/A)all_outputs()3.Compile_my_chip.scr Compile-scan4.Save_mapped_chip_as_DB.scr Write-format db-hierachy-output my_chip.db5.Report_my_chip.scr report_timingslowest_path.rpt report_constraint-allany_timing_violation.rpt思考题题1.为什么在原代码中正确的对一个设计分区是重要的?题2.时钟频率增加到1GHz?题3.操作温度变化范围增加到+125?题4.操作电压降落达到1.62v题5.Up_downF输入时延比原先增加0.5ns?题6.内部扫描和边界扫描链是否满足?题7.是否希望能自动进行以上过程的操作?题8.是你是否需要换一家代工厂商?2环境建立和综合流程实验目的?学会Design Analyzer的基本特征?学会使用Design Analyzer的设计、符号和电路原理图的视图,以及选择菜单和鼠标功能?完成一个设计的基本综合步骤?启动在线文献并可以在手册中查找DC命令开始工作回答以下问题问题1.为什么要使用Design Analyzer而不是外壳接口?2.什么是SOLD?3.如何定义综合以达到工作组要求?4.用什么DC命令可以完成编译?5.用什么DC命令可以完成逻辑优化和映像?6.什么是DC手稿檔?7.“综合是基于路径的”是什么意思?实验流程图概念以下图表阐述了使用Design Compiler的流程使用read_vhdl或read_verilog命令读入RTL/HDL源代码。 编译过程使用gtech.db库将代码转变为GTECH网表(通用工艺)。 编译完成后,设计以“.db”格式被保存在磁盘中。 此时,可以对设计加约束条件了。 通过编写一个包含所有对时序和环境(输入/输出延时、驱动能力、堵越时间等)的约束条件的约束档。 完成对设计的约束后,使用pile命令可以对设计进行逻辑优化并使用由target_library变量指定的库(本实验中为“core_slow.db”)将设计映像到目标工艺。 当综合完成后,设计(门级网表)将被write命令存储在磁盘上。 输出格式可以是Synopsys二进制.db檔,也可以是verilog,VHDL或edif网表。 任务1创建.synopsys_dc.setup文件1.在你的工作目录下建立risc_design目录,UNIXcd risc_design2.使用文本器打开.synopsys_dc.setup文件,3.在.synopsys_dc.setup文件的开头加上以下几行字符#set target_library“core_slow.db”set link_library“*core_slow.db”set symbol_library“core.sdb”开头处的“#”符号指出这是一个可以被Design Analyzer,dc_shell或dc_shell-t使用的Tcl脚本档。 4.在.synopsys_dc.setup文件中加入两个别名alias rt“report_timing”alias h“history”这些命令经常会被使用到;为它们创建一个别名可以使你的工作简化。 注意还有一些其它已经被定义了的别名。 5.在.synopsys_dc.setup文件中加入用户菜单项,set view_script_submenu_items“Remove All_Designs”“remove_designdesign”在Design Analyzer中,你现在在SetupScripts菜单下拥有了一个名为Remove All Designs的选项。 Remove AllDesigns的选项将所有设计从Design Analyzer的内存中清除(DC命令为remove_design-designs)。 6.保存.synopsys_dc.setup档然后退出文本器。 任务2启动Design Analyzer1.在risc_design目录下启动Design AnalyzerUNIXcd risc_design或使用pwd命令去验证你处于risc_design目录下。 UNIXdesign_analyzer&2.通过选择菜单Setup-Command Window打开命令窗口。 始终从打开命令窗口开始是一个好习惯。 这个窗口显示出所有执行命令、结果和错误消息。 3.选择菜单SetupDefault验证已正确建立库。 如果库不正确,向教师请求帮助。 任务3将设计读入DC内存1.选择菜单FileRead,双击unmapped/目录然后双击PRGRM_T_TOP.db在Design Analyzer中,有一个PRGRM_T_TOP.db的图标,这是层次设计中的顶层。 同样还有更低层次模块的图标PRGRM_T_FSM,PRGRM_T_DECODE和PRGRM_T_T。 Design View并不显示设计层次它只显示Design Compiler内存中每个设计的图示。 任务4浏览设计、符号和原理图视图1.观察所有模块浏览设计视图观察右下角确定你处于设计视图。 选择PRGRM_T_TOP(单击鼠标左键),同时观察左下角确认你的选择。 2.双击PRGRM_T_TOP或单击左侧工具栏中的向下箭头符号按键进入符号视图。 如果你没有看见一个(唯一一个)方框标有PRGRM-_T_TOP,你已经进入Schematic View而不再是Symbol View了。 此时双击Design Analyzer左侧正方形符号图标。 3.双击PRGRM_T_TOP或单击左侧工具栏中的AND符号按键进入原理图视图PRGRM-_T_TOP原理图包含PRGRM_T_FSM,PRGRM_T_DECODE和PRGRM-_T的实例。 这是PRGRM_T_TOP的模块图。 4.通过访问PRGRM_DECODE,PRGRM_FSM和PRGRM_T的符号以及原理图视图浏览PRGRM_T_TOP。 由于你还没有编译过这个设计,你还看不到目标工艺库中的门。 你可以看见GTECH组件。 GTECH组件是代表设计功能的通用Boolean门和寄存器。 红色正方形是DesignWare组件,我们讲在讲义中讨论DesignWare。 任务5浏览鼠标功能1.点击按住鼠标右键查看可用鼠标功能2.选择Zoom(松下鼠标右键后)。 用鼠标左键点击拖拽选择你想要放大的区域。 使用合适的鼠标功能返回Full View。 3.转到PRGRM_DECODE的原理图视图Design Analyzer左边的Current Design显示为I_PRGRM_T_TOP,但是Current Instance显示为PRGRM_DECODE。 4.实验使用鼠标中键选择多个目标。 用鼠标左键点选第一个目标,然后使用中键选择下一个目标。 被选中的目标显示为虚线边或被虚线框圈出。 综合流程中的基本步骤回忆以下步骤?编译HDL代码通常通过read_vhdl/read_verilog执行。 在本实验中,read_vhdl/read_verilog已被执行过,且结果保存在unmapped/目录下。 翻译后的设计unmapped/PRGRM_T_TOP.db已被读入DC内存。 ?约束设计?Compile?产生报告?保存结果网表任务6使用脚本文件约束PRGRM_T_TOP1.转到PRGRM_T_TOP的Symbol View2.选择菜单SetupExecute Script。 3.双击脚本目录,然后双击example.scr。 任务7映像程序对应的门级电路1.选择菜单ToolsDesign Optimization。 2.点击OK开始优化和映射过程这是执行编译命令,将出现一个编译日志窗口显示编译过程。 这将在以后进一步讨论。 3.编译完成后取消Compile LogWindow.4.浏览PRGRM_DECODE,PRGRM_FSM和PRGRM_T的Schematic View。 你现在可以看见目标库的门了(core_slow.db)。 任务8产生报告查看综合是否满足时序约束条件1.转到PRGRM_T_TOP的Symbol View。 2.在命令窗口键入rc。 Rc命令是一个在.synopsys_dc.setup档中被定义的别名。 它执行下列命令report_constraintall_violators这将产生一个报告,显示是否哪条路径包含时序违规。 记录以下信息最大时延最大违规3.返回PRGRM_T_TOP的Symbol View。 4.选择菜单AnalysisHighlightCritical Path(CTRL-T)。 关键路径,(包含最大违规的路径),将被高亮显示出。 转入层次中查看那些门包含在这条路径中。 撤销高亮显示,选择AnalysisHighlightclear(CTRL-H).任务9保存优化后的设计1.返回PRGRM_T_TOP的Symbol View。 2.选择菜单FileSave As。 3.双击映像后的目录。 4.验证存储AllDesignin Hierachy键被点选。 这是确保整个分层设计被保存而不仅是顶层设计被保存。 5.在文件名区域键入my_first-design.db。 6.点击OK。 你刚以“.db”格式在mapped目录下保存了一个门级网表(整个层次结构)。 确认文件是从UNIX窗口创建的,使用“ls-l”命令查看。 任务10将设计从Design Compiler的内存中移出1.选择菜单SetupScriptsRemove allDesigns。 验证所有Design Analyzer中的设计图示都被删除。 这个菜单项执行以下命令Remove_designdesign如果用户自定义菜单项不起作用,请求教师帮助解决这个问题。 ?在Design View(拖拽鼠标左键选中所有图示)中将你的想删除的所有设计删除。 ?选择菜单项EditDelete。 这将从Design Analyzer内存中把删除的设计移除。 2.在命令窗口键入h。 这将显示从你启动Design Analyzer以后执行的所有命令的历史记录。 任务11启动在线文献1.选择菜单HelpOn-line Documentation。 2.选择综合工具。 这将在Acrobat reader中打开一个新档。 从这个档你可以接触到任何Synopsys Synthesis工具的使用手册。 从主窗口中点击需要查看的标题直接进入手册。 你也可以从UNIX shell启动在线文献。 键入acroread$SYNOPSYS/doc/online/top.pdf&$SYNOPSYS环境变量应该指向工具安装目录。 如果不是这样,向教师请求帮助。 3.利用在线文献查找一个变量,这个变量设定了一系列在DC shell或Design Analyzer中执行过的命令写到哪个档。 4.查询关于view_mand_log_file的手册页,区别这个档的的内容和mand-_log-_file的内容的不同。 5.完成时选择FileExit(在在线文献窗口中)。 6.选择HelpCommands。 在手册页查找一个命令或一个变数,试试current_design或者pile。 7.结束时点击取消。 复习题答案可在本实验最后部分查找到题1.如何在Design Analyzer中选择多个目标?题2.鼠标左键有哪些可用功能?题3.按顺序编排以下综合流程中的基本步骤A.编译B.读入未映像的设计C.生成约束报告D.应用约束脚本文件E.保存映像后的设计F.验证是否满足约束条件G.建立库变量题4.如何使用Design Analyzer对设计进行优化并映射?题5.哪一项Design Analyzer的菜单项是用来进行保存设计的?题6.在设计流程中进行综合有哪些优点?题7.Design Analyzer和dc_shell有什么区别?题8.为什么要创建一个.synopsys_dc.setup文件?题9.如何验证库变量是否配置正确?题10.如何使用“read”命令将VHDL或verilog代码读入Design Analyzer?题11.你可以对设计设定的两个优化目标是什么?题12.target_library变量的功能是什么?3分区-优化综合的结果实验目的?掌握在DA中使用group和ungroup命令对设计进行分区?分析一个设计的分区,如果有必要可重新分区实验流程图读文件mapped/My_first_design.db分析分区,高亮显示关键路从DA中移去所有设计读文件unmapped/PRGRM_T_TOP.db使用ungroup命令重分区group和运行脚本文件Scripts目录下的example.sce编译产生约束报表退出DA任务1分析“PRGRM_T_TOP”中的分区1.启动DA2.选择File-Read3.双击mapped目录,然后点击my_first_design.db4.进入“PRGRM_T_TOP”的原理视图并高亮显示关键路径,进入子块查看关键路径的起点和终点,可以看到这条路径完全是一个组合模块这一课讨论分区规则的违约问题,在组合逻辑的时序路径中,顶层边界限制了综合优化能力5.下图中,在空白处画出“PRGRM_T_TOP“的模块图,并指出关键路径的起始点和终止点,思考一下,这个设计违反了哪条分区规则,我们怎样改善这个分区YUYU你将使用DC中group和ungroup命令纠正分区问题6.从设计视图中移出所有的设计任务2读原代码和重分区1.读入未映像的设计档unmapped/PRGRM_T_TOP.db2.进入原理视图,选择PRCRM_DECODE和PRGRM_T3.选择Edit-Group原始分区重分区4.输入新的设计名NEW_PC5.输入单元名I_NEW_PC6.点击OK注意一个标明为NEW_PC的“box”取代前两个已选择的单元7.进入“I_NEW_PC(NEW_PC设计)”的原理视图,并确定你正在NEW_PC原理视图处,同时注意到DA窗口的底部已经改为I_NEW_PC实例8.选择单元“I_PRGRM_DECODE”和“I_PRGRM_T”9.选择Edit-Ungroup10.点击ok任务3分析结果1.进入PRGRM_T_TOP的符号视图或原理图视图区,查看DA窗口的底部,保证当前的设计是“PRGRM_T_TOP”2.执行脚本文件scripts目录下的example.scr文件3.在PRGRM_T_TOP设计中执行设计优化()命令4.产生带有所有违约的约束报告5.选择File-Quit6.如果不再使用此设计,可以点击“OK”推出DA,没必要保存该设计复习题题1.在原代码中正确的分区一个设计,为什么是重要的?题2.不解组整个层和编译一个展开的设计的一个原因是什么?题3.怎样使用dc_shell命令中group和ungroup对PRGM_DECODE和PRGRM_T进行重新分区?Current_design:Group:Current_design:Ungroup:题4.从一个好的分区中你可以得到哪3个有利的优化结果?题5.在RTL代码中怎样进行分区?题6.列出两条分区原则,以便加快编译速度?题7.列出一条分区原则,有助于简化设计约束?4评价代码风格实验目的?评估一个带有if语句的代码实例?检查循环和资源分配实验四A的流程图I F语句在UNIX中,打开source/vhdl/if_bad.vhd或者source/verilog/if_bad.v列出问题清单并画出“硬件”读入设计编译连接设计产生面积报告并高亮最大路径对IF_BEST重复以上步骤对IF_GOOD重新编码以便用来比较设计自选评价source/vhdl/case_best.vhd或者source/verilog/i case_best.v注意使用case语句(在Verilog中带有平行case指令)可能是编写这个设计最清楚、最安全的方式练习4A的工作区答案附在本实验末尾问题一陈述你在IF-BAD中发现的问题问题二画出IF-BAD中描述的硬件问题三画出IF-BEST中描述的硬件实验四A的结果表格每个设计编译之后填写结果IF-BAD和IF-BEST的Verilog代码IF-BAD和IF-BEST的VHDL代码任务1编译IF-BAD1.在一个文本器中打开source/vhdl/if_bad.vhd或者source/verilog/if_bad.v2.在前面的工作区页面中列出代码类型的问题并画出代码描述的硬件3.在DA中选择File=Read4.双击source路径,接着点VHD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度高校学生实习保密责任书
- 2025年大件货物运输合同模板及运输路线规划
- 2025彩钢房智能仓储解决方案合同
- 2025年度智慧城市区域承包运营管理合同
- 2025版地下空间打桩工程合同范本
- 2025版海绵城市铺装工程合作协议
- 2025二手挖机二手挖掘设备买卖合同示范文本
- 2025年太阳能照明系统维护与检修合同
- 2025房地产抵押贷款中介服务合同范本
- 2025年食品加工委托生产产业链整合合作协议
- 糖尿病患者围手术期麻醉管理
- 胃肠疾病预防与健康管理
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 全球化背景下文化自信的传承与创新
- 合规监督概念课件
- 电力变压器智能数字孪生体的构建与展望
- 无锡金栢精密模具有限公司搬迁项目环评资料环境影响
- 放射防护监测原始记录表模板
- 2025-2030中国奶酪行业市场发展现状及竞争格局与投资前景研究报告
- 垫资过桥合同协议
- 规范化司法所模板
评论
0/150
提交评论