1、简述ASIC设计流程,并列举出各部分用到的工具?

说实话,半路出家,没弄过ASIC,但是经常遇到ASIC与FPGA开发做比较的题目,不得不主动了解下ASIC:

ASIC全称: Application Specific Integrated Circuit,是一种为专门目的而设计的集成电路。

现代ASIC常包含整个32-bit​​处理器​​​,类似​​ROM​​​、​​RAM​​​、​​EEPROM​​​、​​Flash​​​的​​存储单元​​​和其他模块. 这样的ASIC常被称为SoC(​​片上系统​​)。

​FPGA​​​是ASIC的近亲,一般通过原理图、​​VHDL​​​对​​数字系统​​​​建模​​​,运用​​EDA​​​软件​​仿真​​​、综合,生成基于一些标准库的网络表,配置到​​芯片​​​即可使用。它与ASIC的区别是用户不需要介入​​芯片​​的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活。

以上是百度的内容,下面给出设计流程:

FPGA笔试题解析(一)_原理图

除了细微地差别,看起来和FPGA的设计流程差不多,这样就比较好联想记忆了。

下面给出详细说明:

ASIC开发基本流程

芯片架构​,考虑芯片定义、工艺、封装

RTL设计​,使用Verilog、System Verilog、VHDL进行描述

功能仿真​,理想情况下的仿真

验证​,UVM验证方法学、FPGA原型验证

综合​,逻辑综合,将描述的RTL代码映射到基本逻辑单元门、触发器上

DFT技术​,插入扫描链

等价性检查​,使用形式验证技术

STA​,静态时序分析

布局规划​,保证没有太多的内部交互,避免布线上的拥堵和困扰

时钟树综合​,均匀地分配时钟,减少设计中不同部分间的时钟偏移

DRC​,设计规则检查

LVS​,布线图和原理图进行比较

生成GDSII

这整个流程称为RTL2GDSII,利用GDSII来生产芯片的过程称作流片(Tapeout),以上是一个Fabless公司的简易设计流程,最后将GDSII送至Foundry生产芯片。


2、简述FPGA的开发流程?

FPGA的开发流程可以从FPGA的开发工具ISE或者Vivado上看出,例如ISE:

FPGA笔试题解析(一)_开发工具_02

如VIvado:

FPGA笔试题解析(一)_原理图_03

大概是如下流程:

FPGA笔试题解析(一)_原理图_04

从ISE以及Vivado开发工具上可以看出的过程有:RTL代码的编写,可以使用原理图、Verilog HDL以及VHDL来开发,之后可以进行功能仿真,验证设计是否正确,是否符合逻辑,之后就可以进行综合,将RTL代码映射到基本逻辑门单元,触发器上。之后进行实现,实现包括三个步骤:

FPGA笔试题解析(一)_数据_05

翻译,映射以及布局布线。

这三者完成了什么工作,见 ​

这是在ISE中有的套路,在Vivado开发工具中可没这么复杂,vivado生成的网表格式是一致的,没有ISE那么多,那么杂。

最后生成bit流文件,烧写进FPGA即可。


3、名词解释:

ROM:​R​ead ​O​nly ​M​emory,只读存储器,手机、计算机等设备的存储器,但现在的所说的ROM不只是Read Only了,也是可以写入的。

RAM:​R​andom ​A​ccess ​M​emory,随机存取存储器,手机、计算机的运行内存。

SRAM:​S​tatic ​R​andom-​A​ccess ​M​emory,静态随机存取存储器,只要供电数据就会保持,但断电数据就会消失,也被称为Volatile Memory

DRAM:​D​ynamic ​R​andom ​A​ccess ​M​emory,动态随机存储器,主要原理是利用电容存储电荷的多少来代表一个bit是0还是1,由于晶体管的漏电电流现象,电容会放电,所以要周期性的给电容充电,叫刷新。SRAM不需要刷新也会保持数据丢失,但是两者断电后数据都会消失,称为Volatile Memory

SDRAM:​S​ynchronous ​D​ynamic ​R​andom ​A​ccess ​M​emory,同步动态随机存储器,同步写入和读出数据的DRAM。

EEPROM:​E​lectrically ​E​rasable ​P​rogrammable ​R​ead ​O​nly ​M​emory,电可擦除可编程只读存储器,

DDR:​D​ouble ​D​ata ​S​ynchronous ​D​ynamic ​R​andom ​A​ccess ​M​emory,双倍速率同步动态随机存储器,双倍速率传输的SDRAM,在时钟的上升沿和下降沿都可以进行数据传输。我们电脑的内存条都是DDR芯片。

FLASH: Flash Memory,闪存,非易失性固态存储,如制成内存卡或U盘。

关于这部分,我以前也有总结过:

​RAM​

​ROM​

​IP核​

参考链接:​​http://ninghechuan.com/2019/02/22/%E4%BD%A0%E8%A6%81%E7%9A%84FPGA&%E6%95%B0%E5%AD%97%E5%89%8D%E7%AB%AF%E7%AC%94%E9%9D%A2%E8%AF%95%E9%A2%98%E9%83%BD%E5%9C%A8%E8%BF%99%E5%84%BF%E4%BA%86/​