Xilinx新一代 SOC,Zynq UltraScale+ MPSOC系列性能强悍无比,相比ZYNQ 7000系列每瓦性能提升5倍,作为一 名电子发烧友,都想体验一把这高性能的MPSOC开发板。现在用米尔MPSOC开发板来一个hello world。
MYD-CZU3EG产品介绍: http://www.myir-tech.com/product/myc-czu3eg.htm...
技术
01. 下载modelsim软件
下载modelsim,这里用的是modelsim10.4版本。链接:https://pan.baidu.com/s/1qSZ_X9UhrII3E2N6-yOsuw
提取码:6aof
完成下载和安装,在安装文件夹中可以看到uvm-1.1d,这是我们使用的uvm版本。在uvm-1.1d/win64下有uvm_dpi.dll文件,...
在实际开发中,我们会经常使用到LCD屏,LCD屏的种类有很多种,对应的使用方法也有所不同,但是,在ZYNQ 图像传输开发中,思路大体类似,下面介绍在ZYNQ中,使用LCD显示OV5640图像方法。
1.1 概述
总体来说,搭建LCD显示的工程架构同之前搭建OV5640 HDMI显示的工程类似,采集输入端、VDMA处理、显示输出端,这里变化的是显示输出端...
5G是目前通信设备领域的市场趋势, Massive MIMO指的是64T64R应用中常用的多输入和多输出, 更多的发送器和接收器通道需要更多的数字处理器(FPGA / ASIC)来执行数据传输,而典型的64T64R MIMO应用中通常需要4-5个数字处理器。 每个FPGA都需要自己的电源上电/下电的时序,以便FPGA能够正常工作。 在下面的图1中,是典型的64T64R Massive...
据麦姆斯咨询介绍,典型的机器视觉系统主要由光源、镜头、工业相机、图像采集卡或图像处理器,以及控制输出单元等硬件构成。其中,工业相机是机器视觉系统最核心的组件,其本质的功能就是将光信号转变成为有序的电信号,再将该信号模数转换并送到处理器后以完成图像的处理、分析和识别。选择合适的工业相机是机器视觉系统设计的重要环节,工业相机类型不仅直接决定所采集到的图像分辨率、图像质量,...
Alveo U50:业界首款面向任意数据中心和各种云的自适应计算、网络和存储加速器卡
赛灵思 Alveo™ U50 数据中心加速器卡为金融计算、机器学习、计算存储以及数据搜索和分析领域的工作负载提供优化加速功能。U50 基于赛灵思 UltraScale+™ 架构,采用高效的 75 瓦封装,外形小巧,U50 包括 带宽为 460GB/s 的 HBM2,100GbE 网络和 PCI...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
引言
这篇文章介绍一种不同于针对压缩单个权重的方法:多个权重数据组合为向量,将向量视为一个整体,映射到其他向量空间,完成压缩。作者在resnet-50上做了实验,将100MB权重压缩到了5MB(实现了20倍压缩比例),同时在imageNet上测试的top-1精度保持的很好(76.1%)。Resnet是一种经典的残差网络,...
数据类型
基本数据类型:
整型(int),浮点型(float),字符串(str),列表(list),元组(tuple),字典(dict),集合(set),布尔(bool)
数值类型(整数,浮点,布尔)
序列类型(字符串,列表,元组)
散列类型(字典,集合)
字节类型 a=bytes(‘123’)/a=b’123’
字节数组bytearrary(‘123’)
可变序列:...
1、不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理。
FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道。因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其它软件编程语言一样。一条条的读,一条条的分析。如果这些菜鸟们始终拒绝去了解为什么FPGA是可以编程的,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
引言
网络压缩在AI加速中可以说起到“四两拨千斤”的作用,网络参数的减小不仅仅降低了存储和带宽,而且使计算逻辑简单,降低了LUT资源。从本篇开始,我们就一起挖掘一下网络压缩算法的类型,原理,实现,以及效果。写这类算法类文章,一是学习,二是希望能够令更多做FPGA的人,不再将眼光局限于RTL,仿真,调试,关心一下算法,...
作者:hankf,Xilinx Employee
使用前,执行命令source /opt/Xilinx/SDK/2019.1/settings64.sh ,导入相关路径,就可以。
xilinxtool$ find -name aarch64-linux-gnu-gcc
./peta/2018.1/tools/linux-i386/aarch64-linux-gnu/bin/...
Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等;如果从时钟发送者的角度分,还可以分为主动Master(即由FPGA自己发送配置时钟信号CCLK)和被动Slave(即由外部器件提供配置所需要的时钟信号);另外还可由板上稳定晶振提供时钟信号,经由FPGA的EMCCLK接口,再从CCLK端口送出。
如此多的配置形式,一旦发生配置失败怎么办?...
作者:Del Jones,ADI应用工程师
在JESD204C入门系列的 第1部分 中,通过描述它解决的一些问题,对JESD204标准的新版本进行了说明。通过描述新的术语和特性来总结B和C版本标准之间的差异,然后逐层概述这些差异。因为第1部分已经奠定了理解基础,现在我们来进一步研究一下JESD204C标准几个更值得注意的新特性。
64b/66b和64b/80b链路层
对于64b/...
作者:hankf,Xilinx Employee
PetaLinux工程编译后,会生成很多临时文件,占用较大的硬盘空间。软件人员可能有很多PetaLinux工程。这种情况下,对于暂时不用的工程,可以删除其中build目录下的临时文件。
下面三个脚本,可以搜索当前目录下的所有PetaLinux工程,并删除其中build目录下的临时文件。由于安全限制,删除了脚步的第一行“#!/bin/...
作者:hankf,Xilinx Employee
独立编译VCU Ctrl-sw的办法
1. 安装PetaLinux
2. 导入PetaLinux环境
source /opt/Xilinx/peta/2018.2/settings.sh
创建和导出编译的环境变量
export ARCH=arm64
export CROSS_COMPILE=aarch64-...
1.1 概述
下面向大家介绍了使用HLS封装的缩放IP来实现视频图像缩放功能。将HLS封装的缩放IP加入到OV5640图像传输系统,验证图像放大和缩小功能。
测试使用模块:OV5640摄像头,LCD (RGB接口) 屏。
放大测试:将720P分辨率图像放大到1080P。
放大测试:将640x480分辨率图像放大到1024x600
缩小测试:...
作者:hankf,Xilinx Employee
PetaLinux 2019.1 对ssh引入了更安全的选项,缺省使用选项-w,禁止了root登陆ssh。 这样虽然更安全,但是在调试时不方便。 在串口登陆后,可以使用下列脚本,杀死缺省dropbear的进程,重新启动dropbear。
#!/bin/bash
PID=$(ps -e|grep dropbear | grep...
作者:徐伟杰,谢永乐,彭礼彪,沈北辰,来源:2019年电子技术应用第7期
摘要: 为提高辐射环境中电子系统的可靠性,提出了一种基于SRAM型FPGA的实时容错自修复系统结构和设计方法。该设计方法采用粗粒度三模冗余结构和细粒度三模冗余结构对系统功能模块进行容错设计;将一种细粒度的故障检测单元嵌入到各冗余模块中对各冗余模块进行故障检测;...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
AIX(artificial intelligence aXellerator)是韩国SK公司为语音识别提供的一个解决方案,应用于微软的开源语音识别框架Kaldi。AIX使用了Xilinx的FPGA平台,充分利用了FPGA能提供的外存访问带宽和DSP资源。在自动语言识别(ASR)中,在性能和功耗上超过了分别超过了最领先的CPU...
注意:本博文介绍了利用 POST_CRC 试错的方法,但总体而言,赛灵思推荐在所有架构上使用 Soft Error Mitigation (SEM) IP。
SEM IP 提供了一种可用于测试 SEU 检测与纠正能力的机制并提供了更强大的调试能力。
本博文中讨论的功能仅受 7 系列器件的支持。
功能
7 系列...
作者:王少斌,苏淑靖,袁财源,来源:2019年电子技术应用第7期
摘要: 设计了一种基于HDMI接口的全高清(分辨率1 920×1 080)视频采集与显示系统,该系统以Xilinx公司Spartan6系列FPGA作为控制芯片,采用500万像素级别CMOS摄像头OV5640作为前端数据源,能够采集全高清视频信号;为了解决由于高速大容量视频数据缓存容量和速率不足导致的拖影现象,...
作者:hankf,Xilinx Employee
工程师可能同时使用多个Vivado工程,以便测试不同的硬件配置。所以需要让一个PetaLinux工程支持多个Vivado工程。
Vivado工程更改后,PetaLinux工程需要更新HDF文件。另外最好在PetaLinux工程里记录使用的所有硬件相关文件,比如bit、HDF文件等。以便将来检查对应的硬件设计。
下面是一个脚本,...
作者:默宸,来源:FPGA技术联盟
Vivado中提供了多种Debug的操作方式,下面就来总结一下:
1. 代码中例化ILA IP核
第一种,直接例化ILA IP核:
需要探测多少个信号,信号的位宽是多少,直接选择即可:
下面界面可以选择探测信号宽度以及触发方式:
可谓之简单粗暴,如果没人干预你,就这样用也没关系。之后直接在程序中例化即可...
转自:数据派THU,翻译:吴慧聪
简介
提示和技巧总是非常有用的,在编程领域更是如此。有时候,小小的黑科技可以节省你大量的时间和精力。一个小的快捷方式或附加组件有时会是天赐之物,可以成为实用的效率助推器。所以,我在这里介绍下自己编程时最喜欢使用的一些提示和技巧,在这篇文章中汇总起来呈现给大家。有些可能是大家熟悉的,而有些可能是新鲜的,我相信它们会为你下一次处理数据分析的项目时提供便利...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
引言
由于受到环境,光线等的影响,拍摄的照片清晰度和对比度比较低,不能够突出图像中的重点。图像增强就是通过一定手段来增强图像的对比度,使得其中的人物或者事物更加明显,有利于后边的识别等处理。本章介绍几个传统的图像增强算法,并给出matlab实现代码,看一看不同算法的实现效果,最后再介绍一下深度学习在图像增强上的应用...
作者:becomequantum,来源:FPGA开源工作室微信公众号
FPGA图像处理的前景如何?
匿名网友:
FPGA图像处理方面通常用于图像的预处理、如CCD和COMS相机中,以及ISP的研究开发;请问这一方向以后的前景如何?
becomequantum:
本人有过多年用FPGA做图像处理的经验,在此也谈一下自己的看法。用FPGA做图像处理最关键的一点优势就是:...
自80年代初引入模拟蜂窝网络以来,蜂窝通信已有了长足发展。如今,随着市场由4G向5G网络解决方案迁移,蜂窝通信行业正在为实现更快数据传输速度、更低延迟以及容量、用户密度和可靠性的巨大飞跃奠定基础。例如,5G不仅可以提高数据速率(100倍)和网络容量(10倍),还可将延迟大幅降低到 1ms以下,并同时实现数十亿互联设备近乎无处不在的连接,这些互联设备是不断增长的物联网(IoT)的一部分。...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
带宽是影响FPGA加速器的重要因素,因为大量的并行计算对数据量要求很大。如果加速器对数据的访问是不规则的,那么cache miss就会大大影响加速器性能。这篇来自FPGA2019会议的报告,向我们展示了如何来更好的处理cache miss问题,提高对缓存的利用率以及提高加速器效率。
1. Cache miss的问题...
作者:Hello,Panda ,来源:ZYNQ分享客
本文简要描述基于FPGA和万兆网的GigE Vison IP设计方案。
一、GigE Vsion协议要点
GigE Vison协议基于普通的以太网物理链路,运行在UDP协议层之上,包含控制协议GVCP和数据流协议GVSP两大部分,整个层次结构如下图1所示。
图1 GigeVison协议层次结构图
GigE...
从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了。这使用户能够在设计变化较小时减少总的综合运行时间。
Vivado IDE 和 Tcl 命令批处理模式都可以启用此流程。如需了解有关此流程的详情,请参阅《Vivado Design Suite 用户指南:综合》 (UG901)。
在我们开始讨论增量综合之前,我们先来讨论一下一些重要的概念,...
作者:梁云1991,来源: Python与算法之美
一,分析代码运行时间
第1式,测算代码运行时间
平凡方法
快捷方法(jupyter环境)
第2式,测算代码多次运行平均时间
平凡方法
快捷方法(jupyter环境)
第3式,按调用函数分析代码运行时间
平凡方法
快捷方法(jupyter环境)
第4式,...
作者:默宸,来源:FPGA技术联盟
图像处理简而言之就是对图像进行操作从而得到自己想要的结果,它是一个非常广义的概念,包含图像增强、图像复原、图像重建、图像分析、模式识别、计算机视觉等N多个应用方向。这些应用技术有许多在本质上是相通的,但是不同应用领域的关注点往往是不同的。
FPGA做图像处理的优势
用FPGA做图像处理最关键的一点优势就是:FPGA能进行实时流水线运算,...
作者:Hello,Panda,来源: ZYNQ分享客微信公众号(ZYNQfenxiangke)
前几天聊天聊到在Linux系统下调用SDK的gnu交叉编译工具链的问题,Panda同学是这么做的,简单写几句分享一下。按照正常套路,我们会专门下载第三方交叉编译工具链进行Xilinx器件的Linux开发(工具链获取:git clone https://github.com/xupsh/...
Verilog语言和VHDL语言是两种不同的硬件描述语言,但并非所有人都同时精通两种语言,所以在某些时候,需要把Verilog代码转换为VHDL代码。本文以通用的XHDL工具为例对Verilog转换到VHDL过程中存在的问题进行了总结,欢迎批评指正。
当我们刚开始学习FPGA时,一定会遇到一个问题:
学习Verilog还是VHDL?
等我们学习FPGA到一定程度参加面试时,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
本篇完成对HDMI显示代码的UVM仿真,梳理一下在windows-modelsim工具下UVM仿真环境的建立,调试以及遇到的问题。
仿真架构
仿真的架构在上一篇已经做了简要介绍,这部分做重点讲解。整体结构包括五个功能模块:image图像的随机化和驱动,软件端配置,图像监测,以及设计部分。如图1.1所示。...
介绍一篇在FPGA工程领域特别有价值的文章,虽然该文仅仅是EI检索,连SCI检索都不是,但其对深入理解FPGA动态可重构的概念却具有重要的参考价值。文章阐述了Xilinx FPGA可编程的本质,逆向分析破解了FPGA编程的bit流文件,并将其与FPGA内部电路相对应,对于深度理解动态可编程及FPGA电路结构具有重要的指导价值,LUT动态可编程使得FPGA内部的资源使用起来更灵活,...
引言:
UltraRAM 原语(也称为 URAM)可在 Xilinx UltraScale +™ 架构中使用,而且可用来高效地实现大容量深存储器。
由于大小和性能方面的要求,通常这类存储器不适合使用其他存储器资源来实现。
URAM 原语具有实现高速内存访问所需的可配置流水线属性和专用级联连接。 流水线阶段和级联连接是使用原语上的属性来配置的。
本篇博文描述的是通过将...
无线设备和其处理的数据量每年都呈指数递增(53% 复合年增长率[1])。随着这些设备产生并处理的数据量越来越多,连接这些设备的无线通信基础设施也必须持续发展才能满足需求。如图 1 所示,4G 网络频谱效率的提高已经不足以提供 3GPP[2] 定义的三大高级 5G 用例所需数据...
作者:默宸,来源:FPGA技术联盟
什么是Verilog HDL?
Verilog HDL (Hardware Description Language) 是一种硬件描述语言,可以在算法级、门级到开关级的多种抽象设计层次上对数字系统建模。它可以描述设计的行为特性、数据流特性、结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。此外,verilog提供了编程语言接口,...
作者:付汉杰,hankf@xilinx.com
1. 参考文档 1.1. AR69446
AR# 69446 Zynq UltraScale+ MPSoC Example Design - Use AXI HPC port to perform coherent transfers
1.2. Zynq UltraScale MPSoC Cache Coherency...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
引言
做图像处理没有显示怎么能行,所以用两章来介绍HDMI的协议以及编码实现。HDMI的编码,仿真和调试会花费较长时间,特别是第一次在windows环境下部署UVM环境,对于刚刚入门UVM的我来说,这块也花费了很长时间。截止目前设计和仿真的代码都已经做完。所以这章主要介绍HDMI的协议以及设计的架构,...
作者:Del Jones
许多行业的数据密集型应用持续突破界限,需要快速高效地传输有效载荷数据。5G通信网络系统要求基础设施及其连接器件具有更大带宽。在航空航天和防务行业中,这相当于雷达应用和复杂数据分析仪器要在更短的时间内处理更多信息。相应地,对快速增长的高带宽进行测试与分析便意味着需要使用速度更快、容量更大的电子测试设备。...
作者:Hello,Panda
一般情况下,我们会专门下载第三方交叉编译工具链进行Xilinx器件的Linux开发(工具链获取:git clone https://github.com/xupsh/Codesourcery.git)。但是,Xilinx在其SDK下集成了交叉编译工具链,如果安装了Vivado套件还要去第三方下载的话,就显得有些多余。假如当前为Vivado2019.1版本,...
实验室回来一批板子,上面有RGMII接口、SGMII接口等各种接口,怎么测试这些网口是否正常呢?的确需要一些经验。比如RGMII接口,最重要的是看在哪里去做的时钟和数据偏移。这时,常常需要使用VIO去读取PHY里面对应寄存器的值,看是否工作在正常RGMII接口时序模式。
测试场景
测试拓扑图如下
试场景连接图
测试方法:...
请注意:此博客使用了工具提示。在看到带下划线的单词的地方,请将鼠标悬停在单词上方查看解释!
引言
此博客面向想要开始使用 PetaLinux、了解其关键工具、概念和功能的任何人。在第一篇博客文章中,我们将介绍如何针对 ZCU102 开发板创建 PetaLinux 工程,以及如何修改镜像。
我会完成本教程中所需的基本步骤,但博客的范围有限。...
前言
根据美国土木工程师学会(ASCE)发布的2017年基础设施报告卡,美国614,387座桥梁中近40%至少有半个世纪的历史。2016年,近10%的车辆在结构上存在缺陷。平均每天有1.88亿辆车跨越结构上不足的桥梁。桥梁的管理者们不断寻找更能减小成本效益的方法来保持桥梁的良好维修。
面对人们总是需要主动修复破损桥梁的现状,需要有切实可行的方案进行桥梁损坏情况的维护与检测方式...
作者:Nick
写在最前面:
没错,我就是一名普普通通的工程师,有那么一两项能养活自己的技术。技术这个东西,如果只是用在工作岗位上的话,就是一个“搬砖”的工具,如果把它分享出来,没准还能碰撞出有意思的东西来,你们说是吧?
好了,这一系列博文教程叫做“FPGA软硬件加速入门”,顾名思义,就是利用FPGA本身的特点,在软硬件进行不同的系统分工,加速系统输出的速度(主要是计算),...
概述
当使用现代宽带数据转换器时,管理产生的高速串行数据流是一个巨大的挑战。ESIstream是一个开源的串行数据接口协议,成本极低,支持多种FPGA架构的简单硬件实现,并占用最小的资源。简单来说,它是JEDEC的JESD204B子集1和2标准的开源替代方案。另外,ESIstream可为用户带来很多好处,这里将讨论其中的一些,包括低复杂度、低链接延迟和实现确定性延迟的简单方案。...
作者:hankf
在VCU TRD 2019.1的Linux里,使用devemem读写内存,得到错误“devmem: mmap: Operation not permitted”。
root@zcu106_vcu_trd:~# devmem 0x40000000
devmem: mmap: Operation not permitted
在命令后添加选项“iomem=...
做FPGA样机和做芯片的思路其实是有差异的。为了追求好的性能,节省成本,降低功耗(PPA),芯片设计者往往把事情做到极致,去做验证时把各种覆盖率尽可能做到100%,把每个模块电路结构优化到面积最小,通过Power Gating和Clock Gating等技术把功耗降到最低,争取把每次流片(烧钱)的风险降到最低;相比芯片设计流程,FPGA样机的开发人员往往不太注重上述要求,...