| name | chip-design-space-explorer |
| description | Use when exploring PPA design space for optimal solutions. Triggers on '设计空间', 'DSE', '帕累托', 'pareto', 'PPA探索', '方案比选', 'trade-off', 'design space'. Performs Area-Performance-Power 3D exploration to find Pareto-optimal set. |
Chip Design Space Explorer
任务
在 Area-Performance-Power 三维空间中进行设计空间探索(DSE),寻找帕累托最优解集。
执行步骤
- 明确探索变量(设计旋钮):
- 流水线级数、并行度、缓存大小、总线宽度、工作频率、电压域配置等。
- 建立简化评估模型(解析模型或基于经验的快速估算)。
- 枚举或采样设计点,计算每个设计点的 PPA 指标。
- 使用帕累托支配关系筛选非支配解集(Pareto Frontier)。
- 可视化结果:
- 以 Markdown 表格列出关键设计点
- 使用 Mermaid 或 ASCII 绘制二维投影图(Latency vs Area、Power vs Performance 等)
- 给出推荐设计点及理由(考虑裕量、物理可实现性、验证复杂度)。
输出格式
### DSE 结果(帕累托前沿)
| 设计点 | 配置摘要 | 延迟 (ns) | 吞吐 (GB/s) | 面积 (kGates) | 功耗 (mW) | 帕累托最优 |
|--------|----------|-----------|-------------|---------------|-----------|------------|
| A | 3级流水线, 64b总线 | 5.0 | 12.8 | 80 | 15 | ✓ |
| B | 5级流水线, 128b总线 | 3.2 | 25.6 | 150 | 28 | ✓ |
### 推荐设计点
**推荐:B**
- 理由:...
- 风险:...
使用示例
示例 1:FIFO 深度 DSE
用户:帮我探索 data_adpt 的 FIFO 深度设计空间,突发量 32 beats,生产者速率 1B/cycle,消费者速率 0.5B/cycle
预期行为:
- 以 FIFO 深度为设计旋钮(16/32/64/128)
- 计算每个深度的面积、功耗、溢出风险
- 输出帕累托前沿表 + 推荐深度
示例 2:流水线级数 DSE
用户:data_adpt 的处理路径可以做 3/4/5 级流水线,帮我比选最优方案
预期行为:枚举 3 个设计点,计算延迟/吞吐/面积/功耗,标注帕累托最优解
异常处理
| 场景 | 触发条件 | 处理动作 |
|---|
| 设计旋钮未定义 | 用户未指定探索变量 | 列出常见旋钮(流水线级数/并行度/缓存/总线宽度/频率),用户选择 |
| 评估模型缺失 | 无法估算 PPA | 使用经验公式 + 标注"待综合验证",建议 DSE 后跑综合确认 |
| 设计点过多 | > 100 个组合 | 使用拉丁超立方采样减少到 20-30 个代表点 |
| 帕累托前沿为空 | 所有设计点被支配 | 检查约束条件是否过紧,建议放宽 1-2 个约束重新探索 |
检查点
- 探索前:展示设计旋钮列表和约束条件,用户确认后开始枚举
- 探索后:展示帕累托前沿表格和推荐点,用户选择最终方案