芯动力——硬件加速设计方法 学习笔记 5.逻辑综合1

逻辑综合

为什么要进行逻辑综合 ?

我们在设计时是将spec和逻辑转换成verilog代码描述电路,在芯片制作时,需要将代码再转换成更加低级的门级电路,供代工厂使用。逻辑综合的主要目的是:决定电路的门级结构、寻求时序与面积的平衡、需求功耗与时序的平衡、增强电路的测试性。

逻辑综合的基本原理

芯动力——硬件加速设计方法 学习笔记 5.逻辑综合1

逻辑综合的三个阶段分别是转译优化映射

转译是指将HDL代码翻译为GTECH电路,这个数据库的电路是完全独立于晶圆厂工艺库的,是一个一般性的数据库文件。

优化就是指我们在逻辑综合阶段通过施加约束来对电路的时序、面积、功耗等特性进行优化。

映射就是将优化后的电路转换为目标工艺库对应的门级网表。

使用DC进行逻辑综合的流程

芯动力——硬件加速设计方法 学习笔记 5.逻辑综合1

DC是指Synopsys 公司的 Design Compiler,它是目前逻辑综合使用最多也是最通用的工具。DC的综合过程可以分为以下几步:

  1. 预综合过程:读入设计文件、创建启动脚本、设置需要读入的库文件,这里面不太好理解的就是DC需要用到的库文件。

芯动力——硬件加速设计方法 学习笔记 5.逻辑综合1

  • 目标库是指Foundary给出的综合后电路网表最终需要映射到的库。DC在综合时就是根据target library中给出的单元电路的延迟信息来计算路径的延迟。并根据各个单元延时、面积和驱动能力的不同选择合适的单元来优化电路。具体的优化策略就是对相同逻辑功能的单元进行替换,就比如使用nand单元替换与门与非门搭起来的电路。
  • 链接库是指DC需要用到的模块或单元的引用。它与目标库的区别就是它包含了付费IP、存储器、IO以及PAD单元的库,而目标库一般只包含标准单元。
  • 符号库是定义了单元电路显示的Schematic的库,一般用于查看电路。如果没有设置,则会使用DC默认的符号库。
  • 算术运算库是需要高级license才能使用的功能,它主要是能够让DC直接调用designware的高性能运算库,能够将一些运算综合为性能更好的电路。
  1. 施加设计约束
  2. 设计综合
  3. 后综合
上一篇:前端element-ui 分页


下一篇:centos7 cmake编译opencv+protobuf+ncnn