0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

逻辑综合的相关知识

CHANBAEK 来源:数字IC与好好生活的两居室 作者:除夕之夜啊 2023-03-30 11:45 次阅读

教程经常有提及综合这个词语。 或者说有些逻辑不能综合成实际电路,或者说有些逻辑设计综合后的电路会有一些安全隐患。 本章就简单介绍下逻辑综合的相关知识,仅从理论层次和普遍认知的角度来阐述。 待那个懵懂求知少年变成中年秃顶大叔,再来介绍逻辑综合的具体实践。 好像也没有多少时日了(手动狗头)。

基本概念

综合,就是在标准单元库和特定的设计约束基础上,把数字设计的高层次描述转换为优化的门级网表的过程。 标准单元库对应工艺库,可以包含简单的与门、非门等基本逻辑门单元,也可以包含特殊的宏单元,例如乘法器、特殊的时钟触发器等。 设计约束一般包括时序、负载、面积、功耗等方面的约束。

无论是数字芯片设计,还是 FPGA 开发,现在综合过程基本都是借用计算机辅助逻辑综合工具,自动的将高层次描述转换为逻辑门电路。 设计人员可以将精力集中在系统结构方案、高层次描述、设计约束和标准工艺库等方面,而不用去关心高层次的描述怎么转换为门级电路。 综合工具在内部反复进行逻辑转换、优化,最终生成最优的门级电路。 该过程如下所示。

图片

结构解释

简单的赋值语句通常被综合为基本的逻辑门单元

assign F = (A & B) | C ;

上述代码通常会被综合为如下门级电路:

图片

条件语句通常被综合为选择器

assign F = sel ? A : B ;

上述代码通常会被综合为如下门级电路:

图片

always 块中时钟触发的赋值语句通常被综合为触发器

always @(posedge clk) begin
    q <= d ;
end

上述代码通常会被综合为如下电路:

图片

再复杂的设计,综合之后,都会被转换为由各种单元库原件组成的门级网表。 总之,逻辑综合可以狭隘的理解为,将 Verilog 设计转换为用优化的基本逻辑门单元、特殊的宏单元表示的过程。

综合流程

从高层次 RTL 描述到门级网表的详细综合过程如下图所示。

图片

RTL 描述

硬件描述语言(例如 Verilog)设计数字电路,并进行仿真保证逻辑功能的正确性。

翻译

RTL 描述会被综合工具转换为一个未经优化的中间表示。 该过程读入 Verilog 描述的基本原语和操作,不考虑面积、时序、功耗等设计约束,仅完成简单的内部资源分配。

未优化的中间表示

翻译过程中产生的中间表示,数据格式由综合工具内部识别,用户无法也无需了解。

逻辑优化

优化设计逻辑,删除冗余逻辑。 该过程往往会将 RTL 设计的一些变量删除,或重新命名,逻辑实现过程往往也会改变,以达到逻辑的最优化实现。 该过程会产生优化的内部表示。

工艺映射和优化

此步骤之前,设计的描述过程是独立于目标工艺的。 该步骤中,综合工具将使用工艺库(标准单元库)中提供的逻辑单元,实现设计的内部表示。 即设计会被映射到目标工艺。 实现过程中,还必须满足时序、面积和功耗的约束,执行一些局部的优化。

标准单元库

如之前所述,标准单元库对应工艺库,可以包含简单的与门、非门等基本逻辑门单元,也可以包含特殊的宏单元,例如乘法器、特殊的触发器等。

为了更好的映射与优化,每个逻辑单元,应当包含以下信息

1> 功能描述

2> 版图面积

3> 时序信息

4> 功耗信息

设计约束

设计约束一般包括时序、面积、功耗等方面的约束。 三者之间往往存在制约关系。 为了优化时序,可能需要增加硬件资源,导致电路面积增大,功耗增加。 为了产生规模更小的电路,又必须在电路速度上进行妥协。 数字电路设计时往往要综合各种因素进行取舍。

优化的门级表示

工艺映射与优化完成后,最终会生成由目标工艺库所描述的优化后的门级网表。 如果该网表满足各种约束要求,则会被制作成最终的版图。 否则还需要修改设计约束或优化 RTL 描述,以获得满足约束要求的门级网表结果。 这个过程是反复的,直至最终网表满足要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593267
  • 时钟
    +关注

    关注

    10

    文章

    1480

    浏览量

    130306
  • 触发器
    +关注

    关注

    14

    文章

    1685

    浏览量

    60412
  • 逻辑设计
    +关注

    关注

    1

    文章

    40

    浏览量

    11508
  • 门级电路
    +关注

    关注

    0

    文章

    15

    浏览量

    1933
收藏 人收藏

    评论

    相关推荐

    逻辑综合的流程和命令简析

    综合就是把Verilog、VHDL转换成网表的过程。综合按照是否考虑物理布局信息可分为逻辑综合和物理综合
    的头像 发表于 08-09 09:51 705次阅读
    <b class='flag-5'>逻辑</b><b class='flag-5'>综合</b>的流程和命令简析

    综合布线工程知识手册

    综合布线工程知识手册
    发表于 08-18 15:47

    浅谈IC设计中逻辑综合

    首先考虑延迟因素,但究竟选择哪种策略,还是要根据具体的设计要求而决定。结语这篇文章主要介绍了逻辑相关概念,综合方案以及几种处理关键路径的主要方法,还有其它一些方法也能对关键路径有所贡献,但效果不是
    发表于 05-16 20:02

    求一套手工逻辑综合的方法和综合步骤?

    手工综合RTL级代码的理论依据和实用方法时序逻辑综合的实现方法
    发表于 04-08 06:06

    DC逻辑综合详解

    DC逻辑综合详解DC软件简介逻辑综合DC命令DC软件简介DC( Design Compiler )为Synopsys公司逻辑合成工具。DC得
    发表于 07-29 08:07

    什么是逻辑综合

    DC软件怎么样?什么是逻辑综合
    发表于 11-02 06:41

    DC逻辑综合

    芯片综合的过程:芯片的规格说明,芯片设计的划分,预布局,RTL 逻辑单元的综合,各逻辑单元的集成,测试,布局规划,布局布线,最终验证等步骤。设计流程与思想概述:一个设计
    发表于 12-29 16:28 25次下载
    DC<b class='flag-5'>逻辑</b><b class='flag-5'>综合</b>

    时序逻辑电路的相关知识概述

    主要讲了时序逻辑电路的相关知识,能够方便大家学习使用
    发表于 02-29 14:25 0次下载

    FPGA中不可综合语句 相关知识

    大家好,又到了每日学习的时间了,今天我们来聊一聊FPGA中不可综合语句 相关知识。 (1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,
    的头像 发表于 05-21 14:56 5416次阅读

    ASIC逻辑综合及Synopsys Design Compiler 的使用资料说明

    本文档的主要内容详细介绍的是ASIC逻辑综合及Synopsys Design Compiler 的使用资料说明包括了:1、逻辑综合基本概念 a) Synopsys
    发表于 10-23 08:00 5次下载
    ASIC<b class='flag-5'>逻辑</b><b class='flag-5'>综合</b>及Synopsys  Design Compiler 的使用资料说明

    芯片设计之逻辑综合过程

    逻辑综合操作(Compile design),根据芯片的复杂程度,逻辑综合操作的时间可能是几秒,也可能是半个月。如果设计环境和约束设置不当,逻辑
    的头像 发表于 08-12 15:10 3490次阅读

    逻辑综合与物理综合

    利用工具将RTL代码转化为门级网表的过程称为逻辑综合综合一个设计的过程,从读取RTL代码开始,通过时序约束关系,映射产生一个门级网表。
    的头像 发表于 11-28 16:02 1930次阅读

    组合逻辑电路的相关知识

    本篇内容主要回顾第三章组合逻辑电路的知识,虽然前面提到过组合逻辑电路是数字电路中很重要的一部分,但是学习起来相对简单,主要是要学会掌握方法。
    的头像 发表于 05-24 14:38 1332次阅读
    组合<b class='flag-5'>逻辑</b>电路的<b class='flag-5'>相关</b><b class='flag-5'>知识</b>

    eda综合有哪些类型 逻辑综合的原理

     EDA(Electronic Design Automation,电子设计自动化)综合是指在集成电路设计过程中将高级描述语言(HDL)代码转换为逻辑网表的过程。
    发表于 06-26 14:05 1261次阅读

    什么是逻辑综合逻辑综合的流程有哪些?

    逻辑综合是将RTL描述的电路转换成门级描述的电路,将HDL语言描述的电路转换为性能、面积和时序等因素约束下的门级电路网表。
    的头像 发表于 09-15 15:22 2331次阅读
    什么是<b class='flag-5'>逻辑</b><b class='flag-5'>综合</b>?<b class='flag-5'>逻辑</b><b class='flag-5'>综合</b>的流程有哪些?