1. Introduction

学习路线:Design Abstraction->Design Automation(EDA)->Design Re-use(IP);

General Design Approach

Divide and conquer

  • 分解问题
  • 数学建模
  • 合理使用工具链
  • 验证测试
  • 再思考(回到开头)

设计的抽象化

  • 系统级(system level)
  • 寄存器传递层级(RTL,register transfer level)->Verilog/SpinalHDL
  • 门级(gate level)
  • 三极管层级(transistor level)
  • 布局(layout level)
  • 掩膜(mask level)

或者在VLSI的实际设计过程中,分为以下级别:

  • 应用级
  • 算法级
  • 编程语言层
  • 操作系统/虚拟机层
  • 指令集结构层
  • 微架构层
  • RTL
  • 电路
  • 元件(三极管)
  • 物理定律

EDAs in VLSI

  • RTL
    • Verilog
  • Synthesis
    • Cadence Genus
  • Place and route
    • Candence Innovus
    • Static Timing Analysis: Tempus
    • Power Estimation: Voltus
    • Parasitic Extraction: QRC
    • Clock Tree Synthesis: CCOpt

Chip design flow

  • Definition & Planning
  • Design & verification
  • Logic Synthesis
  • Physical Design
  • Signoff and Tapeout
  • Silicon Validation

2. Verilog

关于硬件描述语言需要知道的几个事实:

  1. 指令并行
  2. 指令触发依靠事件(Events)
  3. 敏感信号列表定义什么时候指令发生
  4. 不同的仿真器会得到不一样的结果(bad)

三种代码风格:

  • for Device Under Test(DUT)

    1. GTL(Gate Level,Netlist,Structural code)
    2. RTL
  • for testbench

    1. Behavioral(Testbench)