本合集汇聚了26届秋招一线笔面试真题,涵盖寒武纪、OPPO、达摩院、小米、蔚来、英伟达、中兴、小鹏等30+家头部企业,涉及芯片架构、设计、验证、后端等多个岗位。内容真实还原面试现场,包含UVM验证流程、AMBA协议、跨时钟域处理、形式验证、低功耗设计等高频考点,并附有详细解答思路与项目拷打实录。
1、小米芯片验证面经
Q:端到端数据流怎么在环境里完成比对?
A:driver 送入激励→DUT→input/output monitor 抓事务→参考模型生成期望 →scoreboard 对 DUT 实际输出做 compare,覆盖整条数据路径。
Q:Cache 除了数据,还存哪些元信息?
A:典型有 tag、valid、dirty、LRU/替换位、权限/属性位以及一致性状态 (MESI/MOESI),用来管理命中、写回与替换。
Q:monitor 抓到数据后能直接和期望比吗?
A:通常要先做格式/时序对齐与协议层抽象,再送入参考模型产出的 expected 与 actual 逐字段比较,避免假失败。
Q:一句话说清 AHB?
A:AMBA 的同步高性能片上总线,地址/数据分离流水、支持突发与(非 Lite) 多主仲裁。
Q:AHB 读传输的关键时序是怎样的?
A:地址阶段给出 HADDR/HTRANS/HSIZE/HWRITE=0,下一拍进入数据阶段由 HRDATA 返回;HREADY 可插入等待,HRESP 给出结果。
Q:AHB 读通常消耗几个周期?
A:首个 beat 约 2 拍(地址+数据),突发后续每个 beat 理想 1 拍,等待 状态会额外拉长。
2、字节跳动AI芯片一面
1. Q:你们的 regression flow 是怎样的?
A:Jenkins/脚本触发 → 并行调度仿真(VCS/Questa/Xcelium)→ 解析 日志(UVM_ERROR/FATAL、seed)→ 合并 coverage(URG/IMC)→ 生 成 HTML/CSV 报告并邮件通知。
2. Q:为什么做大规模随机回归后还要看单个 case 的覆盖率?
A:为分析覆盖贡献度与冗余度、快速定位未命中 coverpoint,从而删冗 增效、指导约束/权重调整与 directedcase 投入。
3. Q:发现不同配置/用例对覆盖贡献差异后,你会做什么?
A:调约束权重(biasedrandom)、补directed/semi-directed、按config 贡献重分配回归资源、构建最小回归集并回写testplan追踪closure。
4. Q:回归与覆盖率的关系?
A:回归是执行与收敛过程,覆盖率是质量度量;以功能覆盖率(covergroup) 为主闭环,代码覆盖率用于发现死角与冗余。
5. Q:你的随机是纯随机还是受约束的随机?
A:做受约束/加权随机(constraint/weighted),保持多样性的同时对低 命中场景提升权重以加速 coverage 收敛。
6. Q:Python 的随机能力 vsSV 的随机约束?
A:两者定位不同:Python 更灵活、易整合与反馈闭环;SVconstraint 与 仿真环境无缝集成、体系化强;工程上常结合使用。
7. Q:Python 受约束随机常用库?
A : 基 础 分 布 用 random/numpy.random , 复 杂 约 束 用 python-constraint/z3-solver,配置与反馈用 yaml/json+pandas。
8. Q:在 Python 里如何构造“像 SV 约束那样”的随机?
A:用“条件过滤+概率分布”或借助求解器(如 z3)生成满足约束的取值, 再将 transaction 推送至 SV 环境。 Python↔SV 交互 / 文件 vs 内存
9. Q:为什么用“文件交互”而不是内存通信?
A:文件 I/O最简单稳定、工具无关、可复现(留存刺激输入),适合项 目初/中期;但高频交互/SoC 级会受 I/O 开销与实时性限制。
10. Q:大规模/SoC 级时如何提效?需要包什么 wrapper?
A:用 DPI-C 的 Cwrapper 做内存级交互(SV↔C↔Python),或用 socket/ZeroMQ/gRPC 跨进程通信;模块级可文件,IP/SoC 级建议 DPI, 系统级可 RPC。
3、理想汽车数字IC验证面经
Q: 功能覆盖率和代码覆盖率有什么区别?
A: 代码覆盖率关注RTL是否被执行(行、分支、表达式、toggle);功能覆盖 率关注Spec中的功能点是否被测试(covergroup/coverpoint/cross)。两者配合 评估验证充分性。
Q: 在小团队里你会主动验证哪些内容?
A: 接口协议时序、核心功能流程、异常/边界场景(错误响应、复位、背压)、 以及性能相关的突发与并发;并用覆盖率闭环验证计划。
Q: 你如何验证 AHB 接口?
A: UVM中用driver发起SINGLE/INCR等突发读写,monitor采集事务,scoreboard 做数据一致性比对,结合 VIP 的协议 checker 与自定义覆盖率覆盖 HTRANS/HBURST/HSIZE/HRESP 组合。
Q: RTL 常用的 AHB 传输类型及验证要点?
A: HTRANS 以NONSEQ/SEQ为主(同时验证IDLE/BUSY忽略性),HBURST常 用SINGLE/INCR(也测 INCR4/8 与 wrap 地址),HSIZE 多为 word 同时覆盖 byte/halfword 与未对齐访问。
Q: Always-on(AO)域如何验证?
A: 关注掉电/上电时序、跨电源域隔离、防X传播、状态保持与唤醒路径;UVM 激励+SVA检查时钟/复位稳定,配合UPF/CPF静态一致性检查。 Q: 你用过 AHB/AXI 的 VIP 吗,怎么用?
A: 用作master/slave 代理驱动事务,内建协议checker与覆盖率,monitor输出 transaction 供 scoreboard 与参考模型比对,快速搭建且保证协议合规。
Q: VIP 是只做总线协议验证还是集成到整体验证?
A: 两者都做;早期做协议核查,系统级把VIP作为UVMagent集成,驱动/采集 /覆盖/比对一体化,实现从接口到功能的闭环。
Q: SystemVerilog 中 function void swap(int a,b)能否交换实参? A: 不能,默认值传递;需改为ref参数(或output/inout)才会交换外部变量。
Q: rand 与 randc 的区别?
A: rand 独立随机可重复;randc在取值空间内循环遍历不重复,适合需要覆盖全 部取值的场景(如opcode/burst_len)。
Q: 两个对象实例各自含同名 randc 变量,会互相影响吗?
A: 不会;randc循环状态按实例独立维护,实例间互不干扰。
目前收集企业笔试及面试经验已增至30+家,还在继续收集中,目录如下
获取本系列合集面经26 届秋招数字IC面经合集—30+企业
获取笔面试八股全套资料FPGA及数字IC笔面试秘籍
获取企业深度解析及优质项目资料芯片人的淳朴学习圈子【收益匪浅的芯片项目】—FFT_SoC芯片级算法IP
以上资料均收录在星球,请扫描如下二维码一并获取:
582
