您好,欢迎访问三七文档
1武汉大学电工电子实验教学示范中心集成电路设计实验实验报告电子信息学院电子信息工程专业年月日实验名称逻辑仿真DC指导教师姓名年级学号成绩一、预习部分1.实验目的(预期成果)2.实验基本原理(概要)3.主要仪器设备(实验条件,含必要的元器件、工具)一.实验目的:1.利用简单的例子学习熟悉综合的三个步骤:翻译、优化、映射;2.学习设置DC的库函数和对象;3.学习designvision的基本操作;4.学习设计分区的基本概念和操作;5.学习综合的基本操作的作用和意义;6.学会用designvision来实现对设计的综合。二.实验原理:1)DC是Synopsys综合工具的核心。在对一个设计进行综合时,可以选用两种界面:A.DesignVision(简称DV)—图形窗口界面;B.dc_shell—命令行界面。2)DC设计流程图3)设计的优化与综合:优化分为三个阶段:结构优化阶段,逻辑优化阶2段,门级优化阶段。最常用的约束和时序检查命令:�.report_constraint-all_violators:报告设计约束的所有违约。�.report_timing-delay_max:报告每一个路径组建立时间(setuptime)约束的最差时序路径。�.report_timing-delay_max:报告每一个路径组保持时间(holdtime)约束的最差时序路径。三.实验设备与软件平台:基于UNIX系统的服务器、PC工作站、SynopsysDC综合软件。二、实验操作部分1.实验数据、表格及数据处理(综合结果概要、仿真波形图、时序分析结果、signalTAPII结果等)2.实验操作过程(可用图表示)3.结论四.实验步骤:实验一DC工具逻辑综合基本流程实验1、进入risc_design所在的目录,键入:shelldesign_vision-xg。2、在File-setup中设置各个库,如下:Targetlibrary“core_slow.db”Link_library“*core_slow.db”Symbol_ibrary“core.sdb”3、读入所需的设计文件入unmapped/PRGM_CNT_TOP.ddc并链接(Link)。4、打开各个模块,并观察他们的“SymbolView”和“SchameticView”。如图4-1、4-2、4-3、4-4。由于还没有进行优化,所以此时看到的并不是门级的网表图。图4-1PRGRM_CNT_TOP3图4-2PRGRM_FSM图4-3PRGRM_DECOOE图4-4PRGRM_CNT5、在命令行中输入:sourcescripts/example.tcl,此时可以用文件中的内容对设计进行约束(也可以在图形窗口界面的file目录下选择design进行约束);6、键入:compile,可以完成对设计的综合;再观察各个模块的“SchematicView”,此时看到的是门级网表。如图6-1、6-2、6-3、6-4.4图6-1PRGRM_CNT_TOP图6-2PRGRM_FSM图6-3PRGRM_DECOOE图6-4PRGRM_CNT7、观察PRGM_CNT_TOP的SymbolView,并在命令栏中输入:report_constraint-all_violators,会产生关于时间和面积约束的报告,记录下maxdelay和maxarea。如图7-1、7-2(在图形窗口界面中的design菜单下5的reportdesign也可以达到同样的效果)。图7-1max-delay图7-2max-area8、观察PRGM_CNT_TOP的SchematicView,选择ViewHighlightCriticalPath,在图上会显示出关键路径。关键路径是指违反时间约束或时间容限或者时间容限很小的路径。这些路径是优化的重点。如图8-1.6图8-19、用my_first_design.ddc的形式将文件保存在mapped文件夹下。10、利用FileRemovealldesigns将设计从DC的内存中去除。实验二分区设计、时间约束设计和DC_Tcl实现分块设计:1、进入risc_design所在的目录,,Read和Link在mapped目录下的设计项目my_first_design.ddc。2、键入命令timing/endpointSlack,这条指令的作用是观察各个接口的延迟情况。如图2-1图2-13.观察PRGM_CNT_TOP的SchematicView,选择ViewHighlightCriticalPath,在图上会显示出临界值的路径。点击子模块查看临界的路径。记录画出临界路径的。如图图3-1PRGRM_CNT_TOP7图3-2PRGRM_DECOOE图3-3PRGRM_CNT图3-4PRGRM)FSM4、清除内存中的设计项目:File/RemoveAllDesign。重新读入和链接新的项目,Read和Link项目unmapped/PRGRM_CNT_TOP.ddc。5、在“LogicalHierarchy”重新分块,,两个子模块都选择,I_RPGRM_DECODE和I_PRGRM_CNT。6、用命令design_vision-xg-tget_selection查看是否选择好了。输入指令:design_vision-xg-tgroup–designNEW_PC-cellI_NEW_PC[get_selection],然后:design_vision-xg-treport_hierarchy,记录相关信息。如图7-1(同时选择要合并的两个模块,右键选择group8会弹出group的窗口,在窗口中也可以选择要合并的模块和指定新模块的名称,实现和指令相同的功能)。7、运行命令design_vision-xg-tungroup–start_level2I_NEW_PC。8、转到“Symbol”或者“Schematic”视图,执行命令:sourceScripts/example.tcl,并编译。10、再次生成报告文件report_constraint-all_violators,并且把相关的信息记录在表上(在图像界面上的design菜单中同样可以选择生成不同的report)。Tcl文件的编辑与使用:1、选择打开unmapped/PRFRM_CNT_TOP.ddc文件。2、运行link连接;指向该项目的约束条件由./scripts/example.Tcl文件决定,并编译。3、产生和保存结果到reports/PRGRM_CNT_TOP.rpt,保存网表文件为mapped/PRGRM_CNT_TOP.ddc,退出编译。4、在./scripts的文件夹下面建立一个runit.tcl的文件,将下面的内容键入,并保存起来。5、在UNIX下输入:dc_shell-xg-t–fscripts/runit.tcl,则整个综合过程可以在一9次工作中全部完成,结束后可以用designvision来观察结果,会发现与上面是一样的。时间约束设计:1、进入risc_design所在的目录,打开designvision,读入设计unmapped/PRGRM_CNT_TOP.ddc。2、对设计进行约束,首先建立一个名为constraints.tcl的文件,用来记录所有的约束命令,从而使下次应用时可以直接导入文件。3、对时钟产生一个报告,检查是否有错误,如图3-1图3-14、对设计产生报告,观察延时情况,105、保存约束好的设计,然后将设计从设计中清除。三、实验效果分析(与预期结果的比较,实验中发现的问题。包括仪器设备等使用效果)总结:1.设计优化的最终目的是解决时序和面积的矛盾。在优化的过程中,时序和面积是两个矛盾的约束。当把时序约束放宽时,则能得到比较小的面积。时序约束要求越高则芯片的面积要求将越大。现在由于时序方便的问题更重要,已经把时序约束放在了比面积更重要的地位。因此,综合前确认综合约束命令是否正确添加到设计中时很有必要的,可以减少由于综合约束不正确重新综合优化的风险,减少综合反复的时间。2.将约束的条件写入一个文本文档命名为.tcl即可生成一个tcl文件,从而实现对项目的约束。3.实验中用到的所有指令都可以通过图形界面的各个菜单中的功能实现,用图形界面菜单操作不仅可以简化实验操作,还可以避免键入指令不合法而导致操作失败的问题。思考题:1.在designvision中如何设置库?设计优化的最终目的是什么?答:在designvision中设置库:在File-setup中设置各个库。如下:Targetlibrarycore_slow.dbLink_library*core_slow.dbSymbol_librarycore.sdb设好后选择OK结束。2.为什么要进行分区设计,采用分区设计有什么好处?答:在运用DC作综合的过程中,默认的情况下各个模块的层次关系是保留着的,保留着的层次关系会对DC综合造成一定的影响,比如在优化的过程中,各个子模块的管脚必须保留,这势必影响到子模块边界的优化效果。因而,设计划分对得到最优化是很有必要的。本实验中,运用了DC的两个命令(group和ungroup)来调整设计划分。11
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:DC
链接地址:https://www.777doc.com/doc-5704400 .html