- 博客(15)
- 收藏
- 关注
原创 主管面问题
在合适的时机,我会以提供帮助的角度去沟通,比如‘你负责的那部分有什么需要我支持的吗?我不会单纯为了提升职级而工作,但我相信,只要持续提升能力、为团队创造核心价值,相应的职级提升会是水到渠成的结果。‘狼性文化’在我看来代表的是敏锐的嗅觉、不屈不挠的进攻精神和团队合作。我相信在这样的环境中,个人能获得最快的成长,并能和公司一起成就伟大的事业。“我认为职级体系是一个公司对员工能力和贡献的认可机制,它提供了一个清晰的成长路径和目标。更重要的是,这次经历让我深刻理解了跨时钟域设计的重要性和严谨的工程方法论的价值。
2025-10-09 15:43:45
579
原创 IC设计基础问题
格雷码应用:使用格雷码指针进行跨时钟域同步,避免亚稳态导致灾难性错误。指针同步:写指针同步到读时钟域用于空判断,读指针同步到写时钟域用于满判断。保守的空满判断:由于同步延迟,空满判断是保守的,会产生假满和假空,但保证了功能安全。可靠的复位:异步复位同步释放,确保系统从一个已知的稳定状态启动。RAM选择:使用True Dual-Port RAM,允许读写端口完全异步操作。
2025-10-07 22:37:10
1521
原创 verilog常见题目
logic clk;logic last;// 数组结束标志// 错误指示// 时钟块用于同步驱动// 断言属性valid;// 断言检查// 覆盖率收集endgroup// 初始化valid = 0;data = 0;last = 0;error = 0;endtask```
2025-10-07 22:36:12
736
原创 手撕代码总结
input clk, // 基准时钟input rst_n, // 异步复位,低电平有效output reg clk_out // 分频时钟输出// 6分频// 计数器,位宽根据N的大小决定// 计数器逻辑if (!rst_n)else if (cnt == N - 1) // 计数到 N-1 (即5) 后归零elseend// 时钟生成逻辑if (!rst_n)
2025-09-21 11:08:30
698
原创 FPGA验证
FPGA验证是在将设计代码(如Verilog或VHDL)实际编程(烧写)到FPGA芯片之前和之后,通过一系列系统性的方法和技术,确保其功能、性能和可靠性完全符合预期规格的过程。简单来说,它就是为FPGA设计“抓虫”(找bug),确保它做出来的事情和你想象中一模一样,没有错误。特性仿真 (Simulation)板级验证 (In-System Testing)环境软件模拟环境真实硬件环境速度慢非常快(实际硬件速度)目的验证逻辑正确性验证实际性能、接口、稳定性时序零延迟或估算延迟真实时序对外交互。
2025-09-20 12:39:29
881
原创 SV相关问题
浅拷贝 (Shallow Copy)只拷贝对象本身的所有属性(变量)。如果属性是句柄(指针),那么拷贝的是这个句柄的值(即内存地址),而不是句柄所指向的对象。结果:原始对象和拷贝对象中的句柄指向同一个子对象。修改其中一个对象的句柄属性所指向的内容,会影响到另一个对象。深拷贝 (Deep Copy)不仅拷贝对象本身的所有属性,还会递归地拷贝所有其句柄属性所指向的对象,从而创建出一个完全独立的副本。结果:原始对象和拷贝对象以及它们内部所有层次的对象都是完全独立的,修改任何一个都不会影响另一个。
2025-09-05 19:47:05
760
原创 芯片验证面试题目总结
消息类型使用策略**用于调试。在开发初期使用UVM_LOW或UVM_MEDIUM输出关键流程信息。在验证后期,通过提高冗余度阈值(如设为UVM_HIGH)来过滤掉大量调试信息,保持日志整洁。**用于提示异常。表示某些非预期情况发生,但不妨碍主要验证流程继续。需要关注,但不必每次出现都导致仿真失败。**用于标记失败。当监测到设计功能错误、协议违例或断言失败时使用。出现一定数量的uvm_error后,仿真最终应该被判为失败。**用于处理灾难性错误。一旦发生,仿真立即停止,因为继续下去已无意义。
2025-08-25 02:17:10
1696
原创 时序检查(Timing Check)
在现代芯片设计流程中,STA和后仿真(动态时序分析)是相辅相成、缺一不可的。主导角色:STASTA因其穷尽性和高速,成为时序验证的主力军。几乎所有的时序优化和签核工作都由STA完成。设计团队会花费大量精力确保STA完全通过。辅助和补充角色:后仿真后仿真作为重要的补充验证STA的约束:检查SDC约束文件是否正确,是否有虚假路径(false path)或多周期路径(multicycle path)被错误定义。检查异步逻辑:STA对纯粹的异步电路分析能力较弱,后仿真可以很好地弥补这一点。系统级验证。
2025-08-25 01:56:50
816
原创 后仿基础(一)
特性建立时间(Setup Time)保持时间(Hold Time)检查关系同一个时钟沿同一个时钟沿本质数据必须提前准备好数据必须之后保持住关乎时钟周期、速度路径延迟、时钟偏差违例原因数据路径太慢数据路径太快修复方法优化逻辑、降低延迟插入Buffer、增加延迟分析沿当前时钟沿和下一个时钟沿同一个时钟沿特性前仿真 (RTL Simulation)后仿真 (Post-Layout Simulation)目的验证功能正确性验证功能+时序正确性DUTRTL 代码门级网表 (Netlist)
2025-08-24 23:05:34
627
原创 UVM寄存器模型场景应用
本章节超越了寄存器模型的基本操作,深入探讨了其在真实验证场景中的高级应用,核心围绕如何利用寄存器模型进行高效检查和如何实现有意义的功能覆盖率收集。它强调了寄存器模型不应只是一个抽象的地址映射,而应成为验证环境中主动进行状态管理和质量评估的强大工具。模块化与复用:将寄存器模型和相关的测试序列作为独立组件开发。这便于在模块级和系统级验证中复用,减少移植和维护工作量。中心化维护:建议由专人或专门团队集中维护寄存器模型库。所有验证工程师从中心库获取模型,确保版本一致性和模型质量,降低整体项目成本。价值提升。
2025-08-24 17:47:10
850
原创 UVM寄存器模型常规方法
UVM寄存器模型不仅仅是一个地址映射表,更是一个强大的状态管理器和验证工具。它通过维护一套软件副本(镜像值和期望值)来跟踪和预测硬件寄存器的状态,并提供了一系列方法来完成访问、检查、批量操作和自动化测试。始终使用显式预测:这是保证寄存器模型状态准确的基础,避免因未监测到的访问而导致的错误。善用set()和update():这是寄存器模型的高级用法,可以轻松实现寄存器的批量随机化和配置,大大提高测试用例的编写效率和场景覆盖度。初期运行内建序列。
2025-08-24 17:42:44
1826
原创 UVM寄存器模型集成
寄存器模型是一个抽象层,它本身并不能直接与DUT通信。集成(Integration)的核心任务是在寄存器模型和物理总线之间建立一座桥梁,使得对寄存器模型的抽象读写调用(如)能够被转换成真实的总线事务,或者直接通过后门路径访问DUT中的硬件信号。这座桥梁的关键组成部分是适配器(Adapter)和预测器(Predictor)。特性前门访问 (Front-Door)后门访问 (Back-Door)路径通过物理总线直接访问HDL信号速度慢,消耗仿真时间快,零时间验证内容总线协议、接口逻辑、寄存器功能。
2025-08-24 17:24:44
772
原创 UVM寄存器模型:高效验证的黄金法则
域 (Field)| 寄存器的功能字段 | `uvm_reg_field` || 寄存器 (Reg)| 由域组成的基本单元 | `uvm_reg` || 寄存器块 (Block)| 寄存器的集合容器 | `uvm_reg_block` || 地址映射 (Map) | 定义地址偏移和总线 | `uvm_reg_map` || 存储器 (Mem)| 模拟存储空间 | `uvm_mem` || 设计流程| 单一源”原则,使用XML/IP-XACT等标准格式描述寄存器 |
2025-08-24 17:15:26
707
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅