数字芯片设计流程

首先介绍下模拟信号与数字信号的区别:模拟信号在时间和数值上是连续的,例如我们要录制一段声音,模拟信号是用一段连续变化的电磁波或电压信号来表示,自然界中的信号以模拟信号呈现。而数字信号在时间和数值上是离散的、间断的。模拟信号通过采样、量化、编码可以转化为数字信号,而在满足香农(Claude Elwood Shannon)采样定理的条件下,数字信号也可以复原为模拟信号。下图演示将模拟信号转化为数字信号:

数字芯片设计流程_第1张图片

这里采用二进制编码,可以看出数字信号只有0和1两种状态,也可以采用八进制、十六进制进行编码,它们可以按照一定的规则进行相互转化。处理数字信号的芯片称为数字芯片,常见的数字芯片有CPU、GPU、DPU等。

数字芯片设计流程 :设计一款芯片是一项极其复杂的工程,需要团队的合作才能完成这项任务。根据每个阶段的任务不同,数字芯片设计可以分为数字前端、数字中端、数字后端三个步骤。

数字前端:前端设计/验证

这一阶段主要完成项目需求定义、架构设计、RTL代码编写、功能验证等步骤。

首先必须确定芯片的具体指标:主要有物理实现、性能指标、功能指标等。物理实现包含制作工艺、裸片面积等;性能指标如速度、功耗等;功能指标可分为功能描述及接口定义等。确定好具体指标后,需要用C、C++、matlab等系统建模语言对各个模块描述,对方案的可行性进行验证,称为系统级设计,这部分工作由芯片架构工程师完成。

系统级设计无误后,进行RTL寄存器传输级设计、功能验证、逻辑综合、形式验证、STA静态时序分析等步骤,下面将详细介绍。

RTL设计:利用硬件描述语言,如Verilog、VHDL,将算法转换成以寄存器及触发器之间的数据传输为基础的形式进行描述,这部分工作由芯片设计工程师完成。

功能验证:每完成一个模块、一项功能后,都需要用大量的用例验证其正确性,确保逻辑正确。功能验证由芯片验证工程师完成。

逻辑综合:将描述逻辑关系的RTL语言翻译成物理电路的各种元器件单元及其连接,称为逻辑综合,综合后得到门级网表,门级网表=标准单元+连线。

形式验证:形式验证是通过数学模型的方法来检查综合后的门级网表与 RTL是否匹配。

STA静态时序分析:通过数学的方法来计算并分析所有的路径,检查其是否违反电路设计者的时序要求。

数字中端:DFT实现

DFT即可测性设计:为了在芯片生产之后测试芯片的良率,看物理制造有无错误,一般是在电路中加入扫描链,这部分工作由DFT工程师完成。

数字后端:物理实现

这一阶段主要包括:布局布线、寄生参数提取、静态时序分析、版图物理验证、生成GDSII文件及流片。

布局布线:布局是指放置芯片的模块位置,将各种功能模块按照一定的规则放置在不同的位置。布线时首先布局时钟线,即时钟树综合CTS,完成后再布局普通的线。布局布线直接影响到芯片面积的大小。

寄生参数提取:提取电路的延迟信息。

静态时序分析STA:前端的时序分析是依靠模型,反映的是理论上的时序情况。后端的时序分析是针对布局布线后的物理网表,反映更真实的时序情况。

版图物理验证:这一阶段大致可以分为DRC和LVS。DRC即设计规则检查,检查内容涵盖设计规则检查、连线间距检查、连线宽度是否符合工艺要求等;LVS验证:简单地说,就是将版图与综合后的门级电路图的对比验证。

生成GDSII文件及流片:完成物理版图验证无误后,物理版图以GDSII文件的格式交给芯片代工厂,在晶圆硅片上做出实际的电路,再进行封装测试,满足要求后即可上市,从而完成一款芯片的开发。

你可能感兴趣的:(基本理论,arm开发,硬件工程,fpga开发)