- 博客(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
原创 纯逻辑控制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
原创 AD9361收发器中文手册
两个相同的、独立控制通道 从BBP收到数字数据→不带插值选项的可编程128抽头FIR滤波器→一些列差值滤波器→到达ADC之前,提供额外的滤波和数据速率插值处理(每个12位DAC都有可调的采样速率)→I和Q通道都馈入RF进行上变频→转换为基带模拟信号时,IQ信号进行滤波→馈入上变频混频器(IQ重新组合起来),并在载波频率下进行调制→模拟滤波器(额外提供频带整形处理)→输出放大器 每个发射通道内置自我校准电路,同时还提供一个TX键控模块,发射器输出信号时,并通过一个未使用
2023-03-10 14:24:23 6135
UART发送模块,Verilog语言实现
2024-03-18
XDMA驱动程序(Windows版本)
2024-03-04
纯verilog配置9361教程/纯PL配置9361/纯逻辑配置9361
2024-01-18
vscode关联vivado实现自动跳转到定义位置exe文件
2024-01-15
vscode安装包,配合vivado联合vscode使用
2024-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人