作者:Susan Cheng,赛灵思北美工业视觉市场经理
自动化可重复的工作、自主做出复杂决定,机器人正借由效率的提升持续改变着未来工作模式。机器人适应环境变化的能力越强,其所能提供的价值就越大。
1. 为什么固定功能芯片已难以满足机器人行业需求?
长期以来,电子行业主要依靠 ASIC 提供机器人应用亟需的高性能和实时响应能力。然而,...
技术
本文转载自: XILINX开发者社区微信公众号
本篇博文中的分析是根据客户真实问题撰写的,该客户发现即使时序已得到满足的情况下,硬件功能仍出现错误。最后发现,问题与时钟域交汇 (Clock Domain Crossing) 有关,因此,本篇博文介绍了如何调试设计中的时钟域交汇问题。
问题说明:
在此设计中,用户生成了比特流并将其用于器件编程,在硬件上进行测试时,...
作者:Anthony DeSimone,ADI自动化、能源与传感器部门应用工程师;Michael Giancioppo,ADI FPGA系统应用工程师
JESD204B是近期核准的JEDEC标准,用于转换器与数字讯号处理组件之间的串行数据接口。它是第三代标准,进一步解决了先前版本的一些缺陷。这个接口的优势包括,数据接口路由所需电路板空间更少,建立与保持时序要求更低,...
作者: Simon Yang,本文转载自:Ingdan FPGA微信公众号
1. 为什么选择SRIO
随着PCIe接口、以太网接口的飞速发展,以及SOC芯片的层出不穷,芯片间的数据交互带宽大大提升并且正在向片内交互转变;SRIO接口的应用市场在缩小,但是由于DSP和PowerPC中集成了SRIO接口,因此在使用DSP/Power PC + FPGA的使用场景中仍然占有一席之地...
作者: HankFu,本文转载自:博客园
Xilinx的开发工具SDK/Vitis都可以自动根据Vivado设计,创建软件工程,自动配置各个外部设备的驱动程序。为了兼容旧版本工程,SDK/Vitis里提供了多个IP版本的驱动程序。如果在SDK/Vitis的软件工程里查看代码,驱动程序都是正确的。
如果没有工程,也可以在安装目录下查看代码,比如目录Vitis\2020.2\data\...
工业市场和医疗市场上的各类视觉应用,都期待摄影机的尺寸、速度、智能性和功耗水平能获得改善,特别是工业应用还对安全性、扩展温度效能和生命周期,有着更额外的要求。本文将探讨机器视觉、工厂自动化和机器人技术等应用中的部分此类需求。
工业摄影机制造商一直都面临着设计出更小尺寸产品的挑战。机器视觉摄影机与消费型摄影机解决方案不同,尤其是工厂自动化摄影机必须符合严格的成套标准和要求。...
介绍
自从非易失性存储器快车(NVMe)协议问世以来,数据中心客户广泛采用了这项新技术,它为存储应用带来了更高的性能和低延迟(Gupta,2018)。NVMe的功能集使该技术成为市场上增长最快的存储解决方案。国际数据公司预测,到2021年,基于NVMe的存储解决方案将产生超过50%的与主外部存储出货量相关的收入(Burgener,2019)。
BittWare提供FPGA加速解决方案,...
1. 介绍
最近陆陆续续有工程师拿到了VCK190单板。 VCK190集成了Xilinx的7nm AIE,有很强的处理能力。 本文介绍怎么运行Xilinx AIE的例程,熟悉AIE开发流程。
前一篇文章,Versal AIE 上手尝鲜 -- Standalone例程介绍了进行Standalone(BareMetal)程序开发的例子。
这一篇文章,...
作者:HankFu,本文转载自:博客园
介绍
PetaLinux 能够根据Vivado的设计,自动生成V4L2的Video Pipeline的devicetree。但是它主要为Xilinx的VCU TRD服务,测试的组合比较少。很多时候,需要根据自己的工程,修改V4L2的Video Pipeline的devicetree。
硬件设计
有项目需要对输入的视频,...
本文转载自:XILINX开发者社区微信公众号
随着设计复杂度和调用IP丰富度的增加,在调试时序约束的过程中,用户常常会对除了自己设定的约束外所涉及的繁杂的时序约束感到困惑而无从下手。举个例子,我的XDC里面并没有指定set_false_path,为什么有些路径在分析时忽略了?我怎么去定位这些约束是哪里设定的?
事实上,...
作者:HankFu,本文转载自:博客园
有工程师询问vcu-ctrl-sw里decoder的退出机制。 下面的内容,根据vcu-ctrl-sw 2020.2分析。
Decoder运行的主要代码是AsyncFileInput里的run(),以线程运行。run()里调用BasicLoader里的ReadStream(),不断读取文件()。如果读到文件结束,也就是uAvailSize为0,...
作者:https://www.cnblogs.com/hankfu/p/15076404.html,本文转载自:博客园
如果是VCK190 ES单板,需要在Lounge里申请"Versal Tools Early Eacess"; "Versal Tools PDI Early Eacess"的License,并在Vivado里使能ES器件。在Vivado/2020.2/scripts/...
为了提升计算基础设施的性能,并紧跟数据分析与 AI 不断攀升的需求,众多企业将硬件加速视为主要的解决方案。在大多数情况下,先进的可编程硬件(主要是指 GPU 和 FPGA)是加速的主要方式。通过使用这种先进的硬件,企业正在赢得计算优势;然而,对于编程难度,他们仍然存在合理的担忧。
图 1:分析/AI 流水线组件
硬件制造商正在将加速方法应用于计算存储,...
什么是 SOM (System-on-Module)?
SOM (System-on-Module) 在随时可投入生产的单块印刷电路板 (PCB) 上提供嵌入式处理系统的各种核心组件,包括处理器内核、通信接口和内存模块等。有了这种模块化方法,SOM 将成为嵌入各种终端系统的理想选择,从机器人到安全摄像头,无所不包。
SOM (System-on-Module)...
描述
问题版本:Vivado 2020.2
已解决问题的版本:请参阅(赛灵思答复记录 75764)
本设计咨询涵盖如下 Versal DDRMC 设计:使用对应 LPDDR4 和 x8 或 x16 DDR4 组件接口的 DQS 字节组管脚交换所生成的设计。
执行 DQS 字节组交换时,根据 Versal DDRMC 架构,要求 DQS 对必须与 DQS 对进行交换,同样地...
作者:Charles Xu,本文转载自: Ingdan FPGA微信公众号
本文主要包含MultiBoot的功能简介、流程介绍和工程实现几个部分的讲解。
我们先从它的功能介绍讲起来;MultiBoot功能是大部分Xilinx FPGA可以实现的固有特性;其主要优点如下所示:
1、我们可以把多个bitstream存储在配置Flash中,...
大多数FPGA程序员认为,高级工具总是发出更大的比特流,作为提高生产率的"成本"。 但事实总是如此吗?在本文中,我们展示了一个真实的例子,我们使用传统的RTL/Verilog工具创建了一个常见的网络函数RSS,然后在相同的硬件上使用高级合成(HLS)。 我们发现令人惊讶的是:HLS方法实际上使用了较少的FPGA门和内存。这是有原因的。
HLS的FPGA开发方法是只抽象出可以在C/C++...
本篇文章来自赛灵思高级工具产品应用工程师 Hong Han
本篇博文将继续介绍在Vitis中把Settings信息传递到底层的Vivado。
对于Vivado实现阶段策略的指定:
--vivado.impl.strategies
举例设置需要尝试的实现策略:
--vivado.impl.strategies "Performance_Explore,...
描述
该设计咨询涵盖如下 UltraScale+ GTH/GTY 收发器问题,即 GTPOWERGOOD 在上电后可能无法断言有效。
所有 UltraScale+ GTH/GTY 收发器中均包含 *_delay_powergood.v 模块。
GTH/GTY 设计的部分构建中来自 *_delay_powergood.v 模块的 GTPOWERGOOD 可能保持处于低电平,而同时...
本文转载自:XILINX开发者社区微信公众号
本篇文章来自赛灵思高级工具产品应用工程师 Hong Han
在Vitis 统一软件平台中使用v++ -link命令,可以把各种类型Kernel(C, C++, OpenCL™ C, 以及 RTL)的对象文件(.XO)整合到目标平台中,最终生成器件的二进制文件XCLBIN
在Vitis完成这个过程的底层,实际调用的是Vivado...
本文转载自:AI加速微信公众号
DNN加速器的设计一直在两个方面使力:通用架构和高效性能。通用性需要自顶向下的设计,首先综合各种神经网络的算子设计一套标准的指令集,然后根据硬件平台的特点,考察计算资源,存储资源以及带宽,进行硬件的模块化设计,在指令集以及硬件的特殊结构基础上,再去构建工具链。
通用性要看的广,指令集的定义要具有扩展性和灵活性,工具链要能够灵活的对接不同的深度学习框架,...
作者: Tawfeeq Ahmad,本文转载自:Digikey
以太网技术继续向更高、更优的性能和功能水平不断迈进。万兆以太网 (GbE) 有望满足苛刻的市场需求,提升性能并仍能兼容之前的各种变型。
它可以满足高性能实时系统、云计算、零延迟传输系统和高性能嵌入式计算 (HPEC) 的苛刻需求。它也是高速处理器之间和 I/O 通信的可行性选择。
iWave 提供的解决方案
在...
本文转载自:XILINX开发者社区微信公众号
本篇是利用 Python 和 PyTorch 处理面向对象的数据集系列博客的第 3 篇。
如需阅读第 1 篇,请参阅此处。
如需阅读第 2 篇,请参阅此处。
第 3 部分:repetita iuvant(*):猫和狗
(*) 是一个拉丁语词组,意为“水滴石穿,功到自成”
在本篇博文中,我们将在“猫和狗”...
近年来,向基于NAND闪存的存储迁移和非易失性存储器快车®(NVMe™)的引入,为技术公司以不同的方式"做存储"增加了许多机会1。实时数字业务的快速增长和多样性要求这种创新,以便实现新的产品和服务。
介绍
近年来,向基于NAND闪存的存储迁移和非易失性存储器快车®(NVMe™)的引入,为技术公司以不同的方式"做存储"增加了许多机会1。实时数字业务的快速增长和多样化要求这种创新,...
作者:Alex Wong,本文转载自:Digikey官网
计算密集型应用是指需要大量复杂计算的任何计算机应用。像 AI 推理、大数据分析、网络和科学研究建模之类就是如今的一些比较流行的计算密集型应用。
计算密集型应用所需的处理能力远远超过单靠处理器就能处理的能力。现场可编程门阵列 (FPGA) 被认为是各种计算应用的加速器,因为它具有可定制性、可编程性以及与相对性能的低功耗特性。...
如果您计划开发一个无线应用程序,并且需要选择一款软件无线电(SDR),您可能会面临一些疑问,例如:
我从何处入手?
哪一款通用软件无线电外设(USRP)适合我?
我应该使用哪种软件开发工具?
本技术白皮书介绍了各种USRP型号之间的主要差异,可以帮助您...
应用程序不断增多,适用的无线设备也随之增加,造成需求和设计越发复杂。由于人们需要的数据越来越多,硬件设计便向着更宽的带宽、更高的频率和更多的通道发展,而软件则需要提供更大的灵活性,并缩短产品上市时间。
无论是在实验室中对新的无线技术进行原型验证,还是在...
本文转载自:XILINX开发者社区微信公众号
本篇是利用 Python 和 PyTorch 处理面向对象的数据集系列博客的第 2 篇。
如需阅读第 1 篇:原始数据和数据集,请参阅此处。
我们在第 1 部分中已定义 MyDataset 类,现在,让我们来例化 MyDataset 对象
此可迭代对象是与原始数据交互的接口,在整个训练过程中都有巨大作用。
第 2 部分:...
本文转载自: Ingdan FPGA微信公众号
目前基于MPSOC的一些参考设计中并没有实现开机画面的功能 ,那在一些带显示屏的产品在设计的时候就需要这一功能,基于原来传统的方式也可以在FPGA中来实现,今天分享一个在PS侧来实现开机画面,以节省PL侧的宝贵资源。
这个设计是基于PS侧的RPU(R5_0)来实现的上电送显,...
目前,汽车市场对软件定义功能和应用的需求越来越旺盛,行业正迫切需要一种先进的网关,能够提供通用性并为客户提供数据加速和数据分析功能。此外,由于 OEM 车辆和软件定义车辆在需求上存在较大差异,因此需要一种功能更强大且良好平衡的通用型解决方案。
为满足这种需求,ElectroKnox 基于赛灵思 Zynq UltraScale+ MPSoC 平台,...
描述
在 Vivado 2021.1 中,Control, Interfaces and Processing System (CIPS) IP 架构已重新设计。此次升级支持将来自其它 Versal 系列的器件集成到 CIPS IP 内。
如需了解升级后需用户干预的更改的相关信息,请参阅以下“升级至 CIPS 3.x”部分。
解决方案
升级至 CIPS 3.X
升级至...
本文转载自:安富利微信公众号
本文探讨如何利用一款基于赛灵思软硬件自适应计算平台的智能相机开发平台,让以往使人望而却步的AI应用开发变得触手可及。
随着人工智能(AI)应用的高速发展,视觉AI成了各家技术公司逐鹿的主战场。基于机器学习,网络边缘的视觉AI设备可以根据AI推理,完成物体探测、人脸识别、图像分析等多种智能视觉任务,为用户带来全新的体验。
不过如果置身视觉AI这个“...
本文转载自:XILINX开发者社区微信公众号
机器学习中一个常见问题是判定与数据交互的最佳方式。
在本文中,我们将提供一种高效方法,用于完成数据的交互、组织以及最终变换(预处理)。随后,我们将讲解如何在训练过程中正确地把数据输入给模型。
PyTorch 框架将帮助我们实现此目标,我们还将从头开始编写几个类。PyTorch 可提供更完整的原生类,...
作者:Kartik Srinivasan,赛灵思数据中心事业部联网与存储产品管理总监
自上世纪80 年代中期首批 PC 机面市后不久,网络接口卡 (NIC) 就已经进入了市场。然而,在过去的几年里,我们看到了 SmartNIC 的兴起。什么是 SmartNIC?按照最基本的定义,SmartNIC 就是可编程NIC。很多厂商只是顺应 SmartNIC 这一概念在自身实现中堆砌冗繁的芯片与固件...
作者:Steve Leibson,本文转载自:得捷电子DigiKey微信公众号
从前,嵌入式系统的开发从硬件开始。现在,可以再加入FPGA!面对应用需求越来越复杂的物联网细分市场,以及快速迭代和成本效益的挑战,选择一种现成套件用于无线传感节点原型设计和调试,是一种兼具开发效率和成本效益的解决方案,而全面的软件环境和优化的硬件平台可加快你的开发进度。在这个一连三集的开发板小系列,...
本文转载自:XILINX开发者社区微信公众号
(UG332) 即为《Spartan-3 系列配置用户指南》
在此用户指南中,并未涵盖有关从 SPI 闪存启动时,如何使用内部配置访问端口 (ICAP) 来支持在 Spartan-3AN FPGA 内运行多重启动应用的用例。
我们将在本篇博文中讲解此用例。
为何需要 ICAP?
对于非 ICAP 设计,使用“主 SPI...
描述
当在硬件配置中包含“大型发送卸载 (Large Send Offload)”并在缓冲区描述符中启用 LSO 功能时,GEM IP 可能通过中断状态寄存器的位 6(同样反映在发射状态寄存器的位 4 中)错误触发“amba error”中断事件。
除了误报此错误外,并未观测到任何功能性问题,且仍可继续使用 LSO 卸载功能。
这被分类为次要硬件问题,...
描述
如果 Arm Cortex-A72 处理器配置为向处于 UniqueClean (UC) 状态的缓存行发送逐出传输事务,那么 Cortex-A72 处理器可能返回陈旧数据并发出嗅探响应。
条件
1. Cortex-A72 配置为针对 UC 逐出传输事务不发送任何数据。这是通过将 L2ACTLR[14] 设置为 1b0 来实现的。该位的默认值为 1'b1。
2. Cortex...
描述
在 aarch32 模式下,如果执行的代码包含下面的加密指令序列,并且在执行第一条加密指令后立即断言并中断,ELR 会被记录为返回地址,产生的错误可能会导致数据损坏:
AESE Qy、Qx AESMC Qy、Qy
或
AESD Qy、Qx AESIMC Qy、Qy
解决方案
影响:
如果满足上述条件,异常序列中记录的返回地址将不正确,...
作者:付汉杰,hankf@xilinx.com,文章转载自:博客园
MicroBlaze可以使用AXI BRAM存放数据和指令。有些客户软件很大,需要把AXI BRAM的空间做到最大。AXI BRAM底层是Block RAM或者Ultra RAM。器件的Block RAM或者Ultra RAM个数,决定了AXI BRAM的大小。
在ZCU106单板上,有312个Block RAM,...
本文转载自: XILINX开发者社区微信公众号
本文来自赛灵思高级产品应用工程师 Hong Han
Alveo系列开发板上的平台其实是一个DFX设计的静态部分,在Vitis 统一软件平台中使用Alveo系列开发板设计加速Kernel, 最终这些Kernel的逻辑会在分布在DFX设计的动态区域。
本篇将介绍如何为Kernel的逻辑做floorplan(画Pblock),...
作者:沈月红,本文转载自: Ingdan FPGA微信公众号
根据PCIE规范对设备的要求是PERST# must deassert 100 ms after the power good of the systems has occurred, and a PCI Express port must be ready to link train no more than 20 ms...
本文转载自: XILINX开发者社区微信公众号
本文来自 XILINX 产品应用工程师 Yang Chen
在开发一个加速程序的之前,有一个很重要的步骤:正确设计程序架构。开发人员需要明确软件应用程序中哪一部分是需要硬件加速的,并且它多少的并行量,以保证硬件加速器件(FPGA)能完美发挥其作用。
本文将分为5个步骤来介绍:
1. 基准和建立目标
2. 确定加速部分...
概览
调频连续波(FMCW)光雷达的原型验证和测试面临着许多挑战。接下来让我们一起探讨,对这些挑战进行分解,使其变得可管理且可付诸行动,并学习有关如何逐步克服组件级到系统级测试挑战的实用指南。
引言
说到自动驾驶,问题并不是能否实现,而是在于何时以何种方式...
作者:付汉杰,hankf@xilinx.com,文章转载自:博客园
Linux是现在最流行的操作系统,含有大量的源代码。Xilinx 2020.1使用的Linux 5.4,含有大约67430个文件。大部分文件没有被使用到。分析Linux源代码的代码实现时,经常查找函数或者数据结构定义。如果分析所有文件,既消耗软件查找时间;也会找到多个定义,增加理解代码的难度。如果能够删除没有被用到的代码,...
本文转载自:ZYNQ分享客微信公众号
这一次,熊猫君分享一个内窥镜的技术实现方案。内窥镜的方案很多:主处理器有用专用ASIC的,比如日、台、韩的相机ASIC;有用专用CPU的,比如海思、瑞星微和君正等。熊猫君的这个是基于Xilinx ZYNQ的低成本方案。
纵观中低端的内窥镜用图像传感器,主要是以OV的为主,熊猫君接触和实现过的主要有OV6946+OV426、OV6948+OV426...
描述
每个 RPU 处理器都有 1 个 DBGDSAR 寄存器,其中包含其 CoreSight ROM 表的偏移地址。
但是,读取 RPU 的 DBGDSAR 寄存器会返回以下不正确的偏移值:
处理器
DBGDSAR 期望值
DBGDSAR 实际值
RPU_0...
作者:付汉杰,hankf@xilinx.com,文章转载自: 赛灵思中文社区论坛
介绍
Vivado可以导出脚本,保存创建工程的相关命令和配置,并可以在需要的时候使用脚本重建Vivado工程。脚本通常只有KB级别大小,远远小于工程打包文件的大小,因此便于备份和版本管理。
脚本里指定了Vivado的版本、器件的型号,IP的版本。如果导出脚本时的相关版本,...
描述
在任何一致的 ACE 系统中,启用 WriteUnique/WriteLineUnique (WU/WLU) 传输事务后,如果在有一项或多项高速缓存逐出事务处于暂挂状态时尝试执行存储,那么写回无分配 (WBNA) 存储可能发生停滞。
ACE 要求 WU/WLU 传输事务不得绕过任何未完成的逐出类型传输事务 (WriteBack/WriteEvict/WriteClean)。...
本文转载自: XILINX开发者社区微信公众号
在Vitis 统一软件平台中使用Alveo系列开发板设计加速Kernel时,系统会自动为Kernel的时钟设置默认频率.
以 xilinx_u200_qdma_201910_1 平台为例,在Vitis中选择平台时可以看到默认的时钟频率是300Mhz和500Mhz.
在Vitis Application Acceleration...