专用集成电路设计方法讲义4_逻辑综合

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5
逻辑综合的基本步骤 (3)
优化 (Optimization)
基于所施加的一定时序和面积的约束条件,综合器 按照一定的算法对转译结果作逻辑重组和优化。
映射 (Mapping)
根据所施加的一定的时序和面积的约束条件,综合 器从目标工艺库中搜索符合条件的单元来构成实际 电路 这时得到的电路包含了具体的制造工艺参数。
8
综合技术带来的好处
设计师可以采用更高层次的设计方法 由于逻辑综合工具的使用,高层次的设计可以 很快地转换为门级电路设计 逻辑综合技术使与工艺无关的设计成为可能 综合工具可以按照约束设置对设计进行自动优 化,要得到有不同性能指标的结果,有时候仅 仅需要修改综合时的约束设置
9
对工程师的要求
尽管逻辑综合为数字设计带来了显而易见的好 处,使设计者再也不用去手工“搭建”自己的 产品,但并不等于设计者可以对电路的具体实 现毫不关心。 为了综合出满足规格定义的产品,工程师在进 行代码编写时必须考虑代码的可综合性,良好 的代码风格可以得到性能更好的设计。 逻辑综合本身就是一个复杂的过程,环境和约 束的设定、测试和时序问题的分析和解决都需 要设计工程师具有专门的知识和技能。
启动文件必须定义与工艺库相关的变量
search_path: 搜索路径,指明库文件的位置 target_library: 目标库 link_ library: 链接库 symbol_library: 符号库(显示电路图,用于标识器件、单元)
13
目标库 (Target library)
目标库:将RTL级的HDL映射到门级时所需要的标准 单元综合库,它是由芯片制造商 (Foundry)提供的, 包含了物理信息的单元模型。 通常芯片制造商提供的基本电路有:与非、或非、非 门等基本的逻辑单元单元;还有选择器、与或非、或 非与等较复杂的组合逻 辑,以及锁存器和触发器等时 序单元。 Target library的文件名应包含在link library的文件清 单中,用于DC读取门级网表。 通常target_library定义为标准单元的db格式的库文件。
read
所有格式:Verilog、VHDL 、EDIF和db等等 读入网表文件、预编译好 的设计等等 使用缺省的设置,不能保 存中间结果 不能用于传递参数 在elaborate设计的时候, 不能够定义结构
21
read命令和analyze & elaborate命令的不同之处
连接 (Link)
功能:将设计中调用的子模块与连接库中定义 的模块建立对应关系 命令:link 链接可以由link命令显式完成,也可在后面步 骤的compile命令隐式完成 建议每次设计输入以后用link命令执行一次链 接
电压 (Voltage)
电压比较高时,逻辑电路单元的驱动能力增 强, 信号延时变小从而可以运行在比较高的工作频率下。
命令举例:
dc_shell-t> set_operating_conditions WORST
24
设置工作条件 (2)
工艺 (Process)偏差
在流片阶段,wafer在流水线上要经过几十道工序,这些工 序在控制上会有一些偏差,这些偏差都会导致器件的性能的 变化。一般在逻辑电路上表现为驱动能力,或者信号延时的 变化。
25
设置工作条件 (3)
温度 (Temperature)
当温度变化时,会导致沟道电流强度的变化,从而 影响逻辑电路的驱动能力和信号延时。
DC在启动时,按下列顺序读入启动文件
Synopsys installation directory (用于存放Synopsys技术独 立库及保存一些公共变量,不包含设计相关的数据) Users home director (保存一些对单个用户有效的变量) Project working directory (保存与当前设计直接相关的变量) 按以上顺序依次读取setup文件,最后一个读取的setup文件 将覆盖前面读取的setup文件
7
Design Compiler的综合过程
RTL design entry Environment constraints Design and clock constraints Compile design into mapped gates Optimize design Analyze the synthesis results and debug potential problems Report constraints Save design netlist
16
设计工具库 (DesignWare Library)
设计工具库:Synopsys公司提供的知识产权 (IP, Intellectual Property)库。 举例
算术逻辑单元 (ALU) AMBA总线构造 (Bus Fabric)、外围设备 (Peripherals) 内存包(Memory portfolio) 通用总线和标准I/O接口(USB, PCI, PCI Express) 微控制器 (例如8051和6811) 微处理器和DSP核心
专用集成电路设计方法
第4部分 逻辑综合
2008-11-18
1
内容
逻辑综合概述 综合环境的设置 DC综合流程简介 时序分析基础 逻辑综合中的时序约束设计 DC的使用方式
2
什么是逻辑综合?
定义:根据一个系统 功能和性能的要求, 在一个包含众多结构、 功能、性能均为已知 的逻辑元件的单元库 的支持下,寻找一个 逻辑网络结构的最佳 实现方案的设计方法。
10
内容
逻辑综合概述 综合环境的设置 DC综合流程简介 时序分析基础 逻辑综合中的时序约束设计 DC的使用方式
11
启动文件
Synopsys DC需要一个启动文件来定义工艺库的路径 和其他用于逻辑综合的参数
文件名必须为“.synopsys_dc.setup”,通过向相关环境变量 赋值,定义技术库的位置及参数
3
逻辑综合的基本步骤 (1)
三个步骤:
翻译 (Translation) 优化 (Optimization) 映射 (Mapping)
4
逻辑综合的基本步骤 (2)
翻译 (Translation)
把电路的HDL描述转化为与工艺无关的功能块组成 的逻辑电路的过程 读入电路的RTL级描述,将语言翻译成每条语句所 对应的功能块以及功能块之间的拓扑结构 这一过程的结果是在综合器内部生成电路的布尔函 数的表达式,不做任何的逻辑重组和优化
read命令
read一步完成analyze & elaborate的工作
类别
输入格式 主要用途 设计库 类属 (VHDL语言中) 结构 (VHDL语言中)
analyze & elaborate
Verilog和VHDL RTL级代码 逻辑综合RTL级Verilog和VHDL代码 用-library选项定义设计库名 (而不是直 接从dc_shell中执行),存储“.syn”文件 在elaborate设计的时候,可以设置 generic语句的参数 在elaborate设计的时候,可以定义结构
12
工艺库
工艺库:生产线所提供的全部标准器件模型
由于不同生产线的加工环境不同,各种标准器件(如与非门、 或非门等)的工业参数会有差异,因此,每个生产线都必须 向市场提供自己的库。换句话说,设计单位准备在哪条生产 线上投片就必须使用该生产线的库进行综合。不同工艺线的 工艺技术是不同的,如0.25微米技术和0.13微米技术,因此 即使同一个工厂的不同工艺线使用的工艺库也是完全不同的。
6
综合工具
FPGA综合
Synplicity: Synplify, Amplify, Certify Mentor Graphics: LeonardoSpectrum Synopsys: FPGA Express, FPGA Compiler Xilinx: XST
ASIC综合
Synopsys: Design Compiler
14
连接库 (Link library)
连接库:可以是同target libaray一样的单元库,也可 以是已经综合到门级的底层模块的设计。
作用如下:自底向上 (bottom-up)的综合过程中,上一层的 设计调用底层已经综合的模块时,将从link_library中寻找并 连接起来。
link_library定义为:标准单元的db格式的库文件, pad的db格式的库文件,再加上RAM、ROM等宏模 块的库文件等。 综合工具在综合时不再综合生成pad、RAM和ROM, 而是直接实例化到门级网表中。 target_library是link_library的子集。
22
设定约束条件 (Constraints)
约束条件分两 类:
环境约束条件 设计约束条件
综合环境包括 工艺、电压和 温度范围,必 需的驱动强度, 驱动类型等, 见右图
23
设置工作条件 (1)
命令:set_operating_conditions 综合库包括最差、典型和最好三种条件。 在综合阶段使用最差条件,以最大建立时间 (setup time)来优化设 计。使用最好条件来清除保持时间 (hold time)的违规。 一般的工艺库包括: max (slow)、typical、min (fast)库。
19
其它环境变量的设 置参看DC的操作手 册。
内容
逻辑综合概述 综合环境的设置 DC综合流程简介 时序分析基础 逻辑综合中的时序约束设计 DC的使用方式
20
设计输入
DC提供了下面两种方式读入设计:
analyze & elaborate命令
analyze命令可以分析、翻译RTL代码,并将中间结果存入指定的库中 elaborate命令用于为设计建立一个结构级的,与工艺无关的描述,为 下一步的工艺映射做好准备
17
GTECH库
当DC将源代码读入时,设计转化为一种中间 格式,由GTECH库中的组件和设计工具库构 成。 GTECH工艺库和设计工具库一样,是工艺无 关的,帮助我们开发与工艺无关的组件。 GTECH工艺库包含在文件gtech.db中
wenku.baidu.com18
setup文件举例
.synopsys_dc.setup
set company "ASIC Design Co." set designer "Designer" set technology "TSMC 0.25um" set target_library {tcb773stc.db} set link_library {* tcb773stc.db } set symbol_library {tcb773s.sdb } set synthetic_library {standard.sldb dw_foundation.sldb} set link_library "$link_library $synthetic_library" # Define DC search path set search_path "../../TSMC/lib ./scripts ./unmapped ./mapped $search_path" alias h history alias rc "report_constraint -all_violators" alias rt report_timing # specify directory for intermediate files from analyze define_design_lib DEFAULT -path ./analyzed
15
target_library vs. link_library
目标库 (target_library):是DC在mapping时将设计映 射到特定工艺所使用的库,就是使用目标库中的元件 综合成设计的门级网表。 连接库 (link_library):是提供门级网表实例化的基本 单元,也就是门级网表实例化的元件或单元都来自该 库。连接库定义为标准单元的db格式的库文件加上 pad db格式的库文件,加上ROM,RAM等宏单元库 文件”。 简单地讲,所有用到的库都要放到link_library,因为 DC自动到那里去找;只有作综合用的库放在 target_library中,象ROM, PAD等不用综合的就不要 放进去了。
相关文档
最新文档