技术

作者:NingHeChuan(宁河川)  对于电子工程师来说,很多电路设计仿真软件都是特别大的,安装下来一般都是上G,甚至几十G,而且win7的兼容性也是最好的,不愿意升级win10是因为麻烦,而且没有必要,对于很多的设计软件来说win10还没有完全兼容,而且还不停自动更新,时间很珍贵的,谁愿意浪费大把时间搞什么兼容性问题,而不是code or design。...
简介 本篇博客大部分内容前三篇博客都已经包含了,此处重点叙述不同之处,主要对比Tcl命令的不同和解决SDSoc程序找不到基地址的问题。 使用ZedBoard开发板,SDSoc 2017.4, Win10系统;此处通过AXI_GPIO点亮ZedBoard板子上连接在PL端的8个LED灯。 Tcl命令 搭建平台的步骤在 SDSoc学习(二)...
作者 | Conor Dewey 编译 | 专知 整理 | Yingying, Jiahui 不管是参加Kaggle比赛,还是开发一个深度学习应用,第一步总是数据分析,这篇文章介绍了8个使用Python进行数据分析的方法,不仅能够提升运行效率,还能够使代码更加“优美”。 一行代码定义List 定义某种列表时,写For 循环过于麻烦,幸运的是,...
本文是该系列的第9篇。FPGA设计中经常用到一些控制逻辑,如有限状态机(FSM),如果用各种block搭建一个FSM比较麻烦。System Generator支持调用MATLAB代码,通常可以编写MATLAB代码来实现FSM等控制逻辑,通过MCode block调用到System Generator设计中。 本文将使用MATLAB代码设计一个FSM,对“1011”这个序列进行检测。...
近日,想必各位科技爱好者的朋友圈都被一篇发表在第25届IEEE国际讨论会上,用Python开发FPGA的论文刷屏了吧,那么这是如何实现的呢?今天,就请各位看官和小编一起来了解一下,这个构想的实现基础——PYNQ。 图为该篇论文 PYNQ介绍 PYNQ全称为Python Productivity for Zynq,即在原有Zynq架构的基础上,添加了对python的支持。...
作者:Paul S.Levy, 赛灵思功能安全系统高级工程师 “功能安全(Functional Safety)”研究的是机器发生故障或运行环境中断时如何降低其对人和设备造成的危害的方法和措施。试想一下,在刚刚结束的 2018年的足球世界杯(2018 FIFA)中,如果我们将这种研究应用到足球比赛中,裁判员就有能力和权力在他们觉得有犯规行为时暂停比赛。当然,...
简介 前段时间买了一块米联客的7010开发板,打算尝试为这块开发板搭建一个简单平台。 用户自定义开发板与SDSoc直接支持的开发板的区别在于,直接支持的开发板已经根据板子上的硬件完成了一系列重要配置(如时钟、DDR型号),所以在为用户开发板搭建平台时,只需要根据该开发板的硬件实际情况进行相应的配置即可。 这里先尝试着点亮一个直接连在MIO(MIO7)...
1.定义   FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据, 其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。   FIFO一般用于不同时钟域之间的数据传输,...
前言 利用vivado高层次综合工具可将C代码综合成HDL语言。本文将详细解析一维有限长离散卷积的例子,并分析综合结果。另外,vivado HLS的使用方法见笔者另一篇博文: http://xilinx.eetrend.com/blog/13178 本文不再赘述。 维离散卷积原理 一维离散卷积就是卷积核与输入序列值两两相乘再求和,公式为:...
PetaLinux 工具提供在 Xilinx 处理系统上定制、构建和调配嵌入式 Linux 解决方案所需的所有组件。理想适用于提升设计生产力,该解决方案与 Xilinx 硬件设计工具协同工作,为 Zynq® UltraScale+™ MPSoC、 Zynq®-7000 SoC、和 MicroBlaze™ 简化了 Linux 系统的开发。 PetaLinux 开发工具(主机)...
本文是该系列的第8篇。第2篇中以数字滤波器的设计为主题,介绍了System Generator的完整设计流程;第7篇介绍了其中数据类型的选择与位宽截断的问题。本文将对其中使用到的Reinterpret和Convert模块进行详细介绍。 模块功能概述 数据转换,数据类型、位宽等问题都会影响到计算精度,对于设计者而言,需要考虑的就是相关影响是否可以接受,即是否会影响到实际的系统性能。...
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。无论是做项目还是写论文,我们都会遇到把Matlab画的图形(默认为matlab自带的图像格式.fig)转换为其他格式并导出的问题。...
作者:Manuel Mota,Synopsys公司模拟IP部产品营销经理 需要数据转换器的传感器应用涉及十分广泛的范围,例如用于识别不同发动机状态的温度传感器,或者支持汽车驾驶辅助系统(ADAS)的雷达/激光雷达等。涉及到数据转换器的其他应用还包括用于与其他车辆或固定网络进行通信的无线收发器。数据转换器IP(“模拟-数字”和“数字-模拟”)为汽车片上系统(SoC)提供了多种模拟传感器的接口...
简介 这是学习SDSoc的第二个入门实验,通过EMIO点亮连接在PL上的8个LED。与上一个实验不一样,在这一个实验中,由于ZedBoard平台中没有使能EMIO,因此想直接通过SDSoc编写程序驱动MIO是不行的,所以这一个实验需要自己搭建包含EMIO的平台。 我用的是ZedBoard开发板,SDSoc2017.4。 第一步:搭建平台...
本文是该系列的第7篇。第2篇中以数字滤波器的设计为主题,介绍了System Generator的完整设计流程。不过仍然有些问题需要解决: 1. 如何选择一个最合适的数据类型(以最少资源达到性能需求)? 2. 如何选择系统的输出位宽(保证信号不失真)? 传统的HDL模型设计方法中,博主通常会用MATLAB进行仿真,确认位宽对数据量化的影响;或在Vivado中仿真,截取合适的滤波器输出位数...
作者:OpenS_Lee 1背景知识 在我们的FPGA设计项目中,硬件的诊断和校验可能会占去超过30%—40%的FPGA开发时间,FPGA的debug也是FPGA设计中重要的一环。掌握并灵活运用FPGA设计工具的debug功能也是加快FPGA设计的关键。 1.1 ILA(Integrated Logic Analyzer)...
Vivado:2016.4   Linux:Ubuntu16.4   ZYNQ:xc7z020   下载文件名称   2016.4-zed-release.tar.xz   device-tree-xlnx-xilinx-v2016.4.zip   linux-xlnx-xilinx-v2016.4.zip   u-boot-xlnx-xilinx-...
简介 在XILINX官网上看见了一些SDSoc的介绍视频,感觉这个工具很强大,我之前也有一点点VIVADO+HLS的学习经历,感觉会为学习SDSoc提供一些帮助,所以就尝试学习学习。 先从最基础的点亮一个LED入手,通过对官方资料的学习,惊奇的发现官方给的例程都是对算法加速,而没有一些入门例程,比如说点亮一个LED(可能是太简单了官方不屑说,也有可能是我没找到...
描述 UltraScale+ GTH 可实现实时无中断眼扫描。用户可同时接受数据并查看平衡信号眼扩展,以实现在不丢失一个比特位的情况下,全面控制 BER 及信号裕量。 所需的大多数信息都可在 (UG576) UltraScale 及 UltraScale+ GTH 的 RX 裕量分析中找到。 本答复记录将向您介绍一个逐步运行手动眼扫描的简单案例。 解决方案 IBERT...
概况 在通讯产业蓬勃发展之下,各式电子产品持续追求更佳的传输质量与及时性并提供多元化应用,这些需求促使讯号传递速度持续朝高速发展。为了提升讯号传递速度以及缩短用户的等待时间,除改变讯号编码方式外,降低讯号位准(signal level)亦或是提供全双功的传输模式都成为改良的手段;为达到此一目标,各组件或装置之间对于减少讯号衰减与失真以及避免噪声干扰的要求大幅提升。因此,...
作者:赛灵思工业物联网战略部 Chetan Khona 智能互联产品背后的心理学 如果采用适当的质疑心理去思考为什么现在所有东西都套上了只能互联的噱头,你也许就会进一步想到:“它们真的都需要互联互通吗?”比如说蓝牙电动牙刷搭配的手机 app,我至今都没有使用过这类技术和工具,但一样每天早晚把牙刷的干干净净。所以真正的答案在于“人的心理”,而不在于“科技本身”。至少对我来说是这样的(...
1. Matlab中数组元素引用有三种方法: 下标法(subscripts) 索引法(index) 布尔法(Boolean) 注意:在使用这三种方法之前,大家头脑一定要清晰的记住,Matlab中数组元素是按列存储(与Fortran一样),比如说下面的二维数组: A= 8 1 6 3 5 7 4 9...
本篇文章目的是使用Block Memory进行PS和PL的数据交互或者数据共享,通过zynq PS端的Master GP0端口向BRAM写数据,然后再通过PS端的Mater GP1把数据读出来,将结果打印输出到串口终端显示。 涉及到AXI BRAM Controller 和 Block Memery Generator等IP的使用。 本系列文章尽可能的让每一个实验都相对独立,...
一、梯度下降法 在机器学习算法中,对于很多监督学习模型,需要对原始的模型构建损失函数l,接下来便是通过优化算法对损失函数l进行优化,以便寻找到最优的参数θ。在求解机器学习参数θ的优化算法中,使用较多的是基于梯度下降的优化算法(Gradient Descent, GD)。 梯度下降法有很多优点,其中,在梯度下降法的求解过程中,只需求解损失函数的一阶导数,计算的代价比较小,...
本文是该系列的第6篇。第2篇中以数字滤波器的设计为主题,介绍了System Generator的完整设计流程;第4篇对设计进行了资源分析。本文将在此基础上,讨论如何对设计进行优化,以及介绍System Generator可以导入MATLAB的工作区(workspace)变量的特性。 优化设计 在第4篇中我们进行了设计的资源分析,结果如下: 该设计使用了6个DSP单元,...
ADC ADC是模数转换器转换器 的供应商的英文简称,是一种能将模拟信号转变为数字信号的电子元件。通常是将信号采样并保持以后,再进行量化和编码,这两个过程是在转化的同时实现的。 ADC的转换步骤   模数转换一般要经过采样、保持和量化、编码这几个步骤。在实际电路中,有些过程是合并进行的,如采样和保持,量化和编码在转换过程中是同时实现的。   采样定理:...
作者:张凤麒,张延彬,王忠勇;2018年电子技术应用第7期 摘要: 为了解决期货行情数据加速处理中多个通道同时访问DDR3时出现的数据读写冲突问题,实现了一种基于FPGA的DDR3六通道读写防冲突设计,完成了对单片DDR3内存条的多通道实时访问控制需求。通过ChipScope工具采样结果证明了设计的可行性,提高了并行处理的速度,极大程度地降低了期货行情数据处理中行情计算的时间开销,...
摩尔定律失灵了,已是不争的事实。单纯的提升一种芯片性能变的代价越来越高,与此同时,异构计算成为提高计算力的主流方向。 什么是异构计算? 异构计算的前景怎么样? OpenPOWER系统上FPGA异构计算的先进技术又有哪些? 为此,小编恶补了一下异构计算的相关知识,并总结出如下几个基本知识点,给大家分享。如有不足,欢迎大家留言补充~ ● 异构计算(Heterogeneous...
本文是该系列的第3篇,上一篇以数字滤波器的设计为主题,介绍了System Generator的完整设计流程,最后自己编写testbench在示例工程中对System Generator导出的IP核进行测试。其实System Generator就可以导出整个设计的说明文档以及一个testbench,本文将介绍如何使用该特性。 生成说明文档 本文在上一篇设计的数字滤波器模型基础上进行修改。...
很多人拿到uboot,编译不知如何下手! 其实,这个世界上的万事万物,都有一个“纹理”。庖丁解牛之所以游刃有余,是因为他掌握了牛的纹理,顺着这些纹理就应该很容易。 那么我们的uboot的纹理在哪里呢? 很多初学者,拿到这种代码从来没有去看过它的README或者document!这两个文本文件是非常重要的东西,可惜呀!很多人不去看readme而去请教别人,google,baidu,...
在FPGA中三态门比较常见,因为FPGA是做为一个高速处理的器件,免不了要进行输入输出数据,常规的输入和输出是分开的两个接口要不停的切换比较麻烦,在FPGA中用的双向口一般都是用三态门来作为输入和输出的,这样优点是只要一个接口就可以输入输出比较节约逻辑资源,但缺点是三态门的处理没有常规两个I/O的方便,这里我们来看看怎样使用三态门,下图是三态门的结构。...
AES简介 高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图: 下面简单介绍下各个部分的作用与意义: 明文P 没有经过加密的数据。 密钥K 用来加密明文的密码,在对称加密算法中,加密与解密的密钥是相同的。...
如果你对Vivado HLS中综合之后端口的ap_none之类的类型指示摸不着头脑的话,那就来一起学习一下它们是如何使用的吧。在Vivado HLS中,我们可以指定端口使用的类型,这样在对C代码进行综合的时候,就可以指定某个端口所使用的转换协议了。常见的类型有: 1. ap_none 默认类型,该类型不适用任何I/O转换协议,它用于表示只读的输入信号,...
SDSoC、SDAccel、SDNet和HLS工具傻傻分不清楚 Software Define 的概念   近年来“Software Define ” 软件定义这个词持续火热,全球知名技术研究和咨询公司Gartner早在对2014年最有战略意义的十大技术与趋势做出预测时,便提出了软件定义一切(Software Defined Anything)的概念,...
本文是该系列的第2篇,上一篇介绍了System Generator的基本知识以及软件的安装。本文将以一个简单的数字滤波器的设计为主题,介绍Sysgem Generator的完整设计流程,同时详细介绍使用到的各个block。 本设计使用到的block 1.Xilinx block: Digital FIR Filter(->DSP):数字滤波器 Gateway In(->Basic...
学习RCNN系列论文时, 出现了感受野(receptive field)的名词, 感受野的尺寸大小是如何计算的,在网上没有搜到特别详细的介绍, 为了加深印象,记录下自己对这一感念的理解,希望对理解基于CNN的物体检测过程有所帮助。 1. 感受野的概念   在卷积神经网络中,感受野的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小...
在FPGA中,实现逻辑的基本单元是查找表(LUT)而非基本门电路。目前的FPGA中,单一LE或者Cell通常能实现至少4输入查找表的逻辑功能。 4输入查找表可以看成是具有4位地址1位数据的存储器,能够存储16bit数据,这也是LUT能被用于组建分布式RAM的原因。 如果要构成一个6输入1输出MUX,可以通过两片4输入查找表级联,也可直接用一片完整的6输入查找表,...
记录《学会System Generator》系列的目的是为了熟练掌握Xilinx公司旗下System Generator产品的使用。本文是该系列的第一篇,主要介绍System Generator的基本知识以及软件的安装。 System Generator基本特性 System Generator是一款DSP设计工具,其借助MATLAB中的Simulink开发环境完成FPGA的设计。...
1. 概念 英文名:convolutional neural network 是一种前馈神经网络,即表明没有环路,普通神经网络的 BP 算法只是用于方便计算梯度,也是前馈神经网络。 是深度学习结构的一种,是一种深度、前馈神经网络。 可以使用 BP 算法进行训练 ConvNet architectures make the explicit assumption that...
AXI4-Stream协议是一种用来连接需要交换数据的两个部件的标准接口,它可以用于连接一个产生数据的主机和一个接受数据的从机。当然它也可以用于连接多个主机和从机。该协议支持多种数据流使用相同共享总线集合,允许构建类似于路由、宽窄总线、窄宽总线等更为普遍的互联。比较重要的信号线有: ACLK: 时钟源,全局时钟信号。所有信号在ACLK信号上升沿采样。 ARESETn:复位源,...
开发环境 VirtualBox, Ubuntu 16.04 64 bit, Petalinux 2015.4 在VirtualBox中安装Ubuntu,用户名:xilinx-arm 密码:rootstep1: 与Win10共享文件问题(百度) step2. apt-get更新源 运行apt-get update。 apt-get update step3....
前言 FPGA的能耗比优于GPU,且设计自由度高,受到许多深度学习开发者的青睐。但是用HDL语言开发神经网络过于复杂,利用Xilinx公司的高层次综合工具vivado HLS开发RTL逻辑的IP核则可以降低开发难度。 本文主要描述了如何使用vivado HLS的基本功能。文章内容主要来自于Xilinx官方文档:ug871-vivado-high-level-...
前言 在上一次分析中,分析到了 HandoffAddress = LoadBootImage(); 在分析这个函数之前,在从0地址运行之前,在复位(上电复位)之后会从bootROM这个位置开始执行代码,在bootROM中,程序会将QSPI(如果是从qspi启动的话)的前nK的数据拷贝到OCM中,然后跳转到OCM中执行。把生成的BOOT.bin文件用二进制程序打开,...
花了几天看完了FSBL的代码,在这里做个总结,分析一下zynq的启动过程。 众所周知,xilinx zynq 7000系列的芯片中包括两个部分,PS和PL,也就是FPGA的逻辑编程的部分跟嵌入式ARM的部分,ARM部分是双核的A9处理器。关于FPGA的部分在这里就不说了。其实说的简单点,可以吧这个芯片看成一个带有FPGA外设的ARM处理器,下面详细分析一下启动流程。...
摘要: 还在为特征选择抓狂?这个工具了解一下! 特征选择,即在数据集中查找和选择最有用的特征的过程,是机器学习的关键步骤。不必要的特征会降低训练速度、模型的可解释性,最重要的是会降低测试集的泛化性能。 我对临时的特征选择方法感到很失望,但是在解决机器学习问题时又反复用到了这些方法,所以就创建了一个关于特征选择的Python类,该类可以在GitHub上找到。...
Python中的lambda提供了对匿名函数的支持。使用lambda,我们可以实现函数编程,即将函数作为参数传递给其他函数。在Python中,lambda的作用可以从多个例子来理解: 1, 用在过滤函数中,指定过滤列表元素的条件: filter(lambda x: x % 3 == 0, [1, 2, 3, 4, 5, 6, 7, 8, 9]) > [3, 6, 9] 2,...
作者:Giovanni Di Maria, 来源:EDN姊妹网站EEWeb 上一篇文章(《数电中的逻辑门》)探讨了逻辑门的概念。它们可以由分立和有源电子元件制成,尽管今天逻辑门可以在集成电路中使用。然而,在本文中,将研究其他逻辑门。通过适当地组合多个逻辑门,可以构建具有更重要功能的复合逻辑系统。 1. 逻辑门的组合 正如我们在上一篇文章中看到的,...