跳转到主要内容

博客

PCIe系列第八讲、MSI和MSI-X中断机制

本章将着重讲述PCIe的MSI和MSI-X中断机制,在FPGA应用中主要通过XDMA中断与上位机进行通信。

使用SystemVerilog简化FPGA中的接口

 FPGA工程师们应该都会吐槽Verilog的语法,相当的不友好,尤其是对于有很多接口的模块,像AXI4/AXI-Lite这种常用的总线接口,动不动就好几十根线,写起来是相当费劲。当然现在Xilinx推荐使用纯bd文件的方式来设计FPGA,这样HDL代码就会少了很多

Vivado IP核锁定的解除方法

发生IP核锁定,一般是Vivado版本不同导致的,下面介绍几种方法:

FPGA与LVDS信号兼容性分析方法

很多工程师在使用Xilinx开发板时都注意到了一个问题,就是开发板中将LVDS的时钟输入(1.8V电平)连接到了VCCO=2.5V或者3.3V的Bank上,于是产生了关于FPGA引脚与LVDS(以及LVDS-33,LVDS-25)信号相连时兼容性的问题,该专题就解决一下这类问题。

ADC数据接入到AXI-Steam Interface

如果说要在AXI、AXI-Lite、AXI-Stream中选一种最喜欢的类型,我选择Stream总线,因为这是最简单的类型,而且使用起来非常方便,五个通道就剩数据传输,就像网络通信中的TCP与UDP,UDP用起来更简洁。

Vivado中ZYNQ详解(主要用于PS和PL之间的工作衔接)

AXI(Advanced extensible Interface)协议主要描述了Master设备和Slave设备之间的数据传输方式,Master设备和Slave设备之间通过握手信号建立连接。当Slave设备的数据准备好时,会发出和维持VALID信号,表示数据有效;当Master设备准备好接收数据时,会发出READY信号。数据只有在这两个信号都有效时才开始传输。

PCIe系列第七讲、PCIe的物理层

本章将着重讲述PCIe物理层组成与操作,物理层位于数据链路层之下,可产生PLP包(Physical Layer Packet)进行管理。

AXI总线的4K地址对齐问题

在ZYNQ的地址分配中,可以将每一个Slave接口定义为一个存储器映射,其由一个或多个地址块(目前只遇到过一个地址块),存储区和子空间映射元素组成,可以通过从属接口访问存储器映射

Vivado ROM仿真教程

本例程主要使用Vivado 调用ROM IP核,用含有正弦曲线的.coe文件初始化ROM,最终通过仿真实现波形的显示。

Vivado IP核fifo使用指南

fifo是FPGA中使用最为频繁的IP核之一,可以通过软件自动生成,也可以自主编写。下面介绍vivado的fifo生成步骤

使用SystemVerilog简化FPGA中的接口

FPGA工程师们应该都会吐槽Verilog的语法,相当的不友好,尤其是对于有很多接口的模块,像AXI4/AXI-Lite这种常用的总线接口,动不动就好几十根线,写起来是相当费劲。当然现在Xilinx推荐使用纯bd文件的方式来设计FPGA,这样HDL代码就会少了很多。但我们大多数的工程还是无法避免使用HDL来连接两个module

PCIe系列第六讲、PCIe的数据链路层

本章将着重讲述TLP的数据链路层组成与操作,上一篇更新应该为第五讲,数据链路层位于事务层和物理层之间,使用容错和重传机制保证了数据传输的完整性和一致性,此外,数据链路层还需要对PCIe链路层进行监控和管理。

FPGA上电后IO的默认状态

在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。Xilinx FPGA从上电之后到正常工作整个过程中各个阶段引脚的状态,会对硬件设计、引脚分配产生非常重要的影响。这篇专题就针对FPGA从上电开始 ,配置程序,到正常工作整个过程中所有IO的状态进行分析。

FPGA布局及资源优化

这大半年一直在做一个高速板卡FPGA相关的方方面面的工作,包括前期FPGA架构布局设计,管脚验证,后期实现资源优化,最后到板卡调试。过程曲折艰辛,但是也收获良多。今天在这里记录下工作中零零散散的记录下来。

高级FPGA设计技巧!多时钟域和异步信号处理解决方案

有一个有趣的现象,众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域。换句话说,只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口。虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题,但是由于FPGA外各种系统限制,只使用一个时钟常常又不现实

FPGA复位的正确打开方式

本篇文章参考Xilinx White Paper:Get Smart About Reset: Think Local, Not Global。但如果认真看了Xilinx的White Paper,就会对复位有了新的认识。我们把White Paper的内容总结为下面4个问题

PCIe系列第四讲、存储器、配置、IO读写请求和原子操作、消息报文

本文将着重讲述TLP的存储器、配置、IO读写请求和原子操作、消息报文几种操作请求,其中主要从其结构和特点进行分析。

Xilinx FIR IP的介绍与仿真

Xilinx FIR IP的介绍与仿真

FPGA时序约束之Vivado辅助工具

上面我们讲的都是xdc文件的方式进行时序约束,Vivado中还提供了两种图形界面的方式,帮我们进行时序约束:时序约束编辑器(Edit Timing Constraints )和时序约束向导(Constraints Wizard)。两者都可以在综合或实现后的Design中打开。