<font size="3"><strong>重磅消息</strong></font>
今天我们非常高兴宣布,Plunify 将与赛灵思在<a href="https://www.plunify.com/cn/plunify-cloud/"> Plunify Cloud 云平台</a>上,合作推出按需供应的 Vivado 设计套装 HLx 版本软件的许可证!Plunify Cloud 云平台构建在世界上最大的云供应商 – 亚马逊网络服务 (Amazon Web Services)。
嵌入式视觉开发难不难?过来人会告诉你:难!
试想一下,在一个通常性能受限的嵌入式架构中去跑复杂的视觉处理算法,还要平衡功耗、尺寸、成本、开发周期等因素,确实不容易。如果你面对的是工业或汽车这种对实时性和可靠性要求较高的场合,视觉处理要又快又准,容不得半点闪失。而且现在都人工智能(AI)时代了来了,机器学习是不是也应该支持一下?所以,嵌入式视觉开发者头上总会有个大大的“鸭梨”。
不过,这个世界上总是会有人在琢磨“如何将复杂的事情变得简单”。在嵌入式视觉开发这件事上,如何为开发者“减负”,已经有了许多好方案摆在我们面前了。
本文是该系列的第3篇,上一篇以数字滤波器的设计为主题,介绍了System Generator的完整设计流程,最后自己编写testbench在示例工程中对System Generator导出的IP核进行测试。其实System Generator就可以导出整个设计的说明文档以及一个testbench,本文将介绍如何使用该特性。
很多人拿到uboot,编译不知如何下手!
其实,这个世界上的万事万物,都有一个“纹理”。庖丁解牛之所以游刃有余,是因为他掌握了牛的纹理,顺着这些纹理就应该很容易。
那么我们的uboot的纹理在哪里呢?
很多初学者,拿到这种代码从来没有去看过它的README或者document!这两个文本文件是非常重要的东西,可惜呀!很多人不去看readme而去请教别人,google,baidu,跑图书馆。其实,有些东西当你问到别人的时候,聪明的人也是去看README然后给你解答的。
下面我们就去找uboot的纹理! 本文u-boot版本为Z-Turn板上带的U-Boot。
在FPGA中三态门比较常见,因为FPGA是做为一个高速处理的器件,免不了要进行输入输出数据,常规的输入和输出是分开的两个接口要不停的切换比较麻烦,在FPGA中用的双向口一般都是用三态门来作为输入和输出的,这样优点是只要一个接口就可以输入输出比较节约逻辑资源,但缺点是三态门的处理没有常规两个I/O的方便,这里我们来看看怎样使用三态门,下图是三态门的结构。
本月16至20日, Xilinx视频云战略主管Sean Gardner先生、Xilinx 中国数据中心业务拓展总监朱勇先生专程来访Aupera,并同Aupera CEO 廖玉峰博士及云服务团队一起,共同走访了中国视频云服务领域的几个领军企业,以及国内著名高校,并与相关核心研发团队、研发主管、CTO以及教授博导们开展讨论,重点就互联网视频处理及传输的未来趋势及方向,视频应用平台及云服务商如何应对爆发性增长海量视频处理需求进行了深入交流。(图示:Xilinx云战略部门团队代表访问Aupera中国)
<strong>AES简介</strong>
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:
如果你对Vivado HLS中综合之后端口的ap_none之类的类型指示摸不着头脑的话,那就来一起学习一下它们是如何使用的吧。在Vivado HLS中,我们可以指定端口使用的类型,这样在对C代码进行综合的时候,就可以指定某个端口所使用的转换协议了。常见的类型有:
1. ap_none
默认类型,该类型不适用任何I/O转换协议,它用于表示只读的输入信号,对应于HDL中的wire类型。
2. ap_stable
只用于输入信号,其具体实现方式仍为ap_none。它用于向Vivado HLS的综合器表明该信号在两次复位之间值是不变的。
3. ap_vld
SDSoC、SDAccel、SDNet和HLS工具傻傻分不清楚
<strong>Software Define 的概念</strong>
近年来“Software Define ” 软件定义这个词持续火热,全球知名技术研究和咨询公司Gartner早在对2014年最有战略意义的十大技术与趋势做出预测时,便提出了软件定义一切(Software Defined Anything)的概念,他们预测这类技术会在未来三年里拥有巨大潜力,并在同行业中产生重大影响。两年后的今天回顾这一概念和技术的发展,不难看出,Software Define的确成为了行业风向标,其应用可谓无处不在。
本文是该系列的第2篇,上一篇介绍了System Generator的基本知识以及软件的安装。本文将以一个简单的数字滤波器的设计为主题,介绍Sysgem Generator的完整设计流程,同时详细介绍使用到的各个block。
本设计使用到的block
1.Xilinx block:
Digital FIR Filter(->DSP):数字滤波器
Gateway In(->Basic Elements):数据输入
Gateway Out(->Basic Elements):数据输出
System Generator(->Basic Elements):系统管理
FDATool(->DSP):滤波器设计
学习RCNN系列论文时, 出现了感受野(receptive field)的名词, 感受野的尺寸大小是如何计算的,在网上没有搜到特别详细的介绍, 为了加深印象,记录下自己对这一感念的理解,希望对理解基于CNN的物体检测过程有所帮助。
在FPGA中,实现逻辑的基本单元是查找表(LUT)而非基本门电路。目前的FPGA中,单一LE或者Cell通常能实现至少4输入查找表的逻辑功能。
4输入查找表可以看成是具有4位地址1位数据的存储器,能够存储16bit数据,这也是LUT能被用于组建分布式RAM的原因。
如果要构成一个6输入1输出MUX,可以通过两片4输入查找表级联,也可直接用一片完整的6输入查找表,两片4输入的查找表的存储容量是32,而一片完整的6输入查找表的存储容量是64;若使用6输入查找表(存储容量为64)实现4输入(存储容量为16)的逻辑功能,则浪费了75%的存储容量。也就是说,采用较少输入的查找表实现较多输入查找表的功能,在面积上有更高的利用率。
记录《学会System Generator》系列的目的是为了熟练掌握Xilinx公司旗下System Generator产品的使用。本文是该系列的第一篇,主要介绍System Generator的基本知识以及软件的安装。
<strong>System Generator基本特性</strong>
System Generator是一款DSP设计工具,其借助MATLAB中的Simulink开发环境完成FPGA的设计。这是一种与传统的“从RTL出发进行FPGA设计”完全不同的设计方法。
System Generator具有如下关键特性:
1. 超过90种DSP设计模块,包括加法器、乘法器、寄存器、FFT、滤波器、存储器等等;
1. 概念
英文名:convolutional neural network
是一种前馈神经网络,即表明没有环路,普通神经网络的 BP 算法只是用于方便计算梯度,也是前馈神经网络。
是深度学习结构的一种,是一种深度、前馈神经网络。
可以使用 BP 算法进行训练
ConvNet architectures make the explicit assumption that the inputs are images, which allows us to encode certain properties into the architecture
卷积神经网络的前提:输入是二维结构或者三维结构,但起比较大作用的是空间维度(spacial),深度那一维并没有太明显的作用。
利用Zynq SoC架构上的Python生产力属性,用户可以利用可编程逻辑和微处理器的优势,更轻松地构建人工智能,机器学习和信息技术应用程序设计。
了解有关 Model Composer 2018.1版中新功能的更多信息 - HLS 定点数据类型的增强可视化、全新示例、自定义块创建增强功能等!Model Composer 是一个以算法为中心的 Xilinx 工具箱,可在 MathWorks Simulink; 环境中进行快速设计探索,并通过自动代码生成和优化加速生产路径。
<iframe src='//players.brightcove.net/17209957001/SywTPUVC_default/index.html?videoId=5810873202001' allowfullscreen frameborder=0 width="600" height="338"></iframe>
AXI4-Stream协议是一种用来连接需要交换数据的两个部件的标准接口,它可以用于连接一个产生数据的主机和一个接受数据的从机。当然它也可以用于连接多个主机和从机。该协议支持多种数据流使用相同共享总线集合,允许构建类似于路由、宽窄总线、窄宽总线等更为普遍的互联。比较重要的信号线有:
ACLK: 时钟源,全局时钟信号。所有信号在ACLK信号上升沿采样。
ARESETn:复位源,全局复位信号。ARESETn低电平有效。
TVALID:主机数据同步线,为高表示主机准备好发送数据,表示主设备正在驱动一个有效的传输。
TREADY:从机数据同步线,为高表示从机准备好接收数据,表示从设备在当前周期能够接收一次传输。
开发环境 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. 安装petalinux需要的依赖库
<strong>前言</strong>
FPGA的能耗比优于GPU,且设计自由度高,受到许多深度学习开发者的青睐。但是用HDL语言开发神经网络过于复杂,利用Xilinx公司的高层次综合工具vivado HLS开发RTL逻辑的IP核则可以降低开发难度。
本文主要描述了如何使用vivado HLS的基本功能。文章内容主要来自于Xilinx官方文档:ug871-vivado-high-level-synthesis-tutorial,所用代码来自于Xilinx官方例程:ug871-design-files\2016.1\Introduction\lab1。读者可以在原文档中阅读到更详细的内容。