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. 逻辑门的组合
正如我们在上一篇文章中看到的,...