前言

这是我学习Zedboard时做的笔记

Zedboard是什么

Zedboard是Xilinx公司推出的搭载了Zynq芯片的开发板,其中Zynq芯片采用全新的设计理念,将ARM处理器嵌入FPGA可编程逻辑内。Zynq芯片既有高性能的处理能力,又有灵活的可编程配置。ARM部分称为PS(Processing System),而FPGA部分称为PL(Programmable Logic),两者通过片内总线AXI互联。

在设计角度方面,可以把FPGA看成挂载在处理器上的可重配置外设,也可以看成与处理器对等的主设备。如果不使用PL,Zynq的PS部分和普通的ARM开发一样;如果不使用PS,Zynq的PL部分和普通的FPGA一样。供电电路也被设计成独立给PS和PL供电,不使用某部分的话可以被断电

为什么要使用Zynq芯片

与FPGA芯片做比较

嵌入式应用常常需要处理器组成系统,运行软件,协调与外设的交互(处理器密集型应用)。Zynq芯片有硬处理器,而FPGA没有。虽然可编程逻辑可以构建软处理器如MicroBlaze(文末附有常简的几款软处理器),但是软处理器的基准测试(如每秒百万条指令DMIPs)表现不如硬处理器,而且ARM指令集比MicroBlaze丰富,ARM支持双精度浮点运算,MicroBlaze的FPU只实现了单精度浮点。硬处理器性能是标准FPGA无法企及的。

与处理器芯片做比较

PL可以为特定的任务进行全面的定制和优化。软件在实现计算密集型操作时,可以从Zynq的PL形成的硬件加速中受益。可编程逻辑为并行实现算法(SIMD)提供了理想的资源,并且表现比处理器中的同类型特定资源(如ARM Cortex-A9的NEON引擎)要优秀。

与分立的FPGA-处理器组合做比较

出现FPGA-处理器组合的系统是因为系统要同时支持计算密集型数据流类型处理(FPGA)和高级的软件算法应用(专用处理器)。
Zynq的优势在于PL和PS通过AXI互联,高带宽,低延迟;另外物料表(Bill of Materials)减少,简化了板级架构,提高系统的可靠性,而且有助于降低成本;芯片内通信比芯片与芯片间通信功耗更低;Zynq有集成化的设计流和软件开发工具套件,分立元件的系统可能有两个独立的设计流、工具集。

文档地址

http://zedboard.org/support/documentation/1521
http://www.zynqbook.com/
资料分享The Zynq Book

附更多的软处理器

名称 描述
MicroBlaze Xilinx优化过,集成在Vivado IP库
PicoBlaze Xilinx网站可下载,8位单片机
ARM Cortex-M1 ARM公司的软核单片机
LEON4 可用于ASIC实现
OpenRISC 由OpenCores主持的合作开源项目,也可用于ASIC实现
OpenSparc 由Sun MicroSystems开发的、开源的、64位RISC计算机

Zedboard初体验的更多相关文章

  1. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  2. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  3. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  4. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  5. 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...

  6. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  7. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  8. 百度EChart3初体验

    由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...

  9. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

随机推荐

  1. JavaScript基础知识(初识JS)

    js的组成部分 1. ECMAScript : JS的基础语法 变量 数据类型,操作语句,函数 es3 es5 es6; 2.DOM : document object model : 文档对象模型: ...

  2. Java中Integer和int的异同

    public void Test1() { int a = 128; Integer b = 128; Integer c = 128; //Integer会自动拆箱成int,所以为ture Syst ...

  3. 算法基础_递归_给定m个A,n个B,一共有多少种排列

    问题描述: 给定m个A,n个B,一共有多少种排列 解题源代码: /** * 给定m个A,n个B,问一共有多少种排列 * @author Administrator * */ public class ...

  4. arcpy加载mxd文件时,无效的MXD路径,提示assert (os.path.isfile(mxd) or (mxd.lower() == "current")), gp.getIDMessage(89004, "Invalid MXD filename")

    无效的MXD路径,将路径前加‘u’,改为这种: mxdPath = u"C:\\1331\\DB\\Original Files\\dd.mxd" 参考: https://gis. ...

  5. PTA最短工期

    一个项目由若干个任务组成,任务之间有先后依赖顺序.项目经理需要设置一系列里程碑,在每个里程碑节点处检查任务的完成情况,并启动后续的任务.现给定一个项目中各个任务之间的关系,请你计算出这个项目的最早完工 ...

  6. nlp底层技术列举

    其实目前除了之前博客写到的一些关于自然语言处理用到的知识点之外,很多其他nlp技术只是会用但是不了解原理,先整体分个类,之后再仔细分析吧. 上图是https://www.sohu.com/a/1386 ...

  7. select()函数 的学习

    select()的介绍 全是拷贝的如下文章: https://www.cnblogs.com/wenqiang/p/5508541.html select()函数的用例代码摘录如下文章: https: ...

  8. 浅尝 Vue 中的 computed 属性 与 watch

    对于 computed 的理解: ①.computed 用来监控自己定义的变量,该变量不在 data 里面声明,直接在 computed里面定义,然后就可以在页面上进行双向数据绑定展示出结果或者用作其 ...

  9. JQuery插件之【jqGrid】常用语法整理

    jqGrid常用语法整理,包含数据获取.常用函数.触发事件等 jqGrid表格数据获取相关语法 获取表格所有数据 $("#grid").jqGrid("getRowDat ...

  10. Redis入门到高可用(十六)—— 持久化

    一.持久化概念 二.持久化方式 三.redis持久化方式之——RDB 1.什么是RDB 在 Redis 运行时, RDB 程序将当前内存中的数据库快照保存到磁盘文件中, 在 Redis 重启动时, R ...