AXI4】的更多相关文章

本文先总结不同AXI IP核的实现的方法,性能的对比,性能差异的分析,可能改进的方面.使用的硬件平台是Zedboard. 不同的AXI总线卷积加速模块的概况 这次实现并逐渐优化了三个版本的卷积加速模块,先简要描述各个版本的主要内容. 版本一 版本一主要是用来测试AXI总线IP核的实现可能. 该模块拥有19个32位寄存器 其中前9个寄存器用来保存需要计算的值 后面9个寄存器用来保存卷积核 在读取第19个寄存器的地址的时候计算9个寄存器的卷积和(该计算可以在一个时钟周期内完成) 9个寄存器单独赋值,…
AXI4 STREAM DATA FIFO是输入输出接口均为AXIS接口的数据缓存器,和其他fifo一样是先进先出形式.可以在跨时钟域的应用中用于数据缓冲,避免亚稳态出现.支持数据的分割和数据拼接.在使用该IP核之前,我们应该熟悉该IP核的各种参数设定的含义.  上图则是该IP核的参数设定界面(开发环境为VIVADO2015.1),点击左上角的Documentation,下拉框中选择Product Guide,打开该IP核的说明文档. 链接如下: http://www.xilinx.com/su…
参考:http://www.xilinx.com/support/documentation/ip_documentation/axis_infrastructure_ip_suite/v1_1/pg085-axi4stream-infrastructure.pdf Component Name: 元件名字:该IP核生成后的模块名: FIFO Depth: FIFO深度:该设定为指定例化FIFO的深度.当FIFO的深度为16或者32时利用基于FIFO的LUTRAM,其他深度的FIFO将利用BLO…
addr.coe memory_initialization_radix = ; memory_initialization_vector = ,,,,,,,,ffffffff; ctrl.coe memory_initialization_radix = ; memory_initialization_vector = ,,,,,,,,; data.coe memory_initialization_radix = ; memory_initialization_vector = ,,,,,,…
axis  AXI4-stream 去掉了地址项,允许无限制的数据突发传输规模: 摘自http://xilinx.eetrend.com/blog/11443…
把下列代码保存为.tcl或者.txt文本保存在某个路径下 打开vivado,在tcl concle中输入 “source 文件路径”,将脚本加载至工具中后, 例如读寄存器地址32'h12345678的命令为:"ReadReg 0x12345678",此时便会返回寄存器的值,而不用每次都输入繁琐的一串命令. 写命寄存器则需要输入地址和数据,例如写寄存器地址32‘h12345678的值为0x3,"WriteReg 0x12345678   0x3"即可 proc Rea…
ACE bus增加的内容: 1):5状态的cache model 2):关于coherency的additional signal 3):两个cache master访问shared cache的additional channel 4):支持Barrier transaction来保证transaction order ACE推荐的最小的cache line的大小:min-------16B或者width of data bus,max----2048byte或者Burst 16的最大data…
很久很久没有更新过博客了,今天来扒一扒FPGA上CPU软核的使用. 主要完成的功能:使用的开发板是nexys 4 DDR,板上有16个switch以及16个LED,需要完成microblaze对led的控制以及将switch作为外部中断源. 一.自定义GPIO IP核 还是在Tools里面选择Create and Package IP,新建AXI4外设,本次需要新建两个GPIO外设,一个作为GPIO_IN,一个作为GPIO_OUT. GPIO_OUT就是简单的将CPU下发的数据输出到PIN脚,输…
时间:2016.06.13 目的:阶段性总结学习的策略 -------------------------------------------------------------------------- 经过一段时间的接触,开始对Zynq开发有了一定的了解与认识.下面是总结常用的 文档,并配上适量的说明,权当备忘! --------- 这些仅是自己目前觉得比较重要的. --------------- Vivado工具系列 --------------- 1.首当其冲,必须是 UG949:Ult…
看了一段时间的DDR手册,感觉大体有一点了解了,想要实际上板调试,然而实验室可用的开发板不多,拿了一块zynq板看了看,DDR确实有,但是已经集成了控制器,而且控制器还放到了PS端,PL只能通过AXI接口访问.     无奈另外两块开发板也这样,索性就用AXI去控制吧,正好还能再复习一遍AXI. 先简单介绍一下zynq,其全称是ZedBoard Zynq Evaluation and Development Kit  , FPGA芯片型号为xc7z020clg484-1. 片内包含一个丰富特性的…
在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应用上.这篇文章主要是思想的介绍,以及AXI4-Lite读的方法.一些细节请先阅读<MiZ702学习笔记7——尝试自制带总线IP>. 具体思路为如下框图所示: 所以这次,我们需要两条AXI4-Lite总线,一条负责给VGA模块提供RGB数据(写),一条读取VGA模块提供的扫描的坐标信息(读). 点击…
本帖最后由 xinxincaijq 于 2013-1-9 10:27 编辑 一步一步学ZedBoard & Zynq(四):基于AXI Lite 总线的从设备IP设计 转自博客:http://www.eeboard.com/bbs/thread-6206-1-1.html 本小节通过使用XPS中的定制IP向导(ipwiz),为已经存在的ARM PS 系统添加用户自定IP(Custom IP ),了解AXI Lite IP基本结构,并掌握AXI Lite IP的定制方法,为后续编写复杂AXI IP…
转载:http://www.ibm.com/developerworks/cn/linux/1304_wangjy_ethtools/index.html?ca=dat- 王 俊元, 软件工程师, IBM 商 小乐, 软件开发工程师, IBM 简介: Linux 的一个显著特点就是其强大的网络功能,Linux 几乎支持所有的网络协议,并在这些协议基础上提供了丰富的应用.对 Linux 网络管理的重要性不言而喻,这些管理依赖于网络工具,比如最常用的 ifconfig,route,ip,ethtoo…
工作一年,整理下手头做过的东西,分享出来,希望能帮到大家. 嵌入式方面,主要集中在Xilinx家的器件上,ZYNQ居多.Linux相关的就不贴了,网上的资料太多,xilinx-wiki上资料都是比较全的.bare-metal裸机版本在功耗上有一定优势,在较低时钟速率运行时,整板功耗控制在2W以内完全没有问题. 这里贴的都是网上没有现成的,我自己写的或者修改过的东西. 1.AXI总线Master Controller:Zynq的PL侧访问PS侧DDR3,协议为AXI3.0. https://git…
前一段时间,调试了一块ZYNQ的板子,上面用到了ucos-iii操作系统,最终在该板子上实现了操作系统的运行,并实现了一些外设模块的功能,主要包括PWM,I2C,GPIO,两级中断. 等有空了总结一下. 包括操作系统的移植(不算是移植,因为官方已经做好了-_-,就介绍一下怎么安装到Xilinx SDK当中去,和一些必要的参数配置), 基于ZYNQ ucos-iii的平台编写了一些AXI4外设模块的驱动程序,到时候也介绍一下,最重要的是AXI4 Interrupt Controller这个模块的功…
http://www.tuicool.com/articles/eQ7nEn 最终到了HLS部分.HLS是High Level Synthesis的缩写,是一种能够将高级程序设计语言C,C++.SystemC综合为RTL代码的工具. 生产力的发展推动了设计模式.在电子技术0基础阶段,人们关注的是RLC电路.通过建立微分方程求解电路响应. 门级电路是对RLC的初步封装,人们进而採用布尔代数.卡诺图进行电路设计与分析.之后随着集成电路进一步发展.门电路能够集成为寄存器.触发器.ROM等宏单元.设计工…
AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式.在ZYNQ中继续使用,版本是AXI4,所以我们经常会看到AXI4.0,ZYNQ内部设备都有AXI接口.其实AXI就是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一个部分,是一种高性能.高带宽.低延迟的片内总线,也用来替代以前的AHB和APB总线.第一个版本的AX…
GIC-500是ARM GICv3的一个实现,它只支持ARMv8核和实现了GIC Stream协议的GIC CPU Interface,比如Cortex-A53. 关于GIC有四份相关文档:<Cortex-A53 TRM>介绍了GIC CPU Interface:<ARMv8-A Architecture Profile>提供了GIC CPU Interface的细节:<GIC-500 TRM>介绍了GICv3的一个实现:<GICv3/4 Architecture…
参考:PG201  AXI DMA v7.1    AXI IP核 功能:一旦处理器配置好传输方式之后,DMA可以自己完成内存数据的搬进或者搬出,而不需要处理器的介入.如果使用方法得当,DMA可以显著地提高系统性能. AXIDMA IP有6个接口,S_AXI_LITE是ARM配置dma寄存器的接口,M_AXI_SG是从(往)存储器加载(上传)buffer descriptor的接口,剩下4个构成两对接口,S2MM和MM2S表示数据的方向,AXI是存储器一侧的接口,AXIS是FPGA一侧的接口.A…
Xilinx 提供了3种DMA AXI-DMA AXI-CDMA AXI-VDMA 使用CDMA能够满足项目需求(MM-MM),DS文档介绍如下: The Xilinx LogiCORE™ IP AXI Central Direct Memory Access (CDMA) core is a soft Xilinx Intellectual Property (IP) core for use with the Vivado® Design Suite. The AXI CDMA provid…
ZYNQ的优势在于通过高效的接口总线组成了ARM+FPGA的架构.我认为两者是互为底层的,当进行算法验证时,ARM端现有的硬件控制器和库函数可以很方便地连接外设,而不像FPGA设计那样完全写出接口时序和控制状态机.这样ARM会被PL端抽象成“接口资源”:当进行多任务处理时,各个PL端IP核又作为ARM的底层被调用,此时CPU仅作为“决策者”,为各个IP核分配任务:当实现复杂算法时,底层算法结构规整可并行,数据量大,实时性要求高,而上层算法则完全相反,并且控制流程复杂,灵活性高.因此PL实现底层算…

AXI

1.Cachable和bufferable 一个Master发出一个读写的request,中间要经过很多Buffer,最后才能送到memory.这些Buffer的添加是为了outstanding,timing,performance等.Buffer有两种类型:一种FIFO结构,仅仅就是保存发送Request给下一级或者返回Response给上一级.还有一种Buffer,在接受了上一级的Request之后立刻给上一级回response,告诉上一级这个操作已经做完了,而实际上这个操作并没有发到下一级…
提示:本文的所有图片如果不清晰,请在浏览器的新建标签中打开或保存到本地打开 一.软件平台与硬件平台 软件平台: 操作系统:Windows 8.1 64-bit 开发套件:Vivado2015.4.2 硬件平台: 评估板:ZYNQ-7 ZC706 Evaluation Board 二.打开例子工程 1.新建工程,并在IP Catalog中找到Serial RapidIO Gen2 2.双击Serial RapidIO Gen2进入核的配置界面,所用参数全部保持默认,然后直接点击OK 3.在弹出的的…
一.原理简介 Vivado版本:2016.2 OLED型号:128*32的UG-2832HSWEG04 ZedBoard的OLED部分电路原理图如下:(需要我们关心的是我用红色椭圆标注出来的3处,一共6个信号) zedboard控制OLED的主要方法是:自己设计一个IP核,把OLED对应的6个控制引脚进行逻辑设计和约束,IP核通过AXI总线,把OLED对应的6个控制引脚和PS联系起来.通过PS编写相应的驱动程序,即可实现对OLED的控制.方案如下:  二.在Vivado中进行硬件设计 1.创建工…
关于tpg例程的仿真 processor system reset---rst_clk_wiz_0_148M 可以看出interconnect_aresetn和peripheral_aresetn的复位作用时间不同,内部复位的时间会短好几个时钟周期.peripheral_aresetn和peripheral_rest是两个完全相反的信号. axi verification ip ---axi_vip_0 axi上的写数据,写地址,写反馈波形 axi interconnect---processi…
阅读 video in to axi4-stream v4.0 笔记 axi4 stream里面只传输的有效数据. 引用: 使能了video timing controller core 的所用信号,并没有找到一个叫’locked’的,难道指代其他的? 注意,sof信号,start of frame 是在每个field的开头第一个像素产生一个脉冲.…
ARM作为一个生态不仅提供了CPU Core,还提供了一系列相关的IP,比如GIC.MMU.AMBA.CoreLink.CoreSight.Mali等等. 其他还包括Debug工具.开发工具.IDE等等. 对于整个ARM生态的架构建立一个概观,然后清除某一模块在整个生态中的位置,以及与其他模块的关系,对于理解本模块非常重要. 对于建立全局观,也是有益的.所以花点时间,浏览一下ARM支持文档,也就有意义了. 1. Core的指令集.A/R/M系列以及处理器型号 首先最底层的指令集有ARM(32/6…
[南京米联]ZYNQ第二季更新完毕课程共计16节课 [第二季ZYNQ]                                                                         CH01_Helloworld ZYNQ米联客培训(免费) http://www.osrc.cn/forum.php?mod=viewthread&tid=1239&extra=page%3D1 [第二季ZYNQ]    概述: 1.掌握VIVADO 软件的使用,创建基于ZYN…
将自己写的HDL代码封装成带AXI总线的IP 1.Tools->create and package IP 2.create AXI4总线的IP 3.新建block design 4.点击右键,选择edit in ip packager 此时生成了一个新的工程: 5.对生成的.v文件进行编辑 6.先修改顶层文件 添加一个LED输出端口 其实在文件的下面还可以添加自己的逻辑: 7.修改源文件 先添加端口,下面还有提示,编辑端口不要超过这条线.下面都是AXI总线的端口,不要去动它. 8.下一步操作…
在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议.其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requirements.)主要面向高性能地址映射通信的需求,是面向地址映射的接口,允许最大256轮的数据突发传输: AXI4-Lite:(For simple, low-throughput memory-mapped communication )是 一个轻量级的地址映射单次传输接口,占用很少的逻辑单元.…