数字CMOS集成电路复习笔记:第九篇
VLSI设计流程
IP核
IP核(Intellectual Property Core)是指预先设计好的、经过验证的功能模块,可以被集成到更大的系统中,以加速设计过程并降低开发成本。IP核通常由第三方供应商提供,也可以是公司内部开发的知识产权。
类型:
- 软核(SoftCore):
- 定义:软核是以硬件描述语言(如Verilog或VHDL)的形式提供的逻辑设计文件。
- 特点:灵活性高,可以根据具体的应用需求进行优化和修改。
- 应用:适用于需要高度定制化的场景,如特定算法的实现。
- 硬核(HardCore):
- 定义:硬核是已经完成布局布线的物理设计,可以直接嵌入到芯片中。
- 特点:性能高,功耗低,但灵活性较低,难以修改。
- 应用:适用于高性能、低功耗要求的场景,如处理器核心、高速接口等。
- 固核(FirmCore):
- 定义:固核介于软核和硬核之间,通常以门级网表(Gate-Level Netlist)的形式提供。
- 特点:具有一定的灵活性,但已经进行了初步的优化,可以节省设计时间和资源。
- 应用:适用于需要一定灵活性但又希望快速集成的场景。
集成电路常见厂商
CAD/EDA
- Synopsys 新思
- Cadence 楷登
- Mentor Graphics 明导
芯片设计
- Qualcomm 高通
- SANSUNG 三星
- Intel 英特尔
- ARM 安谋
- Texas Instruments 德州仪器
Fab/Foundry
- SMIC 中芯国际
- TSMC 台积电
- UMC 联华
Y图,与集成电路设计域
系统级和算法级是同一层次的层级!
IC设计是一个不断将设计描述从高层次描述向低层次描述转换的过程;每一个模数过程需要仔细验证,每一个转换过程也需要仔细验证。转换过程可以是EDA工具自动完成的,也可以是人工完成的。
简单地说,数字集成电路设计的流程,就是不断地将数字系统的描述从高层次向低层次转换的过程,中间伴随着不断的验证。这种转换一直到版图阶段结束。
层次化设计
模块化设计使得设计好的电路可以被重用,层次化使得设计理解起来更加容易。每一个电路都可以在行为域、结构域和物理域被描述。
层次化、规范化、模块化、本地化?
- 层次化设计不断将电路分解成子模块电路,直到子模块电路可以被设计和描述,降低了子模块电路设计的复杂度。
- 规范化是指要让整个系统由功能尽可能相似的子模块构成,减少子模块数量,提高子模块的重复利用率;一个电路尽量由相同的子模块构成,例如一个由完全相同的单元构成的阵列结构的设计。
- 模块化意味着所设计的子电路具有很好的功能定义和接口,便于重复使用;模块化设计使得设计可以由多人并行进行;定义良好的接口使得每个模块不受外部模块的影响。
- 本地化指的是保证模块间的连线尽可能短,子模块之间尽量不出现长距离连线。
全定制设计流程
可能会考验证部分。
设计中的验证环节:
- 电路验证:网表仿真
- 版图验证:DRC/LVS/RCX
- 静态验证:静态参数测量
- 动态验证:输入波形(瞬态响应)
- 时序验证:静态时序分析
VLSI设计风格
根据数字集成电路版图设计方法的不同,设计风格可以分为:全定制、半定制、可编程逻辑器件。
数字集成电路主要是半定制方法设计的(ASIC),少批量的产品用FPGA。
Full Custom 全定制设计
- 版图完全由设计者重新设计,不采用任何库,所有晶体管由手工设计开发;
- 设计效率极低,开发成本非常高;
- 只适合于存储器这样的重复率极高的电路产品,或者性能要求极高、其他设计方法无法满足要求的产品,例如:高性能CPU,DRAM和SRAM等。
- 模拟电路因为设计方法不支持的原因,只能采用全定制设计。
- 数字电路一般不用全定制来设计,主要原因是数字电路规模大,全定制设计效率低、设计时间长、成本极高,一般产品无法接受这么长的设计时间。
Semi Custom 半定制设计
基于标准单元的设计
标准单元(Standard Cell)是一组预定义的基本逻辑功能模块,它们被设计成具有相同的高度和固定的引脚位置,以便于在集成电路(IC)中进行高效布局和布线。
基于门阵列的设计
基于门阵列(Gate Array)的设计是一种早期的数字集成电路设计方法,它在20世纪80年代和90年代初期非常流行。门阵列设计方法介于全定制设计和标准单元设计之间,提供了一种折中的方案,旨在平衡设计时间和成本。
门阵列是一种预先制造的集成电路基板,其中包含了大量的未连接的基本逻辑门(如与门、或门、非门等)。这些基本逻辑门被排列成规则的阵列,因此得名“门阵列”。在设计阶段,设计师只需要定义这些基本逻辑门之间的连接关系,而不需要从头设计每个逻辑门的布局和布线。
可编程逻辑器件设计
FPGA – Field Programmable Gate Array:现场可编程门阵列
- 可配置的逻辑模块构成的阵列,可编程的互连线结构
- 快速实现设计原型(Prototype), 非常适合小批量实验产品,设计成本低
- 使用硬件描述语言HDL设计
- PLA(可编程逻辑阵列):与门阵列与或门阵列均可以编程
- PROM(可编程只读存储器):与门阵列固定,或门阵列可编程
- PAL(可编程阵列逻辑):与门阵列可编程,或门阵列固定
不同设计风格优缺点
- 全定制(Full Custom)设计:
- 功耗、性能、面积可以得到完全优化
- 高度复杂性,成本高、time-to-market,高风险
- 标准单元(Standard Cell)设计:
- 简单、快速、可靠,EDA工具支持好
- 只能完成数字电路设计,功耗、面积可能过大
- 目前最广使用的设计方法
- 门阵列(Gate Array)设计:
- 减少了掩模成本和制造周期
- 只能是数字电路,性能受到限制
- FPGA:
- 不需要硅片的制造加工,非常便宜
- 性能受限,单个芯片成本高,批量大的时候不划算