数字电路后端设计_逻辑综合
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9.保存设计数据:综合完成后,保存各种数据,以供后续的布局布线使用( 5
Basic Flow
Develop HDL files
Specify libraries Read design
Define design environment
Set design constraints
Select compile strategy
6.设置综合策略:有top-down和bottom-up两种策略,各有所长,对于不同的 设计要具体分析。
7.优化设计:综合工具可以根据约束对电路进行优化,也可以人为地加入命 令,改变优化方法。
8.分析和解决设计的问题:在设计综合(compile)后,根据报告来分析设计 中出现的问题,进而修订所出现的问题。
8
.synopsys_dc.setup文件
.synopsys_dc.setup文件主要包括各种库的设定,变量的设定等。下面具体 介绍各种库的意义及如何设定。(实例) 目标库(target_library): 是DC在做编译(compile)的时候来构成电路图的,将电路映射到具体的单元 上。例如 set target_library my_tech.db 链接库(link_library): 是将设计连接到对应的库上,一般包含目标库、宏单元、IP核等。例如: set link_library “* my_tech.db”。其中“*”指明当链接设计时,DC先 搜寻内存中已有的库,然后再搜寻变量link_library中制定的其它库。 符号库(symbol_library): 定义了单元显示的图形库,当用design_vision来查看图形的时候使用。 综合库(synthetic_library): 是由Synopsys公司提供的DesignWare库,包含了许多IP核及运算单元,用于 实现verilog描述的运算符,为电路的优化起着重要的作用。 搜寻路径(search_path): 指定各种库的路径,可以将所用的库的路径放入search_path中,在设定 target_library和link_library时就不必加上库的绝对路径,DC会自动在 search_path中寻找所用到的库的路径从而读入该库。
逻辑综合
概述
综合是将RTL源代码转换成门级网表的过程。 电路的逻辑综合一般由三个步骤组成,即
综合=转化+逻辑优化+映射(见下页图) (Synthesis=Translation+Logic Optimization+Mapping) 在综合过程中,优化进程尝试完成库单元的组合,使组合成的电路能最好地
2.定义库:设定好所需要用到的综合库等多种库。
3.读入设计:综合工具读入RTL代码并进行分析。
4.定义设计环境:设定设计的工作环境、端口的驱动和负载,线负载模型等 。
5.设置设计约束:这是综合的一个极其重要的环节,设定好正确的约束才能 得到正确的综合结果。约束要适当,不能过紧或过松。主要是定义时钟和I/O 的约束。
DC中包含了多种工具,如DFT Compiler,Power Compiler,HDL Compiler, Library Compiler等,使得DC具有强大的功能,成为业界最流行的综合工具
。
7
目标库和初始环境的设置
DC启动时会先启动.synopsys_dc.setup文件,它里面设定了综合所需要的工 艺库的信息以及一些对于工具的设定命令。
11
系统层次的划分与基本概念Βιβλιοθήκη Baidu
在DC中,每个设计由6个设计物体组成,它们分别是design,cell,port, pin,net和clock。其中clock是特别的端口,它存在DC内存中,是用户自己 定义的物体。如下图所示:
9
变量的设定:设置的变量在DC启动时读入,便于综合的处理,同时有些DC的 变量必须在设置文件中输入。如可以设定命令的简写,保存多少条命令等: alias cud current_design alias rpt report_timing history keep 300
10
综合脚本实例(.synopsys_dc.setup)
unix% dc_shell-t
(命令界面)
unix% design_vision
(图形界面)
Design Compiler支持TCL(Tool Command Language)语言,它是公开的业界 标准界面语言。DC-Tcl在TCL的基础上扩展丰富了TCL,使用户可以更加灵活
方便地运用TCL命令来对电路进行分析和优化。
Optimize the design
Analyze and resolve design problem
Save the
6
design database
Design Compiler简介
Design Compiler有两种界面供用户使用,一种是命令界面,一种是图形界面 。在UNIX命令行下分别执行以下命令可以分别进入上述两种界面:
2
3
综合过程中时序与面积的关系 从下图中可以看出面积与延迟的折衷关系,综合工具以约束为指导,在满足时
序的情况下获得最小面积。如果不施加约束,综合工具会产生非优化的网表, 而这是不能满足要求的网表。所以约束对于综合来说是必不可少的。
4
综合的基本流程 1.准备RTL代码:RTL代码经过前端仿真后才能用于综合。
在综合之前,要设定好所需要的库,如综合库、I/O单元库,IP核等。 半导体厂商提供与DC兼容的工艺库-综合库,它包含许多信息,如单元的功
能、面积、时间、功耗、测试等,线负载模型,工作条件和设计规则约束等 。在0.18um的工艺下,可采用非线性延迟模型(NLDM)来计算单元的延迟。 单元的延迟与输入的逻辑转换时间和输出负载有关。根据每个单元的输入逻 辑转换时间和输出负载,在工艺库提供的查找表(Look-Up Table)中查出单 元的延迟。
满足设计的功能、时序和面积的要求 综合是约束驱动(constraint driven)的,给定的约束是综合的目标。约束
一般是在对整个系统进行时序分析得到的,综合工具会对电路进行优化以满 足约束的要求。 综合以时序路径为基础进行优化。 常用的综合工具有Synopsys公司的Design Compiler 和Candance公司的 Enconter RTL Compiler
Basic Flow
Develop HDL files
Specify libraries Read design
Define design environment
Set design constraints
Select compile strategy
6.设置综合策略:有top-down和bottom-up两种策略,各有所长,对于不同的 设计要具体分析。
7.优化设计:综合工具可以根据约束对电路进行优化,也可以人为地加入命 令,改变优化方法。
8.分析和解决设计的问题:在设计综合(compile)后,根据报告来分析设计 中出现的问题,进而修订所出现的问题。
8
.synopsys_dc.setup文件
.synopsys_dc.setup文件主要包括各种库的设定,变量的设定等。下面具体 介绍各种库的意义及如何设定。(实例) 目标库(target_library): 是DC在做编译(compile)的时候来构成电路图的,将电路映射到具体的单元 上。例如 set target_library my_tech.db 链接库(link_library): 是将设计连接到对应的库上,一般包含目标库、宏单元、IP核等。例如: set link_library “* my_tech.db”。其中“*”指明当链接设计时,DC先 搜寻内存中已有的库,然后再搜寻变量link_library中制定的其它库。 符号库(symbol_library): 定义了单元显示的图形库,当用design_vision来查看图形的时候使用。 综合库(synthetic_library): 是由Synopsys公司提供的DesignWare库,包含了许多IP核及运算单元,用于 实现verilog描述的运算符,为电路的优化起着重要的作用。 搜寻路径(search_path): 指定各种库的路径,可以将所用的库的路径放入search_path中,在设定 target_library和link_library时就不必加上库的绝对路径,DC会自动在 search_path中寻找所用到的库的路径从而读入该库。
逻辑综合
概述
综合是将RTL源代码转换成门级网表的过程。 电路的逻辑综合一般由三个步骤组成,即
综合=转化+逻辑优化+映射(见下页图) (Synthesis=Translation+Logic Optimization+Mapping) 在综合过程中,优化进程尝试完成库单元的组合,使组合成的电路能最好地
2.定义库:设定好所需要用到的综合库等多种库。
3.读入设计:综合工具读入RTL代码并进行分析。
4.定义设计环境:设定设计的工作环境、端口的驱动和负载,线负载模型等 。
5.设置设计约束:这是综合的一个极其重要的环节,设定好正确的约束才能 得到正确的综合结果。约束要适当,不能过紧或过松。主要是定义时钟和I/O 的约束。
DC中包含了多种工具,如DFT Compiler,Power Compiler,HDL Compiler, Library Compiler等,使得DC具有强大的功能,成为业界最流行的综合工具
。
7
目标库和初始环境的设置
DC启动时会先启动.synopsys_dc.setup文件,它里面设定了综合所需要的工 艺库的信息以及一些对于工具的设定命令。
11
系统层次的划分与基本概念Βιβλιοθήκη Baidu
在DC中,每个设计由6个设计物体组成,它们分别是design,cell,port, pin,net和clock。其中clock是特别的端口,它存在DC内存中,是用户自己 定义的物体。如下图所示:
9
变量的设定:设置的变量在DC启动时读入,便于综合的处理,同时有些DC的 变量必须在设置文件中输入。如可以设定命令的简写,保存多少条命令等: alias cud current_design alias rpt report_timing history keep 300
10
综合脚本实例(.synopsys_dc.setup)
unix% dc_shell-t
(命令界面)
unix% design_vision
(图形界面)
Design Compiler支持TCL(Tool Command Language)语言,它是公开的业界 标准界面语言。DC-Tcl在TCL的基础上扩展丰富了TCL,使用户可以更加灵活
方便地运用TCL命令来对电路进行分析和优化。
Optimize the design
Analyze and resolve design problem
Save the
6
design database
Design Compiler简介
Design Compiler有两种界面供用户使用,一种是命令界面,一种是图形界面 。在UNIX命令行下分别执行以下命令可以分别进入上述两种界面:
2
3
综合过程中时序与面积的关系 从下图中可以看出面积与延迟的折衷关系,综合工具以约束为指导,在满足时
序的情况下获得最小面积。如果不施加约束,综合工具会产生非优化的网表, 而这是不能满足要求的网表。所以约束对于综合来说是必不可少的。
4
综合的基本流程 1.准备RTL代码:RTL代码经过前端仿真后才能用于综合。
在综合之前,要设定好所需要的库,如综合库、I/O单元库,IP核等。 半导体厂商提供与DC兼容的工艺库-综合库,它包含许多信息,如单元的功
能、面积、时间、功耗、测试等,线负载模型,工作条件和设计规则约束等 。在0.18um的工艺下,可采用非线性延迟模型(NLDM)来计算单元的延迟。 单元的延迟与输入的逻辑转换时间和输出负载有关。根据每个单元的输入逻 辑转换时间和输出负载,在工艺库提供的查找表(Look-Up Table)中查出单 元的延迟。
满足设计的功能、时序和面积的要求 综合是约束驱动(constraint driven)的,给定的约束是综合的目标。约束
一般是在对整个系统进行时序分析得到的,综合工具会对电路进行优化以满 足约束的要求。 综合以时序路径为基础进行优化。 常用的综合工具有Synopsys公司的Design Compiler 和Candance公司的 Enconter RTL Compiler