01
时序分析基础
什么是时序?为什么需要时序检查?建立时间与保持时间的概念。
⏱️ 基础📐 建立/保持
02
时序路径
时序路径的组成(起点、终点、组合逻辑),四种基本时序路径分析。
🔁 路径📌 起点终点
03
时钟域与时钟约束
时钟的定义、时钟周期、时钟偏斜(Skew)、时钟抖动(Jitter)。
🕒 时钟⚡ Skew/Jitter
04
同步与异步设计
同步电路的特点、异步电路的问题、亚稳态的产生与处理。
⚙️ 同步⚠️ 亚稳态
05
静态时序分析(STA)入门
STA的基本流程、STA与动态仿真的区别、STA的优缺点。
📊 STA🔬 静态分析
06
SDC约束基础
create_clock、set_input_delay、set_output_delay等基本命令。
📜 SDC⏳ 约束
07
时序报告解读
如何读懂Setup/Hold Slack报告、关键路径分析。
📈 Slack🔍 关键路径
08
时序优化技巧
流水线插入、逻辑重组、寄存器平衡、降低扇出。
⚡ 优化🏗️ 流水线
09
跨时钟域(CDC)问题
CDC分类(单bit、多bit、控制信号)、同步器设计。
🌐 CDC🔁 同步器
10
CDC验证方法
双锁存器同步、握手协议、异步FIFO原理。
✅ 验证📦 异步FIFO
11
断言(Assertion)基础
什么是断言?断言的作用、断言与测试的区别。
🧪 断言📌 作用
12
SystemVerilog断言(SVA)入门
立即断言与并发断言、assert/assume/cover。
💻 SVA⚡ 并发
13
SVA序列(Sequence)
序列的定义、时序操作符(##、[*]、[->]等)。
🔗 序列⏳ 操作符
14
SVA属性(Property)
属性的定义、蕴含操作符(|->、|=>)、属性的多层嵌套。
📋 属性🔁 蕴含
15
SVA在仿真中的应用
在Testbench中嵌入断言、断言覆盖率收集。
🖥️ 仿真📊 覆盖率
16
形式化验证(Formal)入门
形式化验证原理、与仿真的区别、适用场景。
🧮 Formal🔍 数学验证
17
形式化验证工具使用
工具基本流程、属性绑定、假设与保证。
🛠️ 工具📌 绑定
18
断言复用与库管理
如何编写可复用的断言库、断言参数化。
📚 复用⚙️ 参数化
19
时序检查中的常见Bug
Setup/Hold违例、CDC同步遗漏、复位同步问题。
🐛 Bug⚠️ 违例
20
复位设计与检查
同步复位与异步复位、复位树分析、复位断言。
🔄 复位🌲 复位树
21
功耗相关的时序检查
电压降(IR Drop)对时序的影响、温度反转效应。
⚡ 功耗🌡️ IR Drop
22
片上变异(OCV)与时序
OCV概念、Derating因子、时序悲观度消除。
🔬 OCV📉 Derating
23
多周期路径与伪路径
set_multicycle_path、set_false_path的使用场景。
🔄 多周期🚫 伪路径
24
时序收敛策略
从RTL到GDS的时序收敛流程、ECO修复方法。
🎯 收敛🔧 ECO
25
断言驱动的验证方法学
ABV(Assertion-Based Verification)流程。
🧪 ABV📋 断言驱动
26
覆盖率驱动的验证
功能覆盖率与断言覆盖率的结合、覆盖率闭环。
📊 覆盖率🔁 闭环
27
时序与断言在SoC中的应用
SoC级时序挑战、系统级断言检查。
🏭 SoC🔗 系统级
28
调试技巧
波形调试、断言失败分析、时序违例定位。
🔍 调试📉 波形
29
自动化脚本
Tcl脚本管理时序约束、Python脚本分析时序报告。
🤖 Tcl🐍 Python
30
综合案例实战
一个完整模块的时序约束+断言编写+仿真验证全流程。
🏁 实战🧩 全流程