Xilinx火龙果学习笔记(1)---初识火龙果
Xilinx火龙果学习笔记(1)—初识火龙果
短学期很快结束,学习了一些Xilinx的火龙果的操作,并应用做了一个家居报警系统,也算是大概熟悉了这个玩意吧,对这种双核模式还是比较感兴趣的。在这里做一些记录,以备后用。
首先火龙果是双核片上系统,即FPGA+CPU=ALL Programmable System-on-chip(Soc):将一个计算机系统集成到单芯片中的结构,包含 ARM CPU 核,高级微控制器总线结构(Advanced Micro-controller Bus Architecture AMBA)以及用于和不同外设连接的物理 IP 核;
IP核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。参考:http://www.cnblogs.com/lifan3a/articles/4229952.html
- IP 硬核:硬核在 EDA 设计领域指经过验证的设计版图;具体在FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。
- IP 软核:软核在 EDA 设计领域指的是综合之前的寄存器传输级(RTL) 模型;具体在 FPGA 设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。用户可修改,灵活度高。(一般软核使用的多,灵活可修改)
PS(Processing System): 基于 ARM 多核处理器的处理系统,即ARM处理器部分;
PL(Programmable logic): 基于 Xilinx 可编程逻辑资源的可编程逻辑系统,即FPGA部分。
- AXI介绍: 参考资料: http://xilinx.eetrend.com/blog/7320
- AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式。在ZYNQ中继续使用,版本是AXI4,所以我们经常会看到AXI4.0,ZYNQ内部设备都有AXI接口。其实AXI就是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)的一个部分,是一种高性能、高带宽、低延迟的片内总线,也用来替代以前的AHB和APB总线。
- AXI协议严格的讲是一个点对点的主从接口协议,当多个外设需要互相交互数据时,我们需要加入一个AXI Interconnect模块,也就是AXI互联矩阵,作用是提供将一个或多个AXI主设备连接到一个或多个AXI从设备的一种交换机制(有点类似于交换机里面的交换矩阵)。Xilinx为我们提供了实现这种互联矩阵的IP核axi_interconnect_1,在前面的例子中,我们在XPS中可以看到。这个IP核最多可以支持16个主设备、16个从设备,如果需要更多的接口,可以多加入几个IP核。
- ZYNQ中的AXI接口共有9个,主要用于PS与PL的互联;PL与PL部分通信所使用的总线就是AXI总线
zynq有三种GPIO:MIO、EMIO、AXI_GPIO。其中MIO和EMIO是直接挂在PS上的GPIO,而AXI_GPIO是通过AXI总线挂在PS上的GPIO上。
- 首先、MIO在zynq上的管脚是固定的,而EMIO,是通过PL部分扩展的,所以使用EMIO时候需要在约束文件中分配管脚,所以设计EMIO的程序时,需要生成PL部分的bit文件,烧写到FPGA中。
- 其次、由下图可以看出MIO共占54bit,而EMIO占64bit。其中MIO占用IO号为0-53。而EMIO占用IO号为54-117。
- 再者、无论是EMIO还是MIO都属于PS上的IO,直接由PS操作。在调用头文件,只调用#include “xgpiops.h”即可,而在调用AXI_GPIO时,则需要#include “xgpio.h”。
在redpedia的演示代码,xgpiops.h中有很多关于gpio函数的定义:
GPIO的相关信号被分为了4个bank(组),bank0与bank1为MIO信号,bank2与bank3为EMIO信号,MIO具有54根三态GPIO引脚,EMIO可以达到192根信号,64根输入,128根输出。由XILINX的官方文件还可以看出,EMIO是与PL部分直接相连的。
EMIO是ZYNQ-7000中的一个新概念,全称是Extendable MIO,即可扩展的MIO。而MIO全称Multiplexed IO,也就是复用IO。我们从Xilinx的一些资料可以得知MIO的数量有限,而且已经将其地址分配给了PS部分已有的一些外设资源,这个分配工作由软件去做。而这个EMIO就是用来对有限的MIO做扩展的。
EMIO也是我们从PL部分访问PS部分IOP的一个途径,不过相比总线,EMIO的速度会慢一点,但是它的灵活性却会更高一些。
另外,老师也承认火龙果这个板子资料太少,不是很好用。但强烈推荐我们好好研究一下它的架构。有空再看。
Xilinx火龙果学习笔记(1)---初识火龙果相关推荐
- xilinx srio ip学习笔记之初识srio
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 xilinx srio ip学习笔记之初识srio 前言 IP 设置 总结 前言 因为工作原因,需要对rapidio 的协议进行了解, ...
- Hadoop学习笔记—4.初识MapReduce
一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个 编程模型 ,用以进行大数据量的计算.对于大 数据量的计算,通常采用的处理手法就是并行计算.但对许多开 ...
- ASM学习笔记1 - 初识ClassVistor ——以ClassReader的应用为例
ASM学习笔记1 - 初识ClassVistor --以ClassReader的应用为例 1 ASM简介 什么是ASM? Java操纵类字节码的工具.是一个jar包. 如何使用? ASM提供两类API ...
- C语言学习笔记-P1 初识C语言(2)
C语言学习笔记-P1 初识C语言(2) C语言学习笔记-P1 初识C语言(2) 一.常量 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.枚举常量 二.字符串+转义字 ...
- C语言学习笔记-P1 初识C语言(1)
C语言学习笔记-P1 初识C语言(1) P1 初识C语言(1) 一.什么是C语言 1.定义 2.发展 二.第一个C语言程序 Hello World 三.数据类型 四.变量,常量 未完待续!!! P1 ...
- 吴恩达《机器学习》学习笔记一——初识机器学习
吴恩达<机器学习>学习笔记一 一. 什么是机器学习? 二.监督学习 三.无监督学习 初识机器学习 这是个人学习吴恩达<机器学习>课程的一些笔记,供自己和大家学习提升.第一篇内容 ...
- 【人工智能学习笔记】初识人工智能
文章目录 前言 一.人工智能的定义 二.人工智能的应用 1.计算机视觉技术 2.自然语言处理 3.其他具体应用举例 三.AI算法工程师主要工作流程 四.人工智能的基本概念 机器学习 有监督学习 VS ...
- xilinx AXI-CDMA 学习笔记
此文是笔者记录的 AXI Central Direct Memory Access (CDMA)相关学习笔记及参考例程仿真说明. 仿真环境 win10 64bit vivado 2017.4 mode ...
- xilinx SoC学习笔记之PetaLinux
一. PetaLinux概述 PetaLinux 工具提供在 Xilinx 处理系统上定制.构建和调配嵌入式 Linux 解决方案所需的所有组件.该解决方案旨在提升设计生产力,可与 Xilinx 硬件 ...
- C语言学习笔记之初识
初识C语言 一.计算机和编程语言 1.初学者在学习c的时候,不仅会为语言本身的复杂而困惑,而且对其编程工具的选择同样困扰. 因为c语言出现的时间很早,而且在这么多年中也没有一个主要的组织对其编程工具进 ...
最新文章
- pytorch中load和load_state_dict区别
- svn 合并分支代码到主干
- 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署
- android性能优化 掘金,Android性能优化之内存泄漏
- Python IDLE 快捷键
- R语言基础入门,看这里!
- 为什么java.lang包下的类不需要手动导入
- Android开发笔记——快速入门(从入门ACT到Fragment放肆)
- ddos发包php文件,简单防范PHPDDOS对外发UDP包消耗流量
- PPAPI插件开发指南
- 微信小程序图片下边加文字组合
- ie11兼容性视图设置_ie11浏览器不兼容的解决办法
- 寻宝游戏(DFS+动态规划)
- 【MATLAB】MATLAB 仿真模拟调制系统 — DSB 系统
- 7.17正则表达式与re模块
- centos恢复图形界面_centos7恢复图形界面_centos7没有图形界面
- 一个基于百度云和图灵的人工智能(智障)程序
- 保护好大脑的海马区,老了也不怕健忘
- 《论语》原文及其全文翻译 学而篇13
- rop和rop2的题目的wp
热门文章
- 使用antd-design-vue配合vue框架搭建项目使用组件显示英文的解决办法
- sqllabs详解与知识点汇总(内含代码审计)
- 鸡啄米:C++编程入门系列之目录和总结(再学习路标,大牛见解深刻,真正容易入门)
- 按头安利 好看又实用的相机 单反免抠元素素材看这里
- CVPR2020:定向密集目标检测相关论文Dynamic Refinement Network for Oriented and Densely Packed Object Detection
- three.js 渲染调优,如何提升3d场景更逼真的渲染效果
- ubuntu下配置smbd服务器,Windows访问Linux目录
- 愤怒的小鸟有PC版本了!
- 金融级湖仓一体架构——SequoiaDB巨杉数据库初探
- 从零开始Tableau | 10.表计算-基础