EDA前端设计从零到精通

📚 共计 30 章节
01
EDA概述与数字芯片设计流程
什么是EDA、数字芯片前端设计流程(规格-架构-RTL-仿真-综合)、EDA工具链概览。
概念流程
02
Linux基础与EDA环境搭建
Linux常用命令(vim、grep、find)、虚拟机安装、EDA工具(VCS、Verdi、DC)环境变量配置。
Linux环境
03
Verilog基础(一)
模块与端口、数据类型(wire、reg)、连续赋值(assign)、运算符。
语法组合逻辑
04
Verilog基础(二)
过程块(always)、阻塞与非阻塞赋值、if-else与case语句。
时序过程块
05
Verilog基础(三)
有限状态机(FSM)设计、Mealy与Moore型、三段式写法。
FSM状态机
06
Verilog进阶
任务与函数、generate语句、参数化设计(parameter/localparam)、系统任务($display, $monitor)。
参数化系统函数
07
RTL设计方法论
可综合与不可综合语法、同步与异步设计、时钟域与复位策略、流水线设计。
方法论同步设计
08
逻辑仿真基础(VCS)
Testbench结构、initial与always块、时间尺度(`timescale)、波形生成(fsdb/vpd)。
仿真VCS
09
仿真进阶
随机化测试、$random、约束驱动、功能覆盖率初步。
随机化覆盖率
10
调试技巧(Verdi)
波形查看、nTrace/nWave使用、信号追踪、断点调试。
Verdi调试
11
综合基础(Design Compiler)
综合流程、约束文件(SDC)、时序路径分析。
DC综合
12
综合进阶
面积与速度优化、综合策略(flatten/uniquify)、DFT插入概念。
优化DFT
13
静态时序分析(STA)入门
建立时间与保持时间、时序路径类型、PrimeTime基本使用。
STAPrimeTime
14
STA进阶
时钟抖动与偏移、片上变异(OCV)、时序例外(false_path/multicycle_path)。
OCV例外
15
形式验证基础
等价性检查(Formality)、逻辑锥与对比点、调试失配。
Formality等价性
16
低功耗设计基础
功耗来源(动态/静态)、门控时钟(Clock Gating)、多电压域(MV)概念。
低功耗门控时钟
17
UPF/CPF低功耗约束
电源域定义、电平转换器、隔离单元与保持单元。
UPFCPF
18
脚本语言Tcl在EDA中的应用
Tcl基础语法、变量与列表、控制流、文件操作。
Tcl脚本
19
Tcl进阶
正则表达式、proc定义、与EDA工具交互(VCS/DC Tcl模式)。
正则交互
20
Makefile与项目自动化
Makefile规则、变量、伪目标、自动化编译与仿真流程。
Makefile自动化
21
版本控制(Git)在IC设计中的应用
Git基础、分支管理、与EDA项目结合。
Git版本控制
22
AMBA总线协议基础
AHB/APB/AXI协议简介、握手信号、单拍与突发传输。
AMBA总线
23
AMBA总线验证
搭建AHB Slave/Master模型、VIP使用、总线功能检查。
验证VIP
24
UVM验证方法学入门
UVM框架、uvm_component与uvm_object、factory机制。
UVM方法学
25
UVM进阶
sequence与sequencer、driver与monitor、scoreboard与coverage。
sequence覆盖率
26
SoC架构与集成
SoC基本组成、总线互联、中断控制器、存储映射。
SoC架构
27
IP复用与设计
IP封装、接口标准化、IP-XACT简介、设计重用策略。
IP复用
28
项目实战(一):规格解读与架构设计
从需求文档到模块划分、接口定义。
实战架构
29
项目实战(二):RTL编码与仿真验证
编写核心模块、搭建Testbench、回归测试。
RTL仿真
30
项目实战(三):综合与STA收敛
综合脚本编写、时序违例修复、最终签核检查。
综合STA