CPU 设计 + 制造完整教程(学习版)

IT 技术 6 阅读 更新于 2026-10-29 20:17

CPU设计+制造完整教程(学习版)

重要前置说明:普通人在家无法流片造出商用CPU,流片成本几十万~千万级别,依赖晶圆厂、EUV/DUV光刻机、全套EDA、洁净车间。本教程分两大块:CPU数字前端+后端设计(可在电脑/FPGA上动手实现RISC-V内核) + 晶圆制造/封测工业流程原理;学习路线优先:仿真 → FPGA上跑自己写的CPU → 理解工业流片流程。

一、整体总流程

规格定义 → 架构/微架构设计 → RTL前端(Verilog/SystemVerilog)+验证 → 逻辑综合 → 后端布局布线(P&R) → 物理验证(DRC/LVS) → TapeOut交付GDSII → 晶圆厂前道制造(FEOL晶体管、BEOL金属互连) → 晶圆测试 → 划片 → 封装 → 成品测试

第一部分:CPU设计(IC设计,可动手学习)

阶段1:规格与架构定义(Spec)

  1. 选定指令集:新手优先 RISC-V RV32I(最小整数指令集),其次RV32IMC;不建议从头自创ISA。
  2. 确定微架构参数(PPA权衡:性能、功耗、面积)
    • 单周期 / 5级流水线(IF/ID/EX/MEM/WB,最经典入门)、超标量乱序(BOOM,难度极高)
    • 寄存器堆:32个通用寄存器x0-x31、程序计数器PC
    • 缓存:I-Cache、D-Cache(入门版可先不带Cache)
    • 总线:AHB/APB,外部外设(UART、GPIO)
  3. 输出文档:指令编码表、流水线时序图、中断/异常机制、接口时序

模块拆分(最小RISC-V CPU)

  • IF 取指:PC、指令ROM/IMEM
  • ID 译码:指令译码器、寄存器堆
  • EX 执行:ALU、比较器、分支判断
  • MEM 访存:数据存储器读写
  • WB 写回:结果回写寄存器堆

阶段2:RTL前端设计(写硬件代码)

语言:Verilog / SystemVerilog(工业主流);Chisel(Scala,伯克利Rocket/BOOM)

重点:RTL是寄存器传输描述,不是软件C代码,描述时钟沿寄存器之间的数据流动,必须可综合。

module alu(
    input  [31:0] a, b,
    input  [2:0]  op,
    output reg [31:0] res
);
localparam ADD=3'b000, SUB=3'b001, AND=3'b010, OR=3'b011, XOR=3'b100;
always @(*) begin
    case(op)
        ADD: res = a + b;
        SUB: res = a - b;
        AND: res = a & b;
        OR:  res = a | b;
        XOR: res = a ^ b;
        default: res = 0;
    endcase
end
endmodule

最小ALU示例(Verilog)

module alu(
    input  [31:0] a, b,
    input  [2:0]  op,
    output reg [31:0] res
);
localparam ADD=3'b000, SUB=3'b001, AND=3'b010, OR=3'b011, XOR=3'b100;
always @(*) begin
    case(op)
        ADD: res = a + b;
        SUB: res = a - b;
        AND: res = a & b;
        OR:  res = a | b;
        XOR: res = a ^ b;
        default: res = 0;
    endcase
end
endmodule

配套:Testbench(验证激励),给输入、打印波形、对比预期结果。

✅ 免费仿真工具(入门首选)

  • Icarus Verilog + GTKWave:轻量,看波形
  • Verilator:转C++仿真,速度快,适合完整CPU
  • 商用:Synopsys VCS、Xcelium(企业)

✅ 开源RISC-V内核参考(直接研读)

  • PicoRV32(极简RV32IMC,适合FPGA)
  • CV32E40P(OpenHW,工业级RV32IMC)
  • CVA6(Ariane)、Rocket Chip、BOOM(Linux可跑,复杂度高)

阶段3:功能验证(占整个项目60%-70%工作量)

  1. 模块级验证:单独验证ALU、译码器、寄存器堆
  2. 核级验证:跑RISC-V官方测试集riscv-tests(基础指令、边界、中断)
  3. 随机约束验证(UVM,工业标准,新手后期学)
  4. 目标:100%指令覆盖、分支覆盖,无功能bug

阶段4:逻辑综合(RTL → 门级网表)

输入:RTL代码 + 工艺库(stdcell库) + SDC时序约束(时钟频率、输入输出延迟)
工具:Yosys(开源) / Synopsys Design Compiler(DC商用)
输出:Gate Netlist(由与或非门、触发器组成的电路)
任务:映射到标准单元、优化面积/时序、解决建立保持时间冲突

阶段5:后端物理设计(布局布线 P&R)

把网表变成版图GDSII(给晶圆厂的图纸)
步骤:

  1. Floorplan:芯片分区、IO焊盘摆放
  2. Place:摆放所有标准单元
  3. CTS:时钟树综合(保证时钟偏斜)
  4. Route:信号线布线、金属层走线
  5. 时序分析:STA静态时序分析,收敛时序
  6. 物理验证:
    • DRC:设计规则检查(线宽、间距、密度,符合晶圆厂工艺)
    • LVS:版图和网表一致性检查(版图和逻辑不能不一样)

工具:OpenLANE+OpenROAD(开源后端);ICC2、Innovus(商用)

阶段6:TapeOut(签核交付)

DRC/LVS全部清零、时序收敛,打包GDSII、工艺文档、IP授权文件,发给晶圆厂,正式进入制造环节。

学习捷径:先上FPGA验证CPU(Tang Nano、Arty A7),在FPGA里烧写RTL,硬件上跑汇编/C程序,这是绝大多数学习者的终点;真实流片只适合工程团队,成本极高。

第二部分:CPU晶圆制造(Fab厂前道FEOL+BEOL,工业流程)

前置:晶圆制备(沙子→硅片)

  1. 石英砂(SiO₂)提纯 → 电子级多晶硅(纯度99.999999999%,11个9)
  2. 直拉法CZ:熔融硅+籽晶,拉出圆柱形单晶硅锭
  3. 切片、倒角、研磨、CMP化学机械抛光 → 镜面晶圆(8寸/12寸主流)

前道 FEOL:制作晶体管(FinFET/GAA),在硅基底做器件

核心循环:氧化 → 涂光刻胶 → 曝光 → 显影 → 刻蚀 → 离子注入 → 清洗,循环几十上百次

  1. 氧化:晶圆表面长一层SiO₂绝缘层
  2. 旋涂光刻胶,软烘;
  3. 光刻(核心工序):掩模版(Reticle)+DUV/EUV光刻机,将电路图案缩小投影到光刻胶;正胶:曝光区域可被显影液洗掉;
  4. 显影:洗掉曝光部分,形成图案;
  5. 刻蚀(干法等离子刻蚀为主):把没有光刻胶保护的薄膜刻掉;
  6. 离子注入:注入硼(P型)、磷(N型),形成PN结,造出晶体管源漏;退火活化杂质;
  7. 清洗、CMP抛光平坦化,准备下一层;

现代CPU是3D FinFET/GAA,晶体管是立体结构,不是平面。

后道 BEOL:金属互连(把上亿晶体管连起来)

晶体管做好之后,一层层沉积金属(铜互连)+介质层,做多层导线(7nm工艺可达十几层金属)

  • PVD物理气相沉积 / CVD化学气相沉积:镀金属/绝缘薄膜
  • 再次光刻、刻蚀,做出通孔和金属连线
  • CMP抛光,反复堆叠,完成全局互连网络

晶圆测试(CP测试)

晶圆上所有裸片(Die)探针卡接触焊盘,通电测试,标记坏die,避免后面浪费封装成本。

划片(Dicing)

把整片晶圆沿着划片槽切开,分割成一颗颗独立裸片die。

封装+终测

  1. 装片:把die粘在基板
  2. 键合:引线键合Wire Bond / 倒装FCBGA(高端CPU)
  3. 塑封、切割、植球
  4. FT成品测试:功能、频率、功耗、温度筛选,分级(不同体质CPU分不同型号)
  5. 打标出货

三、零基础学习路线(按顺序)

  1. 数字电路基础:逻辑门、触发器、FSM、时序(建立/保持时间)
  2. 计算机组成原理:单周期CPU、5级流水线、Cache、总线
  3. Verilog语法 + Icarus+GTKWave仿真,写简单ALU、计数器
  4. 实现RV32I单周期RISC-V CPU,跑汇编程序
  5. 移植到FPGA开发板,串口输出、跑简单C程序
  6. 学习RISC-V工具链:riscv-gnu-toolchain(gcc、binutils、openocd)
  7. 进阶:流水线、分支预测、Cache、AXI总线、UVM验证
  8. 后端入门:OpenLANE做简单core的布局布线,理解GDSII
  9. 流片仅适合团队,MPW多项目晶圆(拼单流片,降低成本)

四、配套资料&开源工具清单

  • 教材:《数字设计和计算机体系结构》RISC-V版、《CPU设计实战》、《Verilog HDL数字设计》
  • 免费EDA:Icarus Verilog、Verilator、Yosys、OpenLANE、OpenROAD
  • 测试集:riscv-tests、riscv-formal
  • 开发板:Tang Nano、Arty A7、ULX3S
  • 工具链:riscv-gnu-toolchain

五、常见误区

  1. ❌ 写完Verilog=造出CPU ✅ Verilog只是逻辑描述,离硅片还有验证、综合、后端、Fab几十道工序
  2. ❌ 仿真通过就一定能流片 ✅ 时序、工艺DRC、电压温度、良率都会出问题
  3. ❌ 在家可以用光刻机做CPU ✅ 工业EUV/DUV、百级洁净间、特种气体、离子注入机都是重资产设备
  4. ❌ RISC-V = 免费CPU ✅ ISA标准开源,但CPU核实现、IP、后端、流片仍然有大量工程成本

如果你想要,我可以给你一份可直接仿真的RV32I单周期CPU完整Verilog工程(含testbench、汇编示例)。

← 返回IT 技术 yicool 百科 · CPU 设计 + 制造完整教程(学习版)

评论 0