数字电路自动化设计.ppt
《数字电路自动化设计.ppt》由会员分享,可在线阅读,更多相关《数字电路自动化设计.ppt(53页珍藏版)》请在课桌文档上搜索。
1、数字电路自动化设计,Design Flow,LEDAVCSDC,ISEFMPTICC,AstroPrimeRailDFT CompilerStarRCVirtuoso,Cadence,2,综合的定义,逻辑综合:决定设计电路逻辑门的相互连接。逻辑综合的目的:决定电路门级结构、寻求时序和与面积的平衡、寻求功耗与时序的平衡、增强电路的测试性。逻辑综合的过程:首先,综合工具分析HDL代码,用一种模型(GTECH),对HDL进行映射,这个模型是与技术库无关的;然后,在设计者的控制下,对这个模型进行逻辑优化;最后一步,进行逻辑映射和门级优化,将逻辑根据约束,映射为专门的技术目标单元库(target cel
2、l library)中的cell,形成了综合后的网表。,ASIC design flow,Verified RTL,DesignConstraints,IP and LibraryModels,Logic Synthesis optimization&scan insertionStatic Timing Analysis,Formal verification,Floorplan placement,CT Insertion&Global routing,Transfer clock tree to DC,Post global routeStatic Timing Analysis,Det
3、ail routing,Post-layout Optimization(in-place optimization(IPO)Static Timing Analysis,Tape out,Time ok?,Time ok?,no,no,Time ok?,no,ASIC design flow,设计举例,tap控制器,已完成代码编写及功能仿真:Tap_controller.vTap_bypass.vTap_instruction.vTap_state.v完成全部设计还需经过如下几个步骤:Pre_layoutSynthesisSTA using PrimeTimeSDF generationVe
4、rificationFloorolanning and RoutingPost_layout反标来自layout tool的信息,STA using PrimeTimePost-layout OptimizationFix Hold-Time Violation,ASIC design flow,Initial Setup:建立设计环境,技术库文件及其它设计环境设置。DC.synopsys_dc.setup 文件 company=“zte corporation”;designer=“name”;technology=“0.25 micron”search_path=search_path+“
5、.”“/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,ASIC design flow,Synthesis:利用约束完成设计的门及实现及扫描插入Constrain scripts/*Create real clock if clock port is found*/if(find(port,clk)
6、=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,ASIC design flow,Constrain scripts(续)/*Apply default drive strengths and typical loads for I/O ports*/set_load 1.5 all_outp
7、uts()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_inputs()-clock clk_name set_output_delay 1.5 all_outputs()-clock clk_name set_clock_skew-minus_uncertain
8、ty 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,ASIC design flow,Compile and scan insert的scripts,采用bottom_up的编译方法 set_fix_multiple_port_net buffer_constants all compile scan c
9、heck_test create_test_pattern sample 10 preview_scan insert_scan check_test 如果模块内的子模块具有dont_touch 属性需添加如下命令,因要插入扫描 remove_attribute find(-hierarchy design,”*”)dont_touchWrite netlist remove_unconnected_ports find(-hierarchy cell,”*”)change_names hierarchy rules BORG set_dont_touch current_design wri
10、te herarchy output active_design+”.db”write format verilog hierarchy output active_design+”.sv”,ASIC design flow,Pre_layout 的 STA:用DC的静态时序分析引擎做block的STA,用PrimeTime做full_chip的STA。Setup_time分析Hold_time分析 其时序约束和提供给DC做逻辑综合的约束相同。静态时序分析同综合一样,是一个迭代的过程,和cell的位置及布线关系密切,通常都执行多次,直到满足需要。,ASIC design flow,SDF ge
11、neration,pre_layout的SDF文件,用于pre_layout timing仿真,同时还需提供时序约束文件(SDF格式)给layout tool做布局布线。script文件如下:active_design=tap_controller read active_design current_design active_design 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
12、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()write_timing format sdf-v2.1-output active_design+”.sdf”write_constraints format sdf cover_design-output constraints.sdf,ASIC design
13、 flow,Verification利用SDF文件进行动态时序仿真:利用功能仿真时。用verilog 编写的test_bench 文件形式验证:利用数学算法检查设计的逻辑的等效性,静态验证,需要的时间比动态仿真少,验证全面。在这里验证RTL描述与gate_level网表的逻辑等效性。Floorolanning and global Routing;Estimated 寄生电容和RC delay的抽取;利用抽取的参数静态时序分析,若时序不满足要求,生成custom wire_load 做incremental synthesis即post_layout的优化,采用reoptimize_desig
14、n in_place命令,其script文件需反标抽取的参数到设计;Detail routing;real寄生电容和RC delay的抽取;利用抽取的参数静态时序分析,修正hold_time如需要做post_layout的优化;生成post_layout的SDF文件,做gate_level仿真验证;,ASIC design flow,ECOEngineering change order,不属于正常的ASIC流程,一般只有在ASIC设计的后期,需要改变网表,可利用ECO,例如,在tape-out(sign-off)以后,遇见设计的硬件bug。采用ECO可仅对设计的一小部分重新布线不影响chip
15、其他部分的位置及时序,通常,修改不能大于10%。最新版本的DC提供由ECO compiler,可使设计者手工修改网表,节省时间。一些layout工具也具有ECO功能。,DC介绍,Synopsys Design Compiler,是一个基于UNIX系统,通过命令行进行交互的综合工具,除了综合之外,它还含有一个静态时序分析引擎及FPGA和LTL(links-to-layout)的解决方案。我们就以下几个方面对DC做以介绍:script文件:由DC的命令构成,可使DC自动完成综合的整个过程。DC支持的对象、变量、属性DC支持的文件格式及类型DC在HDL代码中的编译开关,控制综合过程Translate
16、_off/translate_on:指示DC终止或开始verilog 源代码转换的位置。full_case:阻止case语句在不完全条件下生成latch。,综合环境建立,在综合之前必须用setup文件配置综合的环境,下面,我们就以下几个方面对setup文件进行介绍:setup文件的位置setup文件的内容setup文件举例,综合环境建立,setup文件的位置:由一个setup文件提供,文件名必须为“.synopsys_dc.setup”,通过向相关环境变量赋值,定义技术库的位置及综合需要参数。setup文件的位置如下:Synopsys installation directory:它用于卸载S
17、ynopsys 技术独立库及别的参数,不包含设计相关的数据。Users home director:用的setup信息。Project working directory:设计的setup信息 DC按以上顺序依次读取setup文件,最后一个读取的setup文件将覆盖前面读取的setup文件。将设计相关的startup文件放于Project working directory下。,综合环境建立,Startup文件必须定义如下变量:Search_path:指明库文件的位置Target_library:既技术库,由生产厂家提供,该库中的cells,被 DC用于逻辑映射。Target library的
18、文件名应包含在Link library的文件清单中,用于DC读取门级网表。Link_ library:该库中的cells,DC无法进行映射,例如:RAM,ROM及Pad,在RTL设计中,这些cells以实例化的方式引用。Symbol_library:该库文件包含技术库中cells的图形表示,用于DA生成门级示意图。Target_library和Link _library为设计者提供了将门级网表从一种技术在映射 到另一种技术的方法,将旧的Target library文件名包含在Link_library的文件清单中,而Target_library包含新的Target library文件名,利用tr
19、anslate命令实现。,综合环境建立,设计相关的startup 文件的例子:.synopsys_dc.setup 文件 company=“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_libra
20、ry=std_cells.sdb,pad_lib.sdb 其它的环境变量的设置参看DC的操作手册。,逻辑综合的过程,DC通过Script文件,自动完成模块的综合过程,其内容如下:RTL design entryEnvironment constraintsDesign and clock constraintsCompile design into mapped gatesOptimizing designanalyze the synthesis results and debug potential problems.Save design netlistReport constraint
21、s(Optional)Apply critical path constraints(Optional)Second compile to improve critical paths(Optional)Second path compile constraint report,Environment constraints,功能:定义设计的工艺参数,I/O端口属性,统计wire-load模型。下图解释了描述设计环境约束的DC命令:,Top level,Environment constraints,Set_operating_conditions 用于描述操作条件:process,volta
22、ge,temperature,cell和wire 的delay和操作条件呈线性关系。如:Set_operating_conditions WORST(或TYPICAL、BEST)命令set_operating_conditions min BEST max WORST 用于指示DC对设计的WORST和BEST条件,同时优化。,Environment constraints,Set_wire_load-mode 向DC提供wire_load信息,通常技术库里包含许多负载模型,每一种wire-load模型都代表一定模块的尺寸,模拟模块内部nets的delay,用户也可以创建自己的wire_load
23、模型去模拟各设计模块的net loading。这有三种wire-load mode:top,enclosed,segmented,用于模拟各设计层次的net wire_load的关系。Top:所有层次子模块的wire_load和top-level相同,如果用户计划flatten设计去layout可选择此模式编译子模块;Enclosed:子模块net的wire_load和enclosed 它的最小模块相同,推荐用于在layout后logical and physical hierarchy相似的设计;Segmented:子模块之间net的wire_load和enclosed该net的模块相同,需
24、技术库提供Segmented wire_load,一般不常用;wire_load模型的选择很重要,太悲观或太乐观的模型都将产生综合的迭带,在 pre-layout的综合中应选用悲观的模型。命令格式如下:dc_shellset_wire_load MEDIUM mode top,Environment constraints,Environment constraints,Set_load 定义nets或ports的电容负载,为了保证输出路径的时序,例如:,Environment constraints,Set_drive:主要用于模块的input port,0表是最大的驱动强度通常用于cloc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 自动化 设计
链接地址:https://www.desk33.com/p-191005.html