前言

这是我学习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. Oracle课程档案,第三天

    count(*):有多少行,对行做统计 count(x):列.... sum:和 avg:平均值 min:求最小值 max:求最大值 distinct:取出重复的值 count:计数 group by ...

  2. Python学习之旅(十八)

    Python基础知识(17):面向对象编程(Ⅱ) 获取对象信息 在不知道对象信息的情况下,我们想要去获取对象信息,可以使用以下方法 1.type (1)判断对象类型 >>> type ...

  3. 原生JS表格行拖动排序,添加了回调功能

    function tableDnD(el, callback) { if (typeof (el) == "string") { el = document.getElementB ...

  4. python全栈开发 * 32知识点汇总 * 180717

    32 网络编程 (一)一.架构 定义:程序员开发的一种模式. 分类: C/S 架构 C/S即:Client与Server , 客户端/ 服务器模式 . 缺点 : 冗余 B/S 架构 Browser与S ...

  5. try 和 catch 和 finally

    try块中出现异常走进catch,异常后面的代码不会再被执行:finally块里try和catch执行完后要执行的代码,且一定会执行. 在释放资源的时候,不要多个放在一个try块里面. 流的关闭顺序: ...

  6. Python的类的组合

    python中,类的加载顺序 类是在文件加载时,会跟着加载 1  类名 2  类中的变量,从上到下,依次进行 3 加载到方法时,方法内的内容不执行,但是会开辟一个空间用来存储方法内的数据 4 当类内的 ...

  7. IO调度算法的选择

    一) I/O调度程序的总结 1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2) 每个块设备都有它自己的队列. 3) I/O调度程序负责维护这些队列的顺序,以更有效 ...

  8. Cocos 2dx项目lua调用OC出现卡死但不闪退的坑

    最近新上线的一个游戏,发现线上游戏有部分功能在点击的时候出现了没有反应的情况.通过调试源码,发现是原生OC的代码出现了崩溃,但是比较奇怪的是线上的Bugly没有任何记录,这个功能属于高频高能,而且又是 ...

  9. generatorConfiguration详解

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration ...

  10. mysql 日期相关 CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME

    MySQL 时间函数 SELECT CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME, CURRENT_TIME(), NOW(); https://dev. ...