数字IC设计流程
集成电路(IC)设计完整流程详解及各个阶段工具简介
1.确定项目需求
设计芯片的spec
2.系统级设计
使用系统建模语言进行描述,划分模块功能
3.前端设计
1)RTL设计
2)功能仿真(VCS+Verdi)
3)逻辑综合(DC)Synopsys的Design Compiler
4)静态时序分析(PT)Synopsys的Prime Time
5)一致性验证(Formality)Synopsys的Formality
4.后端设计
1)DFT Synopsys的DFT Compiler
2)布局规划 Synopsys的Astro
3)时钟树综合 Synopsys的Physical Compiler
4)布线 Synopsys的Astro
5)寄生参数提取 Synopsys的Star-RCXT
6)版图物理验证 Synopsys的Hercules
5.Tape Out流片
FPGA设计流程
组合与时序
组合逻辑电路的输出在任一时刻只取决于当时的输入信号;而时序逻辑电路的输出,不仅和当前的输入有关,还和上时刻的输出有关
组合逻辑电路只是包含了逻辑电路,但是时序逻辑电路包含了逻辑电路+存储电路
综合
步骤:翻译,逻辑优化,门级映射
synthesis = translation + logic optimization + gate mapping
就是将RTL转化成门极网表的过程。
电路综合将电路的逻辑翻译成满足性能要求的晶体管网表,包括使用的电路类型(静态或动态CMOS等)和确定各三极管的大小,以满足时序要求,主要用于单元库(Cell Library)元器件设计。
逻辑综合(或RTL综合)产生逻辑电路的结构,通过EDA工具将RTL代码映射到由制造厂家标准单元库中的元件所构成的门级电路的过程。
行为综合根据给定任务的行为级描述,以及性能、面积和功耗约束条件产生电路结构,包括确定需要哪些硬件资源(如执行单元、存储器、I/O接口等),将行为级的操作与硬件资源相结合,并决定系统架构和执行顺序。尽管行为综合的研究取得巨大进展,但目前仅在一些特定场合得到了应用(如无线通信、存储和影响处理等采用大量数字信号处理算法的领域)。
原文链接:数字IC设计学习笔记(一)——逻辑综合简介包含DC操作
速度优化与面积优化
一、面积优化
系统进行面积优化其实就是进行资源优化,主要有以下三种方向:
串行化
逻辑优化
资源共享
二、速度优化
系统进行速度优化其实就是提高系统的运行速度,主要有以下几种方向:
使用流水线
寄存器配平
关键路径优化
并行化
消除代码的优先级
原文链接系统如何进行面积优化和速度优化?
具体分析数字电路基础:系统设计优化
同步通信(有没有同步时钟)与异步通信
同步方式下,发送方除了发送数据,还要传输同步时钟信号。
在异步通信方式中,发送方只发送数据帧,不传输时钟,发送和接收双方必须约定相同的传输率。
在传输率相同时,同步通信方式下的信息有效率要比异步方式下的高,因为同步方式下的非数据信息比例比较小。
异步通信过程中,可能发生通信错,一般有3种错误:1、帧格式错2、奇偶错3、覆盖错
异步串行通信 实现起来 比 同步串行通信 简单
跨时钟域的主要问题
- 亚稳态
- 数据丢失
- 数据一致性
深刻理解跨时钟域:三个主要问题和解决方案
芯片工艺节点的含义
沟道长度
哈佛结构与冯诺依曼结构
冯诺依曼结构中不独立区分程序和数据空间,处理器只有一套总线,即程序和数据空间共用地址和数据总线,取指令和取数据不能同时进行。
哈佛结构中程序空间和数据空间是独立的,具有各自独立的地址线和数据总线,即处理器有两套总线,一套是程序存储器的数据和地址总线,一套是数据存储器的数据和地址总线。取址和取数据能并发进行。
改进型哈佛结构是在普通哈佛结构的基础上加上独立的缓冲区cache, 虽然处理器只有一套总线,但由于cache的存在,CPU直接访问的是cache,而cache又分为指令cache和数据cache,这两个cache是独立的,所以可以同时访问指令和数据,也就是说能够并行运行。
冯诺依曼结构和哈佛结构
数字逻辑定理
分配律的第二条很有用
吸收律的第三条很有用
摩根定律很常见
跨时钟域分析
单bit信号
快到慢
由于快时钟域信号频率变化快,导致慢时钟域的时钟信号可能采样不到快时钟域下有效的信号的边沿。这时,就需要使用脉冲同步器进行同步。
首先,脉冲同步器的作用就是:在快时钟域取出一个单时钟周期宽度的脉冲,然后在经过慢时钟域两级同步和后一级触发器打拍,逻辑异或后产生一个慢时钟下单时钟周期宽度的同步脉冲。
因为慢时钟很有可能采样不到快时钟,所以需要通过快时钟域下的翻转电路,将快时钟域下前后间隔较多个周期的两个有效脉冲进行标定,形成上图所示的Toggle信号脉冲。
然后,先通过同步电路将Toggle信号进行同步,形成上图所示的A、B信号波形。
最后用组合电路做A^B,得到慢时钟域下两个有效的单周期脉冲。
快时钟域下的两个输入脉冲的间隔必须大于或等于慢时钟域的2个时钟周期。换做图中的Toggle信号来说,就是Toggle信号脉冲必须要维持两个慢时钟域周期。
因为如果快时钟域下的两个输入脉冲过近,则会使慢时钟域中同步后的两个输出脉冲紧密相连,输出时钟的宽度会比慢时钟域的单时钟宽度要宽。
慢到快