设计变换与架构探索 (Design Transformation and Architectural Exploration)

设计变换 (Design Transformation) 是 Martens & Gielen《High-Level Modeling and Synthesis of Analog Integrated Systems》(2008) 中高层级综合的核心操作算子。Ch.6 §6.3.7 系统定义四类变换:基于规则、数学等价、重组和变异,构成自顶向下异构优化的拓扑和参数变化引擎。


变换的形式化定义

在通用设计流框架中,变换 (Transformation) 定义为:

在相同描述层 和相同抽象级 下,改变系统拓扑/架构的操作。

变换总是由两部分组成:

  1. 架构生成:选择 的新子集和 的新组合
  2. 参数设置:为新的基本元素定义参数值

变换与动机绑定 — 每次变换应有明确的原因(如”SNR 不足”、“功耗过高”)。


四类变换

1. 基于规则的变换 (Rule-based Transformations)(Fig. 6.7)

原理:将模拟设计专家的经验编码为可执行的变换规则。

规则形式:

IF (condition_on_performance_or_architecture) THEN (apply_transformation)

典型规则:

规则条件变换操作效果
R1SNR 不足增加积分器阶数 提高噪声整形阶数
R2功耗过高切换到单比特量化降低比较器复杂度
R3带宽不足增加 OTA GBW扩展环路带宽
R4面积过大切换到 SC 更小的 减小电容面积
R5动态范围不够增加 DAC 位数 降低量化噪声
R6稳定裕度不足调整 NTF 零点位置改善稳定性

实例:增加积分器阶数(Fig. 6.7):

  • 输入设计:二阶 ΔΣ 调制器(L=2),SNDR=60dB,目标=80dB
  • 变换:增加一个积分器(L=3)
  • 新设计:三阶 ΔΣ 调制器,NTF 从 变为
  • 效果:SNDR 提升约 15dB(相同 OSR),代价:稳定性降低

实例:增加 DAC 位数(Fig. 6.7):

  • 输入设计:1-bit ΔΣ,量化噪声
  • 变换:
  • 新设计:3-bit ΔΣ, 缩小 4×,量化噪声降低 16×(约 12dB)

2. 数学等价变换 (Mathematical Equivalence Transformations)(Fig. 6.8)

原理:利用数学恒等式改变拓扑结构,不改变理想传递函数。

典型变换:

变换数学基础实际效果
SFG 重排Mason 增益公式改变信号路径数量
反馈拓扑变换Blackman 定理改变环路属性
多相滤波Hilbert 变换改善镜像抑制
零极点重分配代数等价改变模块间约束

实例:改善 IRR(Fig. 6.8):

  • 问题:混频器增益失配导致 IRR 差
  • 数学等价变换:添加多相滤波级
  • 理想传递函数不变,但失配容忍度提升
  • 公式:,补偿滤波

实例:降低 NF(Fig. 6.8):

  • 问题:NF 高于规格
  • 变换:前级 LNA 增加增益
  • 公式:,增加 降低后级噪声贡献
  • 代价:LNA 功耗增加

3. 重组变换 (Recombination Transformations)(Fig. 6.9)

原理:类似遗传算法的交叉操作,从两个父设计生成子设计。

机制:

父设计 A: (T_A1, T_A2, ..., T_Ak)
父设计 B: (T_B1, T_B2, ..., T_Bl)
    ↓ 交叉点选择(随机/启发式)
子设计: (T_A1, ..., T_Ai, T_Bj+1, ..., T_Bl)

交叉率进化(Fig. 6.9):

其中 为代数, 初始交叉率, 衰减常数。

  • 早期(小 ):高交叉率,促进架构探索
  • 晚期(大 ):低交叉率,保护已收敛的优质设计

4. 变异变换 (Mutation Transformations)

原理:对现有设计进行小幅度随机修改。

两种变异类型:

参数变异:

  • 连续参数:( 均匀随机变化)
  • 离散参数:从可选集合中随机选取新值

拓扑变异:

  • 功能等价替换:用结构不同但功能相同的模块替换指定模块
  • 参数结构变化:如从单极点模型变为双极点模型

变换选择策略(Fig. 6.10)

选择流程

性能向量 P = [P_1, P_2, ..., P_K]
    ↓
满意度向量 S = [s_1, s_2, ..., s_K]
    ↓
识别最低满意度维度 i_min = argmin(s_i)
    ↓
查询可应用于维度 i_min 的变换集合 T_set
    ↓
偏好排序(成功率权重 + 随机扰动)
    ↓
选择 T* ∈ T_set 执行

优先级队列

  • 多变换按优先级入队
  • 优先级基于历史成功率
  • 引入随机扰动避免确定性死锁
  • 成功率动态更新(Baysian 更新)

实例:ADC 架构树生成

变换从胚基开始逐步生成 ADC 架构(Fig. 6.14):

Embryo (A/D 转换)
 │
 ├─ Rule: 选 ΔΣ 架构
 │   ├─ Rule: 增阶数 L=2
 │   │   └─ Rule: 增 DAC 位 1→3
 │   └─ Rule: 增阶数 L=3
 │       └─ Math-equiv: NTF 零点优化
 │
 ├─ Rule: 选 Pipeline
 │   ├─ Mutation: 1.5bit/级
 │   │   └─ Rule: 6级
 │   └─ Recomb: 从 ΔΣ 分支获取技术
 │
 ├─ Rule: 选 SAR
 │   └─ Mutation: 冗余电容
 │
 └─ Rule: 选 Flash
     └─ Rule: +插值

每个节点显示满意度值,红/绿标注未达/已达标。


变换的成功条件

条件描述
语法有效变换后的架构必须合法
参数有效所有参数在有效范围内
功能完整变换后仍满足原始功能
非退化变换不会回退到无效设计
收敛性变换在有限步内终止

与其他概念的关系