作者:hankf,Xilinx Employee
修改Xilinx的定时器裸核应用程序(baremetal, standalone)例子xttcps_intr_example.c,可以测量中断响应延迟。
然后在单板上运行,以及在XEN的虚拟机上运行,可以分别测量这两种情况下的中断响应延迟。
单板的中断延迟
首先看单板上运行的中断延迟的测试数据,...
技术
作者:默宸,来源:FPGA技术联盟
启动过程
设备配置包含用于初始化和配置ps和pl的所有方法及过程。在软件控制下,ps内的DevC提供用于初始化和配置ps和pl的手段和方法,在zynq中提供两个模块用于控制配置过程:
1. BootROM,一个静态存储块器块,当上电复位和暖复位后,有Cortex-A9的CPU执行这个内置程序;
2. 设备配置单元:...
随着AI的广泛应用,深度学习已成为当前AI研究和运用的主流方式。面对海量数据的并行运算,AI对于算力的要求不断提升,对硬件的运算速度及功耗提出了更高的要求。
目前,除通用CPU外,作为硬件加速的GPU、NPU、FPGA等一些芯片处理器在深度学习的不同应用中发挥着各自的优势,但孰优孰劣?
以人脸识别为例,其处理基本流程及对应功能模块所需的算力分布如下:...
作者:hankf,Xilinx Employee
SDK里带有xttcps_intr_example.c,可以产生时钟中断和PWM方波。MPSoC有四个TTC,总共12个timer。xttcps_intr_example.c缺省使用 12个中的第0个和第1个,TTC0和TTC1。如果修改为其它TTC timer, xttcps_intr_example.c运行出现异常。
原始的C代码...
作者:hankf,Xilinx Employee
Xen Dom 0的Linux kernel和文件系统,功能应该越少越好,文件应该越小越好。文件太大,可能引起启动失败。
只含有PS的HDF文件,编译出来的rootfs.cpio.gz.u-boot有49MB。经过分析,target文件系统中,/usr/bin占用93MB,其中QEMU的文件占用了92MB.
[qemu]$ ls...
作者:刘魁,刘健,管增伦等,文章来源: 电子技术应用ChinaAET
摘要:传统数字信号处理器(Digital Signal Processor,DSP)控制系统在中低压电力电子设备的控制和保护中已有广泛的应用,并取得了良好的控制效果,但对于高压大功率电力电子设备的控制和保护则存在不足。对此,针对高压大功率电力电子设备,设计了一种基于DSP+现场可编程门阵列(Field-...
作者:hankf,Xilinx Employee
ZDMA应用例子xzdma_simple_example.c 缺省只运行一次。
在XZDma_SimpleExample()里的XZDma_SelfTest( )之后,把运行部分放进一个循环体,可以多次运行。测试工具是Xilinx SDK 2018.2.
但它没有清除 Total byte count寄存器,多次运行后,会溢出...
要解决任何综合崩溃问题,通常应该从了解崩溃发生在综合的哪个阶段着手,以及工具方面是否有任何迹象指向特定的模块、赋值、声明或推断。
如果以下文章无法帮助您解决您查询的问题,请分享在运行文件夹中生成的 hs_pidxxxx.log 文件以及“project_name.runs/synth_1/”目录下的综合日志文件。
在某些情况下会出现日志不足的状况,并且需要与赛灵思共享 RTL 设计,...
作者:Digi-Key工程师 Joey Mulqueen
存在很多不同的通信协议,这里只列出我们PLC中较常用的协议。下表显示了这些协议之间的一些关键差异,之后对每种协议进行简要说明。
规格
CompoBus
DeviceNet
Ethernet/IP
EtherCAT
RS...
通过高性能多处理,提供具有更快响应时间和可靠性的救生除颤器
AED 可视为心电图 (ECG),或多参数患者监护仪,也可提供挽救生命的治疗。ECG 可通过连接至人体特定位置的电极监控心脏信号。这些信号的振幅大约只有几毫伏,在有噪声的背景下很难辨别,但可用于准确确定一个人的 QRS 综合波。
QRS 综合波通常被医生用来诊断多种心脏疾病,比如心律失常、甚至心房颤动或心室颤动等。AED...
作者:Aaron Frederick,编译:机器之心
喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?之前文章里出现过漂亮的图表时,也总有读者在后台留言问该图表时用什么工具做的。下面,作者介绍了八种在 Python 中实现的可视化工具包,其中有些包还能用在其它语言中。快来试试你喜欢哪个?
用 Python 创建图形的方法有很多,...
MYD-C7Z020 开发板的构建基于 MYC-C7Z020 CPU 模块,该模块是一款基于 ZYNQ 的、Linux 就绪型的小巧 SOM,全面结合 Xilinx XC7Z020-1CLG400C SoC 器件、1GB DDR3 SDRAM、4GB eMMC、32MB 四路 SPI 闪存、千兆位以太网 PHY、USB PHY 和外部看门器。它可通过两个 0.8 毫米间距、140...
作者:Volker Goller,ADI系统应用工程师
工业以太网—实时以太网—在过去几年中经历了巨大的增长。虽然经典的现场总线仍大量存在,但它们已经过了巅峰期。流行的实时以太网协议扩展了以太网标准,可以满足实时功能的要求。现在,TSN为实时以太网提供了一条新的途径。
实时与通信
在工厂自动化和驱动技术的背景下,实时意味着周期时间要安全、可靠地达到10毫秒以下,最低至微秒。...
作者:Keith Lumsden,赛灵思应用工程师
嗨,我叫 Keith Lumsden,是赛灵思的一名应用工程师。
很高兴受邀为赛灵思社区的全新设计和调试技术博客撰稿。
我的主要任务是为使用集成到 Zynq®UltraScale™RFSoC 产品中的 RF 数据转换器的客户提供支持。
在我的职业生涯中,我一直从事模拟和混合信号系统、FPGA 架构、I/O...
作者:Steve Leibson
Arduino 和 Raspberry Pi 开发板是颠覆嵌入式系统开发方式的登峰造极之作。从前,嵌入式系统的开发从硬件开始。项目步骤一般如下:
1. 规范系统要求,包括粗略估计处理速度和 I/O 要求。
2. 选择符合功率、性能和价格要求的适当微控制器或微处理器。
3. 连接硬件原型。
4. 调试硬件原型。如有必要,...
作者: OpenSLee,来源:FPGA开源工作室
xilinx verilog语法技巧 一
硬件描述语言(HDL)编码技术让您:
•描述数字逻辑电路中最常见的功能。
•充分利用Xilinx®器件的架构特性。
1 Flip-Flops and Registers :
Vivado综合根据HDL代码的编写方式推断出四种类型的寄存器原语:
•FDCE:...
作者:Stephen Evanczuk,Digi-Key 北美编辑
过去,设计人员倾向于使用现场可编程门阵列 (FPGA) 在硬件设计中提升计算密集型应用的性能,例如计算机视觉、通信、工业嵌入式系统,以及越来越多的物联网 (IoT)。然而,传统 FPGA 编程中涉及的繁琐步骤一直让人望而却步,促使设计人员到目前都还在寻求替代处理解决方案。
基于 Jupyter 笔记本的 Python...
作者:默宸,来源:FPGA技术联盟
早期运用的arm芯片规模较小,在芯片上直接有uart的中断服务函数地址寄存器,直接将中断服务函数的地址写入寄存器就搞定了。然后zynq似乎比较复杂,中断也比较复杂。在zynq中有个Scu(snoop control unit窥探控制单元,也是arm所有的)专门控制中断处理。Vivado SDK中提供了scugic驱动来处理相关的操作。下面具体说一下,...
测试工具版本:PetaLinux 2018.2
测试单板: ZCU106
UBIFS是更强壮的FLash文件系统。很多嵌入式系统都使用了UBIFS。
Xilinx PetaLinux 2018.2也支持UBIFS。只需要在Linux/U-Boot里添加相关配置选项,就能为QSPI Flash创建UBIFS。
第1步,为Linux Kernel添加UBIFS配置选项。...
GPIO的结构体系
zynq的GPIO,分为两种,MIO(multiuse I/O)和EMIO(extendable multiuse I/O)。
ZYNQ的GPIO由4个BANK组成,其体系结构如图1所示。其中Bank0有32个GPIO引脚,Bank1有22个引脚,共54个GPIO引脚直接通过MIO连接到PS上,每个引脚可以通过寄存器的设置来确定该引脚为输入、...
作者:默宸,来源:FPGA技术联盟
新建工程
1. 打开vivado2017.4,在出现的对话框中选择创建一个工程,如图所示。这一步是为了创建一个ZYNQ的工程。
2. 点击创建工程后,出现对话框如图所示,然后点击对话框中的下一步。这一步表示这是一个创建工程的向导,通过该向导去新建一个工程。
3,此时会出现一个对话框如图所示,这一步给工程命名,...
综合属性
在Vivado Design Suite中,Vivado综合能够合成多种类型的属性。在大多数情况下,这些属性具有相同的语法和相同的行为。
•如果Vivado综合支持该属性,它将使用该属性,并创建反映已使用属性的逻辑。
•如果工具无法识别指定的属性,则Vivado综合会将属性及其值传递给生成的网表。
1.ASYNC_REG...
本文由机器之心编译
本文主要讲解 Python 的 5 种高级特征,以及它们的用法。
1. Lambda 函数
Lambda 函数是一种比较小的匿名函数——匿名是指它实际上没有函数名。
Python 函数通常使用 def a_function_name() 样式来定义,但对于 lambda 函数,我们根本没为它命名。这是因为 lambda...
作者:小卓,来源:FPGA技术联盟
关于复位
数字电路中,电路通过复位来启动,复位犹如数字电路的“起搏器”,主要有下面三种方式:
1. 无复位:天生就强壮着,上电就启动;
2. 异步复位:好心人路过,随便踢了一脚,起搏了,这完全没有心理准备,随时都有可能复活啊;
3. 同步复位:专业救援队,手按住胸口,不起博按住不放啊。直到听到“砰砰”声才离开,非常关键,...
作者:默宸 FPGA技术联盟
Modelsim代码覆盖率功能Code coverage,能报告出statement(语句)、branch(分支)、condition(条件)、expression(表达)、toggle(信号翻转)、fsm(有限状态机)等多种覆盖率情况。
1、编译选项(compile option):...
作者:Sugandha Lahoti,翻译:李洁,转自:数据派(ID:datapi)
注:本文节选自Ankit Dixit所著的《集成机器学习》(Ensemble Machine Learning)一书。这本书组合强大的机器学习算法来建立优化模型,可以作为初学者的指南。
在本文中,我们将研究从数据集中选择特征的不同方法;同时通过使用Python中Scikit-learn (...
作者:安平博,Xilinx高级工程师;来源:AI加速微信公众号
引言
直方图统计在图像增强和目标检测领域有重要应用,比如直方图均衡,梯度直方图。直方图的不同种类和统计方法请见之前的文章。本章就是用FPGA来进行直方图的计算,并且利用FPGA的特性对计算过程进行加速。安排如下:
首先基于直方图算法进行FPGA架构设计,这里主要考虑了如何加速以及FPGA资源的利用两个因素;...
作者:默宸,来源:FPGA技术联盟
xilinx7系列FPGA主要包括:Spartan®-7、Artix®-7、Kintex®-7、Virtex®-7。其性能/密度/价格也随着系列的不同而提升。
Spartan7系列是7系列中的屌丝青年,拥有最低的价格、最低的功耗、最小的尺寸以及最低的设计难度,一些低端应用中极为合适。
Artix7系列是7系列中的普通青年,...
作者:Faizan Shaikh,翻译:李文婧,转自:数据派(ID:datapi)
引言
人类不会每听到一个句子就对语言进行重新理解。看到一篇文章时,我们会根据之前对这些词的理解来了解背景。我们将其定义为记忆力。
算法可以复制这种模式吗?神经网络(NN)是最先被想到的技术。但令人遗憾的是传统的神经网络还无法做到这一点。 举个例子,...
观看本视频,了解赛灵思 Model Composer 2018.3 版本中的重要更新。Model Composer 是一个利用 Vivado 高层次综合技术的 MathWorks Simulink 附加工具。视频将介绍包括控制设计吞吐量、在仿真过程中调试导入的 C/C++ 函数、以及如何使用自带的入门示例等内容。
Xilinx Zynq SoC提供了一个新的系统设计能力。本课程给经验丰富的系统架构师提供了如何在一颗芯片中架构一个Zynq SoC系统。主要介绍ARM® Cortex™-A9 processor-based处理系统和集成的可编程逻辑资源,可供系统设计师成功而有效的利用。本课程也详细介绍单独的模块,包括PS、I/O外设、定时器和缓存,如DMA、中断和存储器控制器。...
作者:默宸 FPGA技术联盟
Vivado® Design Suite 提供两种方法可加速产品上市进程,提高工作效率。可构建 Vivado 布局布线。在任何设计阶段处理任何类型的 ECO 问题,并可加快运行时间,确保时序收敛进程。
增量编译:使用增量编译满足最后时刻 HDL 变动需求,仅针对已变动逻辑进行布局布线,从而可节省时间。
P...
作者:张浩 ,来源:FPGA技术联盟
10. case,casez,casex语句
Verilog定义了case,casez和casex语句,用于做多种情况下的选择语句。
reg [1:0] sel;
reg [2:0] result;
always @(*)
case(sel...
作者:周末,MathWorks 中国行业市场部经理
什么是 trajectory(路径)规划
中文路径在英语中可能有两种翻译:
1. path
2. trajectory
首先告诉大家,我们所说的“路径”的是后者——trajectory。我们看一下这两种“路径”在机械臂的世界里有什么区别。
设想机械臂的 end-effector 要从 A 点运动到 B 点...
作者:张浩 ,来源:FPGA技术联盟
编写可综合的FPGA代码
在接触Verilog 语法参考手册的时候,我们发现其提供了一组非常丰富的功能来描述硬件。所以大家往往会疑惑那些Verilog语句是可综合的,那些是只能用于写Testbench的,其实,参考手册中只有一小部分语句是可综合的,但是这一小部分可综合的语法确是我们应用最为频繁的,可综合的意思就是可以通过物理工具进行编译、综合、...
Python简单易学,但又博大精深。许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉。学海无涯,我们先来了解一些Python中最基本的内容。
Python的特点
解释型语言,无需编译即可运行
提供了交互式命令行
基于对象的编程思想
跨平台和良好的兼容性,在Windows、Mac、Linux上都可运行
简单好用而且功能强大...
作者:小卓,来源:FPGA技术联盟
时钟篇
选用全局时钟缓冲区(BUFG)作为时钟输入信号,BUFG是最稳定的时钟输入源,可以避免误差。
只用一个时钟沿来寄存数据,使用时钟的两个沿是不可靠的,如果时钟沿“漂移”,就会导致时序错误。
不要随意将内部信号作为时钟,如门控时钟和分频时钟,而要使用CLKDLL或者DCM产生的时钟,...
作者:小卓,来源:FPGA技术联盟
JESD204B是什么?
JESD204B是一种新型的基于高速SERDES的ADC/DAC数据传输接口。随着ADC/DAC采样速率的不断提高,数据的吞吐量也越来越大,对于500MSPS以上的ADC/DAC,动辄就是几十个G的数据吞吐率,而采用传统的CMOS和LVDS已经很难满足设计要求,这个时候,JESD204B应运而生。现在各大厂商的高速ADC...
今天发布一个Vivado 下固化 FLASH的压缩和提高加载速度的技巧和方法。这个方法对于需要快速加载程序的场合特别有用比如PCIE 需要满足200MS的加载时间才能实现上电后系统能够识别到开发板。
对于XILINX FPGA 如何缩小 bit文件或者MCS或者bin文件大大小,以及如何配置QSPI FLASH的加载速度,对于很多初学者来说还不知道,有必要推广下。
1、纯FPGA...
作者: 做但不能忘思考,来源:FPGA2嵌入式
7 Series FPGAs MultiBoot功能指让FPGA从2个或者多个BIT文件中加载一个BIT文件运行程序,所以它的2个主要应用如下:
1. 更新新的BIT时,当更新失败或BIT出错会返回使用之前好的BIT运行程序;
2. 在多个已知好的BIT之间,通过外部触发来切换加载的BIT实现不同功能...
作者:宋哲,曹旸等,来源:射频百花潭
摘要: 针对当前无人机数据链日趋小型化,采用射频收发一体化设计,基于FPGA 对零中频射频收发器AD9361 进行配置,实现机载视频和遥控遥测的无线传输。测试结果表明,该设计可以实现无人机与地面站之间数据的可靠传输,同时满足小型无人机对数据链体积、重量、功耗和低成本的要求。
无人机数据链是实现无人机与地面站之间双向传输信息的无线通信系统,...
作者:Ricky Su,Xilinx Employee
在电影里,黑客远程控制一个城市中所有的汽车,让它们追逐指定的目标,这样的场景让人感觉不寒而栗。在现实中,某个大网站的用书数据泄露的新闻也已经屡见不鲜。保护系统安全,之前是网络安全工程师的职责,似乎大多数工程师不太关心这个领域。但其实在产品越来越网络化、智能化的现在,安全的意义已经越来越重要,...
作者:OpenSLee,来源:FPGA开源工作室
名称
开发者
版本号
日期
PetaLinux安装
LC
V1.0
2019-04-03
所有安装软件均在Ubuntu16....
引言
在本系列视频中,我们将了解如何将三重缓存模式下设置的 AXI VDMA IP 集成到 Vivado 设计的视频流水中。
该设计将针对使用 PS DDR 的 Zynq®-7000 SoC ZC702 评估套件来进行设计。然而,同样的步骤可以应用于其他基于 Zynq 的视频设计,例如 PYNQ™ 电路板上上一个视频系列中的示例。
教程 – 在三重缓存模式下将 VDMA...
引言
在先前的视频系列文章(视频系列 19、视频系列 20 和视频系列 21)中,我们已经了解了如何在 Zynq®-7000 SoC ZC702 评估板的 HDMI 连接器上生成视频输出。ZC702 电路板将 ADV7511 HDMI 发送器用作视频接口,但并非所有解决方案都使用外部器件。
例如,在 PYNQ™-Z2 电路板(连接到 Pynq-z2 产品页面),HDMI 连接器直接连接到...
引言
在上一个视频系列中(编号 21)中,我们创建了一种设计,可将模式(使用的是 LogiCORE™ IP 视频测试模式生成器 (TPG) 的核)发送到 Zynq®-7000 SoC ZC702 评估套件的板载 HDMI 中。
但这个应用硬件设计中的分辨率固定为 800x600p(在应用中无法对其进行更改)。
在本视频系列中,...
您好,欢迎来到硬件仿真博客系列!在本系列中,我们将回顾和探讨影响当今高速印刷电路板 (PCB) 设计的各种信号完整性 (SI) 问题,以及如何通过仿真来避免这些问题。
如果您是贸然进入了高速设计领域的新手工程师之一,并且被“信号完整性仿真”这个术语所震撼,请不要烦恼。 在这次博客之旅中,我们先来回顾一下基础知识,然后再介绍一些更高深的话题。
我们已不再生活在信号“0”和“1”...
作者:小卓,来源:FPGA技术联盟
Vivado中的5种仿真模式
1、run behavioral simulation 行为级仿真,也是通常说的功能仿真
2、post-synthesis function simulation综合后的功能仿真
3、post-synthesis timing simulation综合后带时序信息的仿真,和真实运行的时序就相差不远了...
什么是接口?
SystemVerilog 接口的开发旨在让设计中层级之间的连接变得更加轻松容易。 您可以把这类接口看作是多个模块共有的引脚集合。与必须在每个模块上定义多个引脚不同的是,您只需在接口中对引脚定义一次,之后只需在模块上定义接口即可。 如果稍后接口中涉及的信号被更改,则仅需更改接口即可。
这样就可以将大量信息压缩到较少代码行,但第一次写接口可能会有点困难。...
作者:小卓,来源:FPGA技术联盟
如果符合一些简单的设计原则,采用最新的Xilinx7系列FPGA架构上实现无线通信。Xilinx公司已经创建了典型无线数据路径的设计范例,表明中速级(-2)器件上使用的几乎100%的 slice资源都支持500 MHz以上的时钟频率。如何真正时序高速设计,需要注意一下几点。
一、影响时钟频率的基本规则
DSP48...