技术

话不多说,进入今天的主题:生成zynq裸核启动文件。 1. 首先在vivado SDK中分别建立两个工程 注意:如上图所示, Core0 工程建立时选择ps7_cortexa9_0, Core1 工程建立时选择ps7_cortexa9_1 完成后如下图所示: 2. 配置Core1即从核中的BSP文件 在下图中画圈处,配置...
作者:豌豆花下猫” 来源:Python猫(微信号:python_cat)” Python 中的sys模块极为基础而重要,它主要提供了一些给解释器使用(或由它维护)的变量,以及一些与解释器强交互的函数。 本文将会频繁地使用该模块的getsizeof()方法,因此,我先简要介绍一下:   •  该方法用于获取一个对象的字节大小(bytes)...
PIPE 接口上的数据在 Gen3 的速度下被加密。当调试 PCIe 问题时,能在 PCIe 链接上查看各个包会很有帮助。 若要实现此目的,用户需拥有协议链接分析器。由于其成本较高,能接触到此等设备的用户不多。随协议链接分析器提供的包分析工具很广泛,可对链接流量进行深入分析。 赛灵思 UltraScale+ 器件的 PCIe® Express Gen3 IP 集成块有一个功能,...
作者:殷建飞 本文是昨天发的文章《龙芯杯CPU设计竞赛与ZYNQ设计流程介绍》接续部分。重点介绍传统方式的Linux移植和Xilinx的Petalinux的快速移植开发两种。 部分硬件设计中需要CPU完成对电路寄存器的配置,为了完成Zedboard对FPGA上部分寄存器的配置功能,可以在PS单元(处理器系统)上运行裸机程序(无操作系统支持)完成和PL单元(FPGA部分)的数据交互功能...
作者:雪湖科技 梅碧峰 引言:在这篇文章里你可以了解到广告推荐算法Wide and deep模型的相关知识和搭建方法,还能了解到模型优化和评估的方式。我还为你准备了将模型部署到赛灵思 FPGA上做硬件加速的方法,希望对你有帮助。阅读这篇文章你可能需要20分钟的时间。 早上起床打开音乐APP,会有今日歌单为你推荐一些歌曲。地铁上闲来无事,刷一刷抖音等短视频,让枯燥的时光变得有趣。...
作者:默宸,来源:FPGA技术联盟 01、ARM中断体系 ① ARM体系中,在存储地址的低位,固化了一个32字节的硬件中断向量表。 ② 异常中断发生时,程序计数器PC所指的位置不同,异常中断就不同。中断结束后,中断不同,返回地址也不同。但是,对于系统复位中断,不需要返回,因为整个应用系统就是从复位中断中开始的。 数据访问终止:数据访问的地址不存在,...
作者: OpenSLee,来源:FPGA开源工作室 若要查看跨时钟域路径分析报告,可选择以下内容之一来查看: A, Reports > Timing > Report Clock Interaction B, Flow Navigator > Synthesis > Report Clock Interaction C, Flow...
随着开源的MCU源代码越来越多,也逐渐的影响着嵌入式系统开发的思路,出现了两种以前不常见的设计思路。第一,原本需要购买一颗MCU芯片的设计,现在直接考虑购买一颗带有MCU硬核的FPGA(如ZYNQ系列FPGA)替代,既有MCU的功能,又有接口可编程的能力,更加的灵活;第二种思路是设计中原本需要写复杂控制逻辑的Verilog模块,现在直接考虑替换为一颗或者多颗开源的MCU IP核,...
作者:Wilson Qiu,Xilinx工程师 ZYNQ对Memory的操作 参考工程见“ZYBO_Memory_GPIO_Interrupt_demo.xpr”。 ZYNQ有专用的DDR Controller接口,如果外部硬件连接了DDR器件,于是在ZYNQ Processing System中正确配置了相应的信号和参数后,DDR就可以成为ZYNQ的内存,...
来源:硬件助手 本文主要介绍JTAG总线的引脚定义、接口标准、边界扫描和TAP控制器。 JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如ARM、DSP、FPGA等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟...
作者:Wilson Qiu,Xilinx工程师 常用外设设计 使用UART与ZYBO进行通信 ZYNQ学习过程中一个重要环节是进行调试,当然在SDK中进行调试时,设置断点进行单步调试非常高效。但是ZYNQ中毕竟涉及到FPGA的硬件部分,于是如果可以通过UART与ZYNQ器件进行双向的通信会使得调试非常方便。 Step1: 确认ZYBO板上硬件连接。...
作者:柏 佳,魏 鑫,朱 广,成都理工大学信息科学与技术学院,来源:2019年电子技术应用第8期 摘要: 随着人们安防意识的不断增强和智能技术的持续发展,针对用户对安全系数高的智能电子锁的需求,使用FPGA蓝牙通信技术设计了基于FPGA蓝牙通信技术的智能电子锁系统。通过手机APP直接控制电子锁,对电子锁进行双重加密处理,具有开锁、修改密码,管理员控制用户开锁信息表,...
本文主要介绍I2C总线的读写操作流程。 I2C总线的操作包括读和写,具体的操作流程如下: 1、主机发送数据(I2C写)流程 I2C主机给从机写数据的操作流程如下: Master发起START; Master发送I2C ADDR(7bit)和W操作0(1bit),等待ACK; Slave发送ACK(ACK=0); Master发送reg addr(8bit),等待ACK(...
作者: OpenSLee,来源:FPGA开源工作室 时钟网络反映了时钟从时钟引脚进入FPGA后在FPGA内部的传播路径。 报告时钟网络命令可以从以下位置运行: A,Vivado®IDE中的Flow Navigator; B,Tcl命令:report_clock_networks -name {network_1} 报告时钟网络提供设计中时钟树的树视图。 见图1。...
Zynq UltraScale+ MPSoC的PS有以下主要特点: 一个四核64位ARM Cortex-A53处理器,带L1和L2级缓存和ECC功能,可单独上电和关电; Cache一致性互联单元为PS和PL提供双向Cache一致性保证; SMMU(系统内存管理)单元用于PS和PL虚拟内存管理; 双核ARM Cortex-R5F处理器(带浮点扩展),...
本文只涉及各种傅利叶之间的概念关系,不考虑数学严谨性。 一张图理解各种傅利叶 from Understanding Digital Signal Processing. Richard G. Lyous a为连续时间非周期信号的傅利叶变换,频谱为连续非周期谱;(CFT) b为连续时间周期信号的傅利叶级数,频谱为离散非周期谱;(FS)...
作者: OpenSLee,来源:FPGA开源工作室 1 I/O延迟约束介绍 要在设计中精确建模外部时序,必须为输入和输出端口提供时序信息。Xilinx Vivado集成设计环境(IDE)仅在FPGA边界内识别时序,因此必须使用以下命令指定超出这些边界的延迟值: 1,set_input_delay 2,set_output_delay 2 输入延迟(Input Delay)...
本文主要介绍I2C总线相关的一些基本概念、通信流程、同步和仲裁、模式切换等。 I2C总线是PHILIPS公司推出的一种串行总线,是具备多主机系统所需的包括总线仲裁和高低速器件同步功能的高性能串行总线。 I2C物理上包括2条双向串行线,一条数据线SDA,一条时钟线SCL。均为OD结构,需要外部上拉,具体选取可参见之前的文章《硬件电路设计之“上下拉电阻”》。 SDA传输数据是大端传输(...
ZYNQ概述 ZYNQ内部包含PS和PL两部分,PS中包含以下4个主要功能模块: Application processor unit (APU) Memory interfaces I/O peripherals (IOP) Interconnect ZYNQ内部的总体框架如所示,PS中包含2个ARM Cortex-9的内核,一些基本的外设扩展口以及Memory接口。...
作者:安平博,赛灵思电子科技(北京)有限公司 高级研发工程师,来源:AI加速 linux驱动是连接软件和硬件的一个中间介质,实现了对硬件的配置和控制。进一步将硬件抽象化,为软件操作硬件提供了简单的接口。不论硬件的具体形式如何,linux驱动都将其映射到一个文件,软件端对硬件的读写操作等都被抽象成文件操作了。本篇从hello world开始,简要介绍驱动的基本结构,...
作者: lee,来源:FPGA开源工作室 1. 时钟介绍 在数字设计中,时钟代表从寄存器(register)到寄存器可靠传输数据的时间基准。Xilinx Vivado集成设计环境(IDE)时序引擎使用ClocK特征计算时序路径要求,并通过松弛计算报告设计时序裕度(Slack)。 时钟必须正确定义,以获得最佳的时序路径。以下特性定义了时钟: 1,...
随着5G通信、自动驾驶及物联网等新兴应用的发展,图像处理、AI算法加速、软件无线电等复杂多任务设计越来越挑战嵌入式平台的处理能力。专用标准产品只能为设计人员提供无法扩展的固定解决方案。这样,为了让设计更灵活就必须添加相应器件,因而不可避免地会拉高BOM成本和功耗成本。Xilinx的ZYNQ-7000 SoC系列作为ARM和FPGA全可编程的SOC,以其灵活的设计方式和优异的性能功耗比,...
作者:电子工程师小李 1)锁存器 锁存器(latch)是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,仅当锁存器处于使能状态时,输出才会随着数据输入发生变化。 简单地说,锁存器有两个输入,一个是有效信号EN,一个是输入数据信号DATA_IN,有一个输出Q,它的功能就是在EN有效的时候把DATA_IN的值传给Q,也就是锁存的过程。 2)触发器...
作者:安平博,赛灵思电子科技(北京)有限公司 高级研发工程师,来源:AI加速 本文介绍稀疏LSTM的硬件架构,一种是细粒度稀疏化,权重参数分布随机,另外一种是bank-balance稀疏化。 1. 文章结构 Long-short term memory,简称LSTM,被广泛的应用于语音识别、机器翻译、手写识别等。LSTM涉及到大量的矩阵乘法和向量乘法运算,...
作者:陈 辰,严 伟,夏 珺,柴志雷,来源:2019年电子技术应用第8期 摘要: 针对当前深度学习目标检测算法计算复杂度高和内存需求大等问题,设计并实现了一种基于FPGA的深度学习目标检测系统。设计对应YOLOv2-Tiny目标检测算法的硬件加速器,对加速器各模块的处理时延建模,给出卷积计算模块的详细设计。实验结果表明,与CPU相比,CPU+FPGA的异构系统是双核ARM-A9能效的67....
FPGA 是一堆晶体管,你可以把它们连接(wire up)起来做出任何你想要的电路。它就像一个纳米级面包板。使用 FPGA 就像芯片流片,但是你只需要买这一张芯片就可以搭建不一样的设计,作为交换,你需要付出一些效率上的代价。 从字面上讲这种说法并不对,因为你并不需要重连(rewire)FPGA,它实际上是一个通过路由网络(routing network)连接的查找表 2D 网格,...
作者:Ricky Su 现有参考资料 VCU TRD 2018.1, UG1250 UG252 gstreamer: https://gstreamer.freedesktop.org/ 逻辑设计 1. 通过 Vivado 内置的 ZCU106 模板建立一个新工程 2. 添加 PS: ZYNQ UltraScale+ MPSoC 3. 添加...
文章来源:AI加速微信公众号(微信号:AIspeedup) Zynq器件将arm和FPGA结合,利用了两者各自的优势,arm可以实现灵活的控制,而FPGA部分可以实现算法加速,这大大扩展了zynq的应用。比如深度学习加速,图像处理等等。PL侧表示FPGA的逻辑部分,PS侧为arm端以及一些AXI接口控制部分,二者实际上通过AXI接口实现通信和互联。...
在正式开始之前,我们先看看一位FPGA工程师的工作日常: 开始设计代码 开始写第一个always代码 发现要增加一个信号,因此写第二个always,设计这个新增的信号 回到第一个always上,继续完善这个代码 开始写第三个always代码 感觉第一个always有情况没考虑到 一阵重新思考 回去修改第一个always的代码 写完后,得了,不检查代码了,仿真再说吧。...
本文介绍两种LVDS数传接口:GMSL和FPD Link,这两种接口在汽车视频传输方面的应用是比较广泛的,尤其是Camera和处理器之间的链路,通过STP或者同轴电缆能使整个链路达到15m。 1、FPD Link Flat Panel Display Link(FPD Link)最早是National Semi提出来的一种处理器和LCD Panels之间的高速数字接口,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号 卷积占据了CNN网络中绝大部分运算,进行乘法运算通常都是使用FPGA中的DSP,这样算力就受到了器件中DSP资源的限制。比如在zynq7000器件中,DSP资源就较少,神经网络的性能就无法得到提升。利用xilinx器件中LUT的结构特征,设计出的乘法器不但能灵活适应数据位宽,而且能最大限度降低LUT资源使用。...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号 随着机器学习算法的研究,其变得越来越复杂和多样性。计算密集性对计算资源和存储以及带宽提出了更高的要求,复杂性更要求硬件要有很好的灵活性。CPU是一个标量处理单元,对于处理过程复杂的算法很灵活,比如决策树和大量的图像或者机器学习算法。GPU和DSP集成了大量的运算单元,能够并行处理大量计算,但是功耗较大。FPGA具有并行计算优点...
作者:西电ISN国家重点实验室网络与交换团队博士生刘欢,来源:网络交换FPGA微信公众号 1、引言 以交换机设计为例。在交换机设计前期,转发表项是固化在交换机内部的(给FPGA片内BRAM初始值),但是在测试过程中,往往需要对表项进行修改,如果直接修改BRAM的coe文件,则需要重新综合、实现、生成bit文件,其中,综合与实现耗时十分严重,设计规模越大,消耗的时间越长,...
本文主要介绍基于zynq的IIC的驱动架构,通过代码编写来深入了解IIC驱动的内容和机制。 1. IIC驱动架构 IIC驱动包含两部分:IIC总线驱动和设备驱动。总线驱动是对硬件设备适配器端的实现,主要包含i2c_adapter,i2c_algorithm和控制i2c适配器产生通信信号的函数。I2c_adapter和一套i2c读写algorithm绑定,...
作者:默宸 来源:FPGA技术联盟 看电路图画波形 本文转载自CSDN李锐博恩Reborn某校招题目,仅仅给出下面电路图,要求画出Q1,Q2以及Q3的波形,并描述电路功能。 可以看出,这个电路很简单,或许你会纠结于初值是什么,可是仔细想想,该电路其实和初值没有关系,第一个触发器的输入是第二个以及第三个触发器的输出的反馈,是Q1与Q2的或非,只要触发器复位有初值即可,...
Xilinx新一代 SOC,Zynq UltraScale+ MPSOC系列性能强悍无比,相比ZYNQ 7000系列每瓦性能提升5倍,作为一 名电子发烧友,都想体验一把这高性能的MPSOC开发板。现在用米尔MPSOC开发板来一个hello world。 MYD-CZU3EG产品介绍: http://www.myir-tech.com/product/myc-czu3eg.htm...
01. 下载modelsim软件 下载modelsim,这里用的是modelsim10.4版本。链接:https://pan.baidu.com/s/1qSZ_X9UhrII3E2N6-yOsuw 提取码:6aof 完成下载和安装,在安装文件夹中可以看到uvm-1.1d,这是我们使用的uvm版本。在uvm-1.1d/win64下有uvm_dpi.dll文件,...
在实际开发中,我们会经常使用到LCD屏,LCD屏的种类有很多种,对应的使用方法也有所不同,但是,在ZYNQ 图像传输开发中,思路大体类似,下面介绍在ZYNQ中,使用LCD显示OV5640图像方法。 1.1 概述 总体来说,搭建LCD显示的工程架构同之前搭建OV5640 HDMI显示的工程类似,采集输入端、VDMA处理、显示输出端,这里变化的是显示输出端...
5G是目前通信设备领域的市场趋势, Massive MIMO指的是64T64R应用中常用的多输入和多输出, 更多的发送器和接收器通道需要更多的数字处理器(FPGA / ASIC)来执行数据传输,而典型的64T64R MIMO应用中通常需要4-5个数字处理器。 每个FPGA都需要自己的电源上电/下电的时序,以便FPGA能够正常工作。 在下面的图1中,是典型的64T64R Massive...
据麦姆斯咨询介绍,典型的机器视觉系统主要由光源、镜头、工业相机、图像采集卡或图像处理器,以及控制输出单元等硬件构成。其中,工业相机是机器视觉系统最核心的组件,其本质的功能就是将光信号转变成为有序的电信号,再将该信号模数转换并送到处理器后以完成图像的处理、分析和识别。选择合适的工业相机是机器视觉系统设计的重要环节,工业相机类型不仅直接决定所采集到的图像分辨率、图像质量,...
Alveo U50:业界首款面向任意数据中心和各种云的自适应计算、网络和存储加速器卡 赛灵思 Alveo™ U50 数据中心加速器卡为金融计算、机器学习、计算存储以及数据搜索和分析领域的工作负载提供优化加速功能。U50 基于赛灵思 UltraScale+™ 架构,采用高效的 75 瓦封装,外形小巧,U50 包括 带宽为 460GB/s 的 HBM2,100GbE 网络和 PCI...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号 引言 这篇文章介绍一种不同于针对压缩单个权重的方法:多个权重数据组合为向量,将向量视为一个整体,映射到其他向量空间,完成压缩。作者在resnet-50上做了实验,将100MB权重压缩到了5MB(实现了20倍压缩比例),同时在imageNet上测试的top-1精度保持的很好(76.1%)。Resnet是一种经典的残差网络,...
数据类型 基本数据类型: 整型(int),浮点型(float),字符串(str),列表(list),元组(tuple),字典(dict),集合(set),布尔(bool) 数值类型(整数,浮点,布尔) 序列类型(字符串,列表,元组) 散列类型(字典,集合) 字节类型 a=bytes(‘123’)/a=b’123’ 字节数组bytearrary(‘123’) 可变序列:...
1、不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理。 FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道。因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其它软件编程语言一样。一条条的读,一条条的分析。如果这些菜鸟们始终拒绝去了解为什么FPGA是可以编程的,...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号 引言 网络压缩在AI加速中可以说起到“四两拨千斤”的作用,网络参数的减小不仅仅降低了存储和带宽,而且使计算逻辑简单,降低了LUT资源。从本篇开始,我们就一起挖掘一下网络压缩算法的类型,原理,实现,以及效果。写这类算法类文章,一是学习,二是希望能够令更多做FPGA的人,不再将眼光局限于RTL,仿真,调试,关心一下算法,...
作者:hankf,Xilinx Employee 使用前,执行命令source /opt/Xilinx/SDK/2019.1/settings64.sh ,导入相关路径,就可以。 xilinxtool$ find -name aarch64-linux-gnu-gcc ./peta/2018.1/tools/linux-i386/aarch64-linux-gnu/bin/...
Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等;如果从时钟发送者的角度分,还可以分为主动Master(即由FPGA自己发送配置时钟信号CCLK)和被动Slave(即由外部器件提供配置所需要的时钟信号);另外还可由板上稳定晶振提供时钟信号,经由FPGA的EMCCLK接口,再从CCLK端口送出。 如此多的配置形式,一旦发生配置失败怎么办?...
作者:Del Jones,ADI应用工程师 在JESD204C入门系列的 第1部分 中,通过描述它解决的一些问题,对JESD204标准的新版本进行了说明。通过描述新的术语和特性来总结B和C版本标准之间的差异,然后逐层概述这些差异。因为第1部分已经奠定了理解基础,现在我们来进一步研究一下JESD204C标准几个更值得注意的新特性。 64b/66b和64b/80b链路层 对于64b/...
作者:hankf,Xilinx Employee PetaLinux工程编译后,会生成很多临时文件,占用较大的硬盘空间。软件人员可能有很多PetaLinux工程。这种情况下,对于暂时不用的工程,可以删除其中build目录下的临时文件。 下面三个脚本,可以搜索当前目录下的所有PetaLinux工程,并删除其中build目录下的临时文件。由于安全限制,删除了脚步的第一行“#!/bin/...
作者:hankf,Xilinx Employee 独立编译VCU Ctrl-sw的办法 1. 安装PetaLinux 2. 导入PetaLinux环境 source /opt/Xilinx/peta/2018.2/settings.sh 创建和导出编译的环境变量 export ARCH=arm64 export CROSS_COMPILE=aarch64-...