开篇体会;

  Xilinx的ZYNQ系列FPGA是二种看上去对立面的思想的融合,ARM处理器的串行执行+FPGA的并行执行,着力于解决大数据处理、人工智能等复杂高性能算法处理。

新的设计工具的推出,vivado HLS,更加注重嵌入式系统的系统级建模,通过HLS工具,用户只需要编写C语言代码,就可以让工具自动转换和生成HDL代码

随着异构架构和片上系统技术的不断发展,协同设计、协同仿真和协同调试将成为未来嵌入式系统开发者必备的素质。所谓的协同,就是要求设计者同时掌握软件和硬件知识,这与传统上软件和硬件分离的设计方法有着本质的区别。

由于半导体技术的不断发展,使得电子系统从传统的PCB板级进化到芯片级,对于嵌入式系统的小型化、低功耗和可靠性的改善都提供了强大的保证。

①全可编程片上系统基础知识

  以传统的现场可编程门阵列结构(Field Programmable Gate Array,FPGA)为基础,将专用的中央处理器单元(Central Processing Uint,CPU)和可编程逻辑资源集成在单个芯片中,产生了一种全新的设计平台,我们称之为全可编程片上系统(ALL Programmable System-on-chip,APSoC).

SoC的架构如下:(固化、灵活性差、专用性强、设计复杂)

APSoC的架构呢??(由词的全拼意淫,灵活性强,既有固化的又有可灵活控制的。。。)

SoC、CPU、MCU的比较?

  SoC:可以集成多个功能强大的处理器内核、可以集成存储块、IO资源及其他外设、可以集成GPU\DSP\音频视频解码器等、可以运行不同的操作系统、用于高级应用如智能手机\平板电脑等

  CPU:单个处理器核、需要外部额外的存储器核外设支持、应用绝大多数场合

  MCU:典型的只有一个处理器内核、内部包含了存储器、IO及其他外设、用于工业控制领域如嵌入式应用

APSoC的诞生背景:

  在全可编程平台设计阶段,设计已经从传统上以硬件描述语言HDL为中心的硬件逻辑设计,转换到以C语言为代表的软件为中心的功能描述,所以就形成了以C语言描述嵌入式系统结构的功能,而用HDL语言描述硬件的具体实现的设计方法,这也是基于全可编程SoC和传统上基于SoC器件实现嵌入式系统设计的最大区别,即真正实现了软件和硬件的协同设计。

最大优点可实现硬件加速:

  设计者可以根据需求在硬件实现和软件实现之间进行权衡,使所设计的嵌入式系统满足最好的性价比要求,例如,在实现一个嵌入式系统设计时,当使用软件实现算法成为整个系统性能的瓶颈时,设计人员可以选在在全可编程SoC内使用硬件逻辑定制协处理器引擎来高效的实现该算法,这个使用硬件逻辑实现的协处理器,可以通过AMBA接口与全可编程SoC内的ARM Cortex A9嵌入式处理器连接,此外,通过XilinX所提供的最新高级综合工具HLS,设计者很容易将软件瓶颈转换为由硬件处理。

②全可编程片上系统中的处理器类型

  根据不同的需求,全可编程片上系统的处理器可以分为软核和硬核处理器。

  硬核处理器:早期Xilinx将IBM公司的PowerPC硬核集成在V5系列的FPGA中,后来将ARM公司的双核Cortex-A9硬核集成在ZYNQ 7000系列的SoC芯片中

  软核处理器:对于一些对处理器性能要求不是很高的需求,没有必要在硅片上专门划分一定的区域来实现专用的处理器,而是通过使用FPGA芯片内所提供的设计资源,包括LUT\bram、触发器和互联资源,实现一个处理器的功能,这就是软核处理器,对于软核处理器,他通过HDL语言或者网表进行描述 ,通过通过综合后才能被使用。

③ZYNQ-7000 SoC功能与结构

  

       

在该全可编程SoC中,双核ARM-Cortex-A9多核CPU是PS的心脏,它包含片上存储器、外部存储器接口和丰富功能的外设。

与传统的FPGA和SoC相比,ZYNQ7000不但提供了FPGA灵活性和可扩展性,也提供了专用集成电路的相关性能、功耗和易用性。

ZYNQ 7000的结构便于将定制逻辑和软件分别映射到PL和PS中,这样就可实现独一无二和差异化的系统功能。

与传统的FPGA方法不同的是,ZYNQ 7000 SoC总是最先启动PS内的处理器,这样允许PS上运行的基于软件程序用于启动系统并且配置PL,这样可以将配置PL的国政设置成启动过程的一部分或者在将来的某个时间再单独的配置PL,此外可以实现PL的完全重配置或者使用部分可重配置(PR,Partional Reconfihuration,允许动态的重新配置PL中的某一个部分,这样能够对设计进行动态的修改)。

转载于:https://www.cnblogs.com/schips/p/11043364.html

Xilinx Zynq-7000嵌入式系统设计与实现 学习教程(1)相关推荐

  1. Xilinx Zynq 7000 安装Linux 系统

    Xilinx Zynq 7000 安装Linux 系统 介绍 1 准备工作 2 工具的安装 2.1 支持库的安装 2.2 PetaLinux的安装 3 搭建硬件系统 3.1 建立工程 3.2 添加IP ...

  2. Xilinx ZYNQ 7000学习笔记三(qspi flash读写操作)

    参考文献:Zynq-7000 SoC Technical Reference Manual (UG585)-ch12 Quad-SPI Flash Controller 一.nor Flash介绍 z ...

  3. Xilinx ZYNQ 7000学习笔记一(复位和启动)

    一.复位系统 参考文献:Zynq-7000 SoC Technical Reference Manual (UG585)-ch26 Reset System zynq7000复位信号源包括硬件复位.看 ...

  4. Xilinx ZYNQ 7000入门

    ZYNQ是Xilinx推出的新一代全可编程片上系统,将处理器的软件可编程性与FPGA的硬件可编程性完美整合. ZYNQ7020:xc7z020clg400-2        ZYNQ7010:xc7z ...

  5. xilinx ZYNQ 7000 AXI GPIO

    .0AXI GPIO 第一部分 PS 和 PL之间的通讯有一个接口称为AXI.AXI总线具体的内容这边不去深究,可以理解为一种特殊协议的通讯方式. AXI GPIO是什么意思? PL是FPGA它可以做 ...

  6. xilinx ZYNQ 7000 XADC 片上模拟转数字模块

    上图所示,XADC 属于 PL部分的资源 XADC是一种硬逻辑实现,位于PL功率域.PS- xadc接口是PS的一部分,可以被PS APU访问,而不需要对PL进行编程.PL必须上电才能配置PS-XAD ...

  7. Xilinx ZYNQ 7000+Vivado2015.2系列(五)之ZYNQ的三种启动方式-JTAG、SD card、Flash

    前言: 前面我们都是使用JTAG方式下载比特流文件,然后下载elf文件,最后点击Run as或者Debug as来运行程序.JTAG方式是通过tcl脚本来初始化PS,然后用JTAG收发信息,优点是可以 ...

  8. Xilinx ZYNQ 7000 HDMI

    High-Definition Multimedia Interface (HDMI) 参考xilinx application note XAPP460 HDMI来自High-Definition ...

  9. zynq7000创建fsbl启动_Xilinx Zynq 7000 FSBL启动分析(一)

    花了几天看完了FSBL的代码,在这里做个总结,分析一下zynq的启动过程. 众所周知,xilinx zynq 7000系列的芯片中包括两个部分,PS和PL,也就是FPGA的逻辑编程的部分跟嵌入式ARM ...

最新文章

  1. ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
  2. MySQL 高级 - 存储过程 - 语法 - if判断 || 传递参数 (IN - 输入 OUT-输出)
  3. mysql中删除同一行会经常出现死锁?太可怕了
  4. 知识图谱学习笔记-风控算法介绍
  5. MySQL 中 MyISAM 中的查询为什么比 InnoDB 快?
  6. python三目运算和递归的小练习
  7. 【Linux系统编程】进程同步与互斥:POSIX有名信号量
  8. 使用大数据闪存打造融合数据平台
  9. 营销管理手册_某连锁动物医院营销管理咨询项目方案成功汇报
  10. 经典算法-(一)汉诺塔(河内之塔)
  11. 线段中点到另一直线距离最短_圆弧与线段的最短距离
  12. 邮件营销的5个关键数字
  13. caj是什么格式的文件
  14. 使用Gpu恢复7z密码
  15. 入门全栈Java程序员——CSS
  16. Python.习题六 字典与集合(下)
  17. C++游戏---皇后PK
  18. PDF是如何在线分割的?简单方法介绍
  19. linux 支持7代cpu,Intel第七代cpu有哪些型号
  20. 整理的部分TI AM4379嵌入式项目笔记

热门文章

  1. R语言 devtools
  2. win8电脑打不开html文件,Win8网页打不开qq能上_Win8能上qq打不开网页怎么办?-192路由网...
  3. 因为计算机丢失vrender,3DMAX打开文件时显示缺少dll解决方案
  4. mac启动terminal终端快捷键
  5. 微信小程序之蓝牙通信模块
  6. 理想世俗化:受挫的年轻一代 未来在哪里
  7. python (与C的差别)
  8. printf(\033[1;33m Hello World. \033[0m \n);有趣的串口之超级终端的玩法
  9. 模糊集合和隶属度函数--AForge.NET框架的使用(一)
  10. DataStage 简介