目录

  • 一、 ZYNQ-7000 All Programmable Soc
  • 二、PL(Programmable Logic)
  • 三、PS(Processing System)
  • 四、AXI总线

本文是正点原子的学习笔记,参考自原子哥ZYNQ资料、知乎电子小C。

一、 ZYNQ-7000 All Programmable Soc

ZYNQ是赛灵思(Xilinx)推出的新一代全可编程片上系统,它是一款ARM+FPGA的Soc平台。由于处理器的软件可编程性欲FPGA的硬件可编程性进行完美整合,这款基于ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力等要求。


与板上系统(PCB板)相比,SoC(片上系统,将各分离的部件整合到了一起)的解决方案成本更低,能在不同的系统单元之间实现更快更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更好的可靠性。

SoC发展历程:

  • SoC:早期的SoC都是基于ASIC,一系列功能模块集合在一个SoC上。典型的例子是华为的麒麟系列处理器,它就是采用基于ASIC的SoC。
  • SOPC:可编程片上系统(使用FPGA进行搭建)
  • APSoC:全可编程片上系统(集成了一个硬核处理器,性能有所提高),它包含两个部分,即PS、PL。

ZYNQ的本质特征,是它组合了一个双核ARM Cortex-A9处理器(性能大大提升)和一个传统的现场可编程门阵列逻辑部件,即FPGA。它是全可编程片上系统,它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。

下面这张就是ZYNQ的结构图,ZYNQ是ARM+FPGA,图中黄色部分就是FPGA,蓝色部分是整合了外围设备的ARM。在ZYNQ上ARM部分叫做PS(Processing System)部分,FPGA叫做PL(Programable Logic)部分。

二、PL(Programmable Logic)

PL等价与FPGA的概念。
早期生产的数字集成电路逻辑功能都是固定不变,后来出现了允许用户自行修改内部连接的集成电路:PLD(Programmable Logic Device可编程逻辑器件),PLD有两大特点:

  • PLD内部的电路结构可以通过写入编程数据来设置;
  • 写入PLD的编程数据还可以擦除重写;

常用的可编程逻辑器件(PLD):

  • CPLD:基于“乘积项”的与或逻辑阵列
  • FPGA:基于“查找表”(LUT,Look UP Table)的CLB阵列

什么是FPGA?
FPGA是一种可通过编程来修改其逻辑功能的数字集成电路(芯片)
。FPGA的原理是基于SRAM的查找表结构。通俗的讲就是:可以将FPGA看做是一片SRAM,利用开发工具软件计算出所有的输入组合排列对应的输出结果,然后将输入组合作为SRAM的地址,该地址中存放的是与输入组合对应的输出。当输入信号变化时,到相应的地址中读取提前计算好存入的结果,然后输出。

FPGA共包括5个模块:
可编程IO单元、可编程逻辑单元(CLB)、底层嵌入功能单元、嵌入式块RAM(Block RAM)、布线资源、硬核(不是所有FPGA都有)。

Xilinx公司的ZYNQ7000系列的FPGA型号有:

  • Artix-based devices:Z-7010,Z-7015,Z-7020
  • Kintex-based devices:Z-7030,Z-7045,Z-7100

总的来说,PL部分可以看做是外围设备,其中一个唯一不同于其他外围设备的就是PL的可变性很大(根据型号不一样020以下整合Artix7、030以上整合Kintex7)。

三、PS(Processing System)

去掉PL部分PS部分可以完全当成ARM单片机使用,加上PL部分你可以在上面映射你自己的IP或者算法,但不管怎么样PL相对于PS而言,就是一个挂载到AXI总线上的设备而已。

正是这种结构让实现某个逻辑功能的可能性在ZYNQ上多了很多。比如GPIO就有三种:MIO(PS部分的引脚引出),EMIO(PS的GPIO在PL引出),AXI GPIO(用PL的IP)。

由上面的图可以看出,PS部分的核心是应用处理器单元APU(Application Processor Unit)包括:两个Cortex A9 CPU+浮点运算协处理器+调试接口+Cache+在片存储器OCM+定时计数器等。

然后前面所说的这些算是这个Soc的最核心,这个最核心还不是PS部分的全部因为它还需要整合相应的I/O设备,才能算是Soc。而这些都需要总线连接,在ZYNQ里主要使用的是AXI总线。

四、AXI总线

AXI(Advanced eXtensible Interface) 本是由ARM公司提出的一种总线协议。用于PL和PS之间的通信。

总线、协议、接口区别是什么?

  • 总线:是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由数据线、地址线、控制线等构成。
  • 接口:是一种连接标准,又常常被称之为物理接口。
  • 协议:就是传输数据的规则。

AXI总线协议的两端可以分为主(master)、从(slave)两端,他们之间一般需要通过一个AXI Interconnect相连接,作用是提供一个或多个AXI主设备连接到一个或多个AXI从设备的一种交换机制。

zynq的AXI接口共有3种类型:

  • AXI_ACP接口:加速器一致性接口,用来管理DMA之类不带缓冲的AXI外设,PS端是Slave接口。

  • AXI_HP接口:高性能/带宽的AXI3.0标准接口,共有4个,PL模块作为主设备连接。主要用于PL访问PS上的存储器(DDR和On-Chip RAM)。

  • AXI_GP接口:通用AXI接口,共有4个,包括两个32位主设备接口和32位从设备接口。

初学ZYNQ(理论准备)相关推荐

  1. #第一章 从数学拟合的角度看股市理论的预测环节--一、恼人的数学题

    在<股市预测数学基础>中笔者出了一道"简单的"数学题,在已知条件仅有股市趋势图的情况下,仅利用数学方法预测股市的明天细节. 很多人学了各种理论,试过解这道题.甚至利用各 ...

  2. MD5与Base64的思考

    MD5加密是对任意长的数据使用MD5哈稀算法散列为4个32位组,若格式化为ASCII字符则为16字符,若格式化16进制表示,则为32字符.  (MD5的具体算法请参阅相关书籍和资料) MD5广泛用于数 ...

  3. 第一章 信息源泉——推介资料出处

    一.推介图书 初学者建议看基本中文的教材,这样方便上手 (1)<EDA技术使用教程-Verilog(第四版)>潘松 黄继业,科学出版社 国内Verilog经典教材,杭电人民首批试用,由杭电 ...

  4. 如何学习FPGA,好书推荐

    <深入浅出玩转FPGA>有书,有视频,有开发板,非常适合自学. 而且作者根据自己的实践经验写出来的书,很实在. 转载某人推荐的:http://archive.cnblogs.com/a/2 ...

  5. 初学Python——马哥——Python相关理论

    本系列初学Python笔记摘录源自马哥教育视频及线上文字版内容http://www.magedu.com/73198.html ,该网页有各节的文字版内容,比看视频效率更快.感谢马哥教育提供的学习资源 ...

  6. 【机器学习】初学理论知识

    1.什么是机器学习:通过算法使得机器能从大量数据中学习规律从而对新的样本做决策.(相当于构建一个映射函数) 2.常见的机器学习问题:回归(线性拟合).分类.聚类(多分类) 3.机器学习研究的主要内容: ...

  7. STM32F103初学研究整理笔记-基础知识理论

    1.内核与存储器: 2. 时钟和复位电路 名称 缩写 频率 外部连接 功能 用途 特性 外部高速晶体振荡器 HSE 4~16MHz 4~16MHz晶体 系统时钟/RTC 成本高,温漂小 外部低速晶体振 ...

  8. 【模糊PID】理论初学2021-07-12

    模糊控制理论特点: (1)模糊控制不需要被控的对象的数学模型.模糊控制是以人对被控对象的控制经验为依据而设计的控制器,故无需知道被控对象的数学模型. (2)模糊控制是一种反映人类智慧的智能控制方法. ...

  9. axi dma 寄存器配置_FPGA Xilinx Zynq 系列(三十二)AXI 接口

    大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江湖,在"闯荡江湖"."行侠仗义"栏里获取其他感兴趣的资源,或者一起煮酒言欢. ...

最新文章

  1. js 跨页面的全局变量
  2. IDBA-UD:组装非均匀覆盖度的宏基因组和单细胞数据
  3. VMware将世界领先的云访问安全代理合作伙伴纳入移动安全联盟
  4. 可能是GitHub上最好用的文字语法校验工具
  5. secureCRT连接问题
  6. 【解决方法】Panda read_csv()把第一行的数据变成了列名,怎么处理
  7. boost::mpi模块对gather() 和gatherv() 集合的测试
  8. python的for语句有几种写法_Python if 和 for 的多种写法
  9. python人脸实时检测_openCV+python实现人脸实时检测
  10. idea新建web工程
  11. [凯立德]2015春季版C2739-M7L83-3521JON,已O+带3D+带路况
  12. 使用管理员账户远程连接WMQ7.5的“AMQ4036”错误
  13. “Max“ stands for big
  14. au人声处理_如何使用AU软件为视频降噪?
  15. 添加映射的过程(2) - 解析
  16. 拓端tecdat|R语言广义线性模型(GLMs)算法和零膨胀模型分析
  17. Hadoop学习目录导航
  18. 宏碁传奇14 Swift 指纹模块失效解决
  19. 群晖NAS搭建web服务器,并发布公网可访问 2/4
  20. 问卷答题模板:包括单选,多选,以及图片模式

热门文章

  1. 送上Mac下最好用的SVN客户端Versions下载,界面漂亮,绝对好用
  2. 如何制作一款像超级玛丽兄弟一样基于平台的游戏-第一部分 (xcode,物理引擎,TMXTiledMap相关应用)
  3. 推荐一个最适合女生的冷门逆天副业!
  4. Golang Iris Websocket 跨域问题
  5. 单片机是什么?在大学里学习单片机,对以后的就业会有帮助吗
  6. 无线通信、广播电视、汽车电子行业都在用的矢量网络分析仪有什么功能
  7. 计算机网络八校联考,八校联考排名出炉!前十名华师一独占八席,在武汉上华师一有多难?...
  8. Vue+Iview前端框架搭建
  9. 基于Gazebo的无人机管道检测
  10. nova安装(wallaby-allinone)