作者:ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“pwm_led”。...
技术
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
Schedule是和硬件体系结构相关的一些列优化,Halide在其文章中对其做了以下定义:
1 When and where should be the value at each coordinate in each function be computed?
2 Where should they be...
作者:ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“key_test”。...
作者:Wen Chen,文章来源: 赛灵思中文社区论坛
注意:本论坛博客所有内容皆来源于Xilinx工程师,如需转载,请写明出处作者及赛灵思论坛链接并发邮件至cncrc@xilinx.com,未经Xilinx及著作权人许可,禁止用作商业用途
说起高层次综合技术(High-level synthesis)的概念,现在有很多初学者简单地把它理解为可以自动把c/c++...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“fifo_test”。...
作者:刘欢,来源:网络交换FPGA 微信公众号
前段时间,本公众号发布了《FPGA是网络交换领域的不二选择》的文章,文章引用了丛京生老师在2020年ASP-DAC会议上对于FPGA的一段有关硬件可定制计算具有巨大优势的论述,而FPGA作为一种能够实现可定制计算且灵活可编程的载体,具有无与伦比的天然优势,对此,小编也深以为然。但是,换个角度来思考问题,FPGA是唯一实现可定制计算的载体吗?...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“rom_test”
FPGA本身是SRAM架构的,...
描述
DONE 变为高电平后应给 CCLK 应用多少个时钟周期以确保我的 FPGA 器件完全工作。
解决方案
DONE 由 Startup 序列释放,表明配置已经完成。
此状态是使用 BitGen "-g DONE_cycle" 选项定义的。默认情况下,DONE 在周期 4 中变高。
DONE 说明配置已经完成,且所有数据都已载入,但应应用一些额外的时钟周期,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
接着上一章继续深入代码,在BuildRelay中会调用Codegen函数。这个函数实现在src/relay/backend/graph_runtime_codegen.cc中。Codegen实现了内存的分配,IR节点到TIR节点的转换,tir图节点的一个调度优化。内存分配由函数relay.backend....
Zynq UltraScale+ MPSoC VCU DDR 控制器是一款专用 DDR 控制器,只支持在 Zynq UltraScale+ MPSoC EV 部件上与 Zynq UltraScale+ MPSoC VCU(H.264/H.265 视频编解码器)连用。
因此,调试将不同于 MIG 等传统 Xilinx DDR 控制器。
DDR PHY 与电路板调试:
Zynq...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“ram_test”。
RAM是FPGA中常用的基础模块,...
作者:George Wang, XILINX开发者社区微信公众号
本客座文章特邀赛灵思 AI 和 AIE 软件产品高级经理 George Wang 撰写。
赛灵思 MATLAB...
描述
使用 2018.2 Ultra96 PetaLinux BSP 构建图像时,如果我在 Matchbox 桌面点击关断图标,电路板不关断。
服务器窗口会关闭,屏幕变为空白,但电路板还在运行。
解决方案
在 Ultra96 电路板的 2018.2 PetaLinux BSP 中,这是一个已知问题。
解决该问题,请按以下步骤操作。
1.在 meta-user...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“led”。
对于ZYNQ来说PL...
作者:猫叔 来源:科学计算Tech微信公众号
用过Matlab的同学应该都知道,Matlab的慢是出了名的,但是再慢也有优化的方式,下面我们给出几个Matlab编程中常用的优化技巧。
在讲优化方法之前,首先要说的就是Matlab中用tic toc的方式来计算运行时间,这是个常识。当然,想统计具体的耗时,可以用profile工具。
1. 向量化操作
...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
实验Vivado工程为“pll_test”。...
描述
为 VCU129 开发板提供的 BOARDUI.exe 可用于为板载 Si5348 时钟模块编写程序。
默认频率为 156.25Mhz,该频率的设置文件在 BOARDUI 的 clockFiles 目录下提供。
如何修改时钟频率?
解决方案
为 Si5348 提供寄存器设置的文件是使用时钟构建器专业版构建的。
要将时钟设置为所需的值,可以使用以下工具。...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
适用于板卡型号:
AXU2CGA/AXU2CGB/AXU3EG/AXU4EV-E/AXU4EV-P/AXU5EV-E/AXU5EV-P /AXU9EG/AXU15EG
简介
本文主要介绍verilog基础模块,夯实基础,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
TVM主要的编译过程如下图:
Import:将tensorflow,onnx,pytorch等构建的深度学习模型导入,转化成TVM的中间层表示IR。
Lower:将高层IR表示转化成低阶TIR表示。
Codegen:内存分配和硬件可执行程序生成。
图导入...
本文转载自:PYNQ开源社区微信公众号
感兴趣者可与 pynq_china@xilinx.com 联系,共同合作拓展项目。
NeoPixel介绍
NeoPixels是数字控制的红、绿、蓝像素。由于每种颜色都由8位表示,总共24位,因此每个像素可以显示16777216种颜色中的一种。
每个NeoPixel实际上是一个WS2812 LED。这些LED包含五个输入端,...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
简介
AXU2CGA/B的特点是体积小并扩展了丰富的外设。主芯片采用Xilinx公司的Zynq UltraScale+ MPSoCs CG系列的芯片,型号为XCZU2CG-1SFVC784I。AXU2CGA的PS端挂载了2片DDR4(2GB,32bit)...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
算符融合将多个计算单元揉进一个计算核中进行,减少了中间数据的搬移,节省了计算时间。TVM中将计算算符分成四种:
1 injective。一一映射函数,比如加法,点乘等。
2 reduction。输入到输出具有降维性质的,比如sum。
3 complex-out。这是计算比较复杂的,比如卷积运算等。
4...
作者: ALINX
* 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处。
简介
Zynq UltraScale+ MPSoC系列是Xilinx第二代Zynq平台。其亮点在于FPGA里包含了完整的ARM处理子系统(PS),包含了四核Cortex-A53处理器或双核Cortex-A53加双核Cortex-R5处理器,...
本文作者陈雯,Tools Product Applications Engineer, WTS China.
本文给想直接使用Vitis HLS 工具在 Standalone 模式下调用 Xilinx Vision Library L1 API 的小伙伴提供了一个非常容易上手的脚本文件。
在论坛上遇到在高层次综合工具中调用视觉库遇到的大多数问题都和 opencv 库以及Xilinx...
作者: Clive Maxfield,本文转载自:得捷电子DigiKey微信公众号
Xilinx的FPGA、SoC、MPSoC、RFSoC和ACAP产品介绍
Xilinx提供各种各样的可编程器件产品,性能和功能从中等到极高都有。范围从传统的FPGA到SoC(具有单个硬核心处理器的FPGA可编程结构)、MPSoC(具有多个硬核心处理器的FPGA可编程结构)、RFSoC(...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
1. Xilinx backend
Xilinx为MPSoC支持4种libMali的backend: X11, Wayland/GBM, Fbdev, Headless-EGL。
2. QT
QT支持4种plugin(插件)或者backend,FB,X11,Wayland,eglfs。...
本文转载自:网络交换FPGA微信公众号
近年来,随着集成电路工艺的不断进步,大数据与人工智能的兴起,数据中心的网络负载愈来愈高,然而由于摩尔定律和Dennard缩放定律的失效,通用处理器依靠加深流水线深度和增加多核并行都受到功耗墙和存储器墙的限制。星球级算力需求的增加促使定制化硬件逐渐兴起(见公众号文章:未来已来:ASIC云和行星级应用程序的数据中心),从RDMA到RoCE...
本文转载自: PYNQ开源社区微信公众号
感兴趣者可与 pynq_china@xilinx.com 联系,共同合作拓展项目。
这项工作是由加州州立理工大学波莫纳分校、C3SR的产学合作课程设计项目。该项目的目标是创建一个通用的运动控制器,与任何运动控制系统或设备兼容,解决工业和开源运动控制器中的问题,同时也相对便宜,易于对创作者群体进行扩展。项目在PYNQ框架下开发了可重构运动控制器...
本文转载自:Xilinx技术社区微信公众号
BSCANE2 模块是 FPGA 中的一个特殊硬核模块,是联通外部 JTAG 管脚和 FPGA 内部用户逻辑的一个接口。BSCANE2 的定义和端口描述,可以在对应器件的 Libraries Guide中找到。
比如7系列的定义可以参考 UG768,第4章。
其基本功能介绍,请参考 UG470, 第10章。
在 FPGA 中,...
描述
Xilinx 用两个 96 位独特器件标识符(称为器件 DNA)为每个 Zynq UltraScale+ 器件编程。
一个 DNA 值位于可编程逻辑 (PL) 中,另一个 DNA 值位于处理系统 (PS) 中。
这两个 DNA 值是不同的,但每个 DNA 都有以下属性及读取访问方法。
DNA 位置
大小...
视频:https://www.bilibili.com/video/BV1py4y1S7Bz/
Ultra96 board相关文档下载(开发板介绍/原理图/硬件使用手册/参考设计等有用资源)
http://zedboard.org/product/ultra96
https://www.96boards.org/documentation/consumer/ultra96...
作者:Quenton Hall,赛灵思工业、视觉、医疗科学 AI 系统架构师
神经网络可以被归类为一组大致模仿人脑建模方式的算法,能够通过引入新数据来完成“学习”过程。因此,开发专用的“计算高效型”神经网络模型,会为机器学习带来诸多好处。
然而,如何才能确保模型的高效性,关键点之一是在实现推断加速器(广义的硬件加速器)时应采用何种方式访问存储器,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
使用FPGA进行神经网络加速需要编译器的支持,因为一个复杂的神经网络会产生大量的指令,手写指令不能满足通用化要求,费时又费力。编译器依据神经网络的图结构,产生硬件可执行指令序列。从广义上讲,编译器包括了前端和后端,前端主要实现从tensorflow等深度学习框架描述的网络结构形式到新表示的转化,...
描述
在 I2C 接口中意外启用写入时, UltraScale 器件的 HW-SYSMON 出现问题。
这将使攻击者可直接写入接口。
有关技术细节,请参阅 (Xilinx Answer 71744)。
有关如何注册接收新设计咨询通知,请参阅(Xilinx Answer 18683)。
解决方案
此问题有两种解决方案。
如果您需要 SYSMON:
从器件内部监视...
本文转载自:Xilinx技术社区微信公众号
本文来自Grace Sun, Xilinx Senior Tools Applications Engineer
用户在用第三方仿真器对Vivado设计做仿真的时候,面临的第一个任务就是做仿真库的编译。事实上,后续相当一部分碰到的问题都与仿真库编译相关。今天,我们就来梳理一下关于仿真库编译的方方面面。
为什么需要单独编译仿真库...
本文转载自:hankf@xilinx.com,文章转载自:PYNQ开源社区微信公众号
感兴趣者可与 pynq_china@xilinx.com 联系,共同合作拓展项目。
3D视觉数据与我们的生活已经密不可分,在无人机测绘、实时摄影测量、AR/VR等领域有许多应用。视频的实时处理需要大量的计算,而无人机等移动应用需要低功耗便携式设备。...
Zynq UltraScale+ MPSoC VCU DDR 控制器是一款专用 DDR 控制器,只支持在 Zynq UltraScale+ MPSoC EV 部件上与 Zynq UltraScale+ MPSoC VCU(H.264/H.265 视频编解码器)连用。
因此,调试将不同于 MIG 等传统 Xilinx DDR 控制器。
DDR PHY 与电路板调试:
Zynq...
描述
JEDEC LPDDR4 规范 JESD209-4B 的最新发布版本引入了在每次写操作突发前后都将 DQS_c 驱动至高位并保持一段时间的要求(4.13 写操作和屏蔽写操作 DQS 控制信号(WDQS 控制信号)),其详情如下:
“部分旧产品可能未提供下述 WDQS 控制信号。但是,为了防止出现写操作前同步信号相关故障,强烈建议为对应 LPDDR4-SDRAM 的两项 WDQS...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
Zynq-7000和MPSoC有很多MIO管脚。如果外设有中断,也可以通过MIO驱动。
GPIO中断控制器
按下列模式,在GPIO的设备树里声明为中断控制器
&gpio0 {
#interrupt-cells = <2>;
interrupt-...
描述
在路由设计上使用-max_strategies 选项运行 report_qor_suggestions Tcl 命令时,会发生以下错误:
report_qor_suggestions -max_strategies 1
ERROR: [Common 17-69] Command failed: '-max_strategies' requires '-strategy' to...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
PetaLinux(Yocto)里包含很多软件模块。大部分模块可以直接使用。如果有特殊需求,需要修改某些模块时,可以按下列办法先修改,测试成功后,再创建补丁,集成到PetaLinux(Yocto)工程里。
比如客户需要修改xorg.conf,可以采用下列方式完成。
选择工具devtool...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
在调试模式下,Xil_Assert系列宏会调用Xil_Assert来检查参数是否正常。如果不正常,缺省情况下,没有打印,会进入死循环。
通过调用void Xil_AssertSetCallback(Xil_AssertCallback Routine), 设置回调函数, 可以自己处理失败情况,比如增加打印...
本文转载自:Xilinx技术社区微信公众号
lspci 命令和 setpci 命令均为 Linux 发行版中原生可用的命令。
这 2 条命令均可提供多级输出,适合在不同时间点用于查看 PCI 总线上训练的不同组件的功能和状态。其中大部分功能均可反映《PCI Express 基本规范》中所需的配置空间寄存器。与大部分命令一样,在 Linux 中可通过运行“lspci --help”...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
在VCU TRD 2019.1的Linux里,使用devemem读写内存,得到错误“devmem: mmap: Operation not permitted”。
root@zcu106_vcu_trd:~# devmem 0x40000000
devmem: mmap: Operation not...
作者:Scott Schweitzer,赛灵思技术布道师
过去三十年间,基于服务器的计算历经多次飞跃式发展。上世纪 90 年代,业界从单插槽独立服务器发展到服务器集群。紧接着在千禧年,产业首次看到双插槽服务器,再后来,多核处理器也问世了。进入下一个十年,GPU 的用途远远超出了处理图形的范畴,我们见证了基于 FPGA 的加速器卡的兴起。
随着 2020 年的到来,智能网卡,...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
更换PetaLinux工程的HDF/XSA文件后,PetaLinux工程编译出现FSBL do_configureh错误。使用命令“petalinux-build -x mrproper -f ”,彻底清除工程,再编译工程,不再有问题。
错误记录如下:
DEBUG: Executing shell...
本文转载自:PYNQ开源社区微信公众号
感兴趣者可与 pynq_china@xilinx.com 联系,共同合作拓展项目。
冬天快要到了,细菌们到了卷土重来的季节,那么为了针对细菌的抗生素耐药性,我们该怎么快速地发现对应的药物呢?来自思克莱德大学(University of Strathclyde)的Ryan Greer在OpenHW2020中,利用了PYNQ上的支持向量机,...
作者:付汉杰,hankf@xilinx.com,文章转载自:赛灵思中文社区论坛
使用Xilinx VCU TRD 2020.1 Audio工程测试1080p yuv422 10bit编码,软件报告VCU能力不足,错误信息是“Codec error: Channel creation failed, processing power of the available cores...
描述
当您多次执行 RPU 的挂起/恢复时,它只在挂起/恢复的第一个周期起作用。
在挂起/恢复的第二个周期,RPU 在第一次 IPI 调用时挂起。
解决方案
请使用附件中的补丁并将其应用到本地的 embeddedsw repo 中。
1) 克隆 embeddsw git 版本库,并检查 release-2019.2 分支:
$ git clone https://...
Linux 嵌入式设计中最基本的任务之一是创建用户应用程序。
在本篇博文中,我们将探讨如何在 Vitis™ 中使用 UIO 驱动框架创建简单的 Linux 用户应用。
1. 硬件设计
本次使用的是 Zynq UltraScale+ MPSoC ZCU104 评估板。但是,无论您使用任何器件,下列步骤都应适用。
先使用 Vivado® 来创建了块设计。建立了 Zynq...