本文转载自: 明德扬FPGA科教1、 项目背景明德扬(MDY)为某研究所研制的视频接口转换模块,该模块将HDMI视频转成LVDS7:1视频。视频输入接口采用的是HDMI 4K输入,基于Xilinx K7325t的高速收发器,特点是无需外围HDMI接收芯片,大大简化了硬件设计。该视频接口转换模块如图1所示,其中k7核心板型号为MP5650,底板和核心板均为明德扬自研产品。...
技术
本文转载自:明德扬FPGA科教1. 引言 Field Programmable GateArray(简称,FPGA)于1985年由XILINX创始人之一Ross Freeman发明,第一颗FPGA芯片XC2064为XILINX所发明,FPGA一经发明,后续的发展速度之快,超出大多数人的想象,近些年的FPGA,始终引领先进的工艺。...
《Spheres Vs Shapes》是一款开源的 3D 光线追踪游戏,用 C 语言编写后又被转换为了 FPGA 比特流。据说该游戏在 FPGA 硬件上的运行效率是在 AMD Ryzen 处理器上运行的 50 倍。一般来说,在 FPGA 上使用的 Verilog 和 VHDL 语言都不太适合游戏开发或其他复杂的应用程序。因此,...
作者:Hope Peng ,来源:Comtech FPGA对于FPGA来说,设计人员可以充分利用其可编程能力以及相关的工具来准确估算功耗,然后再通过优化技术来使FPGA和相应的硬件设计满足其功耗方面的要求。 一、静态功耗和动态功耗来由以及其变化规律 在28nm工艺时,电流泄漏问题对ASIC和FPGA都变得严重,...
作者:付汉杰 hankf@amd.com,文章来源:博客园问题经常有人问,为什么嵌入式系统的底层软件,出问题后解决起来,耗时长。确实,底层软件处理的都是很常见很成熟的设备,比如Flash、以太网、SD卡。 看起来应该不难。可是大多数项目,又都有前面提到的问题。这是一个难以回答得问题。结论先说结论。最重要的原因有三个。第一是代码量非常非常大,第二是没有深入研究,第三是潜在的硬件、协议、软件问题。...
作者:小黑同学 来源:明德扬FPGA科教关于阻塞赋值和非阻塞赋值的问题,明德扬的学员提得比较多,今天小黑老师专门给大家普及一下阻塞赋值和非阻塞赋值的相关知识。 一、概述1、阻塞赋值对应的电路往往与触发沿没有关系,只与电平的变化有关系。阻塞赋值符号“=”。2、非阻塞赋值对应的电路结构往往与边沿触发有关系,只有在触发沿时才有可能发生赋值的情况。非阻塞赋值符号“...
本文转载自:明德扬FPGA科教根据逻辑电路的不同特点,数字电路分为组合逻辑和时序逻辑,明德扬粉丝里的同学提出,无法正确区分,今天让我跟一起来学习一下两种逻辑的区别以及使用环境。时序逻辑和组合逻辑的区别关于组合逻辑和时序逻辑的不同,我们可以从三方面来理解,分别是code(代码),电路图和波形图三方面。从代码层面来看,时序逻辑即敏感列表里面带有时钟上升沿,如果是没有上升沿或者是带有“*”号的代码,...
作者:Design Gateway Co., Ltd.Xilinx 的 Versal AI Core 系列器件旨在解决有关 AI 推理的最大而独特的难题,该系列使用具有高计算效率的 ASIC 级人工智能计算引擎以及灵活的可编程结构,来构建具有加速器的 AI 应用,以使任何给定的工作负载都能够在实现低功耗、低延迟的同时达到最大效率。Versal AI Core 系列...
知道ZedBoard是性价比相对比较高的入门FPGA+ARM架构设计的开发板,网上关于它的资料也是特别丰富。今天给大家推荐的这个中英文的《The Zynq Book》是全面的介绍Zynq Soc的较好的材料。所有的Zynq-7000芯片具有相同的架构,是以ARM处理器系统为基础,它包含了一颗双核ARM Cortex-A9处理器,它与软核Microbraze是不同的,它是一颗专用的“硬核”,...
作者:MacMahon Stephen,AMD赛灵思开发者Versal™ 是由多个高度耦合的可配置块组成的自适应计算加速平台 (ACAP)。这些块包括 NoC、AIE、PL 和 CIPS(CIPS 本身包含不同的域:LPD 和 FPD)等,启动这些块时,需使用 Vivado 中的配置集进行配置。本篇博文是...
作者:付汉杰 hankf@amd.com,来源:博客园概述前两周有人询问DMA下的cache操作和dma-coherent。以前零碎看过代码。临时找,还没有找到。这两天整理了调用流程,也找到了dma-coherent的用法。Linux的文档里没有详细说明dma-coherent的用法。根据代码,如果dma的设备树里有dma-coherent,Linux则认为硬件会维护cache一致性,...
作者:陆禹帆, 来源:XILINX开发者社区前言本篇中,我想跳过一些细枝末节, 先简单介绍 AMD Xilinx Vitis AI 在 Zynq 这个硬件加速平台下软硬件开发的基本思路和流程,把各个开发流程和工具分开,帮助刚刚接触Vitis/Vitis AI的同学快速找到学习和开发的方向。为什么不用其他NPU平台?在使用Xilinx DPU来对我们的AI应用进行加速之前,...
本文转载自:ubuntu今天,机器人开发人员对 AMD Kria™ KR260 机器人入门套件的发布充满期待。机器人技术是一项具有挑战性的工作。AMD通过降低嵌入式设计的准入门槛加速每个行业的机器人创新。Kria 自适应模块系统 (SOM)的 产品组合最新成员展示了这项工作。以最经济的价格快速部署机器人Kria KR260 的第一个亮点是其与现有的 Kria K260 自适应 SOM...
本文转载自: FPGA技术联盟对于系统设计工程师来说,时序问题在设计中是至关重要的,尤其是随着时钟频率的提高,留给数据传输的有效读写窗口越来越小,要想在很短的时间限制里,让数据信号从驱动端完整地传送到接收端,就必须进行精确的时序计算和分析。同时,时序和信号完整性也是密不可分的,良好的信号质量是确保稳定的时序的关键,由于反射,串扰造成的信号质量问题都很可能带来时序的偏移和紊乱。因此,...
作者:Peter Zhou,AMD赛灵思开发者问题背景:在MPSoC上电时硬件的Scan Clear和MBIST会执行,根据UG1085 Chapter39 System Test and Debug章节,MBIST_DONE寄存器是只读的,表明了测试已完成,MBIST_GOOD寄存器也是只读的,表明了测试的结果。但是用户在上电后去读这两个寄存器却发现这两个值为0,...
本文转载自:明德扬FPGA科教 前一篇我们主要以单片机为例子讲述了FPGA和单片机内部结果的差异来解释“现场可编程的门阵列”。既然两者在编程设计上不一样,那么,在应用上又有什么不一样呢?还是以单片机为例子讲解。 单片机的用途非常广,广泛应用于仪器仪表、家用电器、医用设备、航空航天、...
作者:老石,原文转载自《老石谈芯》公众号去年我们玩KV260的时候用的是官方示例,在很短时间之内就完成了一个视觉加速器的开发。那么这次用KR260,我们挑战了一下更高难度,想尝试一下实际开发起来是一种怎样的体验,也想体验一下ROS系统的使用,以及这种开发方式带来的好处。—— 老石Kria 系列是AMD Xilinx 专门针对边缘部署而精心设计的 SOM 产品组合,从入门套件到量产型 SOM,...
本文转载自:明德扬FPGA科教 很多人听到这个词并不知道FPGA是什么,全英文的单词以及中文翻译是什么意思,哪怕是百度一下,上面关于FPGA的解释也是相对繁杂,没有击中要点,对初学者来说,依然有不少疑问。什么是FPGA? 我们的FPGA有个中文名称叫“现场可编程的门阵列”,这又是一个什么概念呢? ...
作者:Hanson Zhu Comtech FPGA一. Block Design设计方法早期的FPGA,资源是比较有限的,设计规模相对也比较小,之前的设计流程中工程师常用的设计以HDL+Xilinx IP为结构,设计中也会顾虑到FPGA资源的节省。随着FPGA的资源越来越大,设计的快速构建、易修改、随着版本可迭代的要求越来越高。好比在早期单片机时代,C语言是主流的工具;...
作者:付汉杰 hankf@amd.com,文章来源:博客园Xilinx MPSoC的FSBL中使用了看门狗,避免单板进入异常后一直挂死。下面是FSBL关于看门狗的用法总结。Vivado配置Vivado中的PS配置中,如果使能了wdt,FSBL会自动使能看门狗。/**
* Definition for WDT to be ...
本文转载自:明德扬FPGA科教 明德扬的JESD204B采集卡项目综合上板后,可以使用上位机通过千兆网来配置AD9144和AD9516板卡,实现高速ad采集。最终可以在示波器和上位机上采集到设定频率的正弦波。本文重点介绍JESD204B时钟网络。一,JESD204B时钟网络原理概述本文以JESD204B subclass1来讨论时钟的时序需要以及TI时钟芯片方案的实现。...
本文转载自: 明德扬FPGA科教一,JESD204B应用的优缺点接触过FPGA高速数据采集设计的朋友,应该会听过新术语“JESD204B”。这是一种新型的基于高速SERDES的ADC/DAC数据传输接口。随着ADC/DAC的采样速率变得越来越高,数据的吞吐量越来越大,对于500MSPS以上的ADC/DAC,动辄就是几十个G的数据吞吐率,...
作者:付汉杰 hankf@amd.com,来源:博客园例子MPSoC swdt是一个简单的看门狗,只有四个寄存器。可以参考xwdtps_polled_example.c使用MPSoC swdt。xwdtps_polled_example.c只测试swdt是否超时,没有使能复位。如果需要复位,搜索代码“XWdtPs_DisableOutput(&Watchdog,...
作者:Grace Sun,AMD赛灵思开发者在Vitis AI 2.5的vitis-ai-pytorch 和vitis-ai-tensoflow2 conda环境中,引入了一个名为inspector的新功能,用户可以在做量化前调用inspector来检查浮点模型。Inspector根据指定的DPU目标架构,会诊断并显示神经网络的分区结果(映射到CPU还是DPU),并提示有关层未映射到DPU的原因...
作者:Yang Chen,AMD赛灵思开发者之前介绍的xbmgmt功能偏重于Alveo的检测和查询,接下来介绍的是如何刷新Alveo板卡的镜像和shell,这也是一个很实用的功能。4. xbmgmt programxbmgmt program主要用于对新版卡刷新固件和下载镜像,对于一块未开封的板卡,如果直接安装在服务器上,它是不能直接用的。它的出厂设置是一个golden image,...
作者:Chen Yang,AMD赛灵思开发者 XRT自2021.1更新后,原有的XRT Tool指令发生了一些变化。包括xbmgmt,xclbinutil,xbutil,xbflash2(standalone),xball,xbtop。其中xbmgmt是用于管理板卡,例如刷新shell,检测板卡的信息等,也是初次上手新版卡安装固件的必需工具。此次试验平台为U50,操作系统为Ubuntu...
作者:Nick Liu ,来源:Comtech FPGA 随着数据带宽需求的持续增长,数据传输从并行变成串行,收发器的速率越来越高,无论在单板内或者通过光纤和背板传输,都会带来一系列信号完整性问题。信号完整性,是指系统电路在信号传输过程中保持信号时域和频域特性的能力。如果信号经过信号线传输后依旧能保持其正确的功能特性,即信号在电路中能以正确的时序、幅度、相位等做出相应的动作,...
本文转载自:SDNLAB编者按PCIe发展至今已经从最初的1.0升级到了6.0,但很多人对于PCIe只知其然而不知其所以然,小编今天就带大家一起来看一看。要想了解什么是 PCIe,首先我们要来聊聊什么是总线。如果把主板看作一座城市,那么总线就像是城市里的公共汽车,能按照固定行车路线,传输来回不停运作的比特在很久以前,我们的电脑并不像如今这样有统一的接口与总线规范。...
使用 Vitis 软件平台进行加速流程应用开发Vitis™统一软件平台工具将赛灵思软件开发的方方面面全部组合到统一的环境内。Vitis软件平台支持Vitis嵌入式软件开发流程以满足希望迁移至下一代技术的赛灵思软件开发套件 (SDK) 用户的使用需求,也支持 Vitis 应用加速开发流程,以满足希望使用基于赛灵思 FPGA...
作者:Hong Han,AMD赛灵思开发者Vivado同时支持在工程模式以及非工程模式中使用DFX流程,这里我们先从非工程模式开始介绍。如果在下文中看到不熟悉的术语,可以参考"DFX flow I - DFX flow Introduction"。1.分别准备顶层模块以及RM部分的综合网表用户可以使用Vivado Synthesis或着Synplify生成综合网表<1...
作者:Hong Han,AMD 赛灵思开发者DFX流程的全称是Dynamic Fucntion eXchange, 过去曾被称为PR流程 (Partial Reconfiguration). 可以在保持一部分逻辑在正常工作、不断电的情况下,通过部分重配置替换掉其他的部分逻辑的功能。如图所示,Reconfig Block A 所包含的逻辑在黑色框所在的区域,A1.bit~A4....
作者:Luke Liu,来源: Comtech FPGA微信公众号
1. 很容易认混的LiDAR 和 RADAR
在说到基于FPGA的LiDAR系统之前,我们先来聊聊”雷达”和”激光雷达”的区别。因为这两个词语看起来十分相近,经常会被读者混淆。
实际上,目前大家经常谈论的激光雷达(LiDAR),其实是“光学雷达”,从其英文“Light Detection And Ranging...
作者:付汉杰 hankf@amd.com总结通过使用本地文件、Open Source U-Boot/Linux编译,既能适应部分开发人员的工作习惯,也能提高U-Boot/Linux的编译速度。概述PetaLinux是Xilinx基于Yocto推出的Linux开发工具,可以一键编译出一个完整的嵌入式Linux发行版,包括上百万源代码文件,数千个应用程序。但是完整的一次PetaLinux/...
作者:Ivy Guo,AMD 赛灵思开发者
MultiBoot是FPGA远程更新配置文件时一种非常普遍的应用 ——为了确保安全,我们通常需要安排一个Golden Image,升级失败后FPGA能回跳(Fallback)到此配置,从而使FPGA始终处于可被检测的工作状态。
很多客户有同样的问题:我在升级Update Image一半时突然掉电了,为什么回跳机制不起作用了呢?...
本文转载自:本文由半导体产业纵横(ID:ICVIEWS)编译自semianalysis
AMD能在服务器领域实现领跑吗?
由于验证周期长,服务器行业转向新供应商的速度很慢。安全的选择是坚持现有的供应商,无论是几十年前的 IBM,还是现在的英特尔。不过,AMD表示“坚持使用至强并不安全”。
第四代 Epyc Genoa 的发布标志着 AMD...
作者:付汉杰 hankf@amd.com在PetaLinux工程中,与单板相关的UBoot、Linux等模块,经常需要编辑、调试。在旧版本中,可以为UBoot、Linux选择“ext-local-src”, 指定UBoot、Linux的代码,从而使PetaLinux使用工程师修改后带调试信息的代码。现在已经不建议这种模式。对于新的的PetaLinux,建议使用命令“petalinux-...
Vitis-AI提供了大量的预构建模型。这个项目描述了如何利用这些模型来实现车牌识别。
Xilinx模型包含许多预先构建的卷积神经网络模型。
本项目利用了其中的几个模型,以便实现一个用于车牌识别的多推理应用程序。
车辆检测:ssd_traffic
车牌检测:platedetect
车牌识别:platenum
让我们开始吧!
第 1 步 - 创建SD卡...
作者:Ivy Guo,ADM 赛灵思开发者
BSCANE2模块是FPGA的一种特殊硬核模块,用于联通外部JTAG引脚和内部逻辑,构建FPGA内部的用户扫描链。关于BSCANE2的用法, 有一个基于7系列器件的参考设计:
https://support.xilinx.com/s/article/1181110?language=zh_CN
在UltraScale/UltraScale+...
作者: 碎碎思,本文转载自:OpenFPGA微信公众号
Xilinx Vivado中提供了AXI FIFO和AXI virtual FIFO类似IP,这篇文章主要通过实例来讲解这两个IP的使用方法。
AXI Virtual FIFO Controller
FIFO 是我们设计中常用的工具,因为它们使我们能够在进行信号和图像处理时缓冲数据。...
作者:付汉杰 hankf@amd.comPetaLinux工程会自动下载代码并编译。很多时候,工程师需要修改代码,加入调试信息。使用下列脚本,可以一次性导出所有关键模块的代码。脚本中,为了保持兼容性,导出了MPSoC和Versal的模块。有些模块不存在,不会导致其它副作用,请忽略不存在的模块错误信息。#!/bin/bash
# hankf@amd.com
date_time=`...
本文转载自: 硬码农二毛哥微信公众号
在zynq开发中经常会修改设备树,每次遇到这种情况都有点发愁,今天把设备树相关的知识点总结一下,希望以后遇到设备树时,能够自如应对。
什么是设备树
设备树时描述硬件的数据结构,Linux系统可以通过设备树了解硬件结构,不需要进行编码。
设备树文件类型
DTSI: 设备树头文件,类似C语言中的.h文件,供DTS文件调用。
DTS:....
作者:jhua,ADM赛灵思开发者
本篇博文侧重于提供 Versal™ GTY 仿真示例、演示 GTY 如何解复位以及如何执行速率变更。
在 Versal ACAP GTY 收发器中,引入了“Master Reset Controller”(主复位控制器)的概念。
主复位控制器用于自动单步执行 LCPLL、RPLL、ILO、TX 可编程分频器、RX 可编程分频器、TX 通道以及...
作者:Savula,AMD 赛灵思开发者
本篇博文旨在演示如何通过 NoC 从 Versal™ 应用处理单元 (APU) 访问 AXI BRAM。
设计示例是使用 Vivado® 2020.2 版本创建的,评估板使用的是 VCK190 评估板。在本篇博文中以附件形式提供了适用于此设计的 Tcl 脚本和应用代码。
Versal:
Versal 架构将“Scalar...
徕卡CityMapper-2
隶属于海克斯康的徕卡测量系统(Leica Geosystems)是一家全球领先的测绘和测量解决方案供应商。旗舰产品之一是徕卡CityMapper-2:一个用于生成高精度城市三维地图的机载斜面成像结合LiDAR的解决方案。它结合了光学、机电一体化、高速电子和软件,为了加快这个高度复杂的系统的开发,徕卡测量系统选择了Enclustra来提供关键部件...
作者:付汉杰 hankf@amd.com,AMD赛灵思工程师总结建议使用fpgautil加载,更简单。介绍Bit文件对于FPGA设计,传统设计都是一个FPGA一个设计,产生一个Bit文件。这就是完整bit文件(full bit)。 有些文章中也称之为全工程比特文件。Xilinx很早之前有PR(Partial Re-Configuration)特性,最近更新成DFX(Dynamic Functi...
作者:碎碎思 来源:OpenFPGA作为一名工程师,在项目实施阶段多多少少会遇到需要使用控制理论的应用程序。一种非常常用的算法是比例积分微分控制器(proportional-integral-derivative control)或 PID 控制器。PID 算法用于控制各种应用中温度、压力、电机位置和流量等变量。我经常看到的一个地方是高端图像处理系统(制冷型红外),...
创建新项目
为了创建我们的HLx图像处理块,我们将使用基于eclipse的Vivado HLS。一旦我们有Vivado HLS打开,要做的第一件事是创建一个新项目,并选择正确的目标设备。
在这种情况下,我们的目标是Zybo Z7,目标设备是XC7Z020-1CLG400C。
在这个项目中,我们将创建一个简单的函数,将彩色图像转换为灰度图像。...
作者:Gaofeng,AMD 赛灵思开发者
根据上篇的博客把启动镜像制作完成后,进行测试:
插好USB线和串口,设置ZCU102上的拨码开关SW6[1:4]=1110(OFF, OFF, OFF,ON),另外,还需要保证USB外设处于device模式,具跳线设置可参考UG1182。
由于UG1029已经对LINUX下dfu-util的操作步骤做了详细说明,...
本工程实现PCIE的8通道速率2.2GBps通信,并验证数据的正确性。
本工程里已经把PCIE部分做成一个封装的模块,对外提供的是fifo_wr(数据发送fifo)接口和fufi_rd(数据接收的fifo接口),用户只要操作fifo接口,无需关心PCIE的内部驱动。为了便于读者更加明白,可以深入了解PCIE,我们将会制作一个PCIE的连载系列。
今天,首先说一下自定义AXI4的IP核...
本文转载自: 贸泽电子微信公众号
视觉AI应用发展至今,已经遍地开花,你能想到的或想不到的地方,它都存在。至于它的边界在哪里,说是潜力无限也好不夸张,就像今天要评测的Xilinx Kria™ KV260视觉AI套件,他刷新了我对视觉AI及FPGA上手难易度的认知。
1. 套件介绍及开箱
Xilinx Kria™ KV260视觉AI入门套件是一个开箱即用平台,...