博客

总结了20个DDR3和FPGA部分的设计规范

DQ0-7 八根线必须连到同一T块(也称为字节组)上,一旦分在一起,这个字节组就不能放地址线和控制线了,只能放数据线。 每组数据线对应的DQS必须连到N6,N7上,也就是QBC或者是DBC上

【Vitis指南】 Xilinx Vitis 系列(六)

今天带来第六篇,介绍配置Vitis IDE和项目进出口。

FPGA仿真必备——Matlab生成.mif/.txt/.coe

.mif 和 .coe 是 FPGA 设计中常用的存储文件,用于 ROM、RAM 等存储器数据的加载,常见的还用在 DDS 信号发生器和 FIR 滤波器的设计中。 .txt 文件主要用于 Matlab 和 FPGA 的联合仿真,比如在滤波器的设计中,可以使用 Matlab 先把加噪声的信号写入到 .txt 文件,然后 FPGA 仿真中在 Testbench 中读取该信号源的数据

Xilinx FPGA bit 文件加密

当你的项目终于做完了,到了发布的关键节点,为了防止自己的心血被别人利用,最好对产品进行bit加密。首先咱们来了解一下加密的优点

【Vitis指南】Xilinx Vitis 系列(五)

今天带来第五篇,介绍建立系统和Vitis IDE调试流程。

FPGA时序分析之关键路径(Critical Path)

关键路径通常是指同步逻辑电路中,组合逻辑时延最大的路径(这里我认为还需要加上布线的延迟),也就是说关键路径是对设计性能起决定性影响的时序路径。对关键路径进行时序优化,可以直接提高设计性能。对同步逻辑来说,常用的时序优化方法包括Pipeline、Retiming、逻辑复制、加法/乘法树、关键信号后移、消除优先级等解决。

【Vitis指南】Xilinx Vitis 系列(四)

今天带来第四篇,介绍使用Vitis IDE,包括Vitis命令选项和创建Vitis IDE项目。Vitis命令将使用您定义的选项启动Vitis IDE。它提供用于指定工作区的选项以及项目的选项。以下各节描述了Vitis命令的选项。

Xilinx的分布式RAM和块RAM——单口、双口、简单双口、真双口的区别

单口 RAM(Single RAM)、双口 RAM(Dual RAM)、简单双口 RAM(Simple-Dual RAM)、真双口 RAM(True-Dual RAM)有什么不同?对于 分布式 RAM,支持简单双口 RAM 和双口 RAM,不能配置成真双口 RAM。

【Vitis指南】Xilinx Vitis 系列(三)

今天带来第三篇,介绍使用Vitis分析仪。Vitis分析仪是一种实用工具,允许查看和分析,同时建立并运行应用程序生成的报告。旨在查看由构建应用程序时的Vitis编译器和运行应用程序时的Xilinx®Runtime(XRT)库生成的报告。

【Vitis指南】:Xilinx Vitis 系列(一)

今天带来第一篇,介绍Vitis 2019.2软件平台发行说明、安装以及Vitis加速环境简介。

Xilinx FPGA AXI4总线(四)——自定义 AXI-Lite 接口的 IP 及源码分析

在 Vivado 中自定义 AXI4-Lite 接口的 IP,实现一个简单的 LED 控制功能,并将其挂载到 AXI Interconnect 总线互联结构上,通过 ZYNQ 主机控制,后面对 Xilinx 提供的整个 AXI4-Lite 源码进行分析。

Xilinx FPGA AXI4总线(三)——握手机制、通道依赖性及AXI-Lite握手实例

AXI4、AXI4-Lite和AXI4-Stream均使用Ready、Valid握手机制进行通信。信息传输的发起者使用Valid 信号指示数据何时有效,接收端产生 Ready 信号来表明已经准备好接收数据,当两者均为高时,启动传输。

一文认识PYNQ

PYNQ 是 Xilinx 推出的一个开源项目,目的是使用 Python 开发 Xilinx 平台更加容易。使用 Python 语言和库,设计人员可以利用 Xilinx SOC 器件如 ZYNQ 的可编程逻辑 PL 和微处理器 PS 的优势来构建功能更强大的电子系统。

matlab与FPGA数字滤波器设计(4)—— Vivado DDS 与 FIR IP核设计 FIR 数字滤波器系统

本讲使用两个 DDS 产生待滤波的信号和matlab产生带滤波信号,结合 FIR 滤波器搭建一个信号产生及滤波的系统,并编写 testbench 进行仿真分析,第五讲、第六讲开始编写 verilog 代码设计FIR滤波器,不再调用IP核。

Vivado HLS的接口描述

我们在进行HLS编译的时候会设置顶层文件,顶层文件中包括形参、返回值等等。这些映射到硬件电路中会产生信号,这些信号具体又遵循什么样的接口描述我们需要设置,这不仅可以帮助我们设置更优的约束条件使得编译出来的硬件电路更加完美,更重要的是可以让我们精确了解端口所遵循的时序

matlab与FPGA数字滤波器设计(3)—— Matlab 与 Vivado 联合仿真 FIR 滤波器

本讲使用matlab产生待滤波信号,并编写testbench进行仿真分析,在Vivado中调用FIR滤波器的IP核进行滤波测试,下一讲使用两个DDS产生待滤波的信号,第五讲或第六讲开始编写verilog代码设计FIR滤波器,不再调用IP核。

TVM编译器

TVM最大的特点是基于图和算符结构来优化指令生成,最大化硬件执行效率。其中使用了很多方法来改善硬件执行速度,包括算符融合、数据规划、基于机器学习的优化器等。它向上对接Tensorflow、Pytorch等深度学习框架,向下兼容GPU、CPU、ARM、TPU等硬件设备。

matlab与FPGA数字滤波器设计(2)——Vivado调用IP核设计FIR滤波器

本讲在Vivado调用FIR滤波器的IP核,使用上一讲中的matlab滤波器参数设计FIR滤波器,下两讲使用两个DDS产生待滤波的信号和matlab产生带滤波信号,结合FIR滤波器搭建一个信号产生及滤波的系统,并编写testbench进行仿真分析

matlab与FPGA数字滤波器设计(1)——通过matlab的fdatool工具箱设计FIR数字滤波器

本文以99阶FIR低通滤波器为例,学习使用matlab的fdatool工具箱设计滤波器,并将滤波器系数导出到.coe文件,联合Vivado进行FPGA的FIR滤波器设计

赛灵思Vitis AI开发环境的正确安装姿势

赛灵思Vitis AI开发环境的正确安装姿势