自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (4)
  • 收藏
  • 关注

原创 IC验证 AXI 项目(三)——突发传输测试

本文对AXI总线验证环境进行了改进,主要实现了突发传输功能。在axi_transfer中添加len和size变量,并在序列、驱动器和测试用例中进行相应修改。驱动器中实现了基于len的LAST信号控制,并提供了完整的读写时序图。测试用例添加了axi_burst_transaction_sequence用于随机化突发传输次数,支持多拍数据传输验证。改进后的环境能够完整支持AXI协议的突发传输特性,包括地址通道的LEN/SIZE信号设置、数据通道的LAST信号生成等关键功能。

2025-09-07 20:25:43 347

原创 IC验证 AXI 项目(二)——断言

本文介绍了AXI4和AXI4-Lite协议中的关键断言检查,包括写地址通道、写数据通道、写响应通道以及读地址和读数据通道的验证要求。主要内容涉及:地址通道的稳定性和边界检查(如4KB边界限制)、BURST类型约束(WRAP对齐要求)、数据通道的合法性验证(数据拍数匹配、WSTRB有效性)、响应通道的时序关系(响应与事务的对应关系)等。这些断言用于确保AXI接口在传输过程中符合协议规范,包括信号稳定性、时序正确性和数据完整性等方面的要求。

2025-08-30 11:47:02 903

原创 IC验证 AXI 项目(一)——AXI 协议理解

文章详细地介绍了 AXI 协议,对其五个通道进行了整体概述,对 burst 传输建立了概念理解并结合实际示例理解对齐地址与回环上下界,此外,对 AXI 五个通道的所有信号进行了介绍,并提供读写时序图与时序描述

2025-08-26 13:59:42 1179

原创 IC验证 APB 项目(三)——断言

本文介绍了APB协议中的断言检查和覆盖率验证方法。主要包含6个关键断言检查:1)PSEL有效时PADDR不能为X;2)PSEL拉高后下一周期PENABLE必须拉高;3)PENABLE拉高后下一周期必须拉低;4)写操作时PWDATA在SETUP到ENABLE阶段需保持稳定;5)传输间PADDR需保持;6)读操作时PRDATA应在PENABLE拉高时变化。同时提供了4个覆盖率验证点,包括非连续写、连续写、先写后读以及连续两次写后读等典型场景的覆盖验证。

2025-08-24 17:31:19 451

原创 IC验证 APB 项目(二)——框架结构(总)

本文介绍了基于VIP的APB验证框架结构,主要包括config配置、interface接口定义、sequence序列生成、agent代理组件以及测试环境搭建。框架详细实现了APB协议的主从设备交互功能,包含读写操作、burst传输、数据校验等验证点。测试案例通过连续写、连续读、读写交替等场景验证APB功能,利用config机制控制组件激活,并通过sequence库实现多样化的激励生成。该验证框架采用UVM方法学,具有结构清晰、可重用性强的特点,能有效验证APB协议的正确性。

2025-08-24 17:30:24 511

原创 IC验证 APB 项目(一)——项目理解

本文建立路科 IC 验证 APB 项目的总体理解,根据参考代码的仿真时序结果理解验证测试内容,后续再介绍代码具体如何实现。

2025-08-22 15:04:35 545

原创 IC验证 AHB-RAM 项目(四)——sequence 代码的编写

本文介绍了UVM验证平台中virtual sequencer和virtual sequence的框架结构。virtual sequencer通过管理子sequencer协调验证流程,virtual sequence则负责创建和挂载子sequence。文章详细说明了在vip_lib和seq_lib目录下新增的sequence相关代码实现,包括基础sequence类、单次读写sequence等,重点分析了body()函数中uvm_do_with和uvm_do_on_with宏的使用区别。

2025-08-21 16:39:21 506

原创 IC验证 AHB-RAM 项目(三)——driver 代码的编写

本文介绍 IC 验证 AHB-RAM 项目中,有关 driver 部分的代码编写要点,包括每一部分实现的内容和各代码块的功能提炼。

2025-08-20 21:12:55 612

原创 IC验证 AHB-RAM 项目(二)——接口与事务代码的编写

本文介绍了准备工作及接口、事务相关代码编写要点。在接口部分,重点说明了lvc_ahb_if.sv、rkv_ahbram_if.sv和rkv_ahbram_tb.sv三个关键文件的功能,其中rkv_ahbram_if.sv通过动态任务实现复位信号控制。事务部分则涉及lvc_ahb_types.sv中的枚举类型定义和lvc_ahb_transaction.sv中的随机化变量设置,用于构建AHB传输激励。整个验证环境采用模块化设计,通过接口实现TB与DUT的通信,为后续验证工作奠定基础。

2025-08-19 16:01:23 285

原创 IC验证 AHB-RAM 项目(一)——项目理解

本文介绍了AHB-RAM验证环境开发的关键要点。首先解释了AHB-RAM(基于AHB总线协议的内存模块)和VIP(验证IP)的概念。随后详细说明了项目框架结构,包括transaction、driver、monitor等核心组件。重点阐述了UVM类创建的三大要素:继承、注册和创建,通过代码示例展示了组件类的标准写法。特别强调了参数化类的使用方法和phase机制(包含build、connect、run等九个阶段)在组件开发中的重要性。

2025-08-17 17:03:46 842

原创 VIVADO IP核整理(二)——FFT

FFT IP核详述,每个参数的含义,配置说明,输入输出接口描述,并结合仿真结果展示实例

2025-05-07 23:00:40 2576 1

原创 VIVADO IP核整理(一)——CORDIC计算复指数

CORDIC IP核的使用,文章包含IP核的配置以及示例所用的HDL、testbench代码

2025-02-18 10:51:58 2362

原创 FPGA上板项目(六)——UART测试,串口收发

实验内容:将接收到的串口数据重新发送出去,实现串口回环 笔记包括:接收模块的框图、时序图波形与分析、仿真结果与上板验证;顶层模块的框图、时序图波形与分析、仿真结果与上板验证

2024-11-20 21:06:36 1400

原创 FPGA上板项目(五)——UART测试,串口发送

实验内容:每隔一秒,串口发送一次“HELLO!”笔记包括:发送模块的模块框图、时序波形、仿真结果以及顶层模块的时序波形、仿真结果、上板验证结果

2024-11-20 09:27:35 2680

原创 FPGA上板项目(四)——FIFO测试

使用 FIFO IP 核完成数据读写,内容包括:FIFO 介绍、IP 核配置详解、时序波形图分析、仿真结果、上板验证结果

2024-08-26 16:28:32 2066 4

原创 FPGA上板项目(三)——RAM测试

添加 Block Memory Generator IP核,对FPGA内部的 RAM 进行数据读写操作。包括:时序波形图分析、HDL代码、testbench代码、仿真结果、上板验证结果

2024-08-26 11:00:50 1833

原创 FPGA上板项目(二)——PLL测试

添加 clocking wizard IP核,输入为 200MHz 差分时钟,输出为 192MHz 和 96MHz 时钟信号。PLL,即锁相环,一种反馈控制电路,具有时钟倍频、分频、相位偏移和可编程占空比的功能。

2024-07-15 16:16:31 863

原创 FPGA上板项目(一)——点灯熟悉完整开发流程、ILA在线调试

从简单的点灯项目开始,熟悉完整的FPGA开发流程,最终使用ILA进行在线调试查看波形

2024-07-11 14:25:28 1729

原创 野火FPGA跟练(四)——串口RS232、亚稳态、串口RS485

介绍FPGA-RS232中完整的原理和实现内容,包括RS232 RS485简介、接口、亚稳态的定义、RS232发送模块和接收模块的框图、功能描述、时序波形图、波形图分析、RTL代码、TESTBENCH代码

2024-06-09 18:03:59 2512

原创 野火FPGA跟练(三)——IP核(PLL、ROM、RAM、FIFO)

锁相环 PLL 功能:可以对输入到 FPGA 的时钟信号进行任意分频、倍频、相位调整、占空比调整,从而输出一个期望时钟。只读存储器 ROM(Read-Only Memory) 功能:只能读出事先所存数据的固态半导体存储器,一旦存储不可更改,且资料不会因断电而消失。随机存取存储器(Random Access Memory)功能:可随时对任一地址的数据进行读取或写入操作,但断电资料便消失。FIFO(First In First Out)先入先出式数据缓冲器,用来实现数据先入先出的读写方式。

2024-05-27 22:21:10 1539

原创 野火FPGA跟练(二)——状态机

根据野火视频讲解的状态机内容进行相应整理,包括状态参数的编码方式、模块框图、功能描述、状态转移图、代码、testbench代码以及结果输出。

2024-05-07 23:50:29 702

原创 野火FPGA跟练(一)——计数器、边沿检测

对应野火FPGA视频的第十三讲——计数器、第十七讲——触摸按键控制LED灯。分别进行功能需求的确定、波形图绘制、时序图分析、design代码、testbench代码以及仿真波形的显示

2024-04-29 11:36:27 800 1

原创 ESP32开发路程LVGL篇(四)——常用函数介绍,屏幕、标签

本文使用的LVGL版本为7.x。介绍了常用的API 并给出了相应解释

2023-06-29 16:18:48 6194

原创 ESP32开发路程LVGL篇(三)——显示图片

本文利用的方式:通过工具将图片转化为.c文件,写入单片机程序并进行烧录,这种方式实现起来较为简单,但是由于硬件限制,图片的大小会受限,且占用内存,可以用在加载界面等地方。可以仿照我的做法,在 components 文件夹下新建 images 文件夹,包含刚才生成的 .c 文件并新建一个 CMakeLists.txt。main.c 的代码基本不变,变化在 LVGL 应用程序部分,替换成以下代码,代码的其余部分参考。仿照下图进行设置,convert 后生成 one.c 文件。

2023-06-29 11:10:41 2333 5

原创 ESP32开发路程LVGL篇(二)——例程代码浅析,可视化界面设计器

lv_task_handler 在LVGL中是用于处理任务和事件的函数。lv_tick_task 相当于 LVGL 的心跳,可以用来了解动画和其他任务的经过时间,以 LV_TICK_PERIOD_MS 个毫秒为单位告知。这一部分的代码相当于LVGL的初始化,包括配置显示驱动、创建显示缓冲区、注册显示驱动器,并创建一个周期性定时器。可以不用过度关注这一部分的代码。本例程针对 lv_port_esp32 工程中的 main.c 代码进行了删减并添加了相应的注释(完整的工程移植见。

2023-06-28 15:30:31 1678

原创 ESP32开发路程LVGL篇(一)——移植完整过程,花屏问题解决,ST7735显示方向

使用 ESP32 驱动 ST7735 128*160屏幕,使用 lvgl 和 lvgl_esp32_drivers,参考 lv_port_esp32 创建工程,完整说明移植过程,同时解决ST7735显示方向受限问题,并给出常见的花屏问题解决方案

2023-06-27 16:54:53 8442 1

原创 ST-LINK Utility 烧录 hex、bin 文件——软件下载、驱动安装、使用教程、连接问题解决

选择需要的 hex 或 bin 文件,若是 bin 文件,需要手动选择烧录的起始位置。可以尝试更换 Target -> Settings -> Mode 里面的三种模式。点击 Start 后,完成烧写。擦除后所有数据变为 0xFF。

2023-06-06 11:55:00 4367 1

原创 ESP32开发路程I2S篇——音频播放,自定义分区

自定义分区,自建分区表,将自建分区烧录至 ESP32,通过 I2S 播放音频文件,完整代码展示

2023-04-19 10:29:29 5655 5

原创 随手记——舵机、WS2812异常、电机死区和异响、对%c %d的理解、ESP32不断重启、ESP32CAM迷惑行为

舵机占空比和转角,不同芯片驱动 WS2812 时的区别,电机死区控制和异响问题,对%c和%d的理解,ESP32不断重启的问题,ESP32CAM各种异常问题

2023-03-09 14:04:47 1401

原创 上手MySQL——安装,常用数据类型,常用操作,pymysql基本操作

入门级MySQL。如何安装及启动,常用数据类型,数据库、数据表常见操作,表的增删查改,pymysql 基本操作。create table 表名(列名 类型,列名 类型…insert into 表名 values(值,值,值…查看数据库所含的所有数据表:show tables;以下操作需要先选中数据库:use 数据库名;此操作十分危险,谨慎使用:drop 表名;查看表里的列和类型:desc 表名;select * from 表名;

2023-02-15 15:13:50 318

原创 随手记——break continue;c++基本概念;anaconda虚拟环境;arduino自添加库;VSCODE创建c++项目;VS使用教程

break continue;c++ 基本概念;anaconda 虚拟环境;arduino 自添加库;VSCODE 创建c++项目;VS 使用教程

2022-12-19 11:24:08 307

原创 上手阿里云服务器(二)——监听TCP端口,ESP32与服务器的连接

python 语言编写监听 TCP 端口的代码,ESP32 与云服务器的连接,附完整客户端、服务器端代码

2022-11-22 15:56:51 1431

原创 上手阿里云服务器(一)——搭建LAMP开发环境、防火墙、文件传输

在轻量应用服务器上搭建LAMP开发环境,简单了解防火墙规则,利用FTP进行文件传输

2022-11-21 21:58:22 755

原创 ESP32开发路程WIFI篇——极简连接WIFI,模拟设备连接阿里云,ESP32连接阿里云

ESP32开发 WIFI篇——极简代码连接wifi,模拟设备连接阿里云

2022-10-31 15:42:15 3079

原创 ESP32开发路程蓝牙篇——BLE(GATT),修改设备名称,添加characteristic,发送数据,接收数据

蓝牙实用指南——根据BLE(GATT协议),修改设备名称,添加 characteristic,发送数据,接收数据

2022-10-28 17:54:02 8493

原创 ESP32开发路程——环境搭建、引脚、烧录、UART、ADC、WS2812、RFID、DAC、PWM、FreeRTOS、CJSON、常见报错

ESP32开发:VSCODE+ESP IDF环境搭建问题、常见操作、引脚说明、UART、ADC、WS2812、RFID驱动程序(完整工程)、DAC、Freertos、CJSON

2022-10-15 12:38:02 2691

原创 STM32F103C8T6 多个HAL库完整工程——RFID、WS2812、数码管、ADC、UART、GPIO

多个HAL库完整工程,基于STM32F103C8T6:基于SPI的RFID读取、基于PWM+DMA控制WS2812、数码管、ADC、UART的printf重定向与接收数据解析、GPIO

2022-10-05 10:20:59 1678

原创 通信学科概念理解汇总——线代、概统、信号、数字信号、通信原理

知识点汇总:行列式的几何意义:特征值的理解:相似矩阵的理解:相似对角化的理解:全概率公式、贝叶斯公式:协方差:重点内容:知识点汇总:卷积、单位冲激响应、传递函数:FT、DTFT、DFT:通信原理知识点:Rmax与B的关系:

2022-09-29 22:02:58 342

原创 QT+OPENCV——打开摄像头完整工程,HOG+SVM行人检测算法

QT框架下的OPENCV应用打开摄像头的完整代码,HOG+SVM实现行人检测(图片+视频)

2022-09-09 16:02:42 1356 2

原创 智能送药小车(二)——K210物体检测,训练模型与部署

下面仅介绍利用Mx-yolov3训练模型并部署在k210上的整体流程。

2022-07-21 16:54:13 4093

ESP32完整工程-UART、ADC、RFID、WS2812

ESP32完整工程-UART、ADC、RFID、WS2812

2022-10-15

多个HAL库完整工程,基于STM32F103C8T6——RFID、WS2812、数码管、ADC、UART、GPIO

多个HAL库完整工程,基于STM32F103C8T6: 基于SPI的RFID读取、基于PWM+DMA控制WS2812、数码管、ADC、UART的printf重定向与接收数据解析、GPIO

2022-10-05

QT + OpenCV 打开摄像头。

QT + OpenCV 打开摄像头。

2022-08-09

QT 自主选择路径,并加载出图片。

QT 自主选择路径,并加载出图片。

2022-08-08

OpenCV 实时物体检测,框出物体轮廓,设计交互界面

交互界面达到的效果是,通过点击画面上的按钮来控制是否要显示相应物体的检测结果,即是否把物体框出。 这里放置了两个版本,物体检测代码是相同的,不同的是交互性的设计,2.0调用的是现成的button函数,使用起来更方便些。

2022-01-24

Balance.rar

PID算法、角度环、速度环、电机转速转向设置函数在control.c文件 mpu6050.c、encoder.c分别驱动mpu6050和编码器 系统调度——每5ms进行采样和角度环控制,每25ms进行速度环控制的代码放在了stm32f1xx.c里的SysTick_Handler函数里面 串口调参代码在usart.c文件的最后,接收数据应以\r\n结尾,按一定格式将接收数据分离

2021-09-29

空空如也

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

TA关注的人

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