Menu Close

综合的概念和综合前的准备

综合的概念和综合前的准备

 

综合 ( Synthesis) 的概念:

基于单元的设计流程

%title插图%num

图 1    基于单元的设计流程

 

“基于单元的设计 Cell based design”的含义是设计的基本构造模块是所谓的标准逻辑单元 Standard Cell; 就是由各种门,如与门,或门和其他的模块如全加器,半加器,锁存,触发器等的集合;数字设计主要就是基于单元的设计;与之对应的是”基于电原理图的设计Schematic based design”,设计的出发点是电原理图,目前没有综合的概念;因此模拟设计主要就是基于电原理图的设计

综合( Synthesis):就是将用比较高级别的抽象自动地转到更低级别抽象的一种方法

综合 = 转换 (翻译) Translate + 优化 Optimize + 映射 Mapping

%title插图%num

图 2    综合的三个步骤

 

综合是把 Verilog, VHDL 源代码通过综合工具,转变为相应工艺的门级逻辑表示的一个过程;在综合之前,Verilog, VHDL 源代码的风格必须经过严格检查,仅仅符合语法不一定能综合;

不同的综合工具性能有差别,支持的 Verilog,VHDL源代码的语法集合和风格也略有差别

 

%title插图%num

图 3     可综合的 Verilog – 命令和基本门

 

 

%title插图%num

图 4     可综合的 Verilog – 运算符

 

综合工具必须在已知基本逻辑单元库的前提下,才能进行综合

SYN_5

图 5    逻辑综合的意义

 

综合器与编译器的区别

综合器 ( Synthesizer) 能够自动将一种设计表示形式向另一种设计表示形式转换的计算机程序,或协助手工转换的程序。

综合器和编译器相类似,但又有区别。

编译器是将软件程序翻译成某种特定的CPU机器代码,这种代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动的为某特定的硬件电路结构所利用。只是机械式的一一对应的翻译。

综合器则不同,综合器转化(翻译)的目标是底层电路结构网表文件,它不依赖于任何特定硬件环境,能轻易的移植到任何通用硬件环境中,具有明显的能动性和创造性;不是机械式的一一对应的翻译,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的形成。

目前最主流的逻辑综合器 ( Synthesizer) 是 Synopsys 的 Design Compiler, 直译就是 “设计编译器”,Cadence 的逻辑综合器也有一个称为“RTL Compiler”, 了解了 Synthesizer与 Compiler 的区别,就不会被这些名称所困扰,把它只是当作一个名字而已,实际作用是逻辑综合 Logic Synthesis.

Compiler

图 6     综合器与编译器

 

综合前的准备:

Synthesis2

图 7     综合的输入和输出

 

工艺库,或者称标准单元库 ( Standard Cell), 的选择和准备:

单元库由代工 (Foundry) 或第三方设计公司提供;

根据最终产品的应用而选择:

高速应用:选择阈值电压低,开关速度快的单元库,

低功耗应用:选择阈值电压高,开关速度慢的单元库

低成本应用:选择高密度的单元库

flow_02

图 8     综合前的准备

 

约束 Constrain

在性能 Performance, 功耗 Power 和面积 Area三者之中取舍 Trade off。

性能 Performance;速度

功耗 Power; 静态/动态

面积 Area; 与芯片成本相关

PR_4

图9     综合的约束条件

 

Posted in 数字集成电路
0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论

相关链接