<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FPGA_小田老师的博客]]></title><description><![CDATA[【十年FPGA实战专家，帮你搞定接口逻辑与国产化替代】
[擅长]：DDR4/PCIE等高速接口时序闭环 | UART/CAN/SPI等嵌入式总线 | 基于xlinx、Altera和国产FPGA（高云/复旦微等）的系统设计。]]></description><link>https://blog.csdn.net/AuroraMatlab</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; AuroraMatlab]]></copyright><item><title><![CDATA[PCIe XDMA数据传输：三种工作模式详解（ARM发起 → FPGA自主）]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/161393927</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/161393927</guid><author>AuroraMatlab</author><pubDate>Mon, 25 May 2026 15:28:17 +0800</pubDate><description><![CDATA[本文详细介绍了Xilinx XDMA IP核在PCIe数据传输中的三种工作模式：1）标准AXI4-MM模式，由ARM主机发起传输；2）AXI4-Stream模式，FPGA可主动推送数据但参数由主机预设；3）Descriptor Bypass模式，FPGA可完全自主控制传输参数。文章通过工作原理分析、仿真验证和官方驱动测试脚本对应关系，阐述了不同模式的特点和适用场景，为工程师在实际项目中灵活选择传输方式提供了参考依据。]]></description><category></category></item><item><title><![CDATA[ZYNQ7020笔记：MIO、EMIO、GPIO的区别及应用]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/161211462</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/161211462</guid><author>AuroraMatlab</author><pubDate>Tue, 19 May 2026 11:12:35 +0800</pubDate><description><![CDATA[ZYNQ7020芯片通过MIO、EMIO和AXI GPIO三种方式实现PS与外部连接。MIO是PS自带的54个固定引脚，不占用PL资源，适合标准外设；EMIO通过PL扩展最多64个虚拟引脚，可进行信号处理；AXI GPIO则完全由PL实现，灵活性最高但资源消耗大。设计时应优先使用MIO，MIO不足时选择EMIO，需要深度交互时采用AXI GPIO。理解这三种接口特性可优化ZYNQ设计，平衡资源利用与功能需求。]]></description><category></category></item><item><title><![CDATA[Xilinx AXI UART16550 IP核：IP核深度解析]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/159005089</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/159005089</guid><author>AuroraMatlab</author><pubDate>Fri, 13 Mar 2026 13:56:10 +0800</pubDate><description><![CDATA[AXIUART16550 IP核是一款兼容PC16550D标准的串口控制器，通过AXI4-Lite接口与系统总线连接。它支持16450和16550两种工作模式，提供16字节收发FIFO、可编程波特率（最高支持16位分频）、调制解调器控制信号（CTS/RTS等）和5级优先级中断管理。该IP核完全兼容工业标准寄存器定义，包括RBR、THR、IER等10余个寄存器，支持错误检测、环回测试等功能。]]></description><category></category></item><item><title><![CDATA[Xilinx AXI UART Lite IP核实战仿真例程（非example）]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/158963600</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/158963600</guid><author>AuroraMatlab</author><pubDate>Thu, 12 Mar 2026 11:37:10 +0800</pubDate><description><![CDATA[本文介绍了基于AXI_VIP搭建AXI_UARTLite IP核仿真环境的方法。首先配置IP核参数（100MHz时钟、115200bps波特率、8bit数据），然后通过AXI_VIP实现数据写入和中断检测。仿真测试表明：1）发送数据时需分多次传输32位数据；2）接收测试通过环回方式验证了数据的正确性。该IP核能有效实现AXI4-Lite接口与串行信号的转换，支持中断通知和灵活配置，适用于处理器系统集成及外设通信。实验结果为开发者提供了实用的仿真参考方案。]]></description><category></category></item><item><title><![CDATA[Xilinx AXI UART Lite IP核：IP核深度解析]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/158919674</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/158919674</guid><author>AuroraMatlab</author><pubDate>Wed, 11 Mar 2026 10:37:46 +0800</pubDate><description><![CDATA[本文详细解析了Xilinx的AXI UART Lite IP核，该IP核通过AXI4-Lite接口实现UART通信功能，适用于资源有限的嵌入式系统。文章从架构、寄存器、配置参数等方面进行了介绍，包括其全双工通信、16字节FIFO、可配置数据位和波特率等特性。重点分析了IP核的模块组成、端口信号、寄存器空间及控制方法，并提供了典型使用流程，为在FPGA和SoC设计中快速实现串行通信提供了实用参考。该IP核具有简单易用、资源占用少的特点，是调试和外部设备通信的理想选择。]]></description><category></category></item><item><title><![CDATA[Xilinx原语：ISERDESE2原语仿真（含Bitslip）]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/158579294</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/158579294</guid><author>AuroraMatlab</author><pubDate>Tue, 03 Mar 2026 08:51:51 +0800</pubDate><description><![CDATA[本文详细介绍了Xilinx FPGA中ISERDESE2原语的仿真应用。通过构建OSERDESE2-ISERDESE2结构，重点演示了使用BitSlip机制解决数据边界未对齐的问题。仿真结果表明，通过两次BitSlip操作（间隔一个CLKDIV周期）可实现数据校准，约3个周期后输出数据恢复正常。文章还详细说明了ISERDESE2的关键信号配置要求，包括CE1/CE2使能、时钟相位关系等，强调了BitSlip在NETWORKING模式下的使用限制和注意事项。]]></description><category></category></item><item><title><![CDATA[xilinx原语：ISERDESE2原语详解（串并转换器）]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157687470</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157687470</guid><author>AuroraMatlab</author><pubDate>Wed, 25 Feb 2026 14:34:03 +0800</pubDate><description><![CDATA[摘要：Xilinx 7系列FPGA中的ISERDESE2是专用于高速串并转换的硬件模块，支持SDR/DDR模式，可实现2-14位并行数据输出。其核心特性包括Bitslip字对齐功能、多种接口模式（MEMORY/NETWORKING/OVERSAMPLE）及主从级联扩展能力。关键设计要点涉及时钟相位对齐（CLK/CLKDIV）、正确的复位时序、Bitslip操作规范（需间隔CLKDIV周期）以及位序规则（Q8为最低有效位）。]]></description><category></category></item><item><title><![CDATA[Xilinx原语：OSERDESE原语仿真（常用+宽度扩展）]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157550112</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157550112</guid><author>AuroraMatlab</author><pubDate>Mon, 02 Feb 2026 13:12:34 +0800</pubDate><description><![CDATA[本文通过三个仿真案例详细分析了Xilinx OSERDESE2原语的并串转换功能。首先演示了4:1单数据速率(SDR)模式，输出数据在时钟上升沿变化；其次展示了8:1双数据速率(DDR)模式，数据在时钟双沿变化；最后实现了10:1转换，采用主从模式扩展数据宽度。仿真结果表明：输出相对输入有固定延迟；D1数据最先输出；SDR/DDR模式分别对应单/双沿采样。这些案例验证了OSERDESE2在不同配置下的工作特性，为高速串行接口设计提供了实用参考。]]></description><category></category></item><item><title><![CDATA[xilinx原语：OSERDES2（并串转换器）原语详解]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157541783</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157541783</guid><author>AuroraMatlab</author><pubDate>Fri, 30 Jan 2026 14:42:27 +0800</pubDate><description><![CDATA[Xilinx 7系列FPGA中的OSERDESE2是一种专用并行转串行转换器，支持单数据率(SDR)和双数据率(DDR)模式，最高可实现8:1转换率（通过主从配置可扩展至14:1）。该模块包含数据串行器和三态控制串行器，具有灵活的时钟配置和复位机制。文章详细介绍了OSERDESE2的参数属性、输入输出端口功能、宽度扩展方法以及时序特性，包括2:1 SDR、8:1 DDR和4:1 DDR三态控制的具体时序示例。通过主从配置可实现更宽的10:1和14:1转换，但需注意差分输出和互补单端标准的限制条件。]]></description><category></category></item><item><title><![CDATA[FPGA例程（9）：UART收发程序仿真测试]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157428448</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157428448</guid><author>AuroraMatlab</author><pubDate>Wed, 28 Jan 2026 07:00:00 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA UART串口收发仿真实现。文章详细讲解了仿真环境的搭建过程，包括测试平台(TB)文件的编写、100MHz时钟生成、以及每200us发送固定数据5A(二进制01011010)的流程。通过uart_tx模块将并行数据转为串行输出，再由uart_top模块进行采样接收。仿真结果验证了串口通信的正确性，展示了从起始位、数据位到停止位的完整传输过程，实现了FPGA串口收发功能的闭环验证。该例程有助于FPGA学习者掌握串口通信的仿真调试方法。]]></description><category></category></item><item><title><![CDATA[FPGA例程（8）：UART串口发送程序解析]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157391368</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157391368</guid><author>AuroraMatlab</author><pubDate>Tue, 27 Jan 2026 08:00:00 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA串口发送程序设计。文章详细讲解了UART发送模块的配置参数（波特率分频系数和数据位设置），采用三段式状态机实现发送流程控制（IDLE→START→TRANSMIT→STOP）。通过Verilog代码示例展示了波特率时钟生成、数据帧发送和状态转移逻辑的实现方法，特别强调了阻塞赋值与非阻塞赋值的正确使用。该模块支持8位数据发送，包含移位寄存器和位计数器设计，最终输出信号通过tx_d寄存器驱动。本设计为后续串口收发仿真测试奠定了基础。]]></description><category></category></item><item><title><![CDATA[FPGA例程（7）：UART串口接收程序--状态机的编写]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157385223</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157385223</guid><author>AuroraMatlab</author><pubDate>Mon, 26 Jan 2026 11:29:46 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA状态机设计方法，以UART串口接收程序为例详细讲解了三段式状态机的实现。文章首先阐述了状态机的三要素（状态、转移条件、输出）和三种编码方式（顺序二进制、格雷码、热编码），重点推荐了三段式状态机模板，分析了其时序清晰、避免毛刺、综合友好的优势。随后详细说明了UART接收模块的状态转移流程（IDLE→START→RECEIVE→STOP→IDLE）和参数配置方法，并给出了完整的Verilog代码实现，包括波特率生成、串并转换、数据锁存等关键模块。]]></description><category></category></item><item><title><![CDATA[FPGA例程（6）：UART串口通讯协议解析]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/157024570</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/157024570</guid><author>AuroraMatlab</author><pubDate>Fri, 16 Jan 2026 15:06:59 +0800</pubDate><description><![CDATA[本文是FPGA学习系列第六篇，基于Xilinx K325T平台详细讲解UART串口通信实现。文章介绍了串口通信的基本原理，包括TTL和RS232电平标准、通信协议结构（起始位、数据位、校验位和停止位）以及波特率计算方法。重点阐述了FPGA实现串口通信的两个关键时序设计：波特率生成和数据传输时序，并给出了100MHz时钟下的分频公式。文章还预告了下篇将具体讲解UART的设计原理和源码实现，帮助读者从基础点灯实验逐步掌握FPGA的中级应用技能。]]></description><category></category></item><item><title><![CDATA[FPGA例程（5）：时钟（clock）分频倍频（PLL/MMCM）实验--vivado行为级仿真、综合后仿真和实现后仿真说明]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156848655</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156848655</guid><author>AuroraMatlab</author><pubDate>Mon, 12 Jan 2026 14:35:21 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA时钟管理实验，重点讲解了PLL/MMCM的使用方法。通过调用Xilinx Clocking Wizard IP核，实现了100MHz输入时钟的倍频(200MHz)和分频(50MHz)功能。文章详细说明了工程创建、IP核配置、Verilog代码实现、约束文件设置以及三种仿真方法(行为级、综合后、布局布线后)的具体操作步骤。实验结果表明，PLL能有效产生所需频率的时钟信号，但不同仿真阶段会反映出时钟间的相位偏移差异。]]></description><category></category></item><item><title><![CDATA[FPGA例程（4）：按键消抖实验]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156645514</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156645514</guid><author>AuroraMatlab</author><pubDate>Tue, 06 Jan 2026 14:15:31 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA按键消抖实验。针对机械按键存在的5-10ms抖动问题，提出了使用状态机实现的软件消抖方案：通过10ms延时检测确保按键稳定后输出有效信号。实验对比了消抖前后的效果，未消抖时LED显示异常，消抖后能准确响应每次按键动作。该方法不仅适用于按键处理，还可应用于CPLD控制时序等场景。文章提供了完整的程序设计思路和硬件环境说明（Vivado 2019.1+MK7160FA开发板），帮助FPGA学习者掌握基础到进阶的实用技能。]]></description><category></category></item><item><title><![CDATA[FPGA例程（3）：按键检测实验]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156418369</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156418369</guid><author>AuroraMatlab</author><pubDate>Tue, 30 Dec 2025 14:06:14 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA按键检测实验。实验通过检测开发板按键功能，展示硬件描述语言与FPGA硬件的联系。程序在LED灯实验基础上，设计了两组按键控制：按键1控制LED1的闪烁/停止（500ms周期），按键2直接控制LED2的亮灭。文中详细说明了硬件环境（Vivado2019.1+MK7160FA开发板）、接口定义、程序逻辑及RTL分析，并给出了实验结果：按键1按下时LED1熄灭，松开时闪烁；按键2按下时LED2亮起，松开时熄灭。该实验有助于理解FPGA基础开发流程。]]></description><category></category></item><item><title><![CDATA[FPGA例程（2）：LED流水灯--vivado FPGA程序固化下载]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156297761</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156297761</guid><author>AuroraMatlab</author><pubDate>Fri, 26 Dec 2025 11:31:47 +0800</pubDate><description><![CDATA[本文介绍了基于Xilinx K325T平台的FPGA程序固化方法，通过将LED流水灯程序生成MCS文件并烧录至Flash存储器，实现掉电不丢失。详细讲解了从MCS文件制作（包括Flash型号选择、文件路径设置）到程序烧写Flash的全过程（连接硬件、选择器件、配置烧写参数等）。最终通过断电重启测试，验证了程序已成功固化，LED流水灯功能正常运作。该教程为FPGA学习者提供了从基础到进阶的实用操作指南。]]></description><category></category></item><item><title><![CDATA[FPGA例程（1）：LED流水灯实验--vivado工程创建、编译及下载bit]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156263330</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156263330</guid><author>AuroraMatlab</author><pubDate>Thu, 25 Dec 2025 16:26:03 +0800</pubDate><description><![CDATA[本文介绍了使用Vivado 2019.1开发Xilinx FPGA流水灯实验的完整流程。主要内容包括：创建LED_test工程、添加Verilog设计文件、编写内部复位和500ms间隔的流水灯控制程序、进行语法检查、添加引脚约束文件（包括时钟和LED引脚约束），最后生成bit文件并下载到MK7160FA开发板测试。重点讲解了两种添加约束文件的方法，以及通过计数器实现内部复位和LED流水效果的编程思路。实验成功实现了四个LED灯以500ms间隔循环点亮的效果，为FPGA初学者提供了基础开发流程的实践指导。]]></description><category></category></item><item><title><![CDATA[FPGA基础知识（二十一）：xilinx FPGA中常用的原语]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156236354</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156236354</guid><author>AuroraMatlab</author><pubDate>Wed, 24 Dec 2025 16:32:52 +0800</pubDate><description><![CDATA[本文是《FPGA基础知识》系列最后一篇，重点讲解FPGA原语的概念与应用。原语是FPGA中最基础的硬件单元，直接映射芯片物理资源。文章详细介绍了BUFG全局时钟缓冲器、IBUFDS差分输入缓冲器、OBUFDS差分输出缓冲和IOBUF双向缓冲等常用原语的功能及使用场景。掌握原语有助于深入理解FPGA硬件结构，设计高性能系统，解决时序和信号完整性问题。系列后续将转向以K325T开发板为平台的测试例程讲解，帮助读者将理论知识转化为实践能力。]]></description><category></category></item><item><title><![CDATA[ibert 7 Series GT：IBERT远近端(内外)环回测试]]></title><link>https://blog.csdn.net/AuroraMatlab/article/details/156022293</link><guid>https://blog.csdn.net/AuroraMatlab/article/details/156022293</guid><author>AuroraMatlab</author><pubDate>Thu, 18 Dec 2025 10:13:52 +0800</pubDate><description><![CDATA[IBERT是Xilinx FPGA内置的高速收发器测试工具，支持PRBS码型生成、误码率检测和眼图扫描。文章详细介绍了IBERT的四种回环测试模式（近端PCS/PMA、远端PCS/PMA）及其应用场景，以XC7A100T和XC7K325T开发板为例，演示了从工程配置到实际测试的全流程。重点分析了近端PCS测试异常的原因（需切换PCS时钟）及解决方案，并对比了不同环回模式的测试范围差异。该工具可显著提升高速接口调试效率，帮助工程师快速定位信号完整性问题。]]></description><category></category></item></channel></rss>