性能函数与性能模型
性能函数 (Performance Function) 和可行性函数 (Feasibility Function) 是 Martens & Gielen《High-Level Modeling and Synthesis of Analog Integrated Systems》(2008) Ch.2 §2.4 系统定义的概念框架,用于描述模拟/混合信号设计中参数到性能的映射关系。五种性能函数类型覆盖从仿真到符号分析的完整技术谱系。
形式化定义
参数 (Parameter)
描述层 中基本元素 或互连 的属性。如晶体管尺寸 、电容 、极点 、失真系数 。
性能值 (Performance Value)
整个设计的属性。如 SNDR (dB)、NF (dB)、相位裕度 (deg)、功耗 (W)。
性能函数 (Performance Function)
参数到性能值的映射。同一性能值可用于不同描述层(如增益可在行为和电路层计算)。
参数/性能的关系
- 某抽象级的性能可能成为更高抽象级的参数
- 性能函数 的选择影响设计流程的计算时间、精度、灵活性
五种性能函数类型(Table 2.2)
| 类型 | 评估速度 | 设置时间 | 精度 | 灵活性 | 洞察力 |
|---|---|---|---|---|---|
| Simulation-based | ••— | — | •••• | •••• | • |
| Table-based | •••• | •• | ••- | • | •• |
| User-defined equations | •••• | •••• | •- | •• | •••• |
| Performance models | •••• | •• | ••• | •• | • |
| Symbolic analysis | ••• | •- | ••- | •• | •••• |
(•••• = 非常高,• = 非常低,— = N/A)
1. Simulation-based(基于仿真)
原理:定义激励集 → 数值仿真输出信号 → 从输出提取性能
技术谱系:
- Time-marching algorithms(SPICE 标准)
- Harmonic balance(频域稳态)
- 离散时间方法(SC 分析)
- Shooting methods(周期性稳态)
- 混合频-时方法
- 多时间技术(MTT)
优势:最广泛的适用性、可调精度 劣势:计算时间随电路规模增长、洞察力低 典型工具:SPICE、SpectreRF、Eldo
2. Table-based(基于查表)
原理:预仿真构建表 → 快速查表评估
变体:
- 显式预仿真表 [Bishop 1990]
- Pareto 边界采样法 [De Smedt & Gielen 2003] — 优化 Pareto 最优参数组合,减少设置时间
- 仅保存 Pareto 前沿点,兼顾速度和覆盖范围
优势:评估极快 劣势:设置时间长、仅覆盖预仿真空间、灵活性低
3. User-defined equations(用户定义方程)
原理:设计者提供分析表达式
典型形式(运放增益):
优势:
- 评估极快
- 深入洞察参数-性能关系
- 可集成在优化循环中
劣势:
- 推导耗时,需深厚经验
- 每拓扑需重推导
- 精度受限(简化假设)
适用场景:初步设计探索、低精度的早期设计阶段
4. Performance models(性能模型)
原理:通过回归方法从仿真数据构建参数-性能模板
模板类型:
- 有理函数 (Rational functions)
- 样条函数 (Spline)
- 正项式 (Posynomials) — 支持几何规划 [Daems 2003]
- 支持向量机 (SVM) [De Bernardinis 2003]
- 神经网络 (Neural networks)
- 基于语法的方法 [McConaghy]
构建流程:
仿真采样(训练集)
↓
选择模板类型
↓
回归拟合系数
↓
验证精度
权衡:
- 精度 vs 解释性(简化表达式易理解但可能精度不足)
- 性能模型的可行性函数变体:直接用 SVM 建模可行性边界 [Kiely 2004, Ding 2005]
5. Symbolic analysis(符号分析)
原理:自动推导显式符号表达式
流程:
电路网表
↓
符号方程建立
↓
简化(前/中/后处理)
↓
表达式生成
简化技术:
- 简化前(层次化分解)
- 简化中(忽略小项)
- 简化后(数值重要性排序)
- DDD (Determinant Decision Diagram) 存储 → 加速评估
典型工具:ISAAC [Gielen 1989]
适用范围:线性/弱非线性性能函数
可行性函数 (Feasibility Function)
定义
用途
- 指示某性能是否可实现(不需知道具体参数值)
- 适合架构探索阶段的快速可行性评估
- 可从性能函数计算得到,也可直接建模(SVM 逼近可行性边界)
应用场景
在高层级综合中,可行性函数帮助回答:“对于给定的规格集合,是否存在一种参数组合使其可行?” 若不可行则触发架构变换。
五种方法的选用策略
| 设计阶段 | 推荐方法 | 原因 |
|---|---|---|
| 架构探索 | Feasibility function / User-defined equations | 快速、可比较不同拓扑 |
| 参数优化 | Performance models | 平衡精度和速度 |
| 精度验证 | Simulation-based | 最高精度 |
| 知识捕获 | Symbolic analysis | 产生可重用洞察 |
| 数据库构建 | Table-based | 支持快速查询 |
实际设计中常用组合方法:性能模型预筛选 → 仿真精确验证。
与其他概念的关系
- 描述与抽象层设计框架 — 性能函数在通用设计流中的位置
- 通用行为建模方法 — GBM 作为性能计算器嵌入综合框架
- 自顶向下异构综合优化 — 性能函数是优化算法的评估依据
- 设计变换与架构探索 — 可行性函数指导变换选择