1.1概述
一般安装vitis(vivado)的过程中勾选了安装jtag cable驱动就会默认安装好jtag驱动,但是如果vivado无法正确识别到JTAG,那么可以试下重新手动安装驱动
1.2准备工作
安装驱动前,必须关闭所有的vivado,vitis-sdk并且拔掉USB JTAG 以免导致安装失败
1.3usb-jtag驱动安装...
技术
1.1 Modelsim软件版本选择
不同的Vivado版本支持使用的Modesim版本不同,具体可查看Xilinx提供的文档UG973-vivado-release-notes-install-license。
我们使用的Vivado 软件版本是 vivado2017.4,推荐使用版本是 ModelSim SE/DE/PE (10.6b),经过安装发现,使用低于推荐的版本,...
本文转载自:uisrc.com
1 Vitis概述
Vitis 统一软件平台可实现在 Xilinx 异构平台(包括 FPGA、SoC 和 Versal ACAP)上开发嵌入式软件和加速应用。它可为边缘、云和混合计算应用加速提供统一编程模型。
利用与高层次框架的集成,通过加速库采用 C、C++ 或 Python 进行开发,或者使用基于 RTL 的加速器和低层次运行时 API...
图形处理单元(GPU)、张量处理单元(TPU)和其他类型的专用集成电路(ASIC)通过提供并行处理能力来实现高性能计算,以满足加速人工智能(AI)训练和推理工作负载的需求。
AI需要大量的算力,尤其是在学习和推理时。这种需求不断地将供电网络的边界推向前所未有的新水平。这些高密度工作负载变得愈加复杂,更高的瞬态需求推动配电网络的每个部分都必须高效运行。...
作者:Giovanni Di Maria, 来源:EDN姊妹网站EEWeb
上一篇文章(《数电中的逻辑门》)探讨了逻辑门的概念。它们可以由分立和有源电子元件制成,尽管今天逻辑门可以在集成电路中使用。然而,在本文中,将研究其他逻辑门。通过适当地组合多个逻辑门,可以构建具有更重要功能的复合逻辑系统。
1. 逻辑门的组合
正如我们在上一篇文章中看到的,...
概述
假如现在有一种方法–可以在不怎么需要修改已有设计的情况下,就可以帮您节省50%的设计资源,那你会试试看吗?
当前市场环境下,更低廉的成本却可获得同等性能无疑是极具诱惑的。本文将介绍一种FPGA设计技术,该技术可以改变 FPGA 设计的规模大小和使用性能。
单级逻辑
你可以在Xilinx的FPGA 中使用可配置逻辑块CLB中的查找表LUT和触发器DFF来实现简单的逻辑函数。...
作者:Alan Yang,DigiKey 员工
本文继续探讨微控制器(uC)到现场可编程门阵列(FPGA)接口。
第1部分 介绍了指导大型系统开发的Verilog设计理念。介绍寄存器传输电平(RTL)设计准则的关键部分,如时钟边界、频闪器的使用和双缓冲区的必要性。
第2部分 介绍了SPI协议。回想一下,所选择的协议改编自802.3以太网帧,具有可变有效载荷长度和循环冗余校验(...
作者:Alan Yang,DigiKey 员工
本系列文章的主要目标是开发一种在微控制器(uC)和现场可编程门阵列(FPGA)之间快速可靠地传输数据的机制。在本系列文章中,我们将描述通信协议和相关帧的属性。
设计uC到FPGA接口的方法有很多。让我们先建立一套通用的设计要求来框定这个对话:
尽量减少uC和FPGA之间的线数
允许uC和FPGA之间有针对性的(可寻址的)...
作者:Florentw,AMD工程师;来源:AMD开发者社区
简介
在 Versal AI 引擎 2 一文 中,我们注意到计算图 (graph) 文件中有一行内容用于为每个内核实例定义运行时比率参数。
在本文中,我们将讲解该参数如何影响 AI 引擎应用的资源使用率和性能。
要求
下文要求您通读前几篇 AI 引擎系列博文。
AI 引擎系列 1 - 从 AI...
作者:Alan Yang,来源:DigiKey 员工DigiKey社区
本文,我们将探讨微控制器(uC)到现场可编程门阵列(FPGA)串行外设接口(SPI)。主要目标是使FPGA更容易控制。我们将探索在DigilentBASYS-3 (XilinxAtrix-7)开发板上开发,使用Verilog硬件语言,并在Arduino Nano Every上开发相应的微控制器代码。...
作者:Florentw,AMD工程师;来源:AMD开发者社区
在前几篇 AI 引擎系列博文中,我们讲解了 AI 引擎仿真器生成的用于执行 AI 引擎 (AIE) 应用功能验证的文本文件。
在本文中,我们将讲解如何生成追踪来观察计算图 (graph) 的状态,这也是执行性能分析的关键要素。
要求
下文要求您通读前几篇 AI 引擎系列博文。
AI 引擎系列 1 -...
作者:Marcello Colozzo,来源:EDN电子技术设计
本文将深入分析离散傅里叶变换(DFT)和快速傅里叶变换(FFT)。
信号的采样过程是一种理想形式,因为它在时间轴上从−∞延伸到+∞,因此有无数个瞬时tn。这就破坏了使用电子计算器对采样信号进行频率分析的可能性。因此,我们需要一个能够返回有限数量的瞬时(样本)的真实采样过程。
加窗技术——频谱泄漏
从数学上讲...
作者:Longley Zhang,AMD工程师;来源:AMD开发者社区
在AMD XILINX SoC器件(Zynq-7000,Zynq MPSoC,Versal),常见的启动方式是通过加载外部存储器(QSPI Flash,eMMC等)上的镜像,直接启动到Linux。但当板子调试时,经常需要通过JTAG把SoC器件启动到Linux。这个博客将分享通过JTAG启动Linux的方法和脚本...
作者:Zhang Yong,AMD工程师;来源:AMD开发者社区
DisplayPort 1.4 Tx Subsystem core的最简pipeline就是如它的linux driver wiki page里的figure-4那样,framebuffer_read+DP+video_phy。Zcu102板卡没有PL DP的专用接口,所以要用到一个FMC子卡来扩展PL DP接口。...
作者:Giovanni Maria,来源:EDN电子技术设计
在本文中,将探讨数字电子电路的另一个重要方面,即涉及逻辑门的问题。将讨论现有的不同类型的逻辑门以及它们如何工作。这将是理解逻辑电子电路和创建更复杂电子系统的重要一步。
1. 逻辑门
逻辑门是执行逻辑运算的一个(或一组)电子元件,其中二进制值0和1用两个不同的电压值表示,如上一篇文章中所见。在了解了AND(与)、OR(或)...
作者:Kathy Ren,AMD工程师;来源:AMD开发者社区
在Ultrascale+ HBM系列的器件上包含有容量32Gb/64Gb的高带宽硬件存储介质HBM。每个HBM stack的容量是32Gb,分为8个channel。每个channel可以分为2个伪通道(pseudo channel)。除了基本的AXI3总线供数据读写之外,还带有ECC(错误校验和纠正)功能。这样,...
作者:Peter Zhou,AMD工程师;来源:AMD开发者社区
问题背景:近期我们在Versal VC1902上使用winbond stacked flash W25H02JV,在uboot启动的时候,发现会有概率性启动失败的问题。
围绕这个问题,我们做了一些分析,由于之前很少有项目使用此种类型的flash,所以这个型号的flash的驱动并不是很成熟。...
作者:Simon Li,AMD工程师;来源:AMD开发者社区
有时候在debug GT的时候,需要用Digital monitor读出RX equalizer的code,本篇文章以US+的GTM为例子,提供了一个步骤,详细寄存器可以参考UG581.
1. Select DRP和Dmonitor port
2. Dmonitor port,用DRP...
作者:Terry Ni,AMD工程师;来源:AMD开发者社区
在petalinux系统中,System V 和 SystemD是执行初始化和管理系统服务的不同初始化系统。它们的主要区别在于其体系结构和功能:
System V Init (SysV Init)
System V Init 是传统的初始化系统,已经存在很长时间,通常以脚本的形式存在,通常位于 /etc/init.d/...
作者:Jackie Gao,AMD工程师;来源:AMD开发者社区
前言
当FPGA开发者需要做RTL和C/C++联合仿真的时候,一些常用的方法包括使用MicroBlaze软核,或者使用QEMU仿真ZYNQ的PS部分。
此教程介绍一种通过SystemC做RTL/C/C++联合仿真的方法,所有的BFMs(Bus Function Module)都是通过SystemC完成。...
作者:Zhang Yong,AMD工程师;来源:AMD开发者社区
OpenCV支持许多与计算机视觉和机器学习相关的算法,并且正日益扩展。OpenCV Python是OpenCV的Python API,本文介绍一种方法在petalinux环境下使用OpenCV的Python API实现USB camera视频流的读取显示。
在Petalinux 环境下执行带有opencv...
作者:Simon Li,AMD工程师;来源:AMD开发者社区
在debug GT的时候,有时候需要读出一些寄存器来分析。这篇文章介绍一种通过AXI4 Lite或者APB3接口从XSCT来读Versla GT的寄存器的方法。
APB3是一个32-bit数据总线地址,但是AXI4-Lite是一个8-bit Byte总线。因此如果用AXI-lite,需要将如下的寄存器地址*4。...
作者:Tulip Peng,来源:FPGA FAE技术分享选集微信公众号
接着上一篇“AMD Versal系列CIPS IP核介绍”文章来进一步讲解如何来建立CIPS IP核示例工程。
利用CIPS IP核的板卡自动化以及预置功能,生成VCK180 DDRMC基于GUI界面的调试工程。当然该工程亦可以根据AMD官网例程TCL文件来完成。
本文是基于Vivado 2022....
来源:内容由半导体行业观察(ID:icbank)编译自servethehome,谢谢。
最近发布了 CXL 3.1 规范。新规范对横向扩展 CXL 进行了额外的结构改进、新的可信执行环境 ehnahcments 以及对内存扩展器的改进。
CXL 3.1 在底层进行了许多重大更改,主要是为了解决团队构建更大的 CXL 系统和拓扑时发生的问题。
CXL 3...
在赛灵思器件中为部分重配置编译设计时,会创建不同类型的比特流。
本文档为 7 系列和 UltraScale 器件的每种比特流类型定义了术语,并进行了详细说明。
《部分重配置用户指南》(UG909) 中提供了以下所示全部主题的更多信息。
比特流类型包括:
完整配置比特流
部分比特流
空白比特流
清除比特流
完整配置比特流。所有 PR...
从傅里叶变换到小波变换,并不是一个完全抽象的东西,完全可以讲得很形象。小波变换有着明确的物理意义,如果我们从它的提出时所面对的问题看起,可以整理出非常清晰的思路。
下面我就按照傅里叶-->短时傅里叶变换-->小波变换的顺序,讲一下为什么会出现小波这个东西、小波究竟是怎样的思路。(反正题主要求的是通俗形象,没说简短,希望不会太长不看。。)
一、傅里叶变换...
作者:Yin Chaowen,AMD工程师;来源:AMD 开发者社区
1. 关于Vitis Vision Library
Vitis Vision 库是一组 90 多个内核,基于 OpenCV 计算机视觉库,针对 Xilinx™ FPGA、AI Engine™ 和 SoC 进行了优化。 Vitis Vision 库中的内核在 Xilinx Vitis™ 工具套件中进行了优化和支持。...
根据调整管的工作状态,我们常把稳压电源分成两类:线性稳压电源和开关稳压电源。此外,还有一种使用稳压管的小电源。这里说的线性稳压电源,是指调整管工作在线性状态下的直流稳压电源。而在开关电源中则不一样,开关管是工作在开、关两种状态下的。
简单介绍下分类:
NPN稳压管:内部用一个PNP管控制达林顿调整管。
LDO稳压管:调整管是一个PNP管。
Squasi-LDO:...
本文转载自:SDNLAB
Compute Express Link(CXL)作为一种先进的互连技术,在当今高性能计算领域引起了广泛关注,其高带宽、低延迟的特性使其成为连接处理器、加速器、存储等关键组件的理想选择。本文将深入探讨CXL技术,从其起源、特点,到应用领域和与其他技术的比较,全面了解CXL对现代数据中心生态系统的重要性。
什么是CXL?...
作者: Tulip Peng,来源:FPGA FAE技术分享选集微信公众号
AMD自适应计算加速平台(ACAP)是一个完全软件可编程资源集合,这些资源结合在一起构成片上系统 (SoC),包括以下主要的资源块:
AI 引擎(AI 引擎可用性与器件相关)
可编程逻辑(PL)
片上网络(NoC)
高速 I/O (XPIO)
集成存储器控制器(DDRMC)
处理器系统(PS)...
作者:Yin Chaowen,AMD工程师;来源:AMD开发者社区
1. 关于ILA Cross Trigger
1)ILA Cross Triggering功能使得ILA核心之间、以及ILA核心与处理器(例如,AMD Zynq™ 7000 SoC)之间可以进行Cross Trigger。这个功能在你需要在不同时钟域的两个ILA核心之间触发,或者在处理器和ILA核心之间执行硬件/...
作者:Grace Sun,AMD工程师;来源:AMD开发者社区
仿真是设计流程中进行功能性能验证的重要步骤。Vivado IDE集成了Modelsim, VCS, Xcelium等第三方仿真器的目标选项,可以使用户直接从Vivado界面内启动第三方仿真器的仿真,这种方式自动化程度高,便捷且不易出错。但出于习惯,定制灵活性,验证环境等原因,很多用户会在Vivado...
作者:Adam Taylor,贸泽电子专稿
现场可编程门阵列(FPGA)是实现图像处理系统的绝佳选择。它具有高度并行的逻辑架构,可实现高分辨率、高帧率的图像处理算法,因而非常适合用于从自动驾驶到机器人等诸多应用。通常,图像处理解决方案是在异构片上系统(SoC)中实现的,这样的系统能够结合可编程逻辑与Arm®硬处理器内核。然而,在某些应用中,这些处理器并不能得到充分利用,...
作者:Florentw,AMD工程师;来源:AMD开发者社区
简介
在上一篇 AI 引擎系列博文中,我们运行了 AI 引擎编译器,将计算图 (graph) 与内核代码编译到目标 AI 引擎模型中。
在本文中,我们将在 Vitis™ 分析器中详解编译汇总文件,其中提供了有关编译的大量实用信息。
要求
下文要求您通读前几篇 AI 引擎系列博文。
AI 引擎系列...
作者:Grace Sun,AMD工程师;来源:AMD Xilinx开发者社区
用户在目标平台运行Vitis AI所编译的xmodel时,碰到比较常见的问题之一是fingerprint校验失败。报告的错误类似以下信息:
CHECK fingerprint fail! model_fingerprint 0x101000016010407 is un-matched with...
作者: tongcheng123,文章来源:FPGA视频图像处理微信公众号
每一片芯片内部存有一个设备标识符,xilinx把它叫做DNA,这个DNA是不可更改的,永久存在芯片里面的。根据文档介绍,一个系列最多有32块芯片的DNA一样。下面简单介绍一下xilinx FPGA的DNA,及怎么读取出来。
Xilinx的FPGA芯片,在7系列和7系列之前的产品,DNA是一个57Bit的数据,...
作者:Jackie Gao,AMD工程师;来源:AMD Xilinx开发者社区
简介
ZYNQ-7000的S_AXI端口提供了外设访问PS内部外设控制器的接口,这其中包括4个S_AXI_HP端口以及两个S_AXI_GP端口。一般来说,可以访问的内部资源包括DDR控制器,QSPI控制器,OCM,IIC,SPI等。
本教程提供一个最小的参考设计,使上柆机可以通过PCIE端口,...
作者:Adiuvo 工程师 Adam Taylor,来源:XILINX开发者社区微信公众号
1. 目录
目录
白皮书版本历史
简介
什么是 COP? 能为开发者带来哪些优势
如何选择最佳 COP 器件
案例研究
总结
2. 白皮书版本历史
本文为相关内容首次发行,版本为 1.0。
3. 简介...
作者:Denis Tramarin,AMD工程师;来源:AMD Xilinx开发者社区
本文档提供了有关 SelectMAP 启动设置的技巧和指南。在提交个案服务请求之前,应认真查看以下检查表。
SelectMAP 启动模式的常规检查表:
1. 是否已查看 SelectMAP 文档,了解连接和电源轨的用法?
请参阅相应的 Versal DC 和 AC 数据手册,...
作者:Florentw,AMD工程师;来源:AMD Xilinx开发者社区
简介
在先前的 AI 引擎系列博文中,我们以 x86 模型为目标运行了 AI 引擎编译器,并运行了 X86 仿真器来验证 AI 引擎应用的功能模型。
在本文中,我们将以 AI 引擎模型为目标来运行 AI 引擎编译器并观察生成的部分文件。
要求
下文要求您通读前几篇 AI 引擎系列博文...
作者:Nick Liu,来源:FPGA FAE技术分享选集微信公众号
一、Nand Flash接口定义解析
Nand Flash因其具有容量大、成本低、寿命长的特点,被广泛的用作数据存储的解决方案。然而Nand Flash的读写控制较为复杂,Nand Flash的接口控制器大多是基于PC机或ARM处理器为架构进行开发的,存在操作不方便的问题。
FPGA实现Nand...
作者:Davis Zhang,AMD工程师,来源:AMD Xilinx开发者社区
在一些系统安全性要求较高的设计里,通常会加入系统自检功能。通常会在系统启动时进行一次系统自检,然后系统工作过程中实时监测。Zynq Ultrascale+器件里的on-chip memory(OCM)支持ECC,并支持单比特错误修正,多比特错误检测,并且提供人工插入ECC测试error的功能。相关的OCM...
作者:Ivy Guo,AMD工程师;来源:AMD Xilinx开发者社区
SEM IP将错误大致分为两类,可纠和不可纠。在开启了Correction纠错功能后,绝大部分SEU错误都能被IP及时检测到并纠正;但是也有极小一部分因为位置、数量的原因,仅能被检测到但是无法纠正。一般IP碰到此类错误,会上报错误信息然后进入IDLE停止状态,等待上层机制的判定:比如复位,重新配置,掉电等等。...
作者:Yang Iris,AMD工程师,来源:AMD Xilinx开发者社区
本博客将介绍如何通过CPM、NOC和LPD访问OCM。
片上存储器 (OCM)是一个在FPGA 内部包含 256 KB 的存储器,可通过其128位AXI 进行访问 接口端口。 OCM 可通过LPD的OCM 开关访问,其中包括两个 Cortex-R5F处理器和其他可以用于访问的OCM 的开关。...
作者:Florentw,AMD工程师;来源:AMD Xilinx开发者社区
简介
在 AI 引擎系列的前 3 篇博文中,我们探讨了 AI 引擎应用所需的不同文件。在本篇中,我们将为 X86 目标运行 AI 引擎编译器,观察它生成的不同输出。
要求
下文要求您通读前几篇。
AI 引擎系列 1 - 从 AI 引擎工具开始(2022.1 更新)
AI 引擎系列 2...
Xilinx Runtime (XRT) 库旨在促进应用代码与加速器之间的通信,此处所指应用代码在嵌入式 ARM 或 x86 主机上运行,加速器则部署在基于 PCIe 的 AMD 加速器卡、基于 MPSoC 的嵌入式平台或自适应 SoC 的可重配置部分上。
XRT 是开源工程。其源代码托管于 https://github.com/Xilinx/xrt。
其文档托管于 https://...
作者:Robert Hormuth,AMD公司副总裁,数据中心解决方案事业部,负责架构与战略
在服务器技术领域,双路曾经是尖端技术。双路技术曾是提升单个服务器性能的不二之选,因为它在单台服务器中配置两个处理器。从理论上讲,在大约相同的服务器占用空间内能够将性能最高提升一倍。在从纵向扩展(更多路数)计算到横向扩展(更多服务器)计算的过渡过程中,该技术一度成为主流。...
在关注机器健康和其他物联网(IoT)解决方案的现代应用中,随着检测功能的日趋普及,对更简单的接口以及更少的I/O和更小的器件尺寸的需求也随之增长。连接到单个微处理器或FPGA的器件密度不断增加,而应用空间(以及由此导致的I/O引脚数量)却受到限制。在理想情况下,所有应用都需要一个ASIC来提供小巧的集成式解决方案。
但是,ASIC的开发既耗时又昂贵,并且不具备满足其他用途的灵活性。因此,...
作者:Chen Yang,AMD工程师;来源:AMD Xilinx开发者社区
在Vitis调试kernel过程中(对于host代码问题,可以使用主流的debug方法,GDB等,这里不做讨论),用户可以在先行通过SW_EMU和HW_EMU测试,这能排除kernel大部分的功能问题。当然,最终的目的还是成功地运行在板卡上,即FPGA上。如果在硬件运行中遇到相关的问题,如遇到程序卡住问题,...
一、视频分布式的定义
分布式视频系统的概念是与集中式视频系统相对应的:分布式系统是音视频IP化的一种实现方案,是由若干个独立的功能节点通过网络分散组合而成,可以在空间部署上进行随意分布,各个节点通过网络实现互联。分布式系统包括三类节点:编码器、交换机、解码器,各类节点的数量不做限制,系统规模可以做到灵活的扩展。
二、分布式视频系统的种类...