数字芯片流程

目录

一、需求分析

二、功能架构设计

三、RTL编码

四、功能仿真验证(前仿)

五、逻辑综合

六、STA静态时序分析

[七、形式验证 Formality](#七、形式验证 Formality)

后端流程

一、DFT

二、布局规划

三、时钟树综合CTS

四、布线

五、寄生参数提取

六、物理版图验证


芯片设计分为前端设计和后端设计,前端设计(也称逻辑设计)和后端设计(也称物理设

计)并没有统一严格的界限,涉及到与工艺有关的设计就是后端设计

一、需求分析

产品要解决什么问题,预测未来3-5年的走势和趋向,确保芯片是有卖点和前瞻性,面向 未来

客户向fabless(芯片设计公司)提出设计要求,包括芯片需要达到的具体功能和性能方面

的要求,让架构师可以进行细化

二、功能架构设计

架构师将系统功能进行分解和细化,形成spec规范,将设计参数化、具体化

包括处理器架构的选择:ARM、RISC-V;

总线接口选择:AHB、AXI、APB;

软硬件功能的划分:硬件速度快,性能高,灵活性差。软件速度慢、性能差灵活性高开发 周期短。

性能参数:引脚选择,电压频率、工艺选择、功耗和温度范围。

三、RTL编码

使用硬件描述语言(VHDL,Verilog HDL)将模块功能以代码来描述实现。

图形输入工具:Cadence的composer

四、功能仿真验证(前仿)

功能仿真,对RTL 级的代码进行设计验证,检验设计功能的正确性,是否满足规格中的 所有要求

仿真工具:Modelsim、VCS

五、逻辑综合

基于特定的工艺库,设定电路的面积、时序等目标参数的约束条件,将设计的RTL级代 码映射为门级网表netlist。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单 元(standard cell)的面积,时序参数是不一样的

综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)

逻辑综合工具:Design Compiler

六、STA静态时序分析

在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例

STA 工具:Synopsys 的Prime Time。( PT)

七、形式验证 Formality

从功能上对综合后的网表进行验证,将综合后的网表与验证后的HDL设计对比,看他们 是否在功能上存在等价性,保证逻辑综合过程中没有改变HDL描述的电路功能

形式验证工具:Synopsys的Formality

后端流程

一、DFT

可测性设计,在设计中插入扫描链。SCAN、Mbist、ATPG技术等

二、布局规划

放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,能 影响芯片的最终面积。 如IP模块、RAM、I/O引脚等摆放位置

工具:IC Compiler

三、时钟树综合CTS

时钟的布线,时钟分布H型或树形,使时钟从同一个时钟源到达各个寄存器时,时钟延迟 差异最小

工具:PC

四、布线

将前端提供的网表实现成版图,包括各种标准单元之间的走线

五、寄生参数提取

由于导线本身存在的电阻,相邻导线之间的互感、耦合电容在芯片内部会产生信号噪声、 串扰和反射。提取寄生参数进行再次分析验证,分析信号完整性问题

六、物理版图验证

对布线完成的版图进行功能和时序上的验证

LVS:版图和逻辑综合后的门级电路图对比验证

DRC:设计规则检查,检查连线间距,连线宽度

ERC:电气规则检查,检查短路开路

实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的 DFM(可制造 性设计)问题。物理版图以GDS II的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上 做出实际的电路,再进行封装和测试,就得到了可使用的芯片

相关推荐
hahaha601617 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
NamoAmitabha12818 小时前
直接上手 UVM 例子
fpga开发
cmc10281 天前
301.modelsim自动仿真
fpga开发
Riwuarua1 天前
从近似0基础开始FPGA开发 -- part.10 verilog-ethernet开源UDP协议栈工程学习
fpga开发·udp·开源
my_daling2 天前
紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)
笔记·学习·fpga开发
Riwuarua3 天前
从近似0基础开始FPGA开发 -- part.11 AXI总线协议与工程应用
fpga开发
自小吃多3 天前
高云 FPGA 添加时序约束笔记
笔记·fpga开发
学习FPGA的电气小兴兴3 天前
基于FPGA的CORDIC旋转模式实现sin和cos运算
fpga开发·信号处理·数字信号处理·verilog·fpga·verilog hdl·cordic
blue_ice .3 天前
DDS原理及简易实现
开发语言·经验分享·笔记·嵌入式硬件·fpga开发
明德扬3 天前
AD9653采集模块怎样连接FPGA底板?从ADC采样到数据处理
学习·fpga开发·fpga