Skip to content

AXI Address Mapping & Hash Routing UVM Verification

tape-out signoff

AXI Address Mapping & Hash Routing 验证

Industrial UVM internship — parameterized AXI verification, ID Remap/Reorder, 100% coverage signoff.

Role
Digital IC Verification Engineer Intern, Enrigin Technology (Shanghai)
Dates
May 2024 – Sep 2024
  • Verif
  • UVM
  • AXI
  • SoC

实习项目 — Enrigin Technology(Shanghai)。美国岗最强弹药:工业级 UVM 经验

← 项目索引

一句话总结

基于 UVM 的参数化验证环境,集成 AXI VIPs,完成 Address Mapping / Hashing / Burst Clipping 等模块的功能验证,推动 spec 修订,达成 100% code + functional coverage,满足 tape-out 标准。

简历描述(原文)

Digital IC Verification Engineer Intern | Enrigin Technology AXI Address Mapping & Hash Routing Module Verification

  • Extracted SoC/Micro-Arch feature lists and developed comprehensive test plans for Address Mapping, Hashing, and Burst Clipping; drove Spec revisions and successfully passed design reviews.
  • Architected a parameterized UVM verification environment integrated with AXI VIPs, utilizing macros and plusarg to enable seamless cross-IP portability and multi-instance adaptation.
  • Led incremental verification for ID Remap/Reorder modules: extended AXI ID width from 9-bit to 12-bit and designed reorder sequences covering all-identical, all-unique, and random ID outstanding scenarios; identified and resolved a critical CAM addressing corner case.
  • Developed bit-accurate Reference Models in Scoreboard for NUMA-based Hashing and 512B/BL1 Boundary Clipping, ensuring 100% functional coverage across varied AxSize 0–7, unaligned addresses, and narrow transfers.
  • Collaborated with the RTL team on coverage collection and waiver analysis, achieving 100% code and functional coverage to meet project tape-out standards.

关键亮点

  • ✅ 工业级 UVM + AXI VIP 实战(美国 verification 岗硬通货)
  • AXI 协议深度(AxSize、unaligned、narrow transfer、burst boundary)
  • Reference Model bit-accurate(NUMA Hashing、512B/BL1 Clipping)
  • 真实 silicon impact:发现 CAM addressing corner case
  • 覆盖率达标:100% code + functional,满足 tape-out

面试优先级

⭐⭐⭐⭐⭐ — DV / SoC / 总线岗位首推。CPU 岗位作为补充展示,体现工程严谨度。

进度

  • 技术细节填完(UVM 架构、AXI 协议要点)
  • Reference Model 数学表达式整理(NUMA hashing 公式)
  • 30 个深挖问答
  • CAM corner case 完整故事(发现→定位→修复)
  • 关键决策 / trade-off
  • 英文版 STAR 三档
  • 架构图默画(verification env 框图)

入口

  • 01_技术细节
  • 02_深挖问答
  • 03_关键决策
  • 04_数据指标
  • 05_英文版讲解

Key Decisions

面试时问 “你为什么这么做” 是常见题。提前整理决策 + 备选方案 + 你为什么选这个。

决策 1:UVM env 的参数化方式 - macro + plusarg

选了什么

\definemacro(build-time)++plusarg`(run-time)双层参数化。

替代方案

  • 纯 macro:不灵活,改一次要重编
  • 纯 plusarg:build 慢(所有 variant 都得编)
  • uvm_config_db 全跑动:动态性最强,但代码冗长

选这个原因

  • macro 控制结构性参数(端口数、ID 宽度) — build 期决定,代码生成最优
  • plusarg 控制 testcase / verbosity — 不改 build,跑不同 case 快
  • 双层组合让 cross-IP 切换最高效

Trade-off

  • ✅ 灵活 + 高效
  • ⚠️ 学习曲线高,新人接手要解释清楚

决策 2:Reference Model bit-accurate 还是 behavioral?

选了什么

Bit-accurate(NUMA Hashing 和 Boundary Clipping)。

替代方案

  • Behavioral:只判结果对错,不要求中间值
  • Cycle-accurate:连时序也要对(过度复杂)

选这个原因

  • Hashing 出错会导致路由错误,bit-accurate 才能精确定位
  • Boundary Clipping 涉及拆分,sub-burst 顺序 / 个数错都是 bug,bit-level 比对必要

Trade-off

  • ✅ 调试时能精确定位 RTL bug
  • ⚠️ 开发成本高,需要深入理解 RTL 实现

决策 3:ID outstanding 三种 sequence 设计

选了什么

All-identical / All-unique / Random 三档。

替代方案

  • 只 Random:覆盖广但边界 case 不一定 trigger
  • 只边界 case:难压出 corner case 组合

选这个原因

  • All-identical → 强制按序,验证基础顺序逻辑
  • All-unique → 完全乱序,验证 reorder 极限
  • Random → 现实分布,压出意外组合

Trade-off

  • ✅ 三档覆盖典型 + 边界 + 现实场景
  • ⚠️ 需要写 3 套 sequence,工作量较大

决策 4:9-bit → 12-bit ID 扩展的 backward compatibility

选了什么

保留 9-bit 兼容(ID < 512 时行为一致)。

替代方案

  • 完全切换 12-bit,旧 testcase 全废
  • 保留两套 env(9-bit / 12-bit)

选这个原因

  • 项目持续推进,旧 testcase 不能废
  • 12-bit 是超集,9-bit 自动是子集

Trade-off

  • ✅ 兼容性好
  • ⚠️ Reference Model 处理 ID 时多一层 zero-pad 逻辑

决策 5:Coverage waiver 的尺度

选了什么

(待填,基于实际项目)

一般原则

  • spec 明确允许的 → 可 waive
  • 实际不可达的逻辑路径 → 可 waive
  • “测不到但可能有 bug” → 不能 waive,要写 directed test

TODO

  • 补充实际项目的具体决策点
  • 标注每个决策对应的 NDA 边界

Metrics

面试讲项目要带数字。模糊词(“挺好的”、“挺快的”)扣分,精确数字加分。

关键 metric(简历声明)

指标数值说明
功能覆盖率100%tape-out 标准
代码覆盖率100%line / toggle / FSM / branch / cond
AXI ID 宽度扩展9-bit → 12-bit增量验证
AxSize 覆盖0–71B 到 128B
关键 corner caseCAM addressing找到并修复

待补充的细节数据

这部分需要你填,带数字最有说服力

Verification env 规模

  • 代码行数:多少?
  • Sequence / testcase 数量:多少?
  • Reference Model 行数:多少?
  • 跑完一轮 regression 时长:多少?

覆盖率收敛过程

  • 自动 random test 跑到多少 % ?
  • 后续加 directed test 多少个填到 100% ?
  • waiver 多少条?

Bug discovery

  • 你发现的 bug 总数:多少?
  • 其中 critical 级别:多少?(CAM corner case 是其一)
  • 平均 debug 时长:多少?

工时

  • 项目持续多久?(weeks / months)
  • 你 onboard 多久能独立提 testcase?
  • 跟 RTL team 协作频率?

跟 baseline 对比(如果有)

  • 之前 9-bit ID 时覆盖率多少?扩到 12-bit 后用了多久达 100%?
  • 接手前 env 多大,你扩展后多大?

量化讲法模板

✅ “AXI ID 从 9-bit 扩展到 12-bit,设计 X 个新 sequence,新增 Y 个 cover bin,2 周内功能覆盖率达 100%”

✅ “Reference Model bit-accurate 实现 NUMA hashing,精确比对到 N bit,发现 RTL CAM addressing 在特定 ID/地址组合下的 corner case bug”

❌ “覆盖率挺高的,bug 也找了不少”(模糊)

TODO

  • 在 NDA 允许范围内填具体数字
  • 凡是有数字的地方,都准备 follow-up:这个数字怎么测的?对比什么?

STAR Narratives (English)

美国岗必练。中文流畅 ≠ 英文流畅。录音回放,直到无填充词、语速稳定

关键术语对照

中文English
验证Verification
覆盖率Coverage(functional / code)
测试用例Testcase / Sequence
参考模型Reference Model / Predictor
计分板Scoreboard
监控器Monitor
序列Sequence
寄存器Register
地址映射Address Mapping
哈希路由Hash Routing
突发传输Burst Transaction
边界裁剪Boundary Clipping
乱序完成Out-of-order Completion
在途事务Outstanding Transaction
内容可寻址存储器CAM (Content-Addressable Memory)
边界情况(corner)Corner Case
流片Tape-out
协议遵从Protocol Compliance

30-Second Elevator Pitch

适合自我介绍带过 / 电话 OA。

During my internship at Enrigin Technology, I worked as a Digital IC Verification Engineer
on AXI bus subsystem verification. I built a parameterized UVM environment integrated with
AXI VIPs, and I was responsible for verifying the address mapping, hash routing, and burst
clipping modules. I developed bit-accurate reference models for NUMA-based hashing and
boundary clipping, and we achieved 100% functional and code coverage to meet tape-out
standards. The most exciting part was identifying a critical CAM addressing corner case
that the random tests missed.

(~60 秒,可压到 30 秒,删掉 NUMA 细节即可)

2-Minute Standard Version(STAR)

Situation

At Enrigin Technology, I was an intern on the SoC verification team working on a NUMA-based
multi-channel memory subsystem. The block I owned was responsible for address mapping —
deciding which memory channel each transaction should route to — plus burst clipping at
512-byte and BL1 boundaries.

Task

My task was to architect the UVM verification environment, develop testplans for the address
mapping, hashing, and burst clipping modules, and drive coverage closure to tape-out quality.
I also led the incremental verification when the AXI ID width was extended from 9 to 12 bits.

Action

I architected a parameterized UVM environment using `define macros for build-time
configuration and plusargs for runtime control, which made the env reusable across
different IP instances. For the reference models, I implemented bit-accurate predictors
for NUMA hashing and boundary clipping — making sure the comparison was precise enough
to catch any RTL deviation. For the ID extension, I designed three sequence patterns:
all-identical IDs to validate ordered behavior, all-unique IDs to stress reorder logic,
and random IDs for realistic mix.

Result

We achieved 100% functional and code coverage, satisfying tape-out criteria. The most
impactful finding was a critical CAM addressing corner case — the bug only triggered
under a specific combination of ID values and address ranges. After tracing the waveform
and collaborating with the RTL designer, we identified the root cause in the CAM lookup
logic and fixed it before tape-out.

15-30 Minute Deep-Dive Version

现场 deep dive 时讲。要能即兴白板画 verification env 框图、AXI burst clipping 时序图、CAM corner case 波形。

大纲

  1. 项目背景(2 min):SoC 架构、为什么需要 hash routing
  2. AXI 协议关键点(3 min):channel / outstanding / boundary
  3. UVM env 架构(5 min):agent / scoreboard / RM,白板画框图
  4. NUMA Hashing RM 实现(3 min):hash function 数学
  5. ID Reorder 三种 sequence(2 min)
  6. CAM Corner Case Story(8-10 min):full STAR 故事 + 波形
  7. Coverage Closure(2 min):metric + waiver philosophy
  8. Reflection(2 min):学到了什么 / 如果重做会怎么改

高频英文 Q&A 应答

Q: Walk me through how a read transaction flows through your verification env.

A: (待填,描述 master VIP 发 AR → DUT hash → reference model 算 expected → monitor 抓 R → scoreboard 比对)

Q: How did you find the CAM corner case if the random sequence didn’t initially catch it?

A: (待填,讲 coverage hole → directed test → 或 stress test 偶发 trigger)

Q: What’s the trade-off between bit-accurate and behavioral reference models?

A: (待填)

录音 / 模拟练习清单

  • 30-second pitch 录 ≥ 5 次,无填充词
  • 2-minute STAR 录 ≥ 5 次,语速稳定
  • CAM corner case 故事录 1 次完整版
  • Mock interview 用英文做 1 次,自评/友评