synopsysdc中文教程比较详细课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《synopsysdc中文教程比较详细课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- synopsysdc 中文 教程 比较 详细 课件
- 资源描述:
-
1、提纲综合的定义ASIC design flowSynopsys Design Compiler的介绍Synopsys technology libraryLogic synthesis的过程Synthesis 和 layout的接口LTLPost_layout optimizationSDF文件的生成第1页/共126页综合的定义逻辑综合:决定设计电路逻辑门的相互连接。逻辑综合的目的:决定电路门级结构、寻求时序和与面积的平衡、寻求功耗与时序的平衡、增强电路的测试性。逻辑综合的过程:首先,综合工具分析HDL代码,用一种模型(GTECH),对HDL进行映射,这个模型是与技术库无关的;然后,在设计者的
2、控制下,对这个模型进行逻辑优化;最后一步,进行逻辑映射和门级优化,将逻辑根据约束,映射为专门的技术目标单元库(target cell library)中的cell,形成了综合后的网表。第2页/共126页ASIC design flowVerified RTLDesignConstraintsIP and LibraryModelsLogic Synthesis optimization&scan insertionStatic Timing AnalysisFormal verification Floorplan placement,CT Insertion&Global routingTr
3、ansfer clock tree to DCPost global routeStatic Timing AnalysisDetail routingPost-layout Optimization(in-place optimization(IPO)Static Timing AnalysisTape outTime ok?Time ok?nonoTime ok?no第3页/共126页ASIC design flow设计举例,tap控制器,已完成代码编写及功能仿真:Tap_controller.v Tap_bypass.v Tap_instruction.v Tap_state.v 完成全
4、部设计还需经过如下几个步骤:Pre_layout Synthesis STA using PrimeTime SDF generation Verification Floorolanning and Routing Post_layout 反标来自layout tool的信息,STA using PrimeTime Post-layout Optimization Fix Hold-Time Violation第4页/共126页ASIC design flow Initial Setup:建立设计环境,技术库文件及其它设计环境设置。DC.synopsys_dc.setup 文件 compan
5、y =“zte corporation”;designer =“name”;technology=“0.25 micron”search_path=search_path+“.”“/usr/golden/library/std_cells”“/usr/golden/library/pads”target_library=std_cells_lib.db link_library =“*”,std_cells_lib.db,pad_lib.db symbol_library=std_cells.sdb,pad_lib.sdb第5页/共126页ASIC design flowSynthesis:利
6、用约束完成设计的门及实现及扫描插入Constrain scripts /*Create real clock if clock port is found*/if(find(port,clk)=clk)clk_name=clk create_clock-period clk_period clk /*Create virtual clock if clock port is not found*/if(find(port,clk)=)clk_name=vclk create_clock-period clk_period-name vclk第6页/共126页ASIC design flowCo
7、nstrain scripts(续)/*Apply default drive strengths and typical loads for I/O ports*/set_load 1.5 all_outputs()set_driving_cell-cell IV all_inputs()/*If real clock,set infinite drive strength*/if(find(port,clk)=clk)set_drive 0 clk /*Apply default timing constraints for modules*/set_input_delay 1.2 all
8、_inputs()-clock clk_name set_output_delay 1.5 all_outputs()-clock clk_name set_clock_skew-minus_uncertainty 0.45 clk_name /*Set operating conditions*/set_operating_conditions WCCOM /*Turn on Auto Wireload selection Library must support this feature*/auto_wire_load_selection=true第7页/共126页ASIC design
9、flowCompile and scan insert的scripts,采用bottom_up的编译方法 set_fix_multiple_port_net buffer_constants all compile scan check_test create_test_pattern sample 10 preview_scan insert_scan check_test 如果模块内的子模块具有dont_touch 属性需添加如下命令,因要插入扫描 remove_attribute find(-hierarchy design,”*”)dont_touchWrite netlist rem
10、ove_unconnected_ports find(-hierarchy cell,”*”)change_names hierarchy rules BORG set_dont_touch current_design write herarchy output active_design+”.db”write format verilog hierarchy output active_design+”.sv”第8页/共126页ASIC design flowPre_layout 的 STA:用DC的静态时序分析引擎做block的STA,用PrimeTime做full_chip的STA。S
11、etup_time分析 Hold_time分析 其时序约束和提供给DC做逻辑综合的约束相同。静态时序分析同综合一样,是一个迭代的过程,和cell的位置及布线关系密切,通常都执行多次,直到满足需要。第9页/共126页ASIC design flowSDF generation,pre_layout的SDF文件,用于pre_layout timing仿真,同时还需提供时序约束文件(SDF格式)给layout tool做布局布线。script文件如下:active_design=tap_controller read active_design current_design active_desig
12、n link Create_clock period 33 waveform 0 16.5 tck Set_dont_touch_network tck trst set_clock_skew delay 2.0 minus_uncertainty 3.0 tck set_driving_cell cell BUFF1X pin Z all_inputs()set_drive 0 tck trst set_input_delay 20.0 clock tck max all_inputs()set_output_delay 10.0 clock tck max all_outputs()wri
13、te_timing format sdf-v2.1 -output active_design+”.sdf”write_constraints format sdf cover_design -output constraints.sdf第10页/共126页ASIC design flowVerification 利用SDF文件进行动态时序仿真:利用功能仿真时。用verilog 编写的test_bench 文件 形式验证:利用数学算法检查设计的逻辑的等效性,静态验证,需要的时间比动态仿真少,验证全面。在这里验证RTL描述与gate_level网表的逻辑等效性。Floorolanning and
14、 global Routing;Estimated 寄生电容和RC delay的抽取;利用抽取的参数静态时序分析,若时序不满足要求,生成custom wire_load 做incremental synthesis即post_layout的优化,采用reoptimize_design in_place命令,其script文件需反标抽取的参数到设计;Detail routing;real寄生电容和RC delay的抽取;利用抽取的参数静态时序分析,修正hold_time如需要做post_layout的优化;生成post_layout的SDF文件,做gate_level仿真验证;第11页/共126
15、页ASIC design flowECO Engineering change order,不属于正常的ASIC流程,一般只有在ASIC设计的后期,需要改变网表,可利用ECO,例如,在tape-out(sign-off)以后,遇见设计的硬件bug。采用ECO可仅对设计的一小部分重新布线不影响chip其他部分的位置及时序,通常,修改不能大于10%。最新版本的DC提供由ECO compiler,可使设计者手工修改网表,节省时间。一些layout工具也具有ECO功能。第12页/共126页DC介绍Synopsys Design Compiler,是一个基于UNIX系统,通过命令行进行交互的综合工具,除
16、了综合之外,它还含有一个静态时序分析引擎及FPGA和LTL(links-to-layout)的解决方案。我们就以下几个方面对DC做以介绍:script文件:由DC的命令构成,可使DC自动完成综合的整个过程。DC支持的对象、变量、属性 DC支持的文件格式及类型 DC在HDL代码中的编译开关,控制综合过程 Translate_off/translate_on:指示DC终止或开始verilog 源代码转换的位置。full_case:阻止case语句在不完全条件下生成latch。第13页/共126页Script 文件Script 文件 Script 文件的构成 DC综合环境设置(.synopsys_d
17、c.setup);属性和约束信息;综合命令(read,compile);控制流命令;Conditional:Looping:if(expr)foreach(variable,list)dc_shell commands dc_shell commands else dc_shell commands while(expr)dc_shell commands Script 文件的检查:DC提供syntax and context checkers来检查Script文件的错误第14页/共126页DC支持的对象、变量、属性对象,DC将设计对象分为8类,分别如下:Design:具有某种或多种逻辑功能的
18、电路描述;Cell:设计的instance;Reference:cell或instance在库中定义的名字;Port:design的输入、输出;Pin:design中cell的输入、输出;Net:ports和pins之间或pins之间的信号名;Clock:被定义为时钟源的pin或port;Library:cell的集合,如:target_library,link_library;第15页/共126页DC支持的对象、变量、属性例如:第16页/共126页DC支持的对象、变量、属性对象的查找命令格式 find -hierarchy type:DC支持的所有对象;name list:设计对象或库对象的
19、清单;-hierarchy:用于在设计的各层次寻找的对象;该命令的返回值为List,list:一种字符串类型,例如:mylist=el1 el2 el3 例如:第17页/共126页DC支持的对象、变量、属性变量,一种标识符,DC用于存储信息,可做为命令的操作参数。DC预定义的变量,可用它获得综合过程中的有关信息,如dc_shell_status;DC预定义的变量总有一个缺省值,用户可定义另外的值,如;dc_shellvhdlout_use_package=library IEEE.std_logic_1164;library STD_LIB;用户定义的变量,用于自动化综合的过程。如,可定义一个
20、变量,存储某个时钟域的flop的个数。定义变量:dc_shelldesigner=“myname”;获得UNIX的环境变量:dc_shelldesigner=get_unix_variable(“USER”)显示变量的值:dc_shellList target_library target_library=“cbacore.db”列出所有的变量:dc_shellList variable all移去变量:dc_shell remove_ variable designer,变量没有移去之前,不得重新定义。注:变量值不会被保存在设计数据库中。第18页/共126页DC支持的对象、变量、属性属性,D
21、C用于存储具体的设计对象,如:nets,cells,clocks的信息,一般来说,属性都是DC预定义,命令如下:set_attribute get_attribute dc_shellget_attribute STD_LIB default_max_transition第19页/共126页DC的文件格式及类型DC支持的文件格式*.db文件,DC的内部文件格式 Verilog文件 VHDL EDIF:electronic design interchange format,用于不同工具间门级网表的移植DC的文件类型 Script files.scr RTL verilog file.v RTL
22、 VHDL file.vhd Synthesized VHDL netlist.svhd EDIF file.edf Synthesized verilog netlist.sv Synopsys database file.db report.rpt Log files.log第20页/共126页Synopsys technology librarySynopsys technology library technology library由半导体制造商提供,定义cell的相关信息及设计标准约束,分为两类:target libraries:在门级优化及映射时,提供生成网表的cell;link
23、 libraries:提供设计网表中可引用的cell,DC不利用link libraries的cell做综合;Synopsys technology library结构组织可看作实际上的技术库标准,它是一个文本文件(扩展名“.lib”),在使用之前,需被LC编译,产生一个“.db”文件,其构成如下:Library Group;Library level attributes;Environment description;Cell description;第21页/共126页Synopsys technology libraryLibrary Group:定义库名 library(ex25)/
24、*Library Group /*start of library*/*end of library*/一般,一个库文件含有一个Library Group,库文件和Library 名相同。第22页/共126页Synopsys technology libraryLibrary level attributes:定义技术库的全局属性,如:技术库的类型(CMOS/TTL)、日期、版本及缺省值,例如:library(ex25)technology(cmos);delay_model :table_lookup;date :”feb 29,2000”;revision :”1.0”;current_u
25、nit :”1A”;time_unit :”1ns”;voltage_unit :”1V”;pulling_resistance_unit :”1kohm”;capacitive_load_unit(1.0 pf);default_inout_pin_cap :1.5;default_input_pin_cap :1.0;default_output_pin_cap :0.0;default_max_fanout :10.0;default_max_transition :10.0;default_operating_condition :NOMINAL;in_place_swap_mode
展开阅读全文