逻辑综合引擎原理与代码实现
📚 共计 30 章节
01
逻辑综合概述
什么是逻辑综合 · 在数字IC设计流程中的位置 · 综合的目标与挑战
基础
概念
02
硬件描述语言基础
Verilog/VHDL核心语法回顾 · 可综合与不可综合代码风格 · RTL建模原则
HDL
RTL
03
词法分析与解析
HDL词法分析器设计 · 语法分析器(Parser)实现 · 抽象语法树(AST)构建
编译器
AST
04
RTL中间表示
AST到中间表示(IR)转换 · IR数据结构设计 · 控制流图(CFG)与数据流图(DFG)
IR
CFG
05
布尔代数基础
布尔函数表示(SOP/POS) · 香农展开定理 · 布尔代数在综合中的应用
布尔
SOP
06
逻辑优化基础
逻辑最小化概念 · 奎因-麦克拉斯基算法原理 · 启发式最小化(Espresso简介)
优化
QMC
07
两级逻辑优化
SOP最小化实现 · 逻辑覆盖与蕴涵项 · 冗余覆盖消除
两级
覆盖
08
多级逻辑优化
因子化与分解 · 代数操作(提取/替代) · 布尔操作(简化/重写)
多级
布尔
09
技术映射基础
标准单元库表示 · 图覆盖问题 · 树覆盖与动态规划
映射
标准单元
10
基于DAG的技术映射
DAG划分 · 模式匹配与覆盖 · 面积与延迟权衡
DAG
覆盖
11
时序逻辑综合
时序元件建模(触发器/锁存器) · 状态机编码与优化 · 重定时(Retiming)基础
时序
FSM
12
静态时序分析基础
时序路径与约束 · 建立时间与保持时间 · 时序报告解读
STA
约束
13
综合中的时序优化
关键路径识别 · 门尺寸调整 · 缓冲器插入
时序优化
门尺寸
14
低功耗综合
功耗来源(动态/静态) · 门控时钟技术 · 操作数隔离与数据门控
低功耗
门控
15
面积优化
资源共享 · 逻辑合并 · 常量传播与折叠
面积
优化
16
测试综合
可测试性设计(DFT)基础 · 扫描链插入 · 内建自测试(BIST)简介
DFT
扫描链
17
综合约束与脚本
SDC约束文件解析 · 综合脚本(Tcl)编写 · 综合策略控制
SDC
Tcl
18
综合引擎架构设计
模块划分(解析/优化/映射) · 数据流与接口设计 · 插件化架构
架构
模块
19
数据结构与算法实现
图(Graph)与哈希表在综合中的应用 · 高效集合操作(BDD初步)
数据结构
BDD
20
布尔决策图(BDD)
BDD数据结构 · 构建与化简算法 · BDD在逻辑验证中的应用
BDD
验证
21
SAT求解器基础
CNF与SAT问题 · DPLL算法 · SAT在逻辑综合中的应用
SAT
DPLL
22
综合质量评估
面积/延迟/功耗估算模型 · 综合结果可视化
评估
可视化
23
综合与布局的交互
线负载模型 · 物理感知综合(Physical Synthesis)概念
布局
物理
24
开源综合工具实践
Yosys工具链介绍 · 使用Yosys进行RTL综合 · 综合脚本实战
Yosys
开源
25
综合引擎性能优化
并行化策略 · 内存管理 · 大规模设计处理技巧
性能
并行
26
高级综合(HLS)基础
HLS概念与流程 · C/C++到RTL转换 · HLS与逻辑综合关系
HLS
C2RTL
27
形式化验证与综合
等价性检查基础 · 模型检验简介 · 综合的正确性保证
形式化
等价性
28
机器学习在综合中的应用
ML驱动的逻辑优化 · 延迟预测 · 智能综合策略
ML
预测
29
综合引擎的测试与调试
单元测试框架 · 回归测试 · 常见Bug分析与调试技巧
测试
调试
30
综合引擎的未来趋势
开源生态 · AI辅助综合 · 3D IC与异构集成挑战
趋势
AI