技术

作者:Ryan Xie,来源:骏龙科技社区本文主要介绍针对 25G Ethernet Altera FPGA IP 在 Darby Creek 板卡上的 PMA 内部环回测试。Altera 25G Ethernet IP 介绍Altera 25 Gbps 以太网 (25GbE) IP 核实现了 25G 和 50G 以太网规范,即 25 千兆以太网联盟的 1.4 草案。此 IP 核包括一个选项,...
1. Versal IO介绍IO的划分和分布7nm Versal系列相对于16nm Ultrascale plus系列,IO做了升级,U+系列的HPIO在Versal升级为XPIO。Versal系列每一个XPIO bank包含54个IO管脚,其中包含9个nibbles,每个nibbles包含6个IO;每个bank包含2个XPLL、1个DPLL和1个MMCM时钟资源。IO...
PIO IP是FPGA 设计中比较简单常用的IP, 当设置PIO IP的Direction的时候,可以看到有如下4个选项:Input代表这组IO是输入引脚,Output代表这组IO是输出引脚,这些很好理解,但Bidir和InOut都表示双向的意思,它们有什么区别吗?参考28.4.1.2. Direction (intel.com)可知:bidir,指n位宽的信号中的每一位都可以单独/...
几乎所有 AMD 可编程器件都具有 CLB 资源,可以在 LUT 中实现小型存储器。在网表中,这些资源被称为 LUTRAM 或分布式 RAM。这些 LUTRAM 不像 Vivado 中的其他单元那样遵循典型结构。本文说明了推断或例化的 LUTRAM 的结构。 在相应架构的《库指南》中列出了可用的各种类型的 LUTRAM 原语。以下提供了一些参考资料。Versal...
作者:Trevor Rishavy,AMD开发者;来源:AMD开发者社区在撰写本文时,HDMI Transmitter Subsystem IP 核与 Video Processing Subsystem IP 核均有多个示例设计可供使用,但并没有演示将两者功能结合在一起来使用的设计。如需了解有关这些设计的信息,请参阅 (PG235) 和 (PG231)。...
10. graph 控制 API 介绍 本章介绍了可用于初始化、运行、更新和控制外部控制器中图形执行的控制API。本章还描述了如何在输入图规范中指定运行时参数(RTP),这些参数影响内核中的数据处理,并同步或异步地更改整个图的控制流。图形执行控制在配备AI引擎的AMD Versal™自适应SoC中,处理系统(PS)可用于动态加载、监控和控制在AI引擎阵列上执行的图形。即使AI...
ALINX 作为 FPGA 开发板领域领先供应商,RFSoC 系列开发板精准定位于雷达通信、5G 基站、卫星通信、测试测量等对性能要求严苛的高端射频应用。RFSoC 技术是现代无线电系统设计领域的重大突破。这项技术将以下模块高度集成于单一芯片之上:高性能的 RF 数据转换器(ADC/DAC)灵活的可编程逻辑(FPGA)强大的多核处理器(ARM)从根本上简化了传统射频信号链的复杂性,显著降低了功耗...
作者:Ivy Guo,AMD开发者;来源:AMD开发者社区SEM IP 在上板调试过程中有时会出现一些错误,需要访问 log 文件以便调试。本篇博文涵盖了如何利用 FIFO+ILA/VIO 抓取 SEM IP Monitor Interface 的 log 文件。SEM IP在上板调试过程中有时会出现一些错误, 比如无法执行IP的插错纠错功能; 或者自身的初始化无法完成等等, 需要对SEM...
9. 流数据API 数据流图内核对无限长的类型值序列的数据流进行操作。这些数据流可以被分成单独的块,这些块由内核处理。内核消耗输入数据块并产生输出数据块。内核还可以以逐个样本的方式访问数据流。这两种情况下的数据访问API将在本章中介绍。注:本章中描述的数据移动API适用于矢量和标量、有符号和无符号数据。但是,请注意,AI引擎架构仅支持8位数据类型aie::vector<...
8. AI Engine Kernel and Graph Programming使用输入输出缓冲器作为中间存储器在获取输入或输出缓冲区之后但在释放它之前,缓冲区归内核所有。内核可以负责通过指针或迭代器读取或写入缓冲区,而不会发生数据冲突。下面的代码显示了用于在迭代之间临时存储的异步输出缓冲区的示例:缓冲区端口的线性和循环寻址缓冲器端口可以以线性或循环方式寻址。在线性寻址模式下,...
作者:Hong Han,AMD开发者,来源:AMD开发者社区在使用 Vivado 对开发板(Evaluation Board)进行 FPGA 开发时,我们通常希望在创建工程时直接选择开发板,这样 Vivado 能够自动配置对应的器件信息和约束文件(XDC),大大简化工程初始化流程。然而,在某些情况下,我们可能会发现 Vivado 的界面中无法选中目标开发板,导致只能手动选择器件。那么,...
引言随着现代电子系统的不断发展,时钟管理成为影响系统性能、稳定性和电磁兼容性(EMI)的关键因素之一。在FPGA设计中,PLL因其高精度、灵活性和可编程性而得到广泛应用,本文将深入探讨PLL技术在FPGA中的动态调频与展频功能应用。PLL技术基础PLL(Phase-Locked Loop,相位锁定环)是一种反馈控制系统,用于生成和稳定时钟信号。它主要由鉴相器(PD)、环路滤波器(LF)、...
作者:Max Maxfield,文章来源:Eejournal人们常说“60岁是新的40岁”,意思是如今60多岁的人,往往像以前40多岁的人一样,依然活跃、健康、年轻。这话大概是真的——因为就在几天前,也就是我动笔写这篇文章的时候,我刚好庆祝了“我21岁生日的第47周年”,但我感觉自己还年轻得很……啊,说到哪了?我们刚才聊什么来着?随着年龄增长,少数几个“好处”之一,就是你活得够久,见过很多事,...
作者:Jacky Gao,AMD开发者;来源:AMD开发者社区本文通过用RTL实现Fibonacci LSFR,对DDR实现误码率测试。并在RTL中实现注入错误码元的功能,模拟误码的情况。此功能可以推广至GT等高速数据总线的BERT测试。简介线性反馈移位寄存器(Linear feedback shift register,LFSR)是指给定前一状态的输出,将该输出的线性函数再用作输入的移位寄存器...
7. AI Engine Kernel and Graph Programming异步缓冲区端口访问 在某些情况下,如果您没有在每次调用内核时消耗相当于缓冲区端口的数据,或者如果您没有在每次调用时产生相当于缓冲区端口的数据,那么您可以通过在内核函数原型中使用BRAC声明BRAC缓冲区端口来声明内核端口来控制缓冲区同步。下面的例子说明了内核简单的使用: ...
本期文章《基于AMD Versal器件实现PCle5 DMA功能》,诚邀您率先了解如何利用Versal强大性能实现高速数据传输!序言Versal是AMD 7nm的SoC高端器件,不仅拥有比16nm性能更强的逻辑性能,并且其PS系统中的CPM  PCIe也较上一代MPSoC PS硬核PCIe单元强大得多。本节将基于AMD官方开发板展示如何快速部署PCIe5x8及DMA功能。1....
作者:Embedded Computing Design 编辑团队,文章来源:Embedded网站在过去十年中,电子设计领域的核心关键词之一就是“效率”。在设计流程中寻找效率,不仅能加快产品上市速度,还能通过在数据、能量与热量传输路径上的创新,实现更低的运营成本、更长的产品生命周期以及更小的环境影响。如今备受关注的是:提升效率的重要性本身正在迅速上升。曾经只是“超前思维”的理念,...
在FPGA设计中,PLL(锁相环)模块作为核心时钟管理单元,通过灵活的倍频、分频和相位调整功能,为系统提供多路高精度时钟信号。它不仅解决了时序同步问题,还能有效消除时钟偏移,提升系统稳定性。本文将深入探讨智多晶PLL在实际应用中的关键注意事项,帮助工程师规避常见设计风险。PLL动态相位调整PLL模块支持对输出时钟的相位进行调整,CLKOP、CLKOS、CLKOS2、...
输入输出缓冲器输入和输出缓冲区表示连续存储在图块的物理存储器上的数据块,并且可以由图中的内核使用。这些数据的来源可以是产生它们的其他内核,也可以是通过AI Engine数组接口来自PL。缓冲器端口可以被分配在内核执行的区块的物理存储器中,或者在可访问的相邻区块的物理存储器中。当内核在其输入端有一个缓冲区端口时,它会等待缓冲区完全可用,然后才开始执行。内核可以随机或以线性方式访问缓冲区端口的内容。...
作者:Jon Lu,AMD开发者;来源:AMD开发者社区什么是环回测试?环回测试通过生成流量并将其发送回原先的流量来源,以测试系统功能与性能。内部环回会将流量环回至同一片上收发器用于评估该收发器是否按配置工作外部环回通过环回模块或环回线缆向链路伙伴发射流量通常用于评估链路与通道 SI在 GT 上支持 4 种模式:1. 近端 PCS 环回GT 通过连接 TX 和 RX PCS 的通路,...
作者:AMD 工程师 Iris Yang & Deepesh Man Shakya本篇文章提供了解决 ATS 失效请求报文问题的故障排除步骤,主要聚焦在 CQ 接口上未显示主机发送的报文的情况。ATS 失效使用对于在支持地址转换服务 (ATS) 的 PCIe 系统中保持地址转换表的准确性而言,ATS 失效请求报文至关重要。只要系统中包含执行地址转换的器件(如使用 I/O 存储器管理单元...
Graph编程介绍一个AI引擎程序必须包括一个用C++编写的数据流图规范。自适应数据流(ADF)图是具有单个AI引擎内核或通过数据流连接的多个AI引擎内核的网络。图形可以使用特定构造与可编程逻辑(PL)、全局存储器和/或主机处理器交互。input_plio和output_plio端口对象可用于建立到可编程逻辑或来自可编程逻辑的流连接,...
作者:Aravind Babu,AMD开发者;文章来源:AMD开发者社区本篇博文承接第 1 部分使用 PetaLinux 的先决条件指南中探讨的先决条件,继续展开话题。此处提供了完整的指南,讲述如何在根文件系统 (rootfs) 中添加自定义配方和层以及如何在其中包含多个程序包。向 PetaLinux 添加自定义层1.下载 Meta-Example 层:首先,您需要将 meta-example...
高速串行接口(如PCIe、以太网、HDMI等)是芯片设计的“高速公路”,但调试过程却常让人抓狂——信号质量差、误码率高、眼图模糊……耗时耗力的测试流程,是否让你无数次想对屏幕喊“太难了”?别急!XSBERT——专为FPGA高速收发器设计的调试利器,帮你一键生成误码率报告、实时扫描眼图,轻松验证链路稳定性!为什么需要XSBERT?想象一下:传统的高速接口测试需要外接仪器、反复编译代码、手动分析数据...
作者:Sandy Macnamara,AMD开发者;文章来源:AMD开发者社区在 UltraScale/UltraScale+ 中引入了 RXTX_BITSLICE。该原语用于捕获和接收 XPIO IOB。建议用户使用 High-Speed SelectIO (HSSIO) Wizard。(UG571) 详细介绍了原语和连接。在这篇博客中,我们将解答一些常见问题。例如,在使用源同步时,...
使用AI引擎API的示例设计矩阵乘法AI引擎API为基于向量的矩阵乘法提供了一个aie::mmul类模板。多个中间矩阵相乘的结果被累加以给出最终结果。有关支持的矩阵乘法形状(M*K*N)和数据类型的更多详细信息,请参阅《AI Engine API用户指南》(UG1529)中的矩阵乘法。AIE::MMUL操作MUL和MAC接受用于基于向量的矩阵乘法的行主格式数据。然后,对于aie::...
人们对电池供电的便携式小工具和器件的需求量大增,数字电路的能耗成为一个重要的关注点。计算和处理变得越来越复杂,需要速度更快的器件,例如现场可编程门阵列(FPGA)和其他处理芯片。复杂的处理需要更高的功率,这反过来又会导致高速运行的芯片发热。如图1所示,器件尺寸的工艺技术正微缩至纳米级别,为了优化器件的处理速度并延长使用寿命,必须相应地降低其工作电压。图1. 随着技术工艺的进步,...
使用AI引擎API的示例设计FIR滤波器设计分析    有限脉冲响应(FIR)滤波器由以下等式描述,其中x表示输入,C表示系数,y表示输出,并且N表示滤波器的长度。    以下是一个32抽头滤波器的示例。   每个输出需要32次乘法。如果将cint16作为数据类型和系数类型,则在内核中计算一个样本需要4个周期,因为每个AI...
作者:Sandy Macnamara,AMD工程师;来源:AMD开发者社区本文提供有关 Versal 内置自校准 (BISC) 工作方式的详细信息。此外还详述了 Versal 的异步模式及其对 BISC 的影响。Versal XPHY 具有一项称为“内置自校准”的功能,如需了解详细信息,请参阅 AM010 文档。BISC 的基本原理与 UltraScale/...
接口注意事项虽然单核编程专注于单个AI引擎中算法的向量化,但多核编程考虑多个AI引擎内核,数据在它们之间流动。    ADF图可以包含与PS、PL和全局内存交互的单个内核或多个内核。每个AI引擎内核都有一个运行时比率。这个数字是以一次内核调用(处理一个数据块)所占用的周期数与周期预算的比率计算的。应用程序的周期预算通常根据预期的数据吞吐量和正在处理的块大小而固定。...
摘要量子计算的快速发展对传统密码系统构成了重大威胁。在量子计算可能颠覆传统密码系统的时代,采取行动迫在眉睫。本白皮书深入探讨了当前加密协议的漏洞,介绍了最新标准化的PQC算法,为那些希望采取措施对抗量子威胁的组织提供了战略路线图。通过采用莱迪思半导体的创新解决方案,您可以保护您的数字资产,在量子时代保持领先。1. 引言当前加密方案面临的挑战量子计算不仅仅是一个理论概念,它正快速融入现实,...
本篇博文主要涵盖了 AMD 为集成的 RF Data Converter 提供的公共资源。AMD Zynq™ UltraScale+™ RFSoC 器件家族将处理器系统与 UltraScale™ 架构可编程逻辑和 RF-ADC、RF-DAC 以及 Soft-Decision FEC 相结合,能够实现完整的软件定义无线电,其中包括直接 RF 采样数据转换器,支持在高度可编程的单一 SoC 上实现...
作者:Rachel Gaines,AMD工程师;文章来源:AMD开发者社区 这篇博客是在上一篇博客 Vitis HLS 系列 1 的基础上撰写的,但使用的是 Vitis Unified IDE,而不是之前传统版本的 Vitis HLS。 工具流程为:Vitis Unified (HLS) > Vivado > Vitis Unified(平台和嵌入式应用)。我们将创建一个 HLS...
作者:Macnica Engineer,来源:骏龙电子数据中心、图像处理和通信设备中使用的 FPGA 性能正在迅速提高,市场上也在不断推出新设备。因此需要为 FPGA 提供低压和大电流电源,而且设计难度也在增加。在此背景下,模块型电源集成电路备受关注。另一方面,那些尚未熟悉电源设计的人可能会问,与分立式电源相比,模块式电源在用作 FPGA 电源时有哪些优势?本文将为那些设计 FPGA...
概览AI引擎是一系列超长指令字(VLIW)处理器,具有单指令多数据(SIMD)向量单元,针对计算密集型应用进行了高度优化,特别是数字信号处理(DSP)、5G无线应用和机器学习(ML)等AI技术。    AI引擎阵列支持三个级别的并行性:    ·指令级并行性(ILP):通过VLIW架构,允许在单个时钟周期内执行多个操作。    ·...
作者:Xu Dong,AMD工程师;来源:AMD开发者社区本篇博文旨在将 O-RAN 仿真系列博客扩展至多个分量载波 (CC) 的用例。其中还涉及到 O-RAN 通道处理 (OCP) 模块中的 CCID 配置。软件版本:Vivado 2023.2,含来自(答复记录 000035790)的补丁设计生成:第 1 步:请参阅 O-RAN 仿真系列博客,了解如何将 PCAP...
本篇文章来自 FPGA 大神、Ardiuvo...
AI引擎配置和启动1. AI引擎阵列配置 在AI Engine阵列配置中有两种顶级方案:通电时的AI Engine阵列配置和AI Engine阵列部分重新配置。下图显示了AI引擎阵列和配置接口的高级视图,其中沿着有通过NoC连接到PS和平台管理控制器(PMC)的寄存器。任何内存映射的AXI4主机都可以使用NoC(例如PS和PMC)配置AI引擎阵列中的任何内存映射的AXI4寄存器。...
作者:Jeff Shepard ,文章来源:Digikey电子技术台文章概述  本文中,DigiKey回顾了 FPGA 的电源输电需求,重点强调电压精度、瞬态响应和电压排序,并通过运行实例详细介绍各种与热管理有关的挑战。然后,介绍来自 Analog Devices 的 集成 DC/DC ...
作者:Abhinay Sudha P,AMD工程师;文章来源:AMD开发者社区 本篇博文主要讲解在 PL 中将来自 IP 核的超 32 次中断布线到 PS 的情况下,该如何使用 AXI Interrupt Controller (INTC) 中的级联模式。 在 Vivado 设计中使用了 AMD AXI GPIO 中断。 设计示例是以 VCK190 评估板为目标而创建的,...
AI Engine  架构标量单元下图显示了标量单元的框图,包括标量寄存器文件和标量功能单元。 标量单元包含以下功能块。    •寄存器文件和特殊寄存器    •算术和逻辑单元(ALU)    •非线性函数-定点和浮点精度    •数据类型转换    加法、减法、...
作者:Hairi Ni,文章来源:FPGA FAE技术分享选集3D重建通过精确捕捉物体表面几何信息,构建出高精度数字模型,在多个行业中获得了广泛应用。从工业制造、航空航天,到文物保护、建筑工程等领域,3D扫描重建技术均展现出关键作用,驱动各行业加速向数字化、智能化迈进。一、3D扫描技术实现方案简介(一)主流技术方案结构光技术:光源向物体表面投射特定编码光栅,利用摄像头捕捉光栅在物体表面产生的形变...
作者:Scott Turnbull,Fidus Systems 首席技术官解锁 AMD Versal SoC 的全部潜力为了实现具有严格吞吐量和延迟要求的自适应系统,工程师可以使用 AMD Versal 自适应 SoC。Versal 提供了可编程逻辑(含 DSP 单元)、各种硬核处理元素、AI 引擎以及片上网络(NoC),以实现快速高效的数据传输。图片来源:Fidus SystemsFidus...
智多晶eSPI_Slave IPeSPI总线具有低功耗、管脚数量少、高效的数据传输等优点,常用于与EC、BMC、SIO等外设的通信,是PC中CPU与这些外设通信的主流协议。智多晶eSPI_Slave IP符合eSPI标准规范,支持相关协议属性。eSPI_Slave IP特性:支持Single SPI、Dual SPI和Quad SPI模式;支持所有eSPI命令;提供apb用户接口;...
本文作者:AMD 工程师 Alan Schuler传统上,使用门控时钟是 ASIC 设计中降低系统功耗的常见方法。通过门控时钟,可在非必要时阻止整组寄存器的状态转换。图 1:使用与门进行时钟门控在图 1 中,当“gate”信号设为低电平时,所有寄存器均关闭且不消耗动态功耗。此类编码风格并非总能有效适配 FPGA。原因在于 FPGA 具有先进的专用时钟资源,...
AI Engine  架构1. AI Engine  架构AI Engine是一款高度优化的处理器,具有单指令多数据(SIMD)和超长指令字(VLIW)处理器,支持定点和浮点精度。如下图所示,AI Engine 有一个内存接口,一个标量单元,一个向量单元,两个加载单元,一个存储单元,以及一个指令提取和解码单元。AI Engine的特性包括:32位标量RISC处理器○...
AI Engine 阵列接口架构AI Engine以二维阵列的形式排列,如下图所示。AI Engine阵列接口提供与设备其余部分接口所需的功能。AI Engine阵列界面有三种类型的AI Engine界面平铺。AI Engine阵列的每一列都有一对一的接口Tile对应。接口Tile形成一行,并水平(左和右)移动内存映射的AXI 4和AXI 4-Stream数据,并垂直向上移动AI...
作者:Rachel Gaines,AMD工程师;来源:AMD开发者社区这篇博客旨在逐步演示如何使用 Vitis HLS 来创建一个 HLS IP,通过 AXI4 接口从存储器读取数据、执行简单的数学运算,然后将数据写回存储器。接着,您将在 Vivado 设计中使用此 HLS IP,并使用嵌入式 Vitis 应用控制此 HLS IP。 具体的运行和测试条件如下:操作系统:Ubuntu...
本篇文章来自 FPGA 大神、Ardiuvo & Hackster.IO 知名博主 Adam Taylor。在这里感谢 Adam Taylor 对 ALINX 产品的关注与测试。为了让文章更易阅读,我们在原文的基础上作了一些灵活的调整,包括对一些专业名词进行了补充解释,便于初学者快速理解。最近,我在办公室里搞了一块 ALINX VD100。这是一块基于 AMD...
AI Engine Tile 架构AI Engine数据移动架构 本节描述了AI Engine阵列内以及AI Engine Tile和可编程逻辑(PL)之间的数据通信示例。(1)通过共享内存进行AI Engine到AI Engine的数据通信    在多个内核适合单个AI Engine的情况下,可以使用共享内存中的公共缓冲区建立两个连续内核之间的通信。...