当前,任务关键型应用对可编程逻辑器件的需求正日益增长。对企业而言,可编程逻辑器件提供了充分的灵活性,支持以多种不同方式运用计算资源构建定制设计。尤其是其中的动态功能交换( DFX )特性,使企业能在系统运行过程中切换应用功能。相比缺乏灵活性的替代方案,基于可编程逻辑器件的方案拥有宝贵的战略与成本优势。
作为商用开放架构计算与高坚固性嵌入式电子领域的全球领先者,Abaco Systems...
技术
描述
训练好的模型在部署过程中的Vitis AI转换过程要经过优化、量化和编译等步骤。
尤其是量化,可以通过三种不同的方式实现。
训练后量化 :最简单的量化方法包括两个步骤。"校准",确定张量的量化步骤,以及量化模型的实际部署。
快速微调量化 :这是一种基于AdaQuant算法的更复杂的方法,它不仅可以校准激活,而且还可以微调权重。...
从傅里叶变换到小波变换,并不是一个抽象的东西,完全可以讲得很形象。小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路。
下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为什么会出现小波这个东西、小波究竟是怎样的思路(反正题主要求的是通俗形象,没说简短,希望不会太长不看)。
一、傅里叶变换...
本文转载自: XILINX开发者社区微信公众号
本文作者:赛灵思工程师 Gray Pan
目前的 ORAN IP 提供两种例子工程:
1. 一个是新建Block Design,添加IP之后,通过运行Block Automation来产生一个例子。这个例子不仅包含了ORAN IP,也将物理层所需要的10G/25G以太网IP和一个1588 PTP的用例都囊括了。...
作者: 付汉杰 hankf@xilinx.com ,文章来源:博客园
1. 概述
所有工具和参考设计使用2021.2。编译和测试X86主机(Host)的操作系统是CentOS 7.9.2009。测试的单板是VCK190,测试的是CPM QDMA。
记录和脚本里的井号,或者第一行开始处的井号,由于和Markdown语法有冲突,替换成了星号。有些软件打印的记录非常长,...
描述
提供给7系列FPGA收发器中PLL的参考时钟的质量可以极大地影响发送抖动和接收抖动容限的性能。参考时钟的抖动或相位噪声在决定这种性能方面起着重要作用--相位噪声是首选的规范方法,因为它允许设计者纳入基于时间的抖动规范可能会忽略的各种频率成分。
本回答记录包含 Xilinx 根据所使用的 PLL 设置推荐的参考时钟相位噪声限制。
解决方案
根据所使用的参考时钟,...
作者: 付汉杰 hankf@xilinx.com ,文章来源:博客园
1. 概述
所有工具和参考设计使用2021.2。X86编译主机的操作系统是Ubuntu 18.04.6 LTS。
编译记录里的井号,由于和Markdown语法有冲突,把超过3个以上的连续井号全部替换成了星号。有些软件打印的记录非常长,于是把其中部分内容替换成了“......”。
硬件移植、和axi...
作者: Alan Zhang,文章来源: Ingdan FPGA微信公众号
1. ZCU104开发板
ZCU104 开发板基于Xilinx 公司Zynq UltraScale +XCZU7EV-2FFVC1156 MPSoC器件设计,支持嵌入式视觉使用案例的许多常见外设及接口,可帮助设计人员为监控、高级驾驶员辅助系统 (ADAS)、机器视觉、增强实境 (AR)、...
作者:HankFu,文章来源:博客园
在Ubuntu 18.04下使用Vivado Jtag加载FPGA,发现找不到器件。
Vivado Hardware Manager找不到器件的记录信息:
connect_hw_server -allow_non_jtag
INFO: [Labtools 27-2285] Connecting to hw_server url TCP:...
本文作者:赛灵思工程师 Yang Chen
在解答相关问题的时候有碰到过cl_invalid_work_group_size的错误,然后通过报错信息在XRT
github.com/Xilinx/XRT/blob/master/src/runtime_src/xocl/api/clEnqueueNDRangeKernel.cpp
中找到了对应相关抛出该错误的情景,...
作者: Duoqiang Liu,文章来源: FPGA算法工程师微信公众号
我们常说一句话:工欲善其事,必先利其器。
作为一名FPGA工程师,我们的任务就是把某些特定的逻辑行为雕刻到FPGA芯片上,通过设计逻辑电路达到预期目的。
FPGA的两个擅长领域:信号处理与高速接口。在产业界,企业也根据不同的应用需求,招聘从事信号处理或高速接口方向的工程师。...
作者: HankFu,文章来源:博客园
介绍
以前为ARM64编译软件包,直接在Makefile里指定交叉编译器、sysroot的路径,就能成功编译。
问题
最近编译一个使用CMake的软件包,按照使用 cmake 进行交叉编译 的说明,在CMakeLists.txt添加下面的内容后,仍然不能成功编译。
set(CMAKE_SYSTEM_NAME Linux)...
描述
在 Zynq UltraScale+ MPSoC/RFSoC 器件中,Linux CPU Idle 默认启用。
启用后,Linux 会在 CPU 内核空闲时关闭它们(与 WFI 相对)。
当连接xsdb时,这可能会导致问题。
解决方案
症状:
启用 CPU 空闲时,DAP 会发出错误。
理论上,当xsdb连接时,应该在 A53_*...
本文转载自:网络交换FPGA微信公众号
众所周知,GPU出现的最初目的仅仅是为了图像和视频并行处理的加速,但随着OpenCL 和 NVIDIA 的 CUDA 语言和工具链的出现使 GPU 更易于使用,目前已经成为一种通用的并行加速平台。然而,也正是由于GPU是为图像和视频处理这一类应用而做出来的专用ASIC,显然在非具有图像和视频加速处理特点的其它应用场景下(如计算密集型应用),...
本文转载自:XILINX开发者社区微信公众号
本文作者:赛灵思工程师 Chao Zhang
FPGA得益于其高可编程性以及低延迟,低功耗的特点,在机器学习的推理领域已获得了广泛的关注。在过去,FPGA对于软件开发人员来说有较高的开发门槛,把一部分开发者挡在了门外。如今越来越完善的高阶工具以及软件堆栈使得开发者可以充分利用FPGA优点对关键应用进行加速,...
作者: Jesse, Luke,文章来源: Ingdan FPGA微信公众号
想在Windows下完成Xilinx基于Linux的整套开发编译链?觉得虚拟机还是有各种不便?使用WSL2的时候遇到了各种问题?
欢迎联系科通,科通Xilinx技术Team帮您踩坑。
1. 为什么现在是开始利用WSL运行Xilinx设计链的好时机?
Windows Subsystem for...
本文转载自:PYNQ开源社区
感兴趣者可与 pynq_china@xilinx.com 联系,共同合作拓展项目。
1月24日,PYNQ官方发布了支持Kria SoM-KV260 Starter Kit)的镜像,此次发布中,Linux部分采用了Kria SoM官方的Ubuntu Linux镜像,所有已有KV260平台的用户可以不用重新烧写SD卡 Linux镜像,根据以下命令直接安装即可...
本方案是一个基于 FPGA 的二进制时钟,使用 GPS 作为时间参考。
历史上准确测量时间提出了许多挑战。只有约翰哈里森设计了一个可靠的时钟,它可以在格林威治子午线保持参考时间,从而能够在 1700 年代进行准确的导航以及绘制尚未开发的海洋和陆地的图表。
今天,我们生活在日益互联的世界中,准确的时间参考同样重要。如果没有一个共同的时间参考,当我们从一个信号塔传递到另一个信号塔时,...
Xilinx SDK 可帮助您使用远程主机中的 Xilinx Hardware Server(赛灵思硬件服务器)调试远程目标器件。
硬件服务器
在通过 JTAG 连接目标的远程主机中,从 XSCT(赛灵思软件命令行工具)控制台启动赛灵思 hw_server。
SDK
Target Connections(目标连接)
在硬件服务器中添加新的目标配置。
使用...
解决方案
系统调试器支持对自重定位的程序(如u-boot)进行源码级调试。
自定位程序是一个在运行期间重新定位自己的代码和数据部分的程序。
这些ELF中的调试信息并没有提供关于程序部分将被重新定位到哪里的细节。
由于这个原因,你必须向调试器提供关于程序部分将被重新定位的地址的额外信息。
有两种方法可以做到这一点,可以通过SDK GUI或命令行(XSDB)。
SDK...
描述
我已将我的设计迁移到更新版本的 Vivado 工具。当我在 SDK 中调试时,调试器显示的是汇编代码,而不是 C 或 C++。
为什么会出现这种情况?
解决方案
通常情况下,这表明符号表中存在错误,可能是由于迁移不当造成的。
以下是移植嵌入式设计的步骤:
1. 将 Vivado 设计复制到新目录位置
2. 删除 .sdk 目录
3. 在 Vivado 中,...
作者:HankFu,文章来源:博客园
通常的以太网卡,检查每个以太网包的目的MAC地址,如果与自身的MAC地址一致,或者时广播多播包,就接收;否则就丢弃。
MPSoC的以太网控制器,支持配置4个MAC地址。如果以太网包的目的MAC地址与这4个MAC地址中的任何一个相同,都会接收。
另外,MPSoC的以太网控制器还支持hash包过滤模式。...
本文作者:电巢FPGA专家王伟博士,中国高科技产业化研究会智能信息处理产业化分会理事
VVAS GStreamer概念与两种镜像版本
1.1. GStreamer概念
如果是FPGA背景的,猛一看到GStreamer一头雾水,且慢我们拆解一下就没那么难理解了。
VVAS全称是Vitis Video Analystics SDK,...
为了对器件的闪存进行编程,必须使用 Vivado/Vivado Lab 或 SDK/Vitis 应用程序。
每个选项都有不同的设置过程和编程命令。
为了促进和提供无缝流程,我们创建了一个名为flash.py的 python 应用程序,它能够为任何 Xilinx 工具使用相同的命令和参数。
此过程特别推荐给使用 SmartLynq 电缆并希望快速对一批设备进行编程的客户。...
描述
在 Vivado Hardware Manger 中,无需重新编程即可擦除闪存。我如何只能擦除闪存而不写入新的引导映像?
解决方案
SDK 中的 Program Flash GUI 菜单不提供仅擦除闪存的选项。
然而,program_flash 工具确实在命令行模式下提供了一个特定的仅擦除选项。
使用 XSCT 控制台并发出以下命令:
program_flash...
本文转载自:芯设计微信公众号
写在前沿
玄铁E902是一款面向低功耗端侧MCU,IOT应用的cpu,支持RISC-V RV32EMC ISA,开源版本openE902的配置缺少指令cache以及TEE功能。
本文基于平头哥半导体公司开源的openE902 core、以及smart soc代码,做了FPGA的软件测试。
准备工作
1: 下载openE902的core...
作者: HankFu,文章来源:博客园
按Xilinx的XTP613 - VCK190 Board Interface Test v2.1,运行BoardUI.exe,执行vck190 BIST 测试。注意,在开始之前,需要安装QSPI Flash子卡 X-EBM-01。
BoardUI要求指定Vivado Lab Edition的目录。电脑没有安装Vivado Lab...
在 Tandem PROM 配置中需要 Configuration Persist。在第二阶段配置完成后,用于第一阶段和第二阶段配置的双用途 I/O 不能重新用作用户 I/O。
如果您尝试重用这些双重用途配置 I/O 或使用 STARTUPE2/E3 原语,您将看到类似于以下内容的错误:
错误:[DRC 23-20] 违反规则 (REQP-1881)...
作者: Brian Liu,本文转载自: Ingdan FPGA微信公众号
1. 概述
Xilinx FPGA从7系列开始,设备有了片上高级加密标准(AES)解密逻辑,提供了高度的设计安全性。加密的Xilinx FPGA设计不能被复制或反向工程用于其他FPGA。
Xilinx FPGA负责加密的AES系统由基于软件的位流加密和片上位流解密组成,加密密钥由片上的专用内存存储。...
一、傅立叶变换的由来
关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚的文章,太过抽象,尽是一些让人看了就望而生畏的公式的罗列,让人很难能够从感性上得到理解,最近,我偶尔从网上看到一个关于数字信号处理的电子书籍,是一个叫Steven W. Smith, Ph.D.外国人写的,写得非常浅显,里面有七章由浅入深地专门讲述关于离散信号的傅立叶变换。...
作者:HankFu,本文转载自:博客园
最近两年,Transformer在NLP、CV领域都取得了非常好的成绩。结合相关文章,Transformer的底层也是矩阵运算。使用FPGA加速,也会取得很好的效果。
下面这张图,描述了Transformer的所有运算。由于尺寸太大,不能显示,可以下载。
一张图概略了解Transformer
分成两张图后,...
本文作者:赛灵思开发者 李阳
VCK5000对于大多数开发者来说仍然是非常新的一款器件,由于VCK5000目前主要应用在数据中心进行AI推断方面的运算加速,所以开发者们对其性能和部署方式非常好奇,部分开发者通过官方硬件租借或者参加比赛能方式获取了提前上手实验的机会,来听听他们的开箱报告:
又是一年自适应计算挑战赛,今年和往年一样依旧有多条赛道可以选择,分别是边缘计算、...
本文转载自:XILINX开发者社区微信公众号
本文作者:赛灵思产品应用工程师 Wen Chen
Vitis HLS 在从Vivaido HLS的升级换代中,以axi_master接口为起点的设计正在变得更易上手,其中很重要的一点就是更多的MAXI端口设计参数可以让用户通过指令传达到。这些参数可以分为两类:
静态参数指标:这些参数会影响内存性能,可以在 C...
本文作者:赛灵思开发者 陆禹帆
前言
如果KV260是你的第一个FPGA的AI加速平台,那么在上手KV260的开发的时候,你可能会遇到很多的困难。尤其是当你尝试阅读Jupyter中的sample代码时,你会发现很多代码都像黑魔法一样都难以理解。
或许你能发现一些关于Gstreamer和VVAS的相关蛛丝马迹,但是Gst是什么,VVAS又是什么,或许到这里你依旧会感到无从下手...
作者:Duoqiang Liu,来源:FPGA算法工程师微信公众号LDPC码属于前向纠错码的一类,用于在噪声传输信道中发送信息。这些码可以用一个奇偶校验矩阵来描述,该矩阵主要包含0和少量的1。因此,与其他代码结构相比,译码复杂度较小。解码器采用了一种非常高效的迭代译码算法——置信传播算法。LDPC码可分为两组:规则LDPC码,PC矩阵的列重和行重是常量且相等;不规则的LDPC码,...
目前,机器视觉传感器在当代的应用可谓是越来越广泛,如何选择机器视觉传感器是值得我们好好学习的,现在我们就深入了解如何选择机器视觉传感器。相机是机器视觉系统的眼睛,而相机的心脏是图像传感器。传感器的选择取决于准确性、输出、灵敏度、机器视觉系统的成本以及对应用要求的充分理解。对传感器主要性能的基本理解能够帮助开发人员迅速缩小他们的查找范围,找到合适的传感器。...
概述
由于我们的FPGA产品具有高速能力,因此时间戳可能是一个挑战。BittWare提供了一系列的解决方案,包括专用的附加模块,如A10PL4定时套件(如图),基卡上的同轴输入以及对Atomic RulesTimeServo等IP的支持。
许多BittWare FPGA卡提供了两个同轴输入。一个输入是用于1 PPS时间同步信号。另一个是用于10 MHz参考时钟。...
作者: HankFu,本文转载自:博客园
运行ORB_SLAM3时,遇到错误“libpng12.so.0: cannot open shared object file: No such file or directory”。执行命令“sudo apt install libpng12-0”,可以按照libpng12.so.0,解决这个问题。
出错的命令记录
/proj/...
作者: HankFu,博客园
问题
Ubuntu18.04安装ROS ros-melodic-desktop-full时,遇到错误“unmet dependencies. Unable to correct problems, you have held broken packages."。
根据提示,逐层安装缺失的模块,包括ros-melodic-perception, ros-...
作者:Ian Beavers,ADI应用工程师
许多通讯系统、量测仪器和讯号撷取系统,需要同时透过多个模拟数字转换器(ADC)对模拟输入讯号进行采样。由于这些输入讯号各自有不同的延迟,所以必须对输入的采样资料做同步处理。为满足低电压数字讯号(LVDS)和并行输出ADC的需要,延迟不一致的问题,对系统设计人员而言是一个难题。
最新的JEDEC接口标准JESD204B提供一个方法,...
作者:Giulio Corradi、Víctor Mayoral-Vilches,赛灵思公司
术语「软件定义硬件(Software-defined Hardware)」,往往指将应用映像至FPGA,进而透过软件创建运行时可重配置硬件。软件定义硬件旨在实现特定算法或运算的运行时效率最大化,是使用固定的冯纽曼运算架构的CPU和GPU,或是成本高、同样功能不可变的ASIC的替代产品。因此,...
作者:HankFu,博客园
问题
Ubuntu18.04安装ROS ros-melodic-desktop-full时,遇到错误“unmet dependencies. Unable to correct problems, you have held broken packages."。
根据提示,逐层安装缺失的模块,包括ros-melodic-perception, ros-...
作者:Aaron Behman/Adam Taylor
随着处理效能、内存密度和系统整合度的提升,嵌入式视觉从传统逐渐扩增到新兴应用领域,市场规模在十年内必有显著增长。而伴随着应用领域越来越多元,影像传感器系统在开发时,所需考虑的面向也变得更加复杂。
视觉系统在各个产业及应用领域中日益普及,甚至每天携带的智能型手机即嵌入式视觉系统的一个例子。这些装置不仅能够从事影像捕捉和影像录制,...
作者:Max Cheng,Ingdan FPGA微信公众号
1. DisplayPort 1.4
DisplayPort是由视频电子标准协会(VESA)标准化的数字式视频接口标准,该接口免认证、免授权金,主要用于视频源与显示器等设备的连接。其中DP1.4可以支持的最高分辨率为8K@60fps。用FPGA实现最高的分辨率,则需要能够提供高达32.4Gb/s的带宽,也就是4lane,...
本文转载自:XILINX开发者社区微信公众号
本文作者:赛灵思产品应用工程师 Wen Chen
在Vitis HLS 工具中,要真正完成AXI总线突发,我们需要一个合适的代码风格并结合恰当的指令设置来达到这个目的。本章节带大家看看如何玩转AXI总线突发读写的代码风格-下。
本文我们将例举几个典型的会导致编译器流水线突发推理(Pipeline Burst Inferencing...
本文转载自: FPGA技术联盟微信公众号
大多数使用Xilinx FPGA的设计者都使用图形用户界面(Graphical User Interface)模式下的ISE项目浏览器和PlanAhead软件。GUI为小项目提供了一个按钮式的流程。
然而,随着FPGA规模越来越大,设计也会越来越复杂,设计团队也变得庞大。在很多情况下,GUI工具阻碍了团队的工作效率,...
“EDA Simulator Link 为我们的 MATLAB 模型与逻辑仿真程序提供了直接协同仿真接口,大大缩短了功能验证开发时间。因此我们可以更早地对设计进行验证,更快地发现问题,完成更多的测试并缩短整个开发周期。”——Jason Plew, Harris Corporation
挑战
简化测试信号处理 FPGA 实现所用的耗时的手工流程
解决方案
使用 EDA...
本文转载自: XILINX开发者社区微信公众号
本文作者:赛灵思产品应用工程师 Wen Chen
在Vitis HLS 工具中,要真正完成AXI总线突发,我们需要一个合适的代码风格并结合恰当的指令设置来达到这个目的。本章节带大家看看如何玩转AXI总线突发读写的代码风格-上。
突发读写的HLS 代码风格优化:
HLS编译器所能识别的突发读写有顺序突发(sequential...
本文转载自: XILINX开发者社区
2021自适应计算挑战赛赛程已过半,近期在开发设计过程中,我们收到众多开发者对于硬件板卡的资料查找询问。XILINX开发者社区特此整理了关于3个硬件赛道板卡在项目设计和开发时的时间周期安排与各硬件设计时做需要的资料介绍,希望对大家有所帮助。
Kria SOM KV260
参考资料:
Introduce:
https...
作者:Hello,Panda
前一阵子,熊猫君开发了一套Sony SLVS-EC的图像传感器接口数据接收IP,最近稍微闲了一些,码一点字儿分享一下。
SLVS-EC是Sony推出的接口标准,目前版本已经发展到v2.0,是他们家的一个私有标准,主要是为了满足大靶面、高速图像传感器对大带宽的要求,在V2.0版本下,单lane的带宽已经到了约4.752Gbps,这里说的“约”,...