自顶向下异构综合优化 (Top-Down Heterogeneous Optimization)

自顶向下异构优化 (Top-Down Heterogeneous Optimization, TDHO) 是 Martens & Gielen《High-Level Modeling and Synthesis of Analog Integrated Systems》(2008) Ch.6 提出的新算法,用于模拟/混合信号系统的高层级综合。核心思想是通过设计群体和变换操作同时探索架构拓扑和参数值,结合满意度函数驱动进化式优化。


优化架构(Fig. 6.1-6.2)

中心控制算法(Listing 6.1)

population = [embryonic_design];
while (!termination_condition(population)) {
    for each design D in population {
        P = evaluate(D);           // 性能计算器
        S = assess(P, targets);    // 评估器 → 满意度
        if (S < threshold)
            transformation_set = select_transformations(D, S);
            for each T in transformation_set
                D' = apply(D, T);
                population.add(D');
    }
    population = select_best(population, pop_size);
}

五核心组件

组件职责类比
设计群体 (Population)管理和维护候选设计集合遗传算法群体
胚基设计 (Embryonic Design)优化的起点:最简功能抽象染色体初始态
性能计算器 (Performance Calculator)计算某架构的性能向量适应度函数
评估器 (Evaluator)将性能映射为满意度非线性规划
变换操作 (Transformations)产生新设计的操作算子遗传算子

设计群体 (Design Population)(Fig. 6.3-6.4)

设计表示

每个设计表示为从胚基出发的变换序列:

群体结构

  • 群体形成树结构(Fig. 6.4)
  • 每个节点是一个具体设计
  • 边是变换操作
  • 簇 (Cluster):共享相同拓扑架构的节点聚集
  • 树的分支对应不同的架构选择路径

树的演化

胚基 (Embryo)
├── T1: 选择ΔΣ架构
│   ├── T2a: 单环 1-bit
│   │   └── T3a: 增加积分器 (L=2→L=3)
│   └── T2b: MASH 2-2
│       └── T3b: 优化NTF零点
└── T1': 选择Pipeline架构
    └── T2c: 选择1.5-bit/级

胚基设计 (Embryonic Design)(Fig. 6.5)

胚基:最简单的可行设计起点,仅定义输入/输出和功能,无内部结构。

ADC 胚基示例(Example 6.2):

  • 输入:模拟电压
  • 输出:数字码
  • 功能:,理想无限精度
  • 内部:空(无架构、无模块)

胚基的意义:

  • 消除设计者的初始架构偏好
  • 让优化算法自主决定最佳架构
  • 减少设计师偏见对综合结果的影响

性能计算器 (Performance Calculator)

每个架构类型(ΔΣ、Pipeline、SAR、Flash)有专用的性能计算器。

计算器类型:

  • ct_dsm_calculator:基于通用行为模型的瞬态仿真
  • pipeline_calculator:基于方程的快速计算
  • sar_calculator:混合查表+方程

输出:性能向量 ,包含 ENOB、功耗 、面积 、SNDR、SFDR 等。

角色分离:计算器只负责”计算”,评估器负责”判断”。这种分离使计算器可替换(仿真/方程/查表)而不影响优化逻辑。


满意度函数 (Satisfaction Level)(Fig. 6.6)

定义

将单一性能值映射为 满意度分数。

五种基本类型

  1. (越小越好):
用于功耗、面积、噪声 2. **$E_{S,>}$(越大越好)**: $$s_i = \begin{cases} 1 & P_i > P_{max} \\ 0 & P_i < P_{min} \\ f(P_i) & \text{else} \end{cases}

用于 SNDR、SFDR

  1. (精确值):目标值附近满意度最高,用于增益、带宽

  2. (范围):指定范围内满意,范围外线性退化

  3. (排除):排除特定值(如避免振荡条件)

总体满意度

其中 为用户指定的权重。


四类变换 (Transformations)(§6.3.7, Fig. 6.7-6.8)

详见 设计变换与架构探索 概念页。此处仅列出各类型概要:

类型原理实例图中标注
Rule-based模拟专家知识增加积分器阶数、增加 DAC 位数Fig. 6.7
Math-equiv利用数学恒等式反馈结构重排、多相滤波Fig. 6.8
Recombination交叉操作两父设计合并Fig. 6.9
Mutation参数扰动 随机变化—

Antigone 程序(§6.4, Fig. 6.11-6.15)

Oedipus 库(Fig. 6.11)

专用 C++ 库,封装 TDHO 核心:

  • Design — 抽象基类,含变换序列和参数
  • Population — 群体管理,含选择和替换策略
  • Transformer — 变换引擎
  • Calculator — 性能计算器接口
  • Evaluator — 评估器接口

设计空间

Antigone 覆盖的 ADC 架构空间:

  • ΔΣ:单环(1-5 阶)、MASH(2-1, 2-2, 2-1-1)
  • Pipeline:1.5-bit/级、2.5-bit/级
  • SAR:二进制搜索、冗余 SAR
  • Flash:标准 Flash、插值 Flash
  • 两步式:粗/细组合

非理想性覆盖

  • kT/C 噪声
  • op amp 有限增益和摆率
  • 比较器失调
  • 时钟抖动
  • DAC 失配

综合结果(Fig. 6.12, Table 6.1)

8 次优化运行结果:

实例ENOB架构FoM (pJ/conv)
A81 MHz二阶 ΔΣ1.2
B1610 kHz四阶 MASH ΔΣ + DEM0.7
C1210 MHzPipeline 6-stage 1.5-bit0.9
D6100 MHzFlash + 插值0.5
E14100 kHz三阶 ΔΣ 单环1.5
F1050 MHzPipeline 4-stage 2.5-bit1.1
G12500 kHzSAR + 冗余0.6
H820 MHz两步式 Flash2.5

架构树示例(Fig. 6.14)

跟踪设计演化路径:胚基 → ΔΣ → MASH → 2-2 结构 → 选择 DAC 位数 → 选择积分器参数。每个决策点显示施加的变换类型和满意度变化。

满意度进化(Fig. 6.15)

  • 总满意度随代数单调上升
  • 初期(1-50 代):快速上升,架构选择产生主要效果
  • 中期(50-200 代):平稳提升,参数调优
  • 后期(200+ 代):精细调整,接近收敛
  • 典型收敛代数:100-500 代

核心创新总结

方面传统方法TDHO
架构空间单一架构多异构架构
参数优化固定拓扑拓扑+参数联合
设计知识隐含显式变换规则
探索策略局部搜索树形结构化搜索
性能评估统一模型架构特定计算器
用户交互需指定架构只需功能规格

与其他概念的关系