架构决策记录 (ADR) 模板¶
使用此模板记录重要的架构决策
ADR [编号]: [决策标题]¶
📋 元信息¶
| 属性 | 值 |
|---|---|
| ADR 编号 | ADR-XXX |
| 标题 | [简洁的决策标题] |
| 状态 | 📝 提议 / ✅ 已采纳 / ❌ 已拒绝 / ❌ 已废弃 / 🔄 已替换 |
| 创建日期 | YYYY-MM-DD |
| 决策日期 | YYYY-MM-DD |
| 作者 | [姓名] |
| 审核人 | [姓名] |
1. 背景与问题¶
1.1 背景¶
[描述做出这个决策的背景和上下文]
示例:
在 SoC 架构设计阶段,我们需要选择一个片上总线协议来连接 CPU、内存和外设。市场上有多种选择,需要做出合适的决策。
1.2 问题陈述¶
[清晰描述需要解决的问题]
示例:
如何选择适合本项目的片上总线协议,以满足性能、面积和功耗的要求?
1.3 约束条件¶
| 约束 | 描述 |
|---|---|
| 性能 | 需要支持 500MHz 工作频率 |
| 面积 | 互联面积不超过总面积的 10% |
| 功耗 | 动态功耗 < 5mW |
| 时间 | 需要在 2 周内完成决策 |
2. 考虑的选项¶
2.1 选项 A: [选项名称]¶
描述: [详细描述选项 A]
优点: - ✅ [优点 1] - ✅ [优点 2] - ✅ [优点 3]
缺点: - ❌ [缺点 1] - ❌ [缺点 2]
评估:
| 指标 | 评分 (1-5) | 说明 |
|---|---|---|
| 性能 | ⭐⭐⭐⭐ | 支持高频率 |
| 面积 | ⭐⭐⭐ | 中等面积开销 |
| 功耗 | ⭐⭐⭐⭐ | 低功耗设计 |
| 成熟度 | ⭐⭐⭐⭐⭐ | 广泛使用 |
| 学习成本 | ⭐⭐⭐ | 团队有一定经验 |
2.2 选项 B: [选项名称]¶
描述: [详细描述选项 B]
优点: - ✅ [优点 1] - ✅ [优点 2]
缺点: - ❌ [缺点 1] - ❌ [缺点 2] - ❌ [缺点 3]
评估:
| 指标 | 评分 (1-5) | 说明 |
|---|---|---|
| 性能 | ⭐⭐⭐ | 满足基本要求 |
| 面积 | ⭐⭐⭐⭐ | 面积较小 |
| 功耗 | ⭐⭐⭐ | 中等功耗 |
| 成熟度 | ⭐⭐ | 较新的协议 |
| 学习成本 | ⭐⭐ | 团队不熟悉 |
2.3 选项 C: [选项名称](如有)¶
[同上格式]
3. 决策¶
3.1 最终选择¶
我们选择 [选项 X] 作为 [应用场景] 的解决方案。
3.2 决策理由¶
- [理由 1] - [详细说明]
- [理由 2] - [详细说明]
- [理由 3] - [详细说明]
示例:
- 性能优势 - AXI4 支持乱序传输和 burst 操作,能够满足高性能需求
- 生态成熟 - 业界广泛使用,有丰富的 IP 和工具支持
- 团队经验 - 团队成员有 AXI 开发经验,降低学习成本
3.3 决策依据¶
| 因素 | 权重 | 选项 A 得分 | 选项 B 得分 |
|---|---|---|---|
| 性能 | 30% | 4 | 3 |
| 面积 | 20% | 3 | 4 |
| 功耗 | 20% | 4 | 3 |
| 成熟度 | 15% | 5 | 2 |
| 成本 | 15% | 4 | 3 |
| 加权总分 | 100% | 4.05 | 3.05 |
4. 影响与后果¶
4.1 正面影响¶
- ✅ [正面影响 1]
- ✅ [正面影响 2]
- ✅ [正面影响 3]
4.2 负面影响及缓解¶
| 负面影响 | 影响程度 | 缓解措施 |
|---|---|---|
| [影响 1] | 中 | [缓解方案] |
| [影响 2] | 低 | [缓解方案] |
4.3 对架构的影响¶
[描述此决策对整体架构的影响]
4.4 对项目的影响¶
| 方面 | 影响 |
|---|---|
| 进度 | [影响描述] |
| 成本 | [影响描述] |
| 风险 | [影响描述] |
| 资源 | [影响描述] |
5. 实施计划¶
5.1 实施步骤¶
- 步骤 1: [描述] - 预计完成日期
- 步骤 2: [描述] - 预计完成日期
- 步骤 3: [描述] - 预计完成日期
5.2 负责人¶
| 任务 | 负责人 | 日期 |
|---|---|---|
| [任务 1] | [姓名] | YYYY-MM-DD |
| [任务 2] | [姓名] | YYYY-MM-DD |
5.3 验收标准¶
- [验收标准 1]
- [验收标准 2]
- [验收标准 3]
6. 相关决策¶
| ADR 编号 | 标题 | 关系 |
|---|---|---|
| ADR-XXX | [相关决策 1] | 前置依赖 |
| ADR-XXX | [相关决策 2] | 后续影响 |
7. 参考文档¶
| 文档 | 链接 |
|---|---|
| [文档 1] | [链接] |
| [文档 2] | [链接] |
| [规范文档] | [链接] |
8. 修订历史¶
| 版本 | 日期 | 作者 | 变更描述 |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [作者] | 初始草稿 |
| 1.0 | YYYY-MM-DD | [作者] | 正式发布 |
| 1.1 | YYYY-MM-DD | [作者] | [变更说明] |
9. 审批¶
| 角色 | 姓名 | 日期 | 意见 |
|---|---|---|---|
| 架构师 | [姓名] | YYYY-MM-DD | 同意 |
| 技术负责人 | [姓名] | YYYY-MM-DD | 批准 |
| 项目经理 | [姓名] | YYYY-MM-DD | 确认 |
10. 状态变更历史¶
| 日期 | 状态变更 | 原因 |
|---|---|---|
| YYYY-MM-DD | 📝 提议 → ✅ 已采纳 | 团队评审通过 |
| YYYY-MM-DD | ✅ 已采纳 → 🔄 已替换 | 被 ADR-XXX 替代 |
模板版本:1.0 | 最后更新:2026-05-03