自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 资源 (3)
  • 收藏
  • 关注

原创 【ZYNQ】ST7789 彩色图像显示

ST7789 是 Sitronix 公司开发的一款集成驱动 IC,主要用于小型 TFT-LCD 屏幕。它能够提供高分辨率的显示支持,广泛应用于各种移动设备和便携式电子产品中。ST7789 系列提供了不同的型号,如 ST7789V 和 ST7789S 等,这些型号针对不同的显示需求和应用场合进行了优化。本文主要介绍彩色图像 RGB888 到 RGB565 的转换,以及使用ST7789 驱动屏幕显示。

2024-08-20 12:27:52 55

原创 【ZYNQ】ST7789 介绍与驱动

ST7789 是 Sitronix 公司推出的小型 TFT-LCD 屏幕驱动 IC,包括 ST7789V, ST7789S 等系列,支持 262K 色彩显示。本文主要介绍 ST7789 3-line/4-line serial 接口,以及使用 Zynq 实现ST7789 驱动。

2024-08-10 13:42:21 160

原创 【ZYNQ】VDMA 的使用

VDMA, Video Direct Memory Access 是 Xilinx 官方提供的高速内存存取 IP,采用 AXI4-Stream 与 AXI4 协议实现存储映射接口(Memory Map)与非存储映射接口(Non-Memory Map)接口的转换,主要用于视频数据缓存,同时提供帧缓存与帧同步控制功能。本文主要介绍 AXI VDMA 的配置与使用方法。

2024-07-12 20:54:38 175

原创 【ZYNQ】VDMA 的介绍

VDMA, Video Direct Memory Access 是 Xilinx 官方提供的高速内存存取 IP,采用AXI4-Stream 与 AXI4 协议实现存储映射接口(Memory Map)与非存储映射接口(Non-Memory Map)接口的转换,主要用于视频数据缓存,同时提供帧缓存与帧同步控制功能。本文主要介绍 AXI VDMA 的基本结构与原理,并简要介绍 VDMA 的配置与使用方法。

2024-06-26 20:35:14 886

原创 【ZYNQ】CPU 私有定时器

Zynq 的每个 Cortex-A9 处理器都有自己的专用 32 位定时器和 32 位看门狗定时器,两个处理器共享一个全局 64 位定时器,这些计时器的时钟频率始终为 CPU 频率的 1/2。本文主要介绍 Zynq 芯片 CPU 私有定时器的工作特性,以及私有定时器的基本使用方法。

2024-06-06 20:18:32 284

原创 【ZYNQ】SCU 与 GIC

在多 CPU 架构中,处理器之间可以对共享数据进行操作。Snoop control uint (SCU) 模块用于确保每个处理器都在最新的数据拷贝上运行,从而保持缓存一致性。通用中断控制器 Generic interrupt controller (GIC) 使用优先级的思想,管理 CPU 中断信号的优先级。本文主要介绍 Zynq SCU 和 GIC 的基本结构与工作原理。

2024-06-01 17:40:00 759

原创 【ZYNQ】GPIO 与 AXI GPIO

在嵌入式开发中,GPIO 是最常见的外设。GPIO 是 General Purpose I/O 的缩写,译为通用输入/输出。GPIO 用于连接外部设备,例如按键、传感器等,实现数字信号的输入或输出功能。本文主要介绍 Zynq GPIO 的基本概念,并对比GPIO 与 AXI GPIO 的使用方法。

2024-05-24 20:41:40 475

原创 【ZYNQ】Zynq Hello World 应用

Xilinx 官方提供了一些 SDK 开发应用实例,方便用户学习与开发 SDK 应用程序。本文主要介绍如何在 Zynq 上运行Xilinx SDK Hello World 应用,通过 Zynq 串口打印 “Hello World”,并介绍 Xilinx SDK Terminal 工具的使用。

2024-05-18 17:48:50 799

原创 【ZYNQ】Vivado 封装自定义 IP

在 FPGA 开发设计中,IP 核的使用通常是不可缺少的。FPGA IP 核是指一些已经过验证的、可重用的模块或者组件,可以帮助构建更加复杂的系统。本文主要介绍如何使用 Vivado 创建与封装用户自定义 IP 核,并使用创建的 IP 核进行串口回环测试。

2024-05-11 16:11:00 1201

原创 【ZYNQ】Zynq 开发流程

Zynq 芯片架构由嵌入式处理器(Processing System, PS)与可编程逻辑(Programmable Logic, PL),以及 PS 与 PL 之间的互联总线组成。本文主要介绍 Xilinx Zynq 芯片开发所使用的软件,包括 Vivado IDE 与 Xilinx SDK 的介绍,以及 Zynq 芯片 PL 与 PS 两部分的基本开发流程。

2024-04-30 19:39:25 1765

原创 【ZYNQ】Zynq 芯片介绍

Zynq 是 Xilinx 公司提出的全可编程 SoC 架构,集成了单核或多核 ARM 处理器与 Xilinx 16nm 或 28nm 可编程逻辑,包括 Zynq 7000 Soc,Zynq UltraScale+ MPSoC 和 Zync UltraScale+ RFSoC 等系列。本文主要介绍 Xilinx Zynq 7000 系列芯片架构与功能,以及 Zynq 的开发流程。

2024-04-21 22:17:00 3850

原创 【OpenCV】手写算式识别

OpenCV 机器学习库提供了一系列 SVM 函数和类来实现 SVM 模型的训练和预测,方便用户实现自己的 SVM 模型,并应用于分类问题。本文主要介绍使用 openCV 实现手写算式识别的工作原理与实现过程。

2024-03-21 19:49:07 1240

原创 【OpenCV】手写字符分割

​OpenCV 是一个开源的计算机视觉(Computer Vision)与机器学习软件库,提供了多种图像处理算法与接口。在 OCR 技术中,字符分割用于提取图像中的文字信息,可以应用于车牌识别、身份证识别、文档扫描等场景。本文主要记录如何使用 OpenCV 实现手写字符分割。

2024-03-14 21:10:45 1204

原创 【OpenCV】仿 IOS 锁屏时钟

​OpenCV 是一个开源的计算机视觉(Computer Vision)与机器学习软件库,提供了多种图像处理算法与接口。在图像处理中,按位运算是一类重要的运算,可以用于提取图像的重要部分。本文主要记录如何使用 OpenCV-Python 绘制仿 IOS 锁屏时钟。

2024-03-07 20:18:33 1240

原创 【OpenCV】绘制桌面锁屏时钟

OpenCV 是一个开源的计算机视觉(Computer Vision)与机器学习软件库,提供了多种图像处理算法与接口,用于解决计算机视觉相关问题。OpenCV 支持多平台与多语言,本文主要记录如何使用 OpenCV-Python 绘制桌面锁屏时钟。

2024-03-01 17:44:04 1076

原创 【数字图像处理】素描风格变换(二)—— 代码实现

在绘画风格中,素描风格是一种以黑白灰(或单色)色调为主的绘画风格,注重表现物体的轮廓、结构、明暗关系等细节。在数字图像处理中,素描风格变换是一种图像风格变换的过程,用于呈现素描的视觉效果。本文主要记录使用紫光同创 PGL22G 平台,实现素描风格变换的主要代码。

2024-01-13 15:33:41 196

原创 【数字图像处理】素描风格变换(一)—— 基本原理

在绘画风格中,素描风格是一种以黑白灰(或单色)色调为主的绘画风格,注重表现物体的轮廓、结构、明暗关系等细节。在数字图像处理中,素描风格变换是一种图像风格变换的过程,用于呈现素描的视觉效果。本文主要介绍数字图像素描风格变换的基本原理,以及使用 紫光同创 PGL22G 开发板实现数字图像素描风格变换的过程。

2024-01-13 14:42:07 489

原创 【数字图像处理】水平翻转、垂直翻转

图像翻转是常见的数字图像处理方式,分为水平翻转和垂直翻转。本文主要介绍 FPGA 实现图像翻转的基本思路,以及使用紫光同创 PGL22G 开发板实现数字图像水平翻转、垂直翻转的过程。

2024-01-09 21:21:53 1435

原创 【Xilinx FPGA】异步 FIFO 的复位

FIFO(First-In-First_Out,先入先出)是一种的存储器类型,在 FPGA 开发中通常用于数据缓存、位宽转换或者跨时钟域(多 bit 数据流)。在使用异步 FIFO 时,应注意复位信号是否遵循相关要求和规范,避免数据丢失或损坏。本文主要介绍 Xilinx FPGA 对异步 FIFO 复位的时序要求,并参考 IP 核仿真工程设计异步 FIFO 的复位逻辑。

2024-01-06 21:21:43 3412

原创 【毕业设计】基于雷达与深度学习的摔倒检测——卷积自编码器

卷积神经网络(Convolutional Neural Network, CNN)是一种特殊的神经网络,与传统的图像处理算法相比,卷积神经网络的优势在于可以直接对原始图像进行特征提取,避免了复杂的处理过程。随着 LeNet-5 网络成功应用在手写数字识别领域,卷积神经网络已成为计算机视觉的研究热点。本文主要介绍卷积自编码器(Convolutional Auto-Encoder, CAE)的基本结构与工作原理。

2023-12-31 16:38:36 960

原创 【毕业设计】基于雷达与深度学习的摔倒检测——雷达数据集处理

雷达原始数据是时域非平稳信号,快速傅里叶变换(Fast Fourier Transformation, FFT)不能很好地提取微多普勒效应的模式特征。因此短时傅里叶变换(Short Time Fourier Transformation, STFT)被应用于雷达信号的时频谱分析。本文主要介绍雷达数据集的预处理过程,包括时频谱图的中值滤波与 SVD 分解。

2023-12-29 21:02:47 1096 2

原创 【毕业设计】基于雷达与深度学习的摔倒检测——短时傅里叶变换

在雷达的探测过程中,雷达信号合成器产生一个高频的连续波信号,该信号的瞬时频率随时间线性增加。这种类型的信号也被称为线性调频脉冲信号。雷达回波信号包含人体动作的特征信息,由于雷达信号是非平稳信号,需要采用相应的处理方式,例如短时傅里叶变换,小波变换。

2023-12-05 13:20:32 695

原创 【毕业设计】基于雷达与深度学习的摔倒检测——微多普勒效应

运动物体的微多普勒效应为人体动作识别提供了可能,基于雷达的居家检测具有良好的隐私保护性,且不易受环境因素影响(如光照、温度等),近年来已受到国内外学者的广泛关注。由于雷达信号的非平稳特性,通过短时傅里叶变换或者小波变换等数字信号处理方法,揭示人体运动情况的多普勒与微多普勒特征已经能够很好地显示出来,这为基于雷达地人体摔倒检测提供了理论基础。

2023-12-03 10:45:14 781

原创 【数字图像处理】边缘检测

边缘检测是一种图像处理技术,用于在图像中识别和提取物体边缘的信息,广泛应用于计算机视觉和图像分析领域。本文主要介绍数字图像边缘检测的基本原理,并记录在紫光同创 PGL22G FPGA 平台的布署与实现过程。

2023-12-01 20:28:03 518

原创 【数字图像处理】均值滤波与中值滤波

在数字图像处理中,均值滤波和中值滤波是常见的空间域处理方法,可以用于过滤图像中的噪声。本文主要介绍数字图像均值滤波与中值滤波的基本原理,并记录在紫光同创 PGL22G FPGA 平台的布署与实现过程。

2023-11-25 15:06:30 857

原创 【数字图像处理】Gamma 变换

在数字图像处理中,Gamma 变换是一种重要的灰度变换方法,可以用于图像增强与 Gamma 校正。本文主要介绍数字图像Gamma 变换的基本原理,并记录在紫光同创 PGL22G FPGA 平台的布署与实现过程。

2023-11-20 12:33:40 1292

原创 【数字图像处理】RGB 转灰度图

常见的数字图像格式有 RGB, RGBA, YCbCr 等,RGB/RGBA 格式适合存储,而 YCbCr 格式适合图像处理。在数字图像处理中,通常需要将 RGB 格式的图像变换为灰度图,再进行后续的处理,例如边缘检测、锐化等。本文主要介绍数字图像RGB 转灰度图的基本原理,并记录在紫光同创 PGL22G FPGA 平台的布署与实现过程。

2023-11-12 21:26:35 1761

原创 【卷积神经网络】YOLO 算法原理

在计算机视觉领域中,目标检测(Object Detection)是一个具有挑战性且重要的新兴研究方向。目标检测不仅要预测图片中是否包含待检测的目标,还需要在图片中指出它们的位置。2015年,Joseph Redmon, Santosh Divvala 等人提出第一个 YOLO 模型,该模型具有实时性高、支持多物体检测的特点,已成为目标检测领域热门的研究算法。本文主要介绍 YOLO 算法及其基本原理。

2023-10-29 21:42:08 5320 2

原创 【Matlab】三维绘图函数汇总

本文用于汇总 Matlab 中的三维绘图函数。plot3() 函数用于绘制用参数方程表示的三维曲线。ezplot3() 函数用于三维曲线的符号绘图,需要用参数方程表示。mesh() 函数用于绘制三维曲面网格。surf() 函数用于绘制三维空间曲面。

2023-10-22 21:49:27 2903

原创 【Matlab】二维绘图函数汇总

plot() 函数是 Matlab 中最常用的绘图函数,用于在平面直角坐标系中绘制直线或曲线。subplot() 函数用于创建绘图网格,并指定当前绘图的位置,在调用绘图函数之前使用。fplot() 函数用于符号绘图或者参数方程绘图。polarplot() 函数用于极坐标绘图。

2023-10-14 21:46:40 2115

原创 【卷积神经网络】ResNets 残差网络

通常来说,增加卷积神经网络的层数有利于提高模型的准确率,但是深层的神经网络也变得难以训练的,因为存在梯度消失与梯度爆炸问题。Microsoft 亚洲研究院的 Kaiming He 等人提出了一个残差学习框架,以简化对 CNN 网络的训练。通过将层重新表述为参考层输入的学习残差函数,深层神经网络变得更容易优化,并且可以从显著增加网络的准确性。本文主要介绍ResNet 残差网络的基本结构(Residual block)及其工作原理。

2023-09-20 08:00:00 321

原创 【Matlab】常用函数汇总(二)

Matlab 是矩阵实验室(Matrix Laboratory)的英文缩写,是用于科学与工程计算的工具。Matlab 提供了许多常用的数学函数,本文主要介绍 Matlab 与统计、排序、求和与乘积,以及随机数相关的函数。

2023-09-12 12:59:34 469

原创 【Matlab】常用函数汇总(一)

Matlab 是矩阵实验室(Matrix Laboratory)的英文缩写,是用于科学与工程计算的工具。Matlab 提供了许多常用的数学函数,本文主要介绍 Matlab 与初等函数、取整、离散数学和复数相关的函数。

2023-09-10 23:06:01 1284

原创 【以太网通信】MDIO 管理接口及控制器设计

MDIO 管理接口是以太网 MAC 和 PHY 之间的接口,用于管理/配置以太网PHY 芯片。本文主要介绍 MDIO 管理接口定义,以及 MDIO 控制器设计。

2023-09-09 17:59:17 1774

原创 【卷积神经网络】MNIST 手写体识别

LeNet-5 是经典卷积神经网络之一,于 1998 年由 Yann LeCun 等人提出。LeNet-5 网络使用了卷积层、池化层和全连接层,实现可以应用于手写体识别的卷积神经网络。TensorFlow 内置了MNIST 手写体数据集,可以很方便地读取数据集,并应用于后续的模型训练过程中。本文主要记录了如何使用 TensorFlow 2.0 实现 MNIST 手写体识别模型。

2023-08-29 20:50:26 1665

原创 【卷积神经网络】经典网络之 LeNet-5, AlexNet 与 VGG-16

随着计算机硬件的升级与性能的提高,运算量已不再是阻碍深度学习发展的难题。卷积神经网络(Convolution Neural Network,CNN)是深度学习中一项代表性的工作,其雏形是 1998 年 LeCun 提出的 LeNet-5 模型。如今,卷积神经网络已被广泛应用于计算机视觉领域。本文主要介绍卷积神经网络中的经典网络,包括 LeNet-5, AlexNet 和 VGG-16.

2023-08-22 21:07:39 559

原创 【以太网通信】RS232 串口转以太网

最近和 RK 研发同事在调试通信接口,排查与定位RK3399 接收数据出错的问题。FPGA 与 RK3399 之间使用一路 RS232 串口进行通信,由于串口数据没有分包,不方便排查问题,想到可以开发一个 RS232 串口转以太网的工具,将串口接收到的数据封装为UDP 数据报文,并通过网线传输到电脑,再进行后续问题的定位。

2023-08-19 16:00:28 3437

原创 【卷积神经网络】卷积,池化,全连接

随着计算机硬件的升级与性能的提高,运算量已不再是阻碍深度学习发展的难题。卷积神经网络(Convolution Neural Network,CNN)是深度学习中一项代表性的工作,CNN 是受人脑对图像的理解过程启发而提出的模型,其雏形是 1998 年 LeCun 提出的 LeNet-5 模型。如今,卷积神经网络已被广泛应用于计算机视觉领域。本文主要介绍卷积神经网络中几个基础的运算,包括卷积、池化与全连接。

2023-08-14 21:02:46 1142

原创 【深度学习笔记】TensorFlow 常用函数

TensorFlow 提供了一些机器学习中常用的数学函数,并封装在 Module 中,例如 tf.nn Module 提供了神经网络常用的基本运算,tf.math Module 则提供了机器学习中常用的数学函数。本文主要介绍 TensorFlow 深度学习中几个常用函数的定义与用法,并给出相应用法示例。

2023-08-10 21:01:05 658

原创 【深度学习笔记】TensorFlow 基础

在 TensorFlow 2.0 及之后的版本中,默认采用Eager Execution 的方式,不再使用 1.0 版本的 Session 创建会话。Eager Execution 使用更自然地方式组织代码,无需构建计算图,可以立即进行数学计算,简化了代码调试的过程。本文主要介绍 TensorFlow 的基本用法,通过构建一个简单损失函数,介绍 TensorFlow 优化损失函数的过程。

2023-08-07 20:49:20 686

DHT11 数字温湿度传感器 FPGA 示例工程(含源代码与仿真工程)

本资源是 DHT11 数字温湿度传感器 FPGA 工程,芯片型号为 XC7Z020,使用可综合 Verilog 语言设计,支持自定义参考时钟频率,默认时钟频率为 50MHz。含源代码与 Modelsim 仿真工程。

2024-07-19

DS18B20 温度传感器 FPGA 驱动源代码

本资源是 DS18B20 温度传感器 FPGA 驱动源代码,使用 VHDL 硬件描述语言设计,实现 1-wire 总线通信,顶层模块名称为 ds18b20_driver,支持自定义参考时钟频率(通过 CLK_FREQ 参数指定),并通过分频产生内部 1MHz 时钟。

2024-06-26

FPGA 串口回环测试工程

本资源是 FPGA 串口回环测试工程,支持接收与发送波特率使用不同的值,波特率支持 4800 Bd/s ~ 256000 Bd/s。开发平台为 Vivado 2018.3,使用 Verilog 语言开发,主要用于 RS232 串口的回环测试,其中 uart_rx_slice 模块负责接收一帧数据(帧长度不超过 2048),uart_tx_slice 模块负责转发数据,数据缓存部分采用乒乓缓存的方式。

2024-05-11

紫光同创 FPGA 素描风格变换工程源代码(Verilog)

本资源是紫光同创 FPGA 素描风格处理的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收 OpenCV 发送的图像;(2)素描风格变换,包括 RGB 转灰度图,边缘检测,以及素描风格灰度变换,并将处理前后的图像数据缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,将处理前后的图像显示在外接显示器上。

2024-01-13

紫光同创 FPGA 图像翻转工程源代码(Verilog)

本资源是紫光同创 FPGA 图像翻转的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收 OpenCV 发送的图像;(2)图像翻转变换,借助 Dual-port RAM 与 DDR3 对接收到的图像进行水平翻转或垂直翻转,并将处理前后的图像数据缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,将处理前后的图像显示在外接显示器上。

2024-01-10

人体摔倒检测 IWR6843 雷达数据集

本资源是人体摔倒检测 IWR6843 雷达数据集,所采集的人体动作数据分为摔倒类(侧摔、前摔、后摔)和非摔倒类(坐下、行走、向前跳)。有 10 名被测者参与雷达数据的采集工作,每人每种动作 200 次,共有 12000 个动作数据,人体动作以时频谱图(大小 128 × 128)的形式记录,并进行了 3 × 3 中值滤波和 SVD 分解处理,数据集已包含分类标签(标签 0~5 分别表示侧摔、后摔、前摔、向前跳、坐下和行走)。使用以下代码读取数据:dataset = np.load('./radar-dataset-medfilt-svd-channel_1.npz') radar_images_U = dataset['radar_images_U'] radar_images_S = dataset['radar_images_S'] radar_images_V = dataset['radar_images_V'] radar_labels = dataset['radar_labels']

2023-12-29

紫光同创 FPGA 边缘检测工程源代码(Verilog)

本资源是紫光同创 FPGA 边缘检测的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收 OpenCV 发送的图像;(2)边缘检测变换,使用 3x3 窗口对接收到的图像进行 Prewitt 边缘检测,并将处理前后的图像数据缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,将处理前后的图像显示在外接显示器上。

2023-12-01

紫光同创 FPGA 中值滤波工程源代码(Verilog)

本资源是紫光同创 FPGA 中值滤波的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收 OpenCV 发送的图像;(2)FPGA 中值滤波,使用 3x3 窗口对接收到的图像进行中值滤波,并将处理前后的图像数据缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,将处理前后的图像显示在外接显示器上。

2023-11-25

紫光同创 FPGA 均值滤波工程源代码(Verilog)

本资源是紫光同创 FPGA 均值滤波的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收 OpenCV 发送的图像;(2)FPGA 均值滤波,使用 3x3 窗口对接收到的图像进行均值滤波,并将处理前后的图像数据缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,将处理前后的图像显示在外接显示器上。

2023-11-22

紫光同创 Gamma 变换工程源代码(Verilog)

本资源是紫光同创 Gamma 变换的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收图像与 Gamma 曲线数据;(2)Gamma 变换,使用嵌入式存储器对缓存 Gamma 曲线数据,图像进行 Gamma 查表后缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,可用于将处理前后的图像显示在外接显示器上。

2023-11-19

紫光同创 RGB 转灰度图工程源代码(Verilog)

本资源是紫光同创 RGB 转灰度图的工程源代码,使用 Verilog 硬件描述语言进行设计,开发平台为 ALINX PGL22G 开发板。工程实现了以下功能:(1)与电脑的串口通信,波特率为 256000 Bd/s,用于接收图像;(2)RGB 转灰度图处理,使用乘法器对接收到的图像进行RGB 转灰度图处理,并将图像缓存进 DDR3;(3)HDMI 输出,HDMI 输出一路分辨率为 1024x768 的视频源,可用于将处理前后的图像显示在外接显示器上。

2023-11-11

紫光同创 DDR3 用户数据调度模块代码(Verilog)

本资源是紫光同创 DDR3 用户数据调度模块代码,使用 Verilog 语言描述,顶层模块为 s_axi_ddr_scheduler,读写通道个数各为 2 个,最多可以缓存 4 个读写命令(读/写各 4 个),并且可以根据设计需要增加通道数。s_axi_ddr3_wr 模块实现 AXI 写接口与 DDR3 用户写通道接口的转换,写数据从 sys_clk 时钟域跨到 ddr3_clk 时钟域;s_axi_ddr3_rd 模块实现 AXI 读接口与 DDR3 用户读接口的转换,读数据从 ddr3_clk 时钟域跨到 sys_clk 时钟域。需要注意,每个读写通道内部使用了深度为 512,位宽 128bit 的双端口 RAM。

2023-11-08

Quartus Generic Serial Flash IP 测试工程

本资源是 MX25U256 FLASH 的测试工程,数据接口使用 Quartus Generic Serial Flash IP 核,开发平台版本为 Quartus Prime Pro 18.1,工程主要用于测试 Macronix MX25U256 器件的工作情况(读取器件 ID、写保护等),spi_flash_ctrl 模块状态机上电先等待大约 10s,然后配置 FPGA Generic Serial Flash IP,并对 FLASH 器件进行解保护。

2023-07-13

Quartus EMIF DDR3 IP 仿真工程

本资源是 Quartus EMIF DDR3 IP 测试工程,使用 Quartus External Memory Interfaces IP 实现 DDR3 控制器和物理层接口,开发平台版本为 Quartus Prime Pro 21.3,仿真平台版本为 Modelsim-SE64 10.7,工程主要用于仿真 EMIF DDR3 IP 数据读写过程(AMM 接口时序),工程包括自定义 ed_sim_tg_0 模块(仿照 ed_sim_tg 模块接口),复位之后先等待 local_cal_success 拉高,然后写入有规律的数据,再读出数据,读写突发长度固定为 64。

2023-07-07

Quartus Generic Serial Flash IP 测试工程

本资源是 MX66U1G FLASH 的测试工程,数据接口使用 Quartus Generic Serial Flash IP 核,开发平台版本为 Quartus Prime Pro 18.1,工程主要用于测试 Macronix MX66U1G 器件的工作情况(读取器件 ID、写保护等),spi_flash_ctrl 模块状态机上电先等待大约 10s,然后配置 FPGA Generic Serial Flash IP,并对 FLASH 器件进行解保护。

2023-06-27

紫光同创 dvi (hdmi) 视频输出驱动模块

本资源是紫光同创 dvi (hdmi) 视频输出驱动模块的代码,适用于紫光同创 Logos 系列 FPGA 器件,实现 24bit RGB 数据和 vsync, hsync, de 信号的编码与输出驱动,编码方式为 8b10b 编码,输出驱动使用紫光同创 GTP_OSERDES 和 GTP_OUTBUFT 原语,其中 GTP_OSERDES 配置为 ODDR 模式,用于实现双倍数据速率(DDR)输出。

2023-05-26

紫光同创 FPGA 平台 util-gmii-to-rgmii 模块

本资源是紫光同创 Logos 系列 FPGA 平台 RGMII 与 GMII 桥接模块源代码,使用 GTP_ISERDES 和 GTP_OSERDES 原语和输入输出 BUF 实现,GTP_ISERDES 和 GTP_OSERDES 均配置为 DDR 模式,可用于千兆以太网通信中实现双倍数据速率。

2023-05-15

双口RAM与异步FIFO设计

本资源是双口 RAM 与异步 FIFO 的设计文件与仿真激励文件,使用 Verilog 语言设计(可综合风格),通过修改 parameter 参数实现不同深度和数据位宽的异步 FIFO。FIFO 读写指针采用格雷码编码,读写指针进行跨时钟域处理,然后产生 FIFO 空、满标志位。

2023-05-12

双口RAM与同步FIFO设计

本资源是双口 RAM 与同步 FIFO 的设计文件与激励文件,使用 Verilog 语言设计,可通过修改 parameter 参数(DATA_WIDTH 和 ADDR_WIDTH),实现不同深度与数据位宽的FIFO。使用 FIFO 长度计数器产生 FIFO 空、满标志位。

2023-05-11

简单微处理器的设计工程与仿真文件

本资源是可编程 ASIC 设计课程作业,实现简单微处理器,该数字系统能完成4种类型的指令操作:mv、mvi、add 和 sub。mv 指令表示将寄存器 Ry 中的内容复制到寄存器 Rx 中,mvi 指令表示加载 Din 的数据到寄存器 Rx 中,add 指令实现寄存器 Rx 与 Ry 的值相加并存入Rx 的操作,sub 指令则实现寄存器 Rx 与 Ry 的值相减并存入 Rx 的操作。指令存储在 IR 寄存器中,编码格式为 9 位二进制数 IIIXXXYYY,其中 III 代表指令,XXX 代表寄存器 RX,YYY 代表寄存器 RY。本设计使用到的子模块包括 3 线 8 线译码器、2 位计数器、16 位寄存器,通过在存储器初始化文件写入指令,实现从存储器自动读入指令完成从 1 累加到 10 的运算。

2023-05-05

串行数据交织器的设计源代码

交织器是用于通信编码中抗突发干扰,将突发干扰产生的分布集中的误码分散到信息数据中,以便采用常规纠错编码的方法进行纠错。交织器另外一个重要应用是加密,通过控制交织图案和规律,获得相应的密钥和加密性能。本工程是行列交织器设计,PN码发生器模拟数据源产生串行数据,按行写入一m行n列的RAM中,写满后按列读出。为避免数据丢失,需使用两个这样的RAM交替读写。

2023-05-04

一种频率合成器方案的验证

本资源是可编程 ASIC 设计的课程作业,要求使用 Verilog 语言设计所给方案的频率合成器。本设计正弦波相位累加步长的取值限制在 1~16 之间;对于方波,取值限制为 1~128 之间。这是由于方波波形的特殊性导致。如想提高调节范围,可以使用 16 位或 32 位的正弦波查找表。

2023-05-02

基于 UDP 协议与 OpenCV 库实现网络视频传输

本资源是基于 UDP 协议与 OpenCV 库实现网络视频传输的实现代码,使用 Python 语言实现,分为服务器端和客户端两个文件,启动前需要修改 host IP 地址为实际的 IP 地址,同时需注意先运行服务器端代码,再运行客户端代码。想停止视频传输时,需在客户端按 ESC 键退出。

2023-04-23

雷达时频谱图 Matlab 绘制代码与雷达采集数据

【毕业设计】基于雷达与深度学习的摔倒检测,雷达时频谱图的 Matlab 绘制代码与雷达采集数据。

2023-03-25

Python 串口实时绘图工具

Python 串口实时绘图工具源代码,支持自动检测串口端口变化,并更新串口列表,支持自定义波特率,支持串口通信,串口数据使用 pyqtgraph 进行实时绘图。

2022-11-18

紫光同创 DDR3 仿真工程

紫光同创 DDR3 控制器 IP 仿真工程,从 Modelsim 进入文件夹可以直接运行仿真。如果要编译工程,需要删除 work 文件夹,然后运行 run.bat 文件。

2022-07-30

紫光同创 DDR3 仿真工程

紫光同创 DDR3 控制器 IP 仿真工程,从 Modelsim 进入解压后的文件夹,可以直接运行仿真。如果要重新编译工程,需要删除 work 文件夹,然后运行 run.bat 文件。资源已更新,修复仿真过程中可能缺少 pango 库的问题。

2022-07-30

紫光 FPGA 网表级仿真库

紫光同创 Logos 系列 FPGA 网表级仿真库

2022-06-01

紫光 FPGA 行为级仿真库

紫光同创 Logos 系列 FPGA 行为级仿真库

2022-06-01

空空如也

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

TA关注的人

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