自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Xilinx关于GTX的IP核serdes仿真和使用

摘要:本文介绍了基于Xilinx 7系列FPGA(xc7k325tfbg676-2)的GTX高速串行收发器开发实践。通过对比三种编码模式(无编码、8B/10B编码和64B/66B编码)的实现,详细分析了GTX在8Gbps速率下的数据传输机制。重点阐述了收发器的架构组成(含PCS和PMA模块)、时钟恢复原理,以及不同编码方式对数据传输稳定性的影响。通过修改Xilinx提供的示例工程,实现了自定义数据发送和接收验证,并讨论了各模式下数据对齐和错误检测的实现方法。文章还结合UG476文档,解释了GTX收发器的内部

2022-12-30 17:13:00 18900 24

原创 RapidIO 协议解析与实战指南

本文基于RapidIO 3.2规范,介绍了RapidIO总线技术的发展背景、体系结构和关键技术。随着处理器性能提升,传统并行总线成为性能瓶颈,RapidIO凭借高频率、低延迟、少引脚等优势获得广泛应用。协议采用三级分层架构:逻辑层定义事务类型(读/写/原子操作等)和包格式,传输层负责路由寻址,物理层实现串行传输。重点分析了数据包结构、字节对齐规则及链路训练过程。RapidIO通过分层设计实现了高性能互连,其串行物理层采用8B/10B编码,支持1x/4x链路配置,具有强抗干扰能力。

2025-12-01 10:37:20 972 2

原创 LeNet-5实战:手写数字识别全解析

本文基于MATLAB 2021b实现了一个改进版LeNet-5卷积神经网络用于手写数字识别。首先介绍了CNN的基本原理,包括卷积层、池化层和全连接层的作用。然后详细构建了网络结构,包含2个卷积层(使用ReLU激活函数)、2个池化层(最大池化)和3个全连接层,并添加了Dropout层防止过拟合。通过MATLAB自带数据集训练15个epoch后,测试准确率达到较高水平。文章还展示了自定义手写数字的识别效果,并分析了网络各层参数。完整代码包含数据准备、模型训练、测试和结果可视化功能,为理解CNN图像识别提供了实践

2025-11-13 18:04:17 1144 2

原创 Python自动化JSON参数替换Verilog文件

本文介绍了一种使用JSON文件实现代码参数自动替换的方法。通过创建包含参数名和值的JSON文件(如data.json),配合模板文件(para_test.v)和Python脚本(py_json_test.py),实现代码参数的动态修改。Python脚本会读取JSON参数,替换模板中的占位符(如{{name}}),并根据条件语句({%if%})选择性生成代码块。该方法支持灵活修改数据位宽(如16位/32位)和功能模块的启用/禁用(data_x_en参数),最终生成符合需求的新代码文件(new.v)。这种自动化

2025-09-24 15:56:32 854 13

原创 深入解析Xilinx GTH接收器架构

本文详细介绍了Xilinx GTH收发器接收端的整体架构和工作原理。接收器分为物理层(PMA)和物理编码层(PCS)两大部分。PMA部分包含模拟前端、均衡器、时钟恢复等模块,负责信号预处理和时钟同步;PCS部分则实现数据对齐、解码、缓冲等数字信号处理功能。文章重点阐述了各模块的工作原理,包括均衡器如何补偿信号衰减、时钟数据恢复机制、字节对齐过程、弹性缓冲区解决时钟差异等关键技术。同时介绍了针对不同应用场景的功能配置,如缓冲区旁路降低延迟、通道绑定消除多通道偏移等。这些技术共同保证了高速串行数据的高质量接收和

2025-09-15 15:12:13 1185 2

原创 深入解析Xilinx GTH发射器架构

本文是Xilinx UltraScale架构GTH收发器(UG576)的技术摘要,重点介绍了发送器(TX)的结构与功能模块。发送器由物理编码子层(PCS)和物理介质附加子层(PMA)组成,PCS负责数字编码处理(如8B/10B),PMA实现并行到串行转换及模拟信号处理。关键模块包括:TX接口的时钟配置规则、8B/10B编码器的位序处理、同步/异步齿轮箱的数据流控制、相位对齐电路以及可配置驱动器等特性。文档详细说明了不同编码模式下数据位宽配置、时钟域同步方案和高速测试功能,为GTH收发器设计提供完整的架构参考

2025-09-09 16:57:39 1216 4

原创 探索Xilinx GTH收发器掉电与回环功能

摘要:本文基于Xilinx UG576文档,介绍了GTH收发器的三种关键功能:1. 掉电模式(Power Down) - 支持TX/RX独立掉电控制,提供PCIe/SATA标准电源管理功能,需满足特定引脚连接要求;2. 回环模式(Loopback) - 包含近端PCS/PMA和远端PMA/PCS四种回环配置,用于协议验证;3. 动态重配置(DRP) - 通过同步接口支持GTHE3/4_CHANNEL参数动态修改。这些功能为高速接口设计提供了灵活的电源管理和测试验证手段。

2025-09-05 16:54:08 1095 2

原创 GTH收发器初始化和复位全解析

本文基于Xilinx UltraScale架构GTH收发器(UG576)文档,总结了GTH的初始化与复位流程。初始化分为PLL初始化和TX/RX数据通道初始化两个步骤,其中TX/RX可并行进行。GTH提供初始化复位和组件复位两种类型,前者用于完整初始化,后者用于特定模块复位。复位模式分为顺序模式和单独模式,TX必须使用顺序模式。详细说明了CPLL/QPLL复位时序、TX/RX复位状态机的工作机制以及复位信号的使用条件。重点强调了复位前RESETOVRD信号的设置要求,以及TXUSERRDY/RXUSERRD

2025-09-03 16:03:40 1206 2

原创 解密GTH时钟架构:一网打尽收发器时钟之谜

本文解析了Xilinx UltraScale架构GTH收发器的时钟结构。GTH收发器支持输入/输出两种基准时钟模式,每个quad包含四个独立通道,提供6种参考时钟选择。时钟接入分为单路和多路外部参考时钟模式,通过专用原语实现时钟分配。详细介绍了CPLL和QPLL两种锁相环结构:CPLL为各通道独立提供2.0-6.25GHz时钟,QPLL则为整个quad提供更高频率支持。文中阐述了时钟分频机制、频率计算公式及动态配置功能,并说明了收发器异步频率运行的实现原理。该架构通过灵活的时钟选择与分配机制,满足不同速率需

2025-09-02 14:18:30 869 2

原创 揭秘PCI总线上电与内存分配全过程

本文通过仿真实验解析PCI设备的上电过程。PCI总线作为并行总线标准,支持即插即用,通过配置空间实现动态资源分配。实验模拟了操作系统发现PCI设备和分配内存/IO空间的过程:首先读取设备ID和状态寄存器,然后使能IO/MEM空间,通过向BAR写入全F并回读确定空间需求,最后分配具体地址(如0x10000000为IO空间,0x20000000为MEM空间)。配置空间的关键寄存器包括设备ID、命令寄存器、状态寄存器和BAR等,实现了PCI设备的灵活映射和资源管理。

2025-08-28 17:23:38 969 2

原创 高速传输的关键:8B/10B编码学习记录

8B/10B编码是一种高速接口协议中常用的编码方式,用于解决数据传输中的时钟恢复和直流平衡问题。它将8位数据分为5B和3B两部分,分别通过5B/6B和3B/4B编码转换为10位编码。编码过程中通过RD(运行差异)来平衡0和1的数量,避免连续长串相同比特导致的问题。特殊情况下(如K28.5)会采用特定编码方式。文中还提供了Verilog实现代码,展示了如何通过预计算、查表等方式完成8B/10B编码,并验证了编码结果与理论一致。这种编码方式有效保障了高速数据传输的可靠性。

2025-08-19 11:35:36 1047 2

原创 Scramble/de-Scramble加扰解扰学习记录

摘要:本文探讨了数字通信中的加扰与解扰技术。加扰是通过LFSR(线性反馈移位寄存器)对原始数据进行异或运算,打破长串相同字符,优化信号频谱分布;解扰则使用相同算法恢复原始数据。该技术解决了连续相同符号导致的低频干扰和直流分量问题。文章以Aurora协议为例,展示了Matlab和Verilog实现方法,并通过频谱分析验证了加扰后信号频谱更为平坦。仿真结果表明,加扰技术能有效改善信号传输质量,符合高速接口协议的设计需求。

2025-07-24 16:35:53 1400 4

原创 UG974时钟同步原语 XPM_CDC_SINGLE,XPM_CDC_ARRAY_SINGLE

本文介绍了Xilinx FPGA设计中常用的跨时钟域同步方法,重点分析了XPM_CDC_SINGLE、XPM_CDC_ARRAY_SINGLE、XPM_CDC_GRAY和XPM_CDC_HANDSHAKE四种同步原语。XPM_CDC_SINGLE用于单比特信号同步,通过多级触发器降低亚稳态风险;XPM_CDC_ARRAY_SINGLE适用于独立单比特信号数组的同步;XPM_CDC_GRAY采用格雷码编码实现二进制数据无损同步;XPM_CDC_HANDSHAKE通过握手协议确保数据传输可靠性。文章详细说明了各

2025-07-07 14:21:07 1366 6

原创 手把手教你搭建PCIe DMA系统

本文介绍了使用Xilinx IP核搭建PCIe DMA系统的设计思路和实现过程。系统核心采用AXI Bridge for PCIe Gen3 Subsystem IP核,负责PCIe与AXI协议之间的转换,并通过AXI Central Memory Access (CDMA) IP核实现数据搬移。设计重点在于理解PCIe与AXI总线之间的地址转换和配置,特别是AXI基地址转换配置寄存器的设置。系统通过AXI接口将数据从FPGA缓存搬移到上位机内存,或反之。

2025-05-22 16:45:49 2172 2

原创 UltraScale中BitSlip的替代方案解析

平台:Vivado2018官方相关文档,XAPP1208关于BitSlip。在前几代器件中ISERDES原语中都支持BItSlip功能,在最新的UltraScale器件的IO逻辑资源中已经不具备这个功能。XAPP1208提供了一种通用的BitSlip解决方案。在调试高速信号的时候,外部数据通过串行接口输入数据,对于高速ADC使用DDR传输数据时钟频率往往高达几百兆,这时候需要使用IODELAY来对数据进行对齐校准,保证ISERDES能够采集到正确的数据。对于这部分类容可以看我的另外一篇文章。

2025-05-22 15:17:23 992 2

原创 一种大位宽加减法器的时序优化

平台:vivado2018.3在FPGA中实现超高位宽加减法器(如256)时,时序收敛常成为瓶颈。由于进位链(Carry Chain)跨越多级逻辑单元,关键路径延迟会随位宽指数增长,导致时钟频率急剧下降。针对这一问题,现在使用如下方式优化大位宽加减法器的时序。这里使用进位选择加减法器,通过并行计算和进位预测技术,优化加减法器的路径延时,提高整体的运算速度。

2025-04-17 11:18:19 682 2

原创 ieee754浮点数1/N计算牛顿迭代法的verilog仿真代码

平台:vivado2018.3,matlabR2021b在上一篇文章中,学习了如何使用牛顿迭代法计算1/N。将输入的整数转换为ieee754单精度浮点数的格式。创建查找表,使用迭代公式计算出结果。。这里使用verilog仿真模型实现上述过程。(实际电路需要对其中乘法器加法器进行优化)

2025-03-26 17:07:50 885 2

原创 ieee754浮点数1/N计算牛顿迭代法的matlab代码

在上一篇文章中使用了牛顿迭代法求1/N和A/B。但是输入数据并未转换为标准的浮点数格式。下面我使用ieee754标准的浮点数计算方式来设计代码。文章地址。

2025-03-25 18:01:48 488 2

原创 浮点数除法运算原理和verilog仿真模型

以32位浮点数标准为例S:数符,0为正1为负。阶码e:8位,阶码=阶码真值+127。阶码采用移码来表示,即阶码真值=e-127。尾数m:23位,采用隐含尾数最高位1的表示方法,实际尾数为24位,尾数真值=1+尾数。

2025-03-24 17:53:53 662 2

原创 牛顿迭代法求1/N和A/B的实现方法和matlab代码

学习牛顿迭代算法,使用matlab实现算法。

2025-03-21 18:02:05 355 2

原创 数字电路加法运算,半加器,全加器,波纹进位加法器,超前进位加法器

输入数据的bit0和cin进入全加器0,等待计算出结果后cout输入到全加器1的cin位,等待计算出结果后输入到全加器2的cin位,最后计算出的结果输入到全加器3的cin。上图是一个全加器的逻辑组成,可以看到全加器的最长路径是经过((a^b)&cin) | (a&b)经过一个异或门,在经过一个与门在经过一个异或门三级门延迟到达cout。如果我们实现一个4位数的加法器,而全加器是单bit的加法器,我们可以将全加器级联起来就得到了一个波纹进位加法器。设计一个四位波纹进位加法器所经过的延迟。

2024-10-28 19:58:03 1347 2

原创 IEEE754浮点数的加减运算

参考:IEEE754。IEEE754中规定了浮点数的基本运算。这些运算包括:加法,减法,乘法,除法,平方根,取余,向浮点格式整数舍入,不同浮点格式直接的转换,整形与浮点数之间的转换,二进制与十进制之间的转换,以及比较等运算。除了二进制与十进制之间的转换之外,其他运算要求先产生一个具有无限精度的中间值结果,再将该结果强制转换成目标格式。

2024-10-28 15:41:24 1886 2

原创 IEEE754浮点数的表示

在学习浮点数的表示之前,先看一下二进制和十进制之间的转换。再来学习IEEE754标准的浮点数。

2024-10-09 18:10:03 1654 2

原创 VCS和Verdi联合仿真使用学习记录

环境:linux工具:vcs,verdi最近学习如何在linux环境下使用vcs编译仿真,使用verdi查看波形。是 Synopsys 开发的一款高性能的 Verilog 和 SystemVerilog 编译仿真工具。它广泛用于数字电路设计和验证,特别是在 ASIC 和 FPGA 设计中。是 Synopsys 提供的一款高级调试和可视化工具,主要用于硬件设计的调试和分析。它通常与 VCS 一起使用,以便在仿真过程中提供更好的可视化和调试体验。

2024-09-18 17:29:52 1570 3

原创 MIPI联盟D-PHYv1.2规范阅读笔记二之物理层接口协议PPI

本文阅读自eetop.cn_mipi_D-PHY_specification_v1-2.pdf表 31 定义了物理层协议接口(PPI)中使用的信号。对于具有多个数据通道的物理层(PHY),每个通道使用一组PPI信号。每个信号被分配到六个类别之一:高速发送信号、高速接收信号、逃逸模式发送信号、逃逸模式接收信号、控制信号和错误信号。支持双向逃逸模式的双向高速数据通道几乎包括表中列出的所有信号。单向通道或时钟通道仅包括一部分信号。每个信号的方向列为 “I” 或 “O”。

2024-08-27 22:27:30 2569 2

原创 MIPI联盟D-PHYv1.2规范阅读笔记

MIPI 联盟成立至今制定了多种用于不同终端设备的接口标准,其中包括用于摄像头的 CSI-2。用于显示器的 DSI。用于射频的 DigRF。用于麦克风的SLIMbus等接口协议。MIPI CSI-2 协议简介两个模块之间使用差分信号传输,一对差分时钟信号,最多四对数据传输差分线。CCI兼容I2C,用于协议内物理层的参数配置。不同的厂商不同。CSI-2数据包传输准则,传输短包用于发送控制信息,长包用于发送负载数据。

2024-08-26 16:41:50 1871 2

原创 基于xilinx IP的频域脉冲压缩算法的实现和matlab仿真

脉冲压缩的原理脉冲压缩实际上就是对接收信号进行匹配滤波处理。根据发射的波形不同,脉冲压缩时选择不同的匹配滤波器系数。数字脉冲压缩的实现方式有两种: 一是时域卷积法; 二是频域乘积法。依据傅里叶变换理论,时域卷积等效于频域乘法,因此两种方法实际上是等效的。时域处理方法直观、简单,但是运算量大,工程上一般采用频域法。

2024-08-16 17:15:43 2027 16

原创 关于xilinx的FFTIP的使用和仿真

工具:vivado2018.3,modelsim10.6d场景:在进行数据进行频谱分析的时候,使用FPGA来完成FFT的计算可以加快数据的计算速度。下面使用仿真完成DDS产生的数据的FFT以及IFFT。原始数据使用DDSIP产生,通过IP产生的波形数据直接输入到FFT进行傅里叶正变换。然后再使用FFT对数据进行IFFT傅里叶逆变换还原波形数据。过程中完成了fftshift(将零频分量搬移到频谱中心),以及使用cordic计算平方根的过程。

2024-08-15 10:05:03 2271 7

原创 Modelsim 10.6d安装失败?一招搞定License问题

【摘要】在ModelSim 10.6d安装过程中遇到license生成失败问题。解决方法包括:将相关文件复制到安装目录并去除mgls.dll、msls64.dll的只读属性;以管理员身份运行patch_dll.bat无效后,发现需直接运行MentorKG.exe文件。将文件复制到指定目录并取消只读属性后运行MentorKG.exe,即可成功生成LICENSE文件。问题根源在于未正确调用MentorKG.exe程序。

2024-08-12 17:06:20 267 2

原创 AD9164配置学习

芯片:AD9164场景:在调试高速DAC的过程中,在接口调试的初期往往会遇到接链不成功,同步信号忽高忽低的过程。这种情况往往是DAC芯片的寄存器配置不正确。今天就来仔细学习一下AD9164的配置。

2024-07-26 16:34:11 2578 3

原创 JESD204B学习与仿真

LogiCORE™ IP JESD204 内核实现了一个 JESD204B 接口,在使用 GTX、GTH、GTP 或 GTY(仅限 UltraScale 和 UltraScale +)收发器的 1 至 8 条通道上支持 1 至 12.5 Gb/s(1)的线路速率。有关每个器件和系列所支持的最大线路速率,请参阅器件数据表。JESD204 内核可以配置为发送或接收,并且可以使用多个内核来实现需要超过 8 条通道的链路。发射机(对应DAC)

2024-07-23 18:32:00 3634 11

原创 时钟芯片LMK04828调试记录

应用场景:在一些高速ADC和DAC的芯片中,需要时钟芯片对其提供专用的高速时钟,并且往往伴随这jesd204b的时钟产生。所以使用时钟芯片来产生同源时钟。

2024-07-22 18:02:13 4520 1

原创 GVim头生成/自动对齐/代码折叠Verilog代码技巧

平台:Gvim8.2在编辑verilog代码的过程中,为了代码的规范性,往往需要手动对齐。为了提升效率,这里使用GVIM编辑器自动完成上述功能。下载地址功能展示。

2024-07-22 16:45:53 1001 3

原创 Vivado生成网表文件并创建自定义IP

平台:vivado2018.3应用场景,在设计的过程中,我们一些特定的模块需要交付给别人,但是又不想让他们看到其中的源码。就可以将源码封装成网表和IP文件。

2024-07-22 15:34:22 3377

原创 验证Vivado布局布线不变

平台:vivado2018.3应用场景,在设计的过程中,一些特定的引脚,我们想在原有的基础上不改变其布局布线方式。

2024-07-22 14:39:21 3267

原创 关于普通接口转AXI接口AMM Master Bridge仿真和使用

应用场景,在设计的过程中,在xilinx内部的IP采用AXI接口协议。而我们外部的FIFO,BRAM等接口有时候使用的Native接口。在avs_read_s0为1和avs_waitrequest_s0为0时读使能握手成功。从上面可以看出来,官方给出的指示在时钟为200MHz时,在理论带宽为6.4Gb/s时,不同的BL位宽的吞吐量。IP可以将Avalon接口读写在内部仲裁转换为AXI接口读写。可以看到在avs_write_s0为1和avs_waitrequest_s0为0的情况下写入有效。

2024-07-16 10:23:08 2641

原创 调频信号FM的原理与matlab与FPGA实现

其中cordic的角度范围表示为(-pi,pi)。在逻辑中有几种产生正余弦波形的方式,基于DDS的波形发生器,基于cordic的波形发生器。余弦波时,积分量在0,pi和2pi时最小,对应着在0时频偏最小,在pi/2时频率与载波相同,在pi时。逻辑实现现在假定调制波为1mhz,载波为8mhz,最大频偏为2mhz,采样率为512mhz。载波也是一个余弦波,调制波的频率随着调制波形的积。其中p为频率控制字,pi为载波的频率控制字,po为频偏控制字。Fm频率调制,载波的幅度随着调制波形的幅度变化而变化。

2024-06-26 22:58:25 3074

原创 调幅信号AM的原理与matlab实现

上式说明,由正弦波调制的调幅信号由三种频率成分组成:载波、载波和调制频率的差频(下边带)、载波和调制频率的和频(上边带)。调幅波所占的频谱宽度等于调制信号最高频率的两倍。>1,已调波的包络会出现严重的失真,而不能恢复原来的调制信号波形,也就是产生过量调幅。调幅就是使载波的振幅随调制信号的变化规律而变化。为调制指数,它的范围在(0,1)之间,如果。当调制波为正弦波时的时域波形。当调制波为三角波时的时域波形。当调制波为锯齿波时的时域波形。当调制波为正弦波时的频域波形。当调制波为方波时的时域波形。

2024-06-25 23:18:21 3286

原创 软件无线电学习-数字上变频DUC数字下变频DDC

如第3章中软件无线电接收机数学模型所述,在软件无线电接收机中,首先对射频模拟信号或者是宽带中频模拟信号通过模数转换器进行数字化,然后,采用数字下变频(DigtalDownConverter,DDC)技术和多速率数字信号处理技术,对信号进行频率变换、滤波、抽取等处理,将感兴趣信号分离和提取出来,并将采样速率降低到较低速率,送到基带信号处理单元对感兴趣信号进行后续处理。三种数字上变频技术的原理、适用场合在第3章中已进行了详细的论述,所以,这里仅对数字正交混频上变频的实现进行简单介绍。变成两路I和Q信号。

2024-06-03 23:38:27 1426

原创 软件无线电学习-发射机体系结构

软件无线电发射机的主要功能是把需发射或传输的用户信息(话音、数据或图像)经基带处理(完成诸如FM、AM、FSK、PSK、MSK、QAM 等调制)和上变频,调制到规定的载频(中心频率)上,再通过功率放大后送至天线,把电信号转换为空间传播的无线电信号,发向空中或经传输介质(如电缆、光缆)送到接收方的接收机前端,由其进行接收解调。设置采样率为5ghz,基带信号为50mhz,nco本振为100mhz,第一步先求出基带信号的IQ信号,在求出正交本振cos和sin。分别表示该信号的幅度调制信息和相位调制信息,

2024-05-29 21:02:48 796

关于riffa的PCIE驱动

大家都在要这个资源,我放在这里供大家下载。

2023-08-30

ddr-test.zip

关于xilinx的ddr3的IP学习与仿真,添加了两个FIFO控制读写。

2023-03-09

空空如也

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

TA关注的人

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