自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (5)
  • 收藏
  • 关注

原创 IC验证必备技能——python/C API 基础教程

if (!// 解析参数 ([Python documentation](https://docs.python.org/3/extending/extending.html?// 返回新引用 ([Python documentation](https://docs.python.org/3/extending/extending.html?{"system", spam_system, METH_VARARGS, "执行系统命令"},"spam", "示例模块", -1, SpamMethods。

2025-04-17 11:38:25 934

原创 深入解析 UVM 寄存器模型 —— 从实例到实战

在复杂的 SoC 设计中,寄存器往往承载着控制和状态反馈功能。传统的寄存器访问方式通常依赖于低层的总线协议(如 APB、AXI 等),这会使验证代码和测试用例冗长且难以维护。而 UVM 寄存器模型通过对寄存器进行抽象化建模,将硬件寄存器映射为软件对象,使得:抽象访问:用户可以直接通过对象方法来读写寄存器,不必关心总线的时序与协议细节。自动化验证:通过寄存器模型可以自动生成访问序列、检查覆盖率并实现镜像值预测,从而提高验证效率。模块化管理:寄存器模型便于复用与维护,尤其在 IP 级验证中更显优势。

2025-04-09 11:04:18 912

原创 【UVM技巧与踩坑总结】为何你的Coverage总是收到相同的数据包?

问题结论多次发送同一个对象会造成覆盖、内容更新TLM分析链是传引用接收端共享数据地址使用成员变量做拷贝对象依然是同一个对象的引用UVM开发中牢记:要发送不同数据,就必须创建不同的对象!UVM是强大但“坑”也多的验证平台,理解其底层对象机制与TLM传递行为,是写出稳定可靠环境的基础。希望本文能帮你少走一些弯路,写出更优雅的UVM测试平台。欢迎留言讨论你在项目中遇到的类似问题,我们一起踩坑,一起成长!

2025-04-08 11:44:58 494

原创 使用PyTorch搭建Transformer神经网络:入门篇

criterion = nn.CrossEntropyLoss(ignore_index=0) # 假设0是padding token。

2024-10-11 22:52:58 1162

原创 机器学习与神经网络的崛起:从诺贝尔物理学奖谈起

然而,我认为,这样的转型并不意味着物理学“背离”了其核心追求,而是拓宽了物理学的边界——现代科学的问题越来越复杂,往往需要跨学科的解决方案。此外,随着量子计算的发展,机器学习与物理学的交叉领域将愈发重要。然而,2024年的诺贝尔物理学奖首次将机器学习与神经网络领域的研究者推上了舞台,这不仅是对这一新兴科技的肯定,也标志着物理学研究范畴的扩展,体现了物理学与计算科学之间日益紧密的联系。此次诺贝尔物理学奖的颁发,不仅展示了机器学习和神经网络在现代科学中的广泛应用,也为未来科技的发展提供了新的启示。

2024-10-11 22:33:03 528

原创 从零开始:搭建Python调用Design Ware的IP的验证环境

本文介绍了如何通过 SystemVerilog 调用 Synopsys DesignWare 加法器 IP,并通过 DPI 将其导出到 C 语言,最终在 Python 中调用。这一跨语言的验证过程,结合硬件设计与高级编程语言,增强了验证过程的灵活性。

2024-10-09 21:19:03 548 1

原创 从零开始:搭建SystemVerilog调用C并通过C调用Python的跨语言验证环境

通过本文的教程,你已经学会了如何在SystemVerilog中调用C函数,并在C中进一步调用Python函数。SystemVerilog通过DPI调用C代码的基本流程。编写C代码并生成共享库。在C中调用Python代码,配置Python环境。配置仿真器,使其能够连接SystemVerilog和C/Python代码。这个过程虽然涉及多个工具和语言,但一旦理解了基本原理,你可以轻松在验证环境中集成强大的跨语言功能,极大提升验证的灵活性和效率。

2024-10-09 20:57:17 1003

原创 验证问题总结(持续更新)

VCS/XRUN仿真问题记录

2024-06-06 17:39:58 478 1

原创 UVM寄存器模型(一)

以上function都是虚函数,也就意味着用户可以根据待测寄存器的特别进行重定义,比如有些寄存器的读写属性是寄存器模型中没有的,则可以通过扩展uvm_reg或uvm_reg_field类来重定义寄存器模型中相关function的方式实现想要的读写属性。首先理解一下寄存器的结构,如下图所示,一个寄存器通常是32bit,这32bit由一个或多个域段组成,不同的域段又有各自的位宽和读写属性,写属性即每个域段的属性包括只读,只写,可读可写等等特性。get_fields:获取寄存器的域段。get:获取寄存器期望值。

2023-09-09 13:27:10 2103

原创 低功耗验证入门——PTPX功耗分析脚本介绍

设置基于时钟周期的毛刺功耗分析:power_enable_clock_cycle_based_glitch。设置基于时钟域的毛刺功耗分析:power_enable_clock_cycle_based_glitch。多轨道分析:power_enable_multi_rail_analysis。设置精度:report_default_significant_digits。使能功耗分析:power_enable_analysis。设置功耗分析模式:power_analysis_mode。

2023-08-08 13:46:44 3459 2

原创 UVM dirver挂死问题

UVM dirver挂死问题

2022-09-09 11:49:30 1177

原创 `uvm_do_with中约束无法生效解决方案

在项目中遇到过明明在uvm_do_with中对transaction的域段做了约束,但在driver获取到seq时却无法生效约束的问题。最后排查发现是变量名的问题,如下约束值的名称var和req的var字段一致时,因为在`uvm_do_with()中,指定的作用域首先找到的是req,如果变量名一致,则会被当成是req的字段,会导致无法识别这个var是外部传入的变量,出现约束失效的情况。

2022-09-07 23:33:24 2083

原创 CAN总线ACK响应问题

并不是只有和发送ID匹配的节点才会返回ACK,其实总线上的任意一个节点都可以接收到master节点发送的数据并返回ACK,这是在底层完成的,还没有到达ID号过滤这层操作。

2022-08-29 20:25:11 6899

原创 SV语法学习(一) —— linux环境编译与运行System Verilog文件

linux环境编译与运行System Verilog文件

2022-08-27 14:02:28 2986

原创 UE重建简介

RRC 重建目的是恢复RRC信令连接,减少掉线。重建都是UE发起的,UE发起RRC重建的条件是:1)完成安全模式建立;2)处于RRC连接态UE发起RRC重建的原因有三种,分别是重配失败,切换失败、无线链路失败、完整性保护失败、RRC重配置失败。重配失败触发的重建:即UE在安全模式激活的状态下,如果收到了重配置消息后对于重配置消息内的信元无法匹配/兼容,则发起原因值为“reconfiguration failure”的重建。切换失败触发的重建:即UE在切换流程中,在收到了切换的重配置消息之后,

2021-09-04 21:35:50 1424

原创 5G随机接入及入网相关信令简介

5G信令按承载类型可分为SRB0/1/2/3、NSA,SBR0是用户在接入过程中的信令承载,包括msg1、2、3、4,msg4以后就建立了RRC连接,所以msg4也叫RRC建立,直到msg5之后,RRC建立完成,此时也建立SRB1承载,后续的RRC重配消息都将在SRB1上跑,msg5之后就是安全模式鉴定、UE能力查询、UE上下文的建立,如果UE已经在核心网attach则直接会在建立上下文消息的时候建立DRB承载,否则在上下文建立期间不会建立DRB承载,也就是会分成2条重配消息建立DRB和上下文建立。...

2021-07-25 22:09:34 7960

原创 mysql无法启动问题解决方法

从官网下载免安装版 https://dev.mysql.com/downloads/file/?id=476233安装完成后却无法启动,出现以下错误信息在启动前输入mysqld  --initialize 进行初始化后即可成功启动...

2018-06-23 16:42:34 449

快速熟悉CAN总线协议(含CAN 2.0和CAN FD)

本文档基于CAN总线ISO 11898-1协议,总结了CAN 2.0和CAN FD总线协议的标准数据帧、标准远程帧、扩展数据帧、扩展远程帧、错误帧、过载帧、帧间隔、位填充、仲裁机制、错误类型、位同步方式,提炼了CAN总线的错误帧场景rec和tec计数规则,详细对比了CAN 2.0和CAN FD的区别。图文结合,清晰明了,助您快速深入理解CAN总线协议!

2023-11-22

CAN总线 ISO 11898-1协议

CAN总线 ISO 11898-1协议,介绍了CAN总线的帧类型和帧结构、错误处理、时序处理等规范。是入门CAN总线必备的专业资料

2022-08-20

can总线ISO 11898-2

can总线ISO 11898-2

2022-07-29

模拟电子技术基础简明教程_第三版_杨素行(附有答案)

模电电子书附有答案!

2015-07-10

基于MATLAB-GUI数字图像处理课程设计

基于MATLAB-GUI的数字图像处理课程设计代码,可实现多种图像处理操作

2016-06-25

MATLAB2012b

matlab2012b教程适合初学者自学使用

2013-11-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除