数字电路后端设计-逻辑综合PPT课件_第1页
数字电路后端设计-逻辑综合PPT课件_第2页
数字电路后端设计-逻辑综合PPT课件_第3页
数字电路后端设计-逻辑综合PPT课件_第4页
数字电路后端设计-逻辑综合PPT课件_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

逻辑整合、2、概要、整合是将RTL源代码转换成门表的过程。 电路的逻辑整合一般由整合=变换逻辑优化映射(参照下页图)三个步骤构成(synthesis=translation logic optimization mapping ),在综合过程中,优化过程完成库单元的组合组合电路最能满足设计功能、时序和面积要求的是约束驱动,给出的约束是综合目标。 约束一般是对系统整体进行时间序列分析,综合工具优化电路满足约束要求。 综合基于时间序列路径进行了优化。 常用的综合工具是Synopsys公司的DesignCompiler和Candance公司的EnconterRTLCompiler,3,4,综合过程中时间序列与面积的关系如下图所示,可以看出面积与延迟的权衡关系,综合工具以制约为指导如果不应用约束条件,集成工具将生成未优化的网列表。 这是一个不能满足要求的网名单。 所以制约是综合起来必不可少的。5、综合基本流程1 .准备RTL代码: RTL代码只有在前端仿真后才能综合使用。 2 .库定义:设置多个库,如所需的集成库。 3 .导入设计:综合工具导入和分析RTL代码。 4 .定义设计环境:设置设计的工作环境、端口驱动和负荷、线性负荷模型等。 5 .设计约束:这是综合性极其重要的环节,只有设定正确的约束才能得到正确的综合结果。 制约必须适当,不能过于紧张或过于放松。 主要定义时钟和I/O约束条件。 6 .设立综合战略:有上下文和下上文两种战略,各有优势,对不同的设计进行具体分析。 7 .优化设计:综合工具可以根据约束优化电路,也可以人为添加指令,改变优化方法。 8 .分析和解决设计问题:汇总设计后,根据报告分析设计中出现的问题,并修订出现的问题。 9 .保存设计数据:综合完成后,保存各种数据,用于后续布局布线(需要先验证)。 6,基本流,开发软件,专用库,读设计,定义设计,设置约束,选择组件,优化zername analysiszeandreesolvedesignproblem,Savethedesigndatabase,7,designcompile的概要,designcompile中有2种用户可以使用的界面,一种是指令在UNIX命令行上分别运行以下命令时,unixshell-t (命令接口) unixign_vision (图形接口) DesignCompiler支持TCL(ToolCommandLanguage )语言DC-Tcl基于TCL扩展了TCL,使用户能够更灵活、方便地利用TCL命令来分析和优化电路。 DC包括DFTCompiler、PowerCompiler、HDLCompiler和LibraryCompiler等工具,DC功能强大,是业界最受欢迎的综合工具。 8、目标库和初始环境设置,DC启动时首先启动. synopsys_dc.setup文件,设置综合所需的进程库信息和工具设置命令。 在整合之前,请设置所需的库,如整合库、I/O单元库和IP核心。 半导体制造商提供与DC兼容的工艺库-综合库,包括单元功能、面积、时间、功耗、测试等诸多信息。 在0.18um的过程中,非线性延迟模型(NLDM )可用于计算单元延迟。 单元的延迟与输入的逻辑转换时间和输出负载有关。 根据各单元的输入逻辑转换时间和输出负载,通过工艺库提供的查找表(Look-UpTable )检测单元的延迟。 synopsys_dc.setup文件主要包括各种库设置、变量设置等。 具体说明各种库的含义和设定方法。(例)目标库(target_library):dc在编译时构成电路图,将电路映射到具体的单元。 例如,settarget_librarymy_tech.db链接库(link_library ) :将设计连接到相应的库,包括目标库、宏单元、IP核心等。 例如,setlink_library“*my_tech.db”。 “*”表示在链接设计过程中,DC在内存中搜索现有库,然后搜索由变量link_library创建的其他库。 符号库(symbol_library ) :用于定义单元格显示的图形库并在design_vision中显示图形。 统一库(synhetic_library):synopsys公司提供的DesignWare库,为了实现verilog记述的运算符,包含了很多IP核心和运算单元,在电路的优化中发挥着重要的作用。 搜寻路径(search_path ) :可让您指定不同资料库的路径,并将要使用的资料库路径包括在search_path中。 设置target_library和link_library时,无需添加库的绝对路径。 DC自动查找要在search_path中使用的库的路径并导入库。 synopsys_DC.setup文件、 10,变量的设定:设定的变量在DC启动时读取,在综合处理变得容易的同时,一部分DC的变量必须输入设定文件。 命令的简短格式,包括可以存储多少命令: aliascudcurrent _ designaliasrptreport _ timinghistorykeep 300、11、综合脚本实例(.synopsys_dc.setup ) 系统级别划分和基本概念,在dc中,各设计由设计、cell、port、pin、net、clock个设计物体构成。 其中,clock是特别的端口,存在于DC存储器中,由用户定义。 如下图所示:13,现在的设计是TOP。 Port和Pin是与当前设计相关的概念,当前设计发生变更时,对应的Port和Pin也不同,14、设计的读入、设计的读入有多种方法,DC支持Verilog、VHDL的读入,RTL级的代码也是门户级的网表整合前的设计不需要以RTL格式(也有其他格式)输入DC。 要导入设计,请使用1.analyze和elaborate命令。 这是两个不同的命令,允许设计者在建立设计的公共逻辑之前执行设计语法错误和RTL转换分析。 2.read_file命令: read_fileformatverilogsd _ clk.v3. read _ verilog或read_vhdl命令是与read _ file分离的命令。 例如,在read_verilogsd_clk.v中读取代码后,将导入的设计和集成库连接到current_design和link。15、电路的设计目标和制约、RTL模块集成的流程如下图所示。 电路约束分为设计环境和设计约束,DC以约束为目标进行电路优化。 16、设计环境通过环境约束的设计,包括设计所在的现实环境要素,使设计能够在现实环境中正常运行。 环境制约用下图所示的:17,set_operating_conditions记述了设计的过程、电压和温度条件。 Synopsys库包含这些条件的描述。 通常是WORST,TYPICAL,BEST。 工作条件的名称库的名称是SMIC0.18um进程提供三个进程库: slow.db、typical.db和fast.db,工作条件分别为slow(WORST )、typical(TYPICAL )和fast(BEST ) WORST案例通常用于整合阶段,而BEST案例通常用于修复保留时间违规。 WORST和BEST都可能优化设计。 在这种情况下,请使用命令。 set _ operating _ conditions-max slow-max _ library slow- min fast-min _ library fast可以在set_min_library中指定BEST和WORST库,并指定要在设计中使用的库如果:#为综合sram库指定了最佳情况,则最坏的情况是set _ min _ library SRAM _ slow.dbmin _ visions ram _ fast.db .18、set_wire_load_model命令估计为DC 相反,DC使用有线负载信息来将有线负载延迟建模为负载函数,且Synopsys过程库提供多个有线模型,每一模型代表具有特定大小的模块。 设计者必须正确选择线载荷模型。用于设置线载模型的命令包括: set _ wire _ load _ modelname SMIC 18 _ wl10libraryslowset _ wire _ load _ mode定义了三种与模型化的线载模型相关的模式。 top、segmented和enclosed如下图所示。 19,1.top模式定义层次中的所有连接都继承与顶层模型相同的有线模型。 在上图中,所有连接都继承了顶级线载模型50 x50。 2.segmented模式用于跨级别边界的连接。 在上面的图中,在子模块a与子模块b之间的连接继承相应的有线载波模型,而在a与b之间的连接继承具有模块MID的有线载波模型。 3.enclosed模式指定所有连接(属于子模块)都将继承完全包含该子模块的模块线负载模型。 在上图中,整个连接完全包围了模块MID,因此采用了40 x40线性负载模型。 以下命令使用set _ wire _ load _ modelenclosedset _ driving _ cell和set_drive设置模块入口端的驱动能力。 set_drive命令用于指定入口端的驱动强度,主要用于模块或芯片端口以外的驱动电阻。 set_driving_cell用于建模入口端的驱动阻力。 此命令将驱动单元的名称作为参数,并将驱动单元的所有设计规则约束条件应用于模块的入口端。 set _ driving _ celllib _ cell and2a0 get _ ports in1library slow,20,set _ drive 10 get _ ports data _ in _0 set _ load程序库中定义的单位(通常为pf )的容量set _ load5 get _ ports out1 set _ load load _ ofty _ lib/and2a0/a get _ ports out1,21 .设计约束描述了设计目标(时间序列、面积等

温馨提示

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

评论

0/150

提交评论