自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 zynq及zynqMP启动方式总结/petalinux启动方式总结/petalinux启动过程讲解

Zynq 是通过片上CPU完成对芯片的配置,也就是PS和PL的配置是通过 PS 处理器 ARM 核来实现的。需要注意的是,与传统的 Xilinx 7 系列 FPGA 芯片不同,Zynq 是不支持从 PL 端进行直接启动配置的,一定要通过 PS 部分来完成。Zynq 的具体启动配置是分级进行的,一共可以分为3个阶段,可以用0~2来表示:Stage 0: BootROM 阶段Stage 1: FSBL (First Stage Boot loader)阶段。

2024-05-16 17:17:58 743

原创 XDMA与DDR结合光纤Aurora设计高速数据流通路设计/Aurora光纤设计/XDMA读取DDR设计/基于FPGA的高速数据传输设计

为了此次设计,可以进行下板测试,咱们需要把Aurora的发送和接收连接在一起,然后通过FPGA产生数据,通过Aurora发送,同时Aurora接受过来,然后把数据存储到DDR,并且通过XDMA连接到PCIE,通过XDMA驱动,在主机端读出数据,最终来验证读出来的数据是否和自己产生的数据匹配,通过添加ILA,抓取各个状态的数据状态。

2024-04-24 11:34:38 983

原创 Windows系统读取XDMA实际运行链路速度和PCIE带宽

在我们平常设计XDMA的时候,经常会遇到一个问题:在Vivado中设计的XDMA IP中选择的PCIE带宽和链路速度是理想的,但是下到板卡运行的时候,测量速度却发现读写速度根本不是理想中的速度,找不到问题,无法证明我们代码的问题还是硬件或者主机问题。这样我们就可以利用这篇文章来获取XDMA在Windows系统下实际运行的速度和带宽。

2024-04-09 10:32:16 915

原创 FPGA协议篇:UART通信及Verilog最易懂实现方式/通用于任何工程/带握手信号 ----UART_TX

UART(Universal Asynchronous Receiver/Transmitter)是一种通用的异步收发传输协议,用于在计算机系统和外部设备之间进行串行数据传输。UART 协议定义了数据的传输格式和通信规则,使得不同设备之间能够进行可靠的数据交换。以下是 UART 协议的几个关键要素:1、异步传输:UART 使用异步传输方式,不需要共享时钟信号来进行数据同步。发送端和接收端通过起始位、数据位和停止位进行数据的有效传输。

2024-03-18 14:57:25 1997

原创 手把手教你学会 Xilinx PCIE/XDMA 读写DDR系列(三) ——XDMA读写DDR项目工程讲解和下板测试

此模块的功能:为此设计模拟输入数据源,同时也为以后用户外接数据留出接口主要通过AXI_data_out模块产生AXI数据,然后通过AXI data fifo对数据进行缓存,然后输出标准的AXI协议的数据。count

2024-03-04 17:14:38 2749 2

原创 纯逻辑配置AD9361教程/通过UART串口发送配置文件配置AD9361/通过rom配置AD9361/纯PL配置AD9361

直接把刚刚生成的配置dat文件,导入我写好的matlab代码中,即可生成rom配置文件(1)然后打开cos.m转换文件把这个输入的文件名,改为你自己的文件即可(2)然后点击转换(3)转换完成输出cos表示转化完成,然后在当前路径下会生成一个AD9361.coe的文件,替换掉工程里的即可,然后重新编译生成bit文件,下载到FPGA 即可。

2024-02-02 17:32:17 1724

原创 vivado与vscode完美结合/vivado联合vscode/vivado关联vscode

在编写verilog有一个跟头疼的问题,就是不能像C那样直接跳转到定义变量的位置,有时候定义的变量多了,就不知道位宽和这个变量的意义了,还有从头去找,很是麻烦,下面介绍一种非常简单的就能跳转到定义位置的方法。

2024-01-16 11:54:03 2914 7

原创 手把手教你学会 Xilinx PCIE/XDMA 读写DDR系列(二) ——XDMA详细配置步骤

上一期讲到如何配置DDR的IP,相信很多小伙伴已经成功的把DDR配置成功,那么下一步就要对PCIE的IP进行配置PCIE的IP在vivado中一般是通过XDMA实现的,XDMA有太多优点了!Xllinx提供DMASubsystem for PCIExpressIP是一个高性能,可配置的适用于PCle2.0、PCle3.0的SG模式的DMA,提供用户可选择的AX 4接口或者AX-Stream接。

2024-01-11 11:25:33 3321

原创 时序违约修复-----笔记

平常编写FPGA程序的时候,最麻烦的就是时序违约平常设计FPGA的时候,明明仿真都是对的,但是下板测试总会出现莫名其妙的问题。还有就是vivado每次编译出来的下板后现象都不一样,并且vivado没有报错的情况,这些问题的罪魁祸首就是时序紊乱,也可以说是时序违规。

2024-01-03 13:13:33 494 1

原创 手把手教你纯PL配置ad9361/ad936x

因为ADI官方,只提供了利用软件(SDK)和硬件平台(vivado)去配置AD936x,但是在一些工程中,这种方法很难去应用到实际的项目中,所以给大家介绍一个纯硬件配置AD936x的一个详细教程。我用的是zedboard+ad9361,和我的硬件一样的伙伴,可以完全按照我的步骤进行,FPGA芯片为zynq7020的应该也可以。这个系列我已经写完了很久了,但是还要很多小伙伴不知道这个系列连接在哪,这章我给大家总结一个配置ad9361的学习目录,让大家跟好的学习和配置9361.这便是我最大的幸运!

2023-12-20 11:02:02 1235 1

原创 手把手教你学会 Xilinx PCIE/XDMA 读写DDR系列(一) DDR/MIG配置详细步骤

在实现FPGA和处理器、PC、ARM打交道的时候,有很多种方式进行通信,具体有以下几种实现方式:又上图可以看的出来,PCIE的优势远远大于其他的通信方式,并且通信速度也是最快的一种,最高可以达到128Gbps。Xilinx从15年前,V4系列开始,一直在PCIe的解决方案上深耕,提供众多的应用方案级的解决方案,方便用户专注于自己的应用。早期,Xilinx提供的有Application Notes,例如XAPP859,XAPP1052等,构建了基本的双向数据传输。

2023-12-19 16:25:22 2894 1

原创 全网最全面的vivado工程压缩至几Kb/vivado工程免费压缩教程/vivado工程大瘦身/vivado工程生成tcl脚本/vivado还原tcl脚本文件

在平常的FPGA调试过程中,经常会遇到Vivado工程非常庞大的情况,其大小可能达到数百兆甚至几个G的级别。如果存在大量的调试版本,这样的工程大小可能超过了几个T的硬在平常的FPGA调试过程中,经常会遇到Vivado工程非常庞大的情况,其大小可能达到数百兆甚至几个G的级别。如果存在大量的调试版本,这样的工程大小可能超过了几个T的硬盘空间。那么我们该如何应对呢?实际上,Vivado提供了一种使用Tcl命令保存Vivado工程为.tcl脚本的方法,这样可以大幅减小工程的存储空间。

2023-12-18 10:53:41 1379 1

原创 vivado中:Aurora 64B66B IP核的使用、配置

vivado中:Aurora 64B66B IP核的使用、配置

2023-11-10 11:02:44 1363 3

原创 纯逻辑控制AD936x/AD9361配置寄存器/AD9361纯硬件设计/AD9361配置流程/zynq配置ad9361/AD9361手把手教程/AD936x教程/——纯Verilog配置AD9361

因最近公司需要,借此机会和大家一起学习AD9361制作不易,记得三连哦,给我动力,持续更新!因为ADI官方,只提供了利用软件(SDK)和硬件平台(vivado)去配置AD936x,但是在一些工程中,这种方法很难去应用到实际的项目中,所以给大家介绍一个纯硬件配置AD936x的一个详细教程。因为是手把手教程,所以有些大佬不要嫌麻烦。同时后期会更新工程上的项目设计。废话不多说了,直接进入主题!和我一起学习神秘而又神奇AD936x吧!少年!

2023-08-11 17:43:18 3063 9

原创 vivado如何压缩bit文件

(5)如何退出synthesized Design ,并保持刚刚的设置。只有500k,少了一个数量级,对以后写入到flash,省了好大的内存。(1)首先打开synthesized Design。(3)点击configure addition bit。(4)选择使能enable bit compress。为其分配管脚,如何进行综合、实现、生成bit流。(2)依次点击Tools→settings。2、没有压缩前的bit流文件。3、对bit流文件进行压缩。(6)重新生成bit流文件。1、首先创建一个工程。

2023-08-04 15:15:30 1341 1

原创 AD936x Evaluation Software生成的脚本转换成Verilog语言/AD9361配置寄存器/AD9361纯硬件设计/AD9361手把手教程/纯Verilog配置AD9361(二)

在上一章节中,我们使用了 Analog Devices 公司提供的 AD936X Evaluation Software 软件生成了一个寄存器配置的脚本文件,命名为 trans.cfg,其中包含了许多寄存器的配置参数。然而.cfg格式的脚本只能在ADI提供的iio中使用,这个文件并不能直接在 FPGA 工程中调用,因为它的格式与我们需要的函数形式不匹配,需要对文件格式进行修改,将其转换为函数的形式。手动一行一行地修改显然是不可行的,因为配置文件非常庞大,修改起来非常费时费力。因此,我们需要找出配置文件的规律

2023-08-02 16:00:22 2425

原创 zynq使用petalinux进行点灯实验(AXI_GPIO)

首先介绍一下我是用的硬件设备和环境:本次实验使用的硬件设备和环境为:zedboard (zynq7020),vivado2018.3,petalinux2018.3,如果硬件跟我一样的小伙伴可以跟着我的步骤做。加油吧!

2023-08-01 14:33:03 420 1

原创 AD936x Evaluation Software配置流程/AD9361配置寄存器/AD9361配置流程/zynq配置ad9361/AD9361手把手教程/AD936x教程/纯逻辑控制AD936x

因最近公司需要,借此机会和大家一起学习制作不易,记得三连哦,给我动力,持续更新!因为ADI官方,只提供了利用软件(SDK)和硬件平台(vivado)去配置AD9361,但是在一些工程中,这种方法很难去应用到实际的项目中,所以给大家介绍一个纯硬件配置ad9361的一个详细教程。因为是手把手教程,所以有些大佬不要嫌麻烦。同时后期会更新工程上的项目设计。废话不多说了,直接进入主题!和我一起学习神秘而又神奇ad9361吧!少年!

2023-07-27 13:58:08 3868 10

原创 AD9361从入门到入土系列----AD9361数据传输串行外设接口(SPI)

AD9361中SPI的设计和讲解,SPI总线为AD9361的所有数字控制提供机制。每个SPI寄存器为8位宽,每个寄存器包含控制位、状态监视器或控制器件所有功能的其他设置。

2023-07-10 13:56:13 2585 1

原创 AD9361从入门到入土系列----AD9361工作在LVDS模式下数据传输

双总线全双工LVDS模式通过写入SPI寄存器来启用。在这种模式下,P0和P1都作为LVDS信号使能,数据总线(D[11:0])被分成独立的子总线(RX_D[5:0]和TX_D[5:0])。每个子总线同时工作,允许BBP和AD9361之间的发送和接收数据全双工。传输数据(TX_D[5:0])、FB_CLK和TX_FRAME由BBP驱动,使得FB_CLK之间的建立和保持时间。

2023-07-06 13:43:24 1551 1

原创 AD9361从入门到入土系列----AD9361工作在LVDS模式的接口规范

因最近公司需要,借此机会和大家一起学习AD9361制作不易,记得三连哦,给我动力,持续更新!AD9361数据路径在低电压差分信号(LVDS)模式(ANSI-644兼容)下的操作。AD9361数据路径接口使用并行数据总线(P0和P1)在AD9361和BBP之间传输数据样本。总线传输使用简单的硬件握手信令进行控制。在LVDS模式下,两个总线都是差分信号。AD9361LVDS接口便于连接具有LVDS功能的定制Asic和Fpga。

2023-07-05 13:28:59 3818 2

原创 双向IO模块 -- ad_iobuf,inout端口处理

双向IO模块 -- ad_iobuf,inout端口处理

2023-03-10 17:44:57 391

原创 AD9361收发器中文手册

两个相同的、独立控制通道 从BBP收到数字数据→不带插值选项的可编程128抽头FIR滤波器→一些列差值滤波器→到达ADC之前,提供额外的滤波和数据速率插值处理(每个12位DAC都有可调的采样速率)→I和Q通道都馈入RF进行上变频→转换为基带模拟信号时,IQ信号进行滤波→馈入上变频混频器(IQ重新组合起来),并在载波频率下进行调制→模拟滤波器(额外提供频带整形处理)→输出放大器 每个发射通道内置自我校准电路,同时还提供一个TX键控模块,发射器输出信号时,并通过一个未使用

2023-03-10 14:24:23 6135

原创 zedboard+ad9361 FPGA PL部分解读

zedboard+ad9361 FPGA PL部分解读

2023-02-24 10:35:19 1958 3

原创 zc706+ad9361(fmcomms5)测试笔记(二)

zc7006+ad9631 PS代码解读

2023-02-23 16:31:23 3484

原创 zc706+ad9361(fmcomms5)测试笔记(一)

ad9631+zc706实操

2023-02-23 15:18:06 1684 4

UART发送模块,Verilog语言实现

UART(Universal Asynchronous Receiver/Transmitter)是一种通用的异步收发传输协议,用于在计算机系统和外部设备之间进行串行数据传输。UART 协议定义了数据的传输格式和通信规则,使得不同设备之间能够进行可靠的数据交换。 代码中采用三段式状态机: IDLE:空闲状态,无数据传输,输出高电平,当i_valid信号到来时跳转到START状态; START:起始位,无数据传输,输出低电平为 ,无条件跳转至DATA状态; DATA:数据位,进行数据传输,先发送低比特,根据数据输出高低电平,假如有校验位,跳到CHECK状态,假如数据传输不设校验位,跳转到STOP状态; CHECK:奇偶校验位处理状态,根据CHECK_BIT参数进行添加校验位值。 STOP:停止位状态,输出STOP_BIT个高电平。 

2024-03-18

XDMA驱动程序(Windows版本)

XDMA驱动程序(Windows版本) 计算机型号:x64 计算机版本:win7和win10都可以 配合 https://blog.csdn.net/w18864443115/category_12531321.html?spm=1001.2014.3001.5482这个专栏进行使用

2024-03-04

纯verilog配置9361教程/纯PL配置9361/纯逻辑配置9361

纯verilog配置9361教程/纯PL配置9361/纯逻辑配置9361 利用SPI配置AD9361 配置9361全套教程,一站式服务 纯verilog配置9361教程/纯PL配置9361/纯逻辑配置9361 利用SPI配置AD9361 配置9361全套教程,一站式服务

2024-01-18

vscode关联vivado实现自动跳转到定义位置exe文件

vscode关联vivado实现自动跳转到定义位置exe文件 vscode关联vivado实现自动跳转到定义位置exe文件

2024-01-15

vscode安装包,配合vivado联合vscode使用

vscode安装包,配合vivado联合vscode使用 vscode安装包,配合vivado联合vscode使用 vscode安装包,配合vivado联合vscode使用 vscode安装包,配合vivado联合vscode使用

2024-01-15

空空如也

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

TA关注的人

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