Xilinx火龙果学习笔记(1)—初识火龙果

短学期很快结束,学习了一些Xilinx的火龙果的操作,并应用做了一个家居报警系统,也算是大概熟悉了这个玩意吧,对这种双核模式还是比较感兴趣的。在这里做一些记录,以备后用。

  1. 首先火龙果是双核片上系统,即FPGA+CPU=ALL Programmable System-on-chip(Soc):将一个计算机系统集成到单芯片中的结构,包含 ARM CPU 核,高级微控制器总线结构(Advanced Micro-controller Bus Architecture AMBA)以及用于和不同外设连接的物理 IP 核;

  2. IP核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。参考:http://www.cnblogs.com/lifan3a/articles/4229952.html

    • IP 硬核:硬核在 EDA 设计领域指经过验证的设计版图;具体在FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。
    • IP 软核:软核在 EDA 设计领域指的是综合之前的寄存器传输级(RTL) 模型;具体在 FPGA 设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。用户可修改,灵活度高。(一般软核使用的多,灵活可修改)
  3. 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总线
  4. 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”。
  5. 在redpedia的演示代码,xgpiops.h中有很多关于gpio函数的定义:

  6. GPIO的相关信号被分为了4个bank(组),bank0与bank1为MIO信号,bank2与bank3为EMIO信号,MIO具有54根三态GPIO引脚,EMIO可以达到192根信号,64根输入,128根输出。由XILINX的官方文件还可以看出,EMIO是与PL部分直接相连的。

  7. EMIO是ZYNQ-7000中的一个新概念,全称是Extendable MIO,即可扩展的MIO。而MIO全称Multiplexed IO,也就是复用IO。我们从Xilinx的一些资料可以得知MIO的数量有限,而且已经将其地址分配给了PS部分已有的一些外设资源,这个分配工作由软件去做。而这个EMIO就是用来对有限的MIO做扩展的。

  8. EMIO也是我们从PL部分访问PS部分IOP的一个途径,不过相比总线,EMIO的速度会慢一点,但是它的灵活性却会更高一些。

  9. 另外,老师也承认火龙果这个板子资料太少,不是很好用。但强烈推荐我们好好研究一下它的架构。有空再看。

Xilinx火龙果学习笔记(1)---初识火龙果相关推荐

  1. xilinx srio ip学习笔记之初识srio

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 xilinx srio ip学习笔记之初识srio 前言 IP 设置 总结 前言 因为工作原因,需要对rapidio 的协议进行了解, ...

  2. Hadoop学习笔记—4.初识MapReduce

    一.神马是高大上的MapReduce MapReduce是Google的一项重要技术,它首先是一个 编程模型 ,用以进行大数据量的计算.对于大 数据量的计算,通常采用的处理手法就是并行计算.但对许多开 ...

  3. ASM学习笔记1 - 初识ClassVistor ——以ClassReader的应用为例

    ASM学习笔记1 - 初识ClassVistor --以ClassReader的应用为例 1 ASM简介 什么是ASM? Java操纵类字节码的工具.是一个jar包. 如何使用? ASM提供两类API ...

  4. C语言学习笔记-P1 初识C语言(2)

    C语言学习笔记-P1 初识C语言(2) C语言学习笔记-P1 初识C语言(2) 一.常量 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.枚举常量 二.字符串+转义字 ...

  5. C语言学习笔记-P1 初识C语言(1)

    C语言学习笔记-P1 初识C语言(1) P1 初识C语言(1) 一.什么是C语言 1.定义 2.发展 二.第一个C语言程序 Hello World 三.数据类型 四.变量,常量 未完待续!!! P1 ...

  6. 吴恩达《机器学习》学习笔记一——初识机器学习

    吴恩达<机器学习>学习笔记一 一. 什么是机器学习? 二.监督学习 三.无监督学习 初识机器学习 这是个人学习吴恩达<机器学习>课程的一些笔记,供自己和大家学习提升.第一篇内容 ...

  7. 【人工智能学习笔记】初识人工智能

    文章目录 前言 一.人工智能的定义 二.人工智能的应用 1.计算机视觉技术 2.自然语言处理 3.其他具体应用举例 三.AI算法工程师主要工作流程 四.人工智能的基本概念 机器学习 有监督学习 VS ...

  8. xilinx AXI-CDMA 学习笔记

    此文是笔者记录的 AXI Central Direct Memory Access (CDMA)相关学习笔记及参考例程仿真说明. 仿真环境 win10 64bit vivado 2017.4 mode ...

  9. xilinx SoC学习笔记之PetaLinux

    一. PetaLinux概述 PetaLinux 工具提供在 Xilinx 处理系统上定制.构建和调配嵌入式 Linux 解决方案所需的所有组件.该解决方案旨在提升设计生产力,可与 Xilinx 硬件 ...

  10. C语言学习笔记之初识

    初识C语言 一.计算机和编程语言 1.初学者在学习c的时候,不仅会为语言本身的复杂而困惑,而且对其编程工具的选择同样困扰. 因为c语言出现的时间很早,而且在这么多年中也没有一个主要的组织对其编程工具进 ...

最新文章

  1. pytorch中load和load_state_dict区别
  2. svn 合并分支代码到主干
  3. 使用Docker,Chef和Amazon OpsWorks进行集群范围的Java / Scala应用程序部署
  4. android性能优化 掘金,Android性能优化之内存泄漏
  5. Python IDLE 快捷键
  6. R语言基础入门,看这里!
  7. 为什么java.lang包下的类不需要手动导入
  8. Android开发笔记——快速入门(从入门ACT到Fragment放肆)
  9. ddos发包php文件,简单防范PHPDDOS对外发UDP包消耗流量
  10. PPAPI插件开发指南
  11. 微信小程序图片下边加文字组合
  12. ie11兼容性视图设置_ie11浏览器不兼容的解决办法
  13. 寻宝游戏(DFS+动态规划)
  14. 【MATLAB】MATLAB 仿真模拟调制系统 — DSB 系统
  15. 7.17正则表达式与re模块
  16. centos恢复图形界面_centos7恢复图形界面_centos7没有图形界面
  17. 一个基于百度云和图灵的人工智能(智障)程序
  18. 保护好大脑的海马区,老了也不怕健忘
  19. 《论语》原文及其全文翻译 学而篇13
  20. rop和rop2的题目的wp

热门文章

  1. 使用antd-design-vue配合vue框架搭建项目使用组件显示英文的解决办法
  2. sqllabs详解与知识点汇总(内含代码审计)
  3. 鸡啄米:C++编程入门系列之目录和总结(再学习路标,大牛见解深刻,真正容易入门)
  4. 按头安利 好看又实用的相机 单反免抠元素素材看这里
  5. CVPR2020:定向密集目标检测相关论文Dynamic Refinement Network for Oriented and Densely Packed Object Detection
  6. three.js 渲染调优,如何提升3d场景更逼真的渲染效果
  7. ubuntu下配置smbd服务器,Windows访问Linux目录
  8. 愤怒的小鸟有PC版本了!
  9. 金融级湖仓一体架构——SequoiaDB巨杉数据库初探
  10. 从零开始Tableau | 10.表计算-基础