《集成实验DC实验报告(共7页).doc》由会员分享,可在线阅读,更多相关《集成实验DC实验报告(共7页).doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上武汉大学集成电路设计实验实验报告 电子信息 学院 电子信息工程 专业 2014 年 5 月 2 日实验名称逻辑综合(DC工具)实验指导教师姓名江燕婷年级2011级学号25成绩一、预习部分1 实验目的(预期成果)2 实验基本原理(概要)3 主要仪器设备(实验条件,含必要的元器件、工具)一、实验目的1.掌握综合的基本流程和Design Compile软件的使用2.对设计进行分块设计以获得更好的综合效果;3. 对设计进行时间约束的综合。二、实验原理1.综合DC是把RTL级的代码转化为门级网表。综合包括翻译,优化,映射三个步骤。优化是基于所施加的一定时序和面积的约束条件,综合
2、器按照一定的算法对翻译结果做逻辑优化和重组。在映射过程中,根据所施加的一定的时序和面积的约束条件,综合器从目标工艺库总搜索符合条件的单元来构成实际电路。2.时序与面积约束 通过描述其设计环境,目标任务和设计规则来系统的约束设计。约束主要包含时序和面积信息,它们通常是从规格说明中提取出来的。DC用这些约束去综合和优化设计以符合其目标任务。3.环境变量,设计规则和设计优化(1)设计环境条件约束的环境变量set_operating_conditions描述了设计的工艺、电压和温度等条件;set_load定义了输出单元总的驱动能力;set_driving_cell模拟了驱动输入管脚的驱动单元的驱动电阻
3、; set_drive指明了输入管脚的驱动强度,模拟了输入管脚的外部驱动电阻;set_wire_load用来提供估计的统计线载(wire load)信息,反过来也用线载信息模拟net 延时。(2) 设计规则set_max_transition,set_max_ capacitance,set_max_fanout 设计规则在技术库中设置,为工艺参数所决定。set_max_transition set_max_capacitance set_max_fanout 三. 实验设备与软件平台基于UNIX 系统的服务器、PC 机(windows)、DC 综合软件二、实验操作部分1 实验数据、表格及数据
4、处理(综合结果概要、仿真波形图、时序分析结果、signalTAPII 结果等)2 实验操作过程(可用图表示)3 结论四. 实验内容1. 对设计进行分块设计;2. 会用DC_tcl完成设计命令;3. 时间约束设计;4.环境属性设置和规则设计。五. 实验步骤1 分块设计(1) 进入risc_design 所在的目录,Read 和Link 在mapped 目录下的设计项目my_first_design.ddc,在DesignVision 环境中,生成默认的“End Point Slack”。命令timing/endpoint Slack /ok,记录下最大的违反约束的数值,记录最大的单元面积。得到最
5、大违反约束数值为0.13,最大面积2895.35。图1(2) 观察PRGM_CNT_TOP 的Schematic View,选择ViewHighlightCriticalPath,在图上会显示出临界值的路径。点击子模块查看临界的路径。并记录画出临界路径。(3) 清除内存中的设计项目:File/RemoveAllDesign 。重新读入和链接新的项目, Read 和Link 项目unmapped/PRGRM_CNT_TOP.ddc。在“Logical Hierarchy”重新分块,两个子模块都选择,I_RPGRM_DECODE和I_PRGRM_CNT(可使用CTRL+鼠标左键单击选择)。然后运行
6、命令:design_vision-xg-tgroup design NEW_PC -cell I_NEW_PC get_selection(4) design_vision-xg-treport_hierarchy noleaf,记录相关信息。再运行命令design_vision-xg-tungroup start_level 2 I_NEW_PC。转到“Symbol”或者“Schematic”视图,执行命令:source Scripts/example.tcl。执行默认的编译compile。再次生成报告文件report_constraint -all_violators,并且把相关的信息记录
7、在表上,与上一次的记录相比较。2. Tcl文件的编辑与使用(1) 进入unmapped 所在的目录,并选择unmapped/PRFRM_CNT_TOP.ddc 文件。设置当前的工作项目为PRFRM_CNT_TOP。运行link 连接;指向该项目的约束条件由./scripts/example.Tcl 文件决定。执行默认的compile 编译。 产生和保存结果到reports/PRGRM_CNT_TOP.rpt。保存网表文件为mapped/PRGRM_CNT_TOP.ddc。 在./scripts 的文件夹下面建立一个runit.tcl 的文件,将下面的内容键入,并保存起来:# Run scrip
8、t for PRGRM_CNT_TOPread_ddc unmapped/PRGRM_CNT_TOP.ddccurrent_design PRGRM_CNT_TOPlinksource scripts/example.tclcompileredirect -tee reports/PRGRM_CNT_TOP.rpt report_constraint -all_violatorswrite -hier -format ddc -output mapped/PRGRM_CNT_TOP.ddcquit(2) 在UNIX 下输入:dc_shell-xg-t f scripts/runit.tcl,则
9、整个综合过程可以在一次工作中全部完成,结束后可以用design vision 来观察结果,会发现与上面是一样的。3. 时间约束设计(1) 进入risc_design 所在的目录,并进入dc。检查库的设置,确保target_library 是core_slow.db,而link_library 是*core_slow.db。读入设计unmapped/ PRGRM_CNT_TOP.ddc。将设计与库连接起来,用link design。(2) 对设计进行约束,首先建立一个名为constraints.tcl 的文件,用来记录所有的约束命令,从而使下次应用时可以直接导入文件。在设计约束前应当将原来的约束
10、取消,键入:reset_design。设置一个250MHz(即4ns)的时钟,由于时钟在现实中不是理想的,所以要设置clock skew并对除时钟端口外的所有输入端口设置输入延时。同样,对输出端口设置延时。(3) 对时钟产生一个报告,检查是否有错误,即命令:report_clock skew attribute图2(4) 对设计产生报告,观察延时情况,即命令:view report_port verbose图3图44.环境属性设置和规则设计(1)环境约束采用库中默认值对设计的操作环境进行约束,不用输入任何命令。线载模型也使用默认值。用set_driving_cell 命令可以模拟用触发器来驱动
11、非时钟输入口,如下:set_driving_cell -lib_cell fdef1a1 -pinQ all_inputs。产生驱动单元的属性报表命令:report_attribute pin get_pins ssc_core_slow/fdf1a1/*对输入口设置最大的电容量:set_max_capacitance expr load_of ssc_core_slow/and2a1/A 对输出口设置输出负载:set_load expr load_of ssc_core_slow/and2a1/A * 15 all_outputs。将上述的命令补充到constraints.tcl 文件中。w
12、rite_script output scripts/pc_w.tcl,开始综合:compile scan。保存设计到mapped/PC.ddc。图5(2) 设计规则和最小时延读取先前的设计PC.ddc。将./scripts/.lab7_solution.tcl 文件应用于PRGRM_CNT_TOP并保存。 为了观察已有的约束和延时方面的信息,使用如下的命令:report_constraintsreport_timing delay min图6执行下面的命令修复设计规则和时序上的违背:set_fix_hold all_clockscompile scan inc map_effort high
13、(3)时序报告读入文件/mapped/PRGRM_CNT_TOP.ddc 。使用命令check_timing 查看该项目有没有时间约束。使用命令report_path_group查看该项目有多少个路径组。使用查看工具来生成默认的时间报表回答如下问题。显示输入的时序:report_timing input_pins significant 6图7显示net 的名称及扇出系数:report_net nets图8三、实验效果分析(与预期结果的比较,实验中发现的问题。包括仪器设备等使用效果)六.实验效果分析1.实验结果与实验指导预期结果相同,验证了分区设计与时间约束设计的效果。2.在DC图形界面中很多
14、命令可以通过菜单栏实现。3.设计优化的最终目的是解决时序和面积的矛盾。当把时序约束放宽时,则能得到比较小的面积;时序约束越高则芯片的面积要求将越大。综合前要确认综合约束命令是否正确添加到设计,以减少由于综合约束不正确重新综合优化的风险,减少综合反复的时间。4.将约束的条件写入一个文本文档命名为.tcl即可生成一个tcl文件,从而实现对项目的约束。七.思考题1. 在读入PRGM_CNT_TOP 的时候,为什么要对设计进行复位处理?答:读入项目时对设计进行复位,以将该项目原来的时间约束消除。2. 为什么要进行分区设计,采用分区设计有什么好处?答:在运用DC作综合的过程中,默认的情况下各个模块的层次关系是保留着的,保留着的层次关系会对DC综合造成一定的影响,比如在优化的过程中,各个子模块的管脚必须保留,这势必影响到子模块边界的优化效果。因而,分区设计对得到最优化的结果是很有必要的。3.时间约束和面积约束哪一个有最大的优先级? 答:DC综合时,时间约束的优先级要比面积优先级高。四、源代码(仅记录自己设计的,或者针对实验资料修改的部分)教师评语专心-专注-专业