VLSI设计流程

IP核

IP核(Intellectual Property Core)是指预先设计好的、经过验证的功能模块,可以被集成到更大的系统中,以加速设计过程并降低开发成本。IP核通常由第三方供应商提供,也可以是公司内部开发的知识产权。

类型:

  1. 软核(SoftCore)
    • 定义:软核是以硬件描述语言(如Verilog或VHDL)的形式提供的逻辑设计文件。
    • 特点:灵活性高,可以根据具体的应用需求进行优化和修改。
    • 应用:适用于需要高度定制化的场景,如特定算法的实现。
  2. 硬核(HardCore)
    • 定义:硬核是已经完成布局布线的物理设计,可以直接嵌入到芯片中。
    • 特点:性能高,功耗低,但灵活性较低,难以修改。
    • 应用:适用于高性能、低功耗要求的场景,如处理器核心、高速接口等。
  3. 固核(FirmCore)
    • 定义:固核介于软核和硬核之间,通常以门级网表(Gate-Level Netlist)的形式提供。
    • 特点:具有一定的灵活性,但已经进行了初步的优化,可以节省设计时间和资源。
    • 应用:适用于需要一定灵活性但又希望快速集成的场景。

集成电路常见厂商

CAD/EDA

  • Synopsys 新思
  • Cadence 楷登
  • Mentor Graphics 明导

芯片设计

  • Qualcomm 高通
  • SANSUNG 三星
  • Intel 英特尔
  • ARM 安谋
  • Texas Instruments 德州仪器

Fab/Foundry

  • SMIC 中芯国际
  • TSMC 台积电
  • UMC 联华

Y图,与集成电路设计域

系统级和算法级是同一层次的层级!

集成电路设计域 数字CMOS集成电路复习笔记:第一篇

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?
  • PLA(可编程逻辑阵列):与门阵列与或门阵列均可以编程
  • PROM(可编程只读存储器):与门阵列固定,或门阵列可编程
  • PAL(可编程阵列逻辑):与门阵列可编程,或门阵列固定

不同设计风格优缺点

  • 全定制(Full Custom)设计:
    • 功耗、性能、面积可以得到完全优化
    • 高度复杂性成本高、time-to-market,高风险
  • 标准单元(Standard Cell)设计:
    • 简单、快速、可靠,EDA工具支持好
    • 只能完成数字电路设计,功耗、面积可能过大
    • 目前最广使用的设计方法
  • 门阵列(Gate Array)设计:
    • 减少了掩模成本和制造周期
    • 只能是数字电路,性能受到限制
  • FPGA:
    • 不需要硅片的制造加工,非常便宜
    • 性能受限,单个芯片成本高,批量大的时候不划算