DC 综合资料.doc_第1页
DC 综合资料.doc_第2页
DC 综合资料.doc_第3页
DC 综合资料.doc_第4页
DC 综合资料.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DC的使用一、实验目的1、掌握DC软件的基本使用流程;2、熟悉基本的DC命令,并理解其意义;3、对DC综合后的结果进行分析。二、实验工具Synopsys 公司电路综合工具Design Complier,即DC。三、实验内容概述1、利用DC图形界面进行电路综合;2、使用DC脚本文件进行电路综合;3、查看综合报告,根据报告分析电路性能。四、实验步骤(文件说明:为了演示方便,在进行下面的实验时需要用到两个文件,一个是example1.v,它是描述一个电路的verilog代码,我们的目标就是用DC综合这个代码得到满足约束条件的电路网表;另一个是dc.scr,它是综合example1.v的脚本文件。)DC既可使用图形界面,也可不使用图形界面而直接运行脚本来综合电路。当然,它们二者功能是一样的,在图形界面的每步操作都有相应的命令。我们先以较为直观的图形界面来演示各个操作步骤,并给出相应的tcl命令,再用DC脚本来对电路进行综合。准备好需要综合的文件和相应的脚本文件后,下面就开始我们的实验:一、DC图形界面的使用。1.DC图形界面的启动打开一个终端窗口,键入命令 dv db_mode,回车:则DC图形界面启动,如下图所示:红框处是DC的命令输入框,所有以下在图形界面上的操作都可以在这个命令输入框中输入相应的命令来完成。选择Help-Man Pages可以查看DC的联机帮助。相应指令:man。例:man man表示查看man命令的帮助。man create_clock表示查看creat_clock命令的帮助。2.设置库文件选择File-Setup打开如下界面:接下来就要在这设置库文件了,在设置之前我们有必要对这些库做个简单说明:l search_path是要指定综合工具的搜索路径。l target_library为综合的目标库,它一般是由生产线提供的工艺相关的库。l synthetic_library是综合库,它包含了一些可综合的与工艺无关的IP。dw_foundation.sldb是Synopsys提供的名为Design Ware的综合库,它包含了基本的算术运算逻辑、控制逻辑、可综合存储器等IP,在综合是调用这些IP有助于提高电路性能和减少综合时间。l link_library是链接库,它是DC在解释综合后网表时用来参考的库。一般情况下,它和目标库相同;当使用综合库时,需要将该综合库加入链接库列表中。l symbol_library为指定的符号库。我们的库文件设置如下:search_path:list /tools/lib/smic25/feview_s/version1/STD/Synopsys /tools/lib/smic25/feview_s/version1/STD/Symbol/synopsystarget_library:smic25_tt.db link_library :* smic25_tt.db symbol_library :smic25.sdb 设置完毕,点击OK退出该窗口。以上设置过程也可以在命令窗口键入命令来设置,相应命令为:set search_path list /tools/lib/smic25/feview_s/version1/STD/Synopsys /tools/lib/smic25/feview_s/version1/STD/Symbol/synopsysset target_library smic25_tt.db set link_library * smic25_tt.db set symbol_library smic25.sdb 3.读入verilog文件选择File-Read在打开文件对话框中选中要打开的文件,在这里我们选中sync_FIFO.v文件。在Log框中出现successfully字样表明读入文件成功。相应命令:read format verilog /home/eda000/dc/sync_FIFO.v (注:这是待打开文件的路径)。有时可能要读入多个文件,每个文件中都有电路module,则读入后要指定这些module中的最顶层module,例如顶层module名是top,则可以键入命令:current_design top来指定它。选中模块sync_FIFO后点击红色箭头所指的按钮可以查看该电路的symbol图。4.设置约束条件4.1设置时钟约束在symbol图上选中clk_i端口:选择Attributes-Specify Clock:出来设置时钟约束的对话框,按下图设置,给时钟取名为clock,周期20ns,上升沿0ns,下降沿10ns:点击OK,时钟约束设置完成。以上操作的相应命令:create_clock name clock period 20 -waveform0 10 get_ports clk_i。4.2设置复位信号约束在symbol图中选中rst_i端口(在本例中它是复位端口),选择Attributes-Optimization Directives-Input Port勾选Dont touch network选项,点击OK。相应命令:set_dont_touch_network get_ports rst_i。4.3 设置输入信号延迟约束同时选中输入端口we_i,rd_i,data_i选择Attributes-Operating Environment-Input Delay设置Relative to clock为clock(即我们刚才加约束的时钟信号),并设置上升延迟为12ns(根据经验,该值是时钟周期的60%,本例中设置了时钟周期为20ns,20*0.6=12ns。相应命令:set_input_delay 12 -clock clock get_ports list we_i rd_i data_i。4.4设置输出端口约束在symbol图上选中输出端口full_o、empty_o、data_o。选择Attributes-Operating Environment-Output Delay:设置输出延迟为12ns。或可以键入相应指令:set_output_delay 12 clock clock all_outputs。4.5设置面积约束选择Attributes-Optimization Constraints-Design Constraints设置Max area的值为0,表明让DC向电路面积为0的方向来优化电路,使面积最小。当然,面积为0是达不到的。Max fanout为4,Max transition为0.5(具体含义参见SYNTHESIS.pdf)。或键入相应命令:set_max_area 0,set_max_fanout 4,set_max_transition 0.5。5.综合优化选择Design-Compile Design点击OK。相应命令:compile map_effort medium。在Log框中出现Optimization Complete字样表明优化完成,如下图所示。6.查看报告6.1查看面积报告选择Design-Report Area。点击OK。相应命令:report_area。报告总面积为108787.710938,单位是平方微米。6.2查看约束报告选择Design-Report Constraints在这里我们只查看all violators选项(勾选show all violators),该选项是报告综合后所有不满足原先设置的约束条件的条款。从下图可以看出有max_area(最大面积)和max_fanout两项约束不满足,因为我们设置的最大面积约束是0(见4.5),而实际综合出的电路面积是108787。该项violator是合理的。由于rst_i是复位信号其扇出非常高,同时由于我们之前对rst_i信号设置了dont_touch,DC在综合的过程中没有对该信号进行优化,所以在DRC的时候会违反我们设定的max_fanout(最大扇出)。如果还存在其它violators,说明前面的约束设置不合理或电路设计不合理,需要对其修改,最终要求除max_area violator外没有其它violators。相应命令:report_constraint all_violators。 6.3时序报告选择Timing-Report Timing点击OK。相应命令是:report_timing报告的是最大延迟路径,这里我们看到红圈中所标slack值为5.28,是正值,说明电路满足时序要求;如果该值是负的,就表明电路不满足我们前面所设的时序约束条件,要更改原设计或调整约束。7.保存文件现在DC综合的工作已基本结束,我们需要保存综合后产生的几个文件,如电路网表和延迟文件等,以备后续工作所需。选择File-Save As:保存成.db文件。相应命令:write format db -hierarchy -output /home/eda000/report/sync_FIFO.db -xg_force_db再保存成.v文件(即网表文件)。相应命令:write format verilog hierarchy output /home/eda000/report/sync_FIFO_netlist.v 我们后面可能会用刚才保存好的网表文件做仿真,可以保存该网表的延迟文件,仿真时就可以加入相应的门延迟信息,相应的命令是:write_sdf version 2.1 /home/eda000/report/sync_FIFO.sdf。8.退出DC选择File-Exit。相应命令:exit。二、DC脚本的使用脚本是许多命令的集合,在运行脚本时,DC按脚本里的命令顺序执行。1.启动非图形界面打开一个终端窗口,输入dc_shell -t,回车。出现红框里字样表明启动DC成功。2.运行脚本输入source ./dc.scr,回车:出现Optimization complete表明综合优化完成。3.退出DC输入exit命令退出。附:dc.scr脚本的内容如下:(蓝色字体是说明,脚本中并没有这些文字)remove_design designs /移除DC中原有的设计.tcl 脚本/下面是库的设置,对应图形界面操作的2#set library #set search_path list /tools/lib/smic25/feview_s/version1/STD/Synopsys /tools/lib/smic25/feview_s/version1/STD/Symbol/synopsysset target_library smic25_tt.db set link_library smic25_tt.db set symbol_library smic25.sdb /读入example1.v文件,对应于图形界面的3#read&link&Check design#analyze format verilog /sync_FIFO.v /文件格式读入当前目录下的.v的文件elaborate sync_FIFO /模块名 module后的名字current_design sync_FIFO /把EXAMPLE1指定为当前设计的顶层模块名uniquify /模块的不同处理check_design/设置一些变量/设置约束条件,对应于图形界面的4# set_constraints #/设置时钟约束,对应于图形界面的4.1#1 set constraints for clock signalscreate_clock -name clk_i -period 20 -waveform 0 10 clk_i /以-指令/创建一个周期为20ns,占空比为1的时钟/ man *clock 查看clock所有的指令set_dont_touch_network clk_i rst_i /将时钟和复位不对它们设置优化set_drive 0 clk_i rst_i /设置驱动为无穷大数值越小驱动越大set_ideal_network clk_i rst_i /设置理想网线/设置输入延时,对应图形界面的4.3#3 set input delayset_input_delay -max 8 -clock clock we_i rd_i data_i/三个输入端口set_input_delay -min 8 -clock clock we_i rd_i data_i/设置输出延时,对应图/形界面的4.4 8纳秒#4 set output delayset_output_delay -max 8 -clock clock empty_o full_o data_oset_output_delay -min 8 -clock clock empty_o full_o data_o/设置面积约束和设计约束,对应图形界面的4.5#5set design rule constraintsset_max_area 0 /设置面积最小化期待为零set_max_fanout 4 current_design/4个扇出为最优set_max_transition 0.5 current_designset_max_capacitance 0.5 current_designcheck_timing/对时序约束的检查/综合优化,对应图形界面的5# compile_design #compile -map_effort medium /对电路中等优化/保存文件,对应图形界面的7# write *.db and *.v #write -f db -hier -output sync_FIFO.db /-hier保留设计层次write -f verilog -hier -output sync_FIFO.v write_sdf -version 2.1 sync_FIFO.sdf /保存反标文件标准时序文件/产生报告并保存,对应图形界面的6# generate reports #输出网表文件write -hierarchy -format

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论