自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 用Python给Verilog设计自仿(六):用python实现AXI-Stream接口仿真

本章主要介绍了cocotb-axis具体使用方法,下一章节将以FPGA数据流处理模块为例,构建包含流量控制,带sop,eop组包传输等典型场景的实战验证平台,演示从测试用例开发的完整验证流程。本文为原创Cocotb技术专栏,欢迎工程师伙伴们留言讨论或交流,共同学习。若想第一时间获取更新,可点击下方「关注」或订阅Cocotb专题。

2025-04-08 14:02:03 1030

原创 用Python给Verilog设计自仿(五):阻塞与队列,如何实现FPGA仿真高吞吐数据校验

对于许多FPGA/IC工程师而言,设计实现游刃有余,验证仿真却常成短板——传统验证方法面临两难困局:学习UVM需投入大量时间成本,而纯Verilog自仿又会陷入重复造轮子的低效循环。以通信协议仿真为例,仅报文解析就需要重写整套解析逻辑,相当于用Verilog再实现一次协议栈,耗时费力。此时,Python的生态优势便锋芒尽显。其丰富的字符串处理库可直接解析报文,配合Cocotb框架,仅需少量Python代码即可构建高效测试平台,将验证工作量压缩70%以上。

2025-03-28 12:00:00 660

原创 用Python给Verilog设计自仿(四):协程调度全解析,仅需三行代码构建以太网帧

对于许多FPGA/IC工程师而言,设计实现游刃有余,验证仿真却常成短板——传统验证方法面临两难困局:学习UVM需投入大量时间成本,而纯Verilog自仿又会陷入重复造轮子的低效循环。以通信协议仿真为例,仅报文解析就需要重写整套解析逻辑,相当于用Verilog再实现一次协议栈,耗时费力。此时,Python的生态优势便锋芒尽显。其丰富的字符串处理库可直接解析报文,配合Cocotb框架,仅需少量Python代码即可构建高效测试平台,将验证工作量压缩70%以上。

2025-03-27 12:00:00 531

原创 用Python给Verilog设计自仿(三):Cocotb高频语法,从此告别SV手写

​对于许多FPGA/IC工程师而言,设计实现游刃有余,验证仿真却常成短板——传统验证方法面临两难困局:学习UVM需投入大量时间成本,而纯Verilog自仿又会陷入重复造轮子的低效循环。以通信协议仿真为例,仅报文解析就需要重写整套解析逻辑,相当于用Verilog再实现一次协议栈,耗时费力。

2025-03-26 18:28:14 771

原创 verilog代码中为什么要加`default_nettype none

通过添加default_nettype none语句,禁止了Verilog的默认行为,要求在使用信号之前显式声明信号类型。Verilog语言允许在使用信号之前不显式声明信号类型,而是根据信号名的前缀来推断信号的类型(比如wire或reg)。例如,下面的代码片段中,如果不加default_nettype none,Verilog编译器将不会报错,但是很明显大写的C是一个笔误。如果信号的类型不是显式指定的,那么代码的阅读者可能需要查看整个代码来确定信号是wire还是reg。

2025-03-13 14:00:50 203

原创 多个FPGA之间如何实现通信

配置CRC校验+通道绑定(Channel Bonding),抗干扰能力拉满,适用于多对一场景。注意事项:如果两时钟频率差超过5%,FIFO会溢出或读空,建议用 almost_full 信号反压。参数设置:写时钟用FPGA1的clk_tx,读时钟用FPGA2的clk_rx,深度至少64。用Vivado ILA同时抓取两片FPGA的信号,通过JTAG链触发同步(需要两个调试器)。先单独验证每片FPGA的基础功能(比如FPGA1发0xAA,FPGA2收到后点亮LED)。

2025-03-11 22:47:41 614

原创 Zynq开发,是先学ARM还是先学FPGA?

先啃FPGA这块硬骨头,ARM不过是饭后甜点。

2025-03-10 18:15:25 272

原创 用于设计的可综合SV:SystemVerilog不仅仅用于验证

在数字电路设计领域,通常我们认为Verilog是一种设计语言,而SystemVerilog是专门用于验证的语言,不能用于设计。然而,这种观念是不准确的!事实上,SystemVerilog同样适用于设计,在某些方面甚至比Verilog更为便利。

2025-03-09 15:33:40 1014

原创 FPGA如何实现延时

FPGA的延时实现,堪称数字电路设计的“基本功”,但坑多水深。结合多年踩坑经验,我总结出六种主流方案,覆盖从皮秒级到秒级的延时需求,附赠避坑指南和选型建议。

2025-03-08 14:50:40 945

原创 用Python给Verilog设计自仿(二):用D触发器解锁自动化验证的「第一个波形」

对于许多FPGA/IC工程师而言,设计实现游刃有余,验证仿真却常成短板——传统验证方法面临两难困局:学习UVM需投入大量时间成本,而纯Verilog自仿又会陷入重复造轮子的低效循环。以通信协议仿真为例,仅报文解析就需要重写整套解析逻辑,相当于用Verilog再实现一次协议栈,耗时费力。

2025-03-07 17:06:48 1387

原创 Vivado安装包的正确打开方式+版本选择全攻略

最近后台收到大量关于“Vivado安装包”的私信,发现不少小伙伴还在苦苦搜寻第三方网盘资源。其实,Vivado完全可以通过官网直接下载,安全高效!第三方网盘不仅速度慢,还可能存在版本混乱、捆绑插件等风险。今天就来聊聊如何科学获取Vivado,并揭秘各版本特点,最后安利一个“轻量神器”——Lab版,仅1GB就能完成程序下载!

2025-03-06 13:55:00 1032

原创 用Python给Verilog设计自仿(一):Cocotb环境初探

cocotb 的当前稳定版本需要:Verilog 或 VHDL 仿真器,取决于您的 RTL 源代码支持以下系统Cocotb建议Linux经验较少的用户使用下面列出的经过支持和测试的发行版,以确保cocotb的顺畅体验。当然其他版本Linux也不是不行。请根据自己的系统安装对应的前置环境#macOs本文详细拆解了 Cocotb验证框架的环境搭建与仿真流程,涵盖Python环境配置、仿真器联动与基础操作,助你快速迈出硬件验证自动化的第一步。

2025-03-05 18:41:52 1062

原创 FPGA——DDS原理及代码实现

该正弦波参数为 >周期T = 1ms * 32 = 32ms, >频率为 f = 1/T = 1/(1ms * (32/1))周期T = 1ms * 16 = 16ms >周期T = 1ms * 64 = 64ms >这里,1ms即为Tclk,fclk = 1/Tclk = 1/1ms;32 = 2^5即为N=5,而32除以的数(1,2,0.5)即为频率控制字fword,那么fo = (fclk * fword)/(2^N)

2025-03-05 16:49:45 1160

原创 MATLAB——生成各种数据类型的COE文件

MATLAB是一种功能强大的数学软件,不仅可以进行各种数学计算,还能够生成并处理多种数据类型。在以下的代码中,我们使用MATLAB生成COE文件,该文件包含了不同数据类型的波形数据,涉及无符号整数、有符号整数、单精度浮点数以及双精度浮点数。欢迎关注微信公众【AdriftCoreFpga】获取第一时间更新。

2025-03-05 16:20:20 359

空空如也

空空如也

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

TA关注的人

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