数字IC设计学习笔记(一)——逻辑综合简介
目录
综合的抽象层次
逻辑级(RTL)综合流程
参考资料
综合的抽象层次
根据不同的抽象层次,综合可分为电路级综合、逻辑级综合、行为级综合
电路综合将电路的逻辑翻译成满足性能要求的晶体管网表,包括使用的电路类型(静态或动态CMOS等)和确定各三极管的大小,以满足时序要求,主要用于单元库(Cell Library)元器件设计。
逻辑综合(或RTL综合)产生逻辑电路的结构,通过EDA工具将RTL代码映射到由制造厂家标准单元库中的元件所构成的门级电路的过程。
行为综合根据给定任务的行为级描述,以及性能、面积和功耗约束条件产生电路结构,包括确定需要哪些硬件资源(如执行单元、存储器、I/O接口等),将行为级的操作与硬件资源相结合,并决定系统架构和执行顺序。尽管行为综合的研究取得巨大进展,但目前仅在一些特定场合得到了应用(如无线通信、存储和影响处理等采用大量数字信号处理算法的领域)。
逻辑级(RTL)综合流程
逻辑综合更加详细的定义:逻辑综合是指使用综合工具,根据芯片制造商提供的基本电路单元库,将硬件描述语言描述的RTL级电路转换为电路级网表的过程。根据系统逻辑功能与性能的要求,在包含众多结构、功能和性能已知的逻辑元件的单元库的支持下,综合工具寻找出一个逻辑网络结构的最佳实现方案,即在满足电路功能、速度及面积等条件下,将行为级描述转化为指定的技术库中单元电路的连接。
常用的综合工具包括Synopsys公司的Design Compiler,Cadence公司的RTL Complier,Magma公司的RTL Blaster等。其中Synopsys公司的Design Compiler最为出名。
逻辑综合的流程(基于Design Compiler):数字电路的逻辑综合由3部分组成:综合=转化(translation)+优化(optimization)+映射(mapping)。
- 第一步是用read命令将HDL代码转换为通用的布尔门阵列,也就是gtech.db(generic technology)库中的逻辑器件。这个库中的器件没有时序和负载的特性,它仅仅是Design Compiler用来表示器件的一个符号,只有Design Compiler能识别它。
- 第二步是根据设计工程师对电路预期功能的要求,对gtech网表施加时序、功耗和面积等各方面的约束,使其能达到设计的目标。
- 第三步用compile命令,将电路按照设计的约束优化和综合,使其能满足设计的目标或约束,并且映射到特定厂家目标工艺库的逻辑器件,此时的网表包含了厂家的工艺参数。
- 第四步用report命令,产生各种设计报告,设计工程师可通过这些报告分析评估这些网表是否满足预期需求。若不满足预期需求,可对设计约束或者RTL进行修改直到满足需求为止。
- 最后用write命令,将满足设计需求的门级网表以ddc的格式保存在磁盘上。
逻辑综合的重要意义:逻辑综合是由各种约束条件驱动的,这些约束条件包括工作环境、时间、面积、功耗等等。综合的最终目标是产生满足这些约束条件的结果。其中最重要的是时间约束,通常把满足时间约束称为时序闭合或时序收敛(Timing Closure),时序收敛是综合最重要的目标。逻辑综合的好坏直接影响数字系统的性能、面积和功耗等方面的优劣。
参考资料
《数字集成电路与系统设计》 李广军,郭志勇
《CMOS集成电路EDA技术》 戴澜 张晓波
数字IC设计学习笔记(一)——逻辑综合简介相关推荐
- 数字IC设计学习笔记_Formality 形式验证
数字IC设计学习笔记 Formality 形式验证 1. 基本特点 2. Reference Design 和Implementation Design 3. container 4. 读入共享技术库 ...
- 数字IC设计学习笔记_静态时序分析STA_ PrimeTime 基本概述
数字IC设计学习笔记 PrimeTime 基本概述 1. PrimeTime 基本概述 2. 运行模式 1. PrimeTime 基本概述 PrimeTime,Synopsys公司提出的,针对于复杂的 ...
- 数字IC设计学习笔记_静态时序分析STA_伪路径False Paths
数字IC设计学习笔记 半周期路径Half Cycle Path 1. 伪路径False Paths 2. 如何处理False Paths 1. 伪路径False Paths 在设计中,有些路径是不可能 ...
- 数字IC设计学习笔记_静态时序分析STA_ STA基本概念
数字IC设计学习笔记 STA基本概念 1. STA基本概念 2. 时序弧概念 Timing Arc 3. 建立时间和保持时间概念 4. 时序路径概念Timing Path 5. 时钟域概念clock ...
- Cadence IC设计学习笔记一
Virtuoso Schematic Editor学习 启动 建立新库.新单元及新视图 添加元件 添加管脚 添加电源和地 摆放元件并加网线 层次化设计-symbol生成 电路仿真 创建激励信号电路模块 ...
- 数字IC前端学习笔记:LSFR(线性反馈移位寄存器)
引言 LSFR(线性反馈移位寄存器)用于产生可重复的伪随机序列PRBS(Pseudo-Random Binary Sequence),结构包括n级D触发器和一些异或门(或同或门)组成,在每个时钟沿,后 ...
- 模拟IC设计学习笔记(1)---恒流源负载的共源极放大器极点的观察与计算
一.电路设计 1.恒流源负载的共源极放大器模型 2.在本次电路仿真中我们设定的参数: pmos:W=L=5um nmos:W=L=2um 输出点放置1pF电容(较大,即忽略两个MOS管的漏端电容) ...
- 笔试题-2023-燧原-数字IC设计【个人解答版】
回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.07.07 应聘岗位:数字IC设计 题目评价 难易程 ...
- 笔试题-2023-思远半导体-数字IC设计【纯净题目版】
回到首页:2023 数字IC设计秋招复盘--数十家公司笔试题.面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.08.20 应聘岗位:数字IC设计工程师 笔试时长: ...
最新文章
- c++ socket学习(1.4)
- 2017.10.25水题大作战题解
- verilog找不到模块_工欲善其事,必先利其器 verilog编辑器搭建
- 洛谷入门题P1422、P1085、P1089、P1909题解(Java语言描述)
- (65)SPI外设驱动用户接收模块(四)(第13天)
- SQL Server 的本地时间和UTC时间
- 8-4 redis sentine 安装
- SLAM和三维重建中的SFM区别
- screwing up
- VS2010详细安装步骤
- 网易邮箱大师添加附件显示服务器连接失败,网易邮箱大师如何添加Word附件 添加附件方法步骤详细介绍...
- Linux终端分类及tty设置分辨率与字体
- java多线程厨师做饼,Java多线程之厨师与食客问题
- SAP HANA中日期格式转换
- 专业方向系列-01-大数据与故障诊断概述
- java lcs_LCS最长公共子序列java实现
- Qt电子白板 画板 画笔 毛笔 钢笔 蜡笔 2D/3D图形 音视频播放
- 研究速递:使用AI应对腐败的潜力和风险
- Android进阶之路 - 版本升级、更新
- Android 数据存储之SQLite数据库