跳转到主要内容

博客

Vitis下测试Zynq硬件平台

在Zynq开发时,在Vivado中新建Zynq硬件平台,加入DMA、AXI接口模块,在进行构建软件系统之前,通常需要对硬件平台进行验证,检测模块新建过程中是否存在问题。下面对这一过程进行简单介绍。

基于Vitis HLS加速图像处理

Vitis Vision库是OpenCV和Vision功能的加速库,可在Vitis环境中使用,这些库的L1目录是示例设计。为了适应各种用户环境,从2020.1版本开始,Xilinx不再使用Vivado / Vitis工具提供预安装的OpenCV版本。尽管Vitis_hls编译Vision库不需要OpenCV,但是用户测试验证使用时OpenCV。

Vitis AI - 如何利用张量提升内存使用效率

在数据处理中,对原始数据进行重塑或重新排序并创建多个副本是很常见的行为。无论执行任何新步骤,都会创建新副本。随着程序的增大,占用的内存也会增大,我几乎从未考虑过这个问题,直到遇到了“内存不足”错误。

关于Xilinx Vitis 2020.1里面MicroBlaze软核的sleep函数卡死的问题

在Vitis里面创建了一个LwIP工程,调试的时候发现,在BRAM里面运行正常,但如果改到DDR3内存里面运行,启动时就会卡死在sleep函数上。于是建立了一个Hello World工程来检查,代码如下:

Vivado快捷创建Vitis工程 (无需创建Platform Project)

Vivado 2019.2开始就没有SDK了,需要在Vitis上创建应用工程。网上大部分都是创建Platform Project再创建Application Projet,然后在Application Projet里导入平台文件。其实一个简便的方法是直接创建Application Projett导入平台文件。

ZYNQ学习之路——DNNDK简介与环境配置

深鉴科技的DNNDK,是一个基于xilinx FPGA的SDK端的深度学习开发工具包,能够快速的实现深度学习的硬件化。本文来了解深鉴科技DNNDK内容。

Zynq-PS-SDK(1) 之 MIO 使用

Zynq 7020 的 PS 端(ARM 端)的外设 IO(也叫 IOP)分为 MIO 和 EMIO,他们有什么区别呢?

ZYNQ学习之路——在SDx中使用xfOpenCV图像加速处理

本文以Zturnboard为例介绍如何在SDSoC中使用OpenCV,本文在Ubuntu 16 64位,SDSoC2018.2(安装在ubuntu中)中测试通过。

Xilinx Vivado 2020.1里面AXI Interrupt Controller无法选择中断的个数

虽然看起来AXI Interrupt Controller的intr[0:0]位宽无法修改,但实际上,添加一个Concat IP,这个IP可以设置In0的个数,设置为2。In0连接上中断线后,再把dout和intr相连

false path和asynchronous的区别

在FPGA的开发中,对于两个异步时钟,如果我们可以在RTL的设计中保证这两个时钟域之间的处理都是正确的,那就可以让工具不分析这两个时钟域之间的交互。

【教程】Xilinx Vivado/Vitis 2020.1创建最简单的MicroBlaze工程运行Hello World C语言程序(不使用外部DDR3内存),并固化到SPI Flash

本教程以米联客XC7A35T FGG484-2开发板为例,详细讲解一下用Xilinx Vivado 2020.1创建MicroBlaze软核工程,然后再用Xilinx Vitis 2020.1建立Hello World C程序工程的完整操作步骤。

ZYNQ学习之路——创建基于Linux系统的SDSoC平台

在第三节中,我们成功创建了ZYNQ裸机下的SDSoC平台文件,但在实际使用中,要求使用Linux操作系统。本节介绍如何创建基于Linux系统的硬件平台。

PYNQ在PS端进行图片缩放

在完成PYNQ环境搭建后(zynq7035单板创建PYNQ镜像V2.6),本文介绍如何在PS端进行图片缩放。

Xilinx FPGA的DNA是什么?

对于Xilinx的FPGA,每一片都有一个专门的ID,就像我们的身份证号一样,每个都不一样,Xilinx也形象的把这个ID叫做DNA。7系列以及之前FPGA的DNA有57bit,Ultrascale FPGA的DNA有96bit,Zynq Ultrascale+的FPGA有两个DNA,PL端一个,PS端也有一个。

Xilinx约束学习笔记(二)—— 定义时钟

为了获得最佳精度路径覆盖信息,必须正确定义时钟。

时钟要定义在时钟树的根 pin 或 port 上,称为 source point。
时钟的边缘应该由周期和波形进行组合描述。
周期使用纳秒做为单位进行定义。它对应于波形重复的时间。

ZYNQ学习之路——自定义SDSoC硬件平台

在前面的学习中,我们已经学会了使用Vivado及SDK开发环境,熟悉了硬件开发与Linux软件驱动之间的联系及开发流程。本系列教程我们学习SDSoc的开发,在SDSoc IDE中,Xilinx为我们集成了比较流行的开发板硬件平台,如果我们使用的是其中的一个,可以直接使用。但笔者使用的是米尔科技的7z010开发板,在开发之前首先要定义我们自己的硬件平台,作为之后创建应用的模板工程

Xilinx Vitis 2020.1用SREC SPI Bootloader固化Microblaze程序,断电再通电后程序运行不了的解决办法

FPGA的型号为XC7A35TFGG484-2,开发板用的是米联客的。主程序hello_world运行于外部DDR3内存,SREC SPI Bootloader运行于FPGA片内BRAM。

Xilinx约束学习笔记(一)—— 约束方法学

Xilinx 建议将时序约束和物理约束分开保存为两个不同的文件。甚至可以将针对某一个模块的约束单独保存在一个文件中。可以使用 USED_IN_SYNTHESIS 和 USED_IN_IMPLEMENTATION 属性指定约束文件是在综合或实现过程中使用。

ZYNQ学习之路——SDSoC开发环境介绍

本节教程介绍如何使用SDSoC软件创建硬件平台,并且使用它来加速程序函数。

Xilinx Ethernet MAC IP调试的小坑

本篇文章要写的是调试Xilinx网络IP时踩到的一个坑,也是控制PHY芯片时的一个坑,板卡上的PHY芯片是非常经典的88E1111,使用MDIO接口控制。