面经

1.AXI是否支持写乱序和写交织
答:AXI 支持写乱序,但 AXI3 和 AXI4 对写交织(Write Interleaving)的支持不同。AXI4无WID

2.AXI slave vip的memory模型如何搭建,使用什么数组
答:在 AXI Slave VIP 中,Memory Model 通常使用 SystemVerilog 关联数组(Associative Array) 实现,尤其适合模拟 DDR、大容量 SRAM 等存储空间。以字节地址作为索引。

3.run_phase 和 main_phase 有什么区别?
答:run_phase 通常用于 Driver、Monitor 等持续运行的组件。main_phase 通常用于 Test 中启动主要测试 Sequence

4.objection的作用:控制Task Phase生命周期的机制
如果 driver 的 main_phase 中有 #200ns,但 test 在 100ns 就 drop_objection,会怎样?如果没有其他 Objection,Phase 会在 100ns 左右结束,driver 中尚未完成的 #200ns 任务会被终止。

5.interface 怎么传到组件中,在哪层穿?为啥不能用真实物理接口而是用virtual
答:真实 Interface 是静态硬件接口实例,而 UVM Driver、Monitor 是动态创建的 Class 对象,Class 不能直接实例化或保存真实 Interface 实例,只能通过 Virtual Interface 句柄访问它。

6.virtual sequence/sequencer的理解,为什么要使用
答:是协调多个 Agent 的 Sequence,实现多接口、多协议的协同激励。

7.AXI的乱序怎么实现,以及验证方法。
答:因为 Slave 可以根据不同请求的处理时间,决定响应顺序。例如:
ARID=3:命中 Cache,延迟 2 个周期。
ARID=1:访问 DDR,延迟 100 个周期。
ARID=2:访问片上 SRAM,延迟 10 个周期。
验证方法:Slave VIP 可以通过响应调度产生乱序。

8.driver 和sequencer之间的通信:get_next_item和try_next_item的区别?
前者是阻塞式获取 Transaction,后者是非阻塞式尝试获取 Transaction。

9.uvm_config_db和uvm_resource_db的区别
答:核心区别:uvm_config_db 主要用于 UVM 组件层次化配置,而 uvm_resource_db 是更底层、更通用的资源共享机制。uvm_resource_db 更底层、更通用,可以通过资源名称和 Scope 存储及读取数据,不一定依赖 UVM 组件层次。

10.sequence启动的几种方式,start和config 启动的区别
seq.start(env.agent.sqr); 显式调用;
配置 default_sequence,配置 Phase 自动启动。

11.transaction中的变量如何约束,列举所有可以家constraint的地方
Class 内部约束、继承约束、inline constraint、外部约束定义以及动态控制约束 等方式进行限制。



12.寄存器模型是怎么搭建和关联的,前门访问和后门访问区别?怎么检查两个寄存器地址是否真的对应?


13.跨时钟域CDC问题怎么验证?怎么在验证环境中模拟亚稳态。
(1)CDC 验证主要依靠静态 CDC 检查、动态仿真和断言相结合。RTL 仿真不能真实模拟模拟电路中的亚稳态,但可以通过随机延迟、X 注入和同步器输出扰动来模拟亚稳态对数字逻辑的影响。RTL 仿真中的 X 不等于真实亚稳态,X 注入只是用于检测设计对不确定值的处理能力。
(2)随机延迟同步器的输出,随机增加同步延迟,验证接收端是否错误地假设跨域信号一定在固定周期到达。

14.怎么跑回归(regression)


VCS 的 URG 工具合并多个 Test 的覆盖率数据库

15.CRC的原理:模 2 多项式除法 CRC(Cyclic Redundancy Check,循环冗余校验)是一种用于检测数据传输或存储过程中是否发生错误的方法。

核心思想是:发送端根据数据和生成多项式计算 CRC 校验码,接收端使用相同规则重新计算 CRC,通过比较判断数据是否发生错误。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇