课程主页:

http://www.eng.biu.ac.il/temanad/digital-vlsi-design/

课程视频:

https://www.youtube.com/watch?reload=9&v=RbZ3BXbd6_k&list=PLZU5hLL_713x0_AV_rVbay0pWmED7992G

https://www.bilibili.com/video/BV1EA411n7VQ?from=search&seid=14545899898143497364

此课程是youtube上介绍芯片设计的课程,全面覆盖了芯片设计前端后端的整个流程,课程视频已搬运至b站。

这次回顾第一讲,这一讲介绍了芯片设计的整个流程。

制造一个芯片

基本设计抽象

芯片设计流程:

和设计计算机应用程序的类比:

系统级抽象(System Level)
  • 高级行为的抽象算法描述
    • 例如C语言
    • 抽象,因为它不包含任何时间或数据的实现细节
    • 高效地获得紧凑的执行模型作为设计初稿
    • 整个项目难以维护,因为和实现没有关系
寄存器传输级别(Register Transfer Level,RTL)
  • 精确模型,接近硬件实现

    • 比特向量级别的数据类型和操作,以此作为比特级实现的抽象

    • 支持复杂控制流建模的顺序构造(例如,if-then-else,while循环)

    • 例子

门级(Gate Level)
  • 有限状态机级别的模型
    • 在布尔逻辑中使用寄存器和门的模型
    • 门线各种延时模型

晶体管到mask级别
  • 晶体管级别:
    • 使用紧凑的模型,使电路模拟更精确。
  • 布局级别:
    • 绘制多边形实现设备和互连。
  • mask级别:
    • 制作实际光罩,以便在制造过程中进行光刻。

设计自动化

如今的设计自动化

设计
  • 高阶综合(High Level Synthesis)
  • 逻辑综合(Logic Synthesis)
  • 原理图捕获(Schematic Capture)
  • 布局图(Layout)
  • PCB设计(PCB Design)
仿真
  • 晶体管仿真(Transistor Simulation)
  • 逻辑仿真(Logic Simulation)
  • 硬件仿真(Hardware Emulation)
  • 技术CAD(Technology CAD)
  • 字段解析器(Field Solvers)
验证
  • ATPG
  • BIST
分析与验证
  • 功能验证(Functional Verification)
  • 时钟域交叉(Clock Domain Crossing)
  • 形式验证(Formal Verification)
  • 等价性检查(Equivalence Checking)
  • 静态时序分析(Static Timing Analysis)
  • 物理验证(Physical Verification)

Mask制作

  • 光学邻近效应修正(Optical Proximity Correction (OPC))
  • 分辨率增强技术(Resolution Enhancement Techniques)
  • Mask生成(Mask Generation)

芯片设计流程

芯片是如何制造的

  • 定义和规划
  • 设计与验证(前端)
  • 逻辑综合(前端、后端)
  • 物理设计(后端)
  • 签收和Tapeout
  • 硅验证
  • 不要忘记包装和板设计,软件设计、测试计划等。
定义和规划
  • 市场需求文档(MRD)
  • 芯片架构
  • 设计文档
  • 平面图/板材要求
  • 工艺及制造
  • 项目开工,移交实施
设计与验证
  • RTL(寄存器传输级)设计
  • IP集成/开发
  • RTL Lint/可综合性检查
  • 形式验证
  • 功能验证所有IP:
    • 单位级
    • 子系统级
    • 芯片(SOC)级
IP(intellectual property)集成
  • 硬IP
    • 作为现有布局提供的IP,具有:
      • 时序模型
      • 布局摘要
      • 行为模型(Verilog/VHDL)
      • 有时位spice模型,完整的布局
    • 这是自定义数字块的标准传递格式
      • RAM、ROM、PLL、处理器
  • 软IP
    • RTL代码
      • 可加密
      • 像其他RTL块一样实例化
    • 有时候是行为模型
原型化
  • 不同级别的验证:
    • 规格驱动测试
    • Bug驱动测试
    • 覆盖驱动测试
  • FPGA原型:
    • 合成FPGA
    • 尽可能加快测试速度
  • 硬件仿真:
    • 能够模拟整个设计的大型服务器
逻辑综合

  • 输入:
    • 技术库文件
    • RTL文件
    • 约束文件(SDC)
    • DFT定义
  • 输出:
    • 门级网表

逻辑综合分为三个部门

  • 综合
    • RTL代码转换为泛型逻辑网表
  • 映射
    • 将泛型网表从核心库映射到标准单元
  • 优化
    • 满足时间/面积/功率限制
  • 综合后检查
    • 门级仿真
    • 形式验证(逻辑等同)
    • 静态时序分析(STA)
    • 功率/面积估算
物理设计(后端)

  • 平面图
  • I/O环
  • 电源规划
  • 位置
  • 时钟树综合
  • 路由选择(route)
  • DRC, LVS, Antennas, EM
  • LEC, Post layout

整个流程

Signoff and Tapeout
  • 寄生参数提取
  • 带SI的STA
  • DRC/LVS/ERC/DFM
  • 门级仿真
  • 功率分析
  • DFT测试
  • 逻辑等价