ZYNQ学习笔记(一)---初识ZYNQ-7000系列

article/2025/11/8 10:13:28

  前几日刚入手一款ZYNQ-7000系列的板卡,之前我也没用过FPGA,直接跨越到ZYNQ的原因主要是某宝上这款板卡相较于其他片上仅有一块FPGA的板卡性价比更高。作为入门,在学习过程中,笔者选择先单独学习ZYNQ上的FPGA部分,也就是PL(Programmable Logic)部分,暂且先不管ARM核的部分。

 本节概要

目录

1.ZYNQ简介

2.背景:SoC与ASIC

3.ZYNQ-7000系列芯片架构


1.ZYNQ简介

  Zynq 的本质特征,是它组合了一个双核 ARM Cortex-A9 处理器和一个传统的现场可编程门阵列 (Field Programmable Gate Array,FPGA)逻辑部件。尽管之前也有过捆绑了 FPGA 的专用处理器,但是还没有出现过完全相同的方案。在 Zynq 上,ARM Cortex-A9 是一个应用级的处理器,能运行完整的像Linux这样的操作系统,而可编程逻辑(PL)是基于Xilinx 7 系列的 FPGA 架构。这个架构实现了工业标准的 AXI 接口,在芯片的两个部分之间实现了高带宽、低延迟的连接。这意味着处理器和逻辑部分各自都可以发挥最佳的用途,而不会有在两个分立的芯片之间的那种接口开销。同时又能获得系统被简化为单一芯片所带来的好处,包括物理尺寸和整体成本的降低。(关于Xilinx 7 系列的 FPGA 架构,感兴趣的读者可以做进一步深入的了解。)

2.背景:SoC与ASIC

  我们常把ZYNQ描述成一个片上系统SoC(System on Chip),所谓的Soc又是什么呢?简单来说,就是使用单个硅芯片代替几个不同的物理芯片,来实现整个系统的功能。

  过去,SoC通常指的是ASIC(Application Specific Integrated Circuit),即专用集成电路。它上面可以有数字的、模拟的和射频的元件,和混合信号模块组 合起来来实现模拟 - 数字转换和数字 - 模拟转换 (ADC 和 DAC)。单就数字部分而 言,一块 SoC 可以组合上数字系统所有的功能:处理、高速逻辑、接口、存储器等等。所有这些功能也可以用物理上分立的器件来实现,然后在印刷电路板 (PCB) 的层面上组合起来。SoC 的解决方案成本更低,能在不同的系统单元之间实现更快 更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更 好的可靠性。

   目前,随着用户需求更加趋于灵活,可编程片上系统(System-on-Progammable-Chip)的出现,SoC的范围变得更加广。

   基于ASIC的SoC(也就是过去人们常说的“SoC”)这种 SoC 类型只 适合于大批量而且将来不需要升级的市场领域。基于 ASIC 的 SoC 的代表性例子包括 在 PC、平板和智能手机上用的集成处理器。这些处理器典型地是由至少两个处理器 核、存储器、图形处理器、接口和其他功能模块组合起来的,而且大批量生产 出来用于寿命有限的产品中。相较于像FPGA、ZYNQ这一类可编程片上系统在灵活性、快速适应市场应用需求方面有着相当大的局限性。

   因此,可编程片上系统这种更加灵活的SoC平台应运而生。笔者目前学习的ZYNQ就是一款Xilinx的全可编程 SoC (All-Programmable SoC,APSoC)。

3.ZYNQ-7000系列芯片架构

        首先我们来了解一下芯片的高层模型。

  从中可以注意到 Zynq 是由两个主要部分组成的:一个由双核 ARM Cortex-A9 构成的处理系统 (PS),和一个等价于一片 FPGA 的可编程逻辑 (PL)部分。它还具有集成的存储器、各种外设和高速通信接口。PL 部分用来实现高速逻辑、算术和数据流子系统是很理想的,而 PS 支持软件 程序和 / 或操作系统,这就意味着任何被设计的系统的整个功能可以恰当地在硬件和软件之间做出划分。PL 和 PS 之间的链接采用了工业标准的高级可扩展接口(Advanced eXtensible Interface,AXI)连接方式。

        进一步细化模型如下图。

  可以看到,蓝色PS部分(Processing System)具有固定的架构,承载了处理器和系统存储区, 而黄色PL 部分(Programmable Logic)完全是灵活的给了设计者巨大的自由空间来创建定制的外设,或重用标准外设。

  这里的外设我们可以理解成知识产权(Intellectual Property,IP)功能模块,也就是我们常说的IP——这些IP可以从Xilinx的库获得(随着设计工具提供)来源,也可以从之前的项目中重用,或是从第三方或是从开源仓库获得,然后再集成起来形成系统的设计。

  Zynq 是一块 SoC,具有大量的标准 IP,这表明这些部件就不再需要重新设计了。这也加快了设计者的开发速度。我们需要考虑 IP 的各种来源,包括 Xilinx 库、产生自己的 IP 的机制,和第三方 IP 来源。当然,仅仅只提及这些模块是不够的 —— 它们还得被集成进系统去,建立起恰当的连接和交互。

  而互联是通过连接了 PS 和 PL 的 AXI 接口总线来实现的。值得注意的是,这里处理器与外设链接的是单一总线,但其实一个处理器也可以连接多个外设总线。另外,可以看到软件是放在处理器那里的,也就是这里位 于 Zynq 的 PS 里的 ARM Cortex-A9。软件系统由一连串的软件单元组成的。

  以上所述简单来说,就是我们可以在PL部分自己设计一个IP模块,再把它与PS部分进行连接交互,集成到整个嵌入式系统中去。而这个IP模块你可以引用一些已经设计好的IP进行重新的组合、拼装,也就是所谓的设计重用。(目前笔者的理解是这样的,欢迎大家指正讨论呀!)


http://chatgpt.dhexx.cn/article/tubdLVTa.shtml

相关文章

ZYNQ7000 Vivado详细教学步骤

ZYNQ7000 Vivado开发 ZYNQ7000 Vivado详细教学步骤 ZYNQ7000 Vivado开发1.建立工程项目2.创建Block Design3.配置IO BANK4.配置DDR和CLOCK5.配置PS外设6.测试PS外设7.增加PL外设 1.建立工程项目 Xilinx提供了一系列开发工具,其中包括Vivado平台工具,它是…

mongodb客户端 robo 3T 查询突破50行限制

robo 3T的小bug 这个mongodb客户端,每次查询数据只有50行,虽然有向下翻页的功能 但实际上点击后会被重置,还是只有前50条 解决办法 DBQuery.shellBatchSize 500; 当前窗口最大查询数量修改到500(只有当前窗口生效)…

centos7仅安装mysql/mongodb客户端

1、仅安装MySQL客户端 # 添加rpm源 [rootk8s-master ~]# rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm [roottest1 ~]# # 通过yum搜索 [roottest1 ~]# yum search mysql-community [roottest1 ~]# # 安装x64位的 mysql客户端 [roottest1 ~]…

专业级MongoDB桌面客户端:MongoBooster for Mac

mongobooster mac破解版是适用于MongoDB的最智能IDE,也是以shell为中心的跨平台GUI工具,它提供了流畅的查询构建器,SQL查询SQL查询,就地更新,ES2017语法支持和真正的智能感知体验。MongoBooster下载可以帮助用户能够连接到选项卡式用户界面中的多个数据库,并通过shell命令…

mongodb官方客户端可视化工具Compass,免费,官方值得信赖

之前一直用的客户端是nosqlbooster4mongo,基本操作还都是挺好用的,但是有一些命令在这个客户端上运行不了,以后要慢慢的替换到compass上。 下载compass 官方下载:https://downloads.mongodb.com/compass/mongodb-compass-1.26.1…

Centos下mongodb的安装

方法一 可以使用yum命令直接安装MongoDB服务端和客户端。 sudo yum install mongodb-server # 安装MongoDB服务端 sudo yum install mongodb # 安装MongoDB客户端 sudo mongod -f /etc/mongod.conf # 加载配置项,启动mongodb服务器 mongo #启动客户端方法…

linux下MongoDB客户端shell基本操作

MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15},这在关系型数据库中是无法实现的。…

MongoDB 客户端 MongoVue

直接上图片,图片是按顺序来的 软件下载地址(Windows下的MongoDB客户端MongoVUE 这是最后一个全功能的不收费的版本): http://pan.baidu.com/s/1skYIEq5

mongoDB介绍与客户端认证权限

mongoDB简介 Mongo 是 humongous 的中间部分,在英文里是“巨大无比”的意思。所以 MongoDB 可以翻译成“巨大无比的数据库”,更优雅的叫法是“海量数据库”。 Mongodb是一款非关系型数据库,说到非关系型数据库,区别于关系型数据库…

MongoDB客户端Robo 3T安装使用

MongoDB客户端Robo 3T安装使用 MongoDB安装 MacBook解压安装MongoDB Linux解压安装MongoDB Robo 3T下载和安装 官网下载Robo 3T 官网下载地址: https://robomongo.org/download 有解压版本和安装版本 下载成功后,点击安装,这里不多做说明 Robo 3T使用 打开Ro…

linux/centos单独安装mysql、mongodb客户端

安装mysql客户端 下载想要版本mysql客户端 带client https://downloads.mysql.com/archives/community/ rpm卸载已安装mysql rpm -qa | grep -i mysql 查询出来的rpm -e 全部卸载 rpm -e mysql57-community-release-el7-9.noarch rpm -e mysql-community-server-5.7.17-1…

最佳的MongoDB客户端管理工具

《最佳的MongoDB客户端管理工具》 作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一个好的MongoDB客户端管理工具,可以大大提高MongoDB应用的开发效率。MongoDB自带的Shell是一个很好的工具,但是它在操纵大数据集时就没…

CentOS 安装 MongoDB 客户端(命令行shell)

目录 问题 解决 首先,登陆官网 其次,下载对应的安装包 然后,删除安装包 最后,测试命令行 问题 最近公司新申请的CentOS云服务器都缺少MongoBD客户端工具,用命令行登陆MongoBD数据库时,都需要自己安装…

mongodb客户端

查看当前数据库 db切换数据库 通过db变量访问集合 这会返回当前数据库中的 movies 集合。既然可以通过 shell 访问集合,就意味着可以在 shell 中执行大部分数据库操作。 crud操作 新增 insertOne 函数可以将一个文档添加到集合中 查看数量 查看 使用find查看…

安装mongodb客户端

1.从mongodb官网下载安装包 下载路径:MongoDB Shell Download | MongoDB 2.创建存放mongosh服务目录 mkdir /etc/mongodb 3.将此安装包放到mongdb目录下解压 tar -zxvf /etc/mongodb/mongosh-1.8.1-linux-x64.tgz /etc/mongodb 4.mongodb客户端使用 cd /etc/mo…

系列十、MongoDB客户端连接

一、Docker方式连接 说明:Docker安装默认配置了端口映射,直接连接即可。 二、传统方式连接 2.1、传统方式启动后连接 ./mongod --port27017 --dbpath/usr/local/mongodb5/data --logpath/usr/local/mongodb5/logs/mongo.log 2.2、开启远程连接 启动时…

硬卷 NoSQL 数据库系列(十二):MongoDB 客户端管理工具

点关注公众号,回复“1024”获取2TB学习资源! 前面介绍了 WT 存储引擎、复制集、分片技术、集群部署与管理维护、备份与恢复、状态检测与性能追踪等相关的知识点。今天我将详细的为大家介绍一款 MongoDB 客户端管理工具相关知识,希望大家能够从…

mongodb的linux安装和客户端链接步骤

1、登录mongodb的官网(https://www.mongodb.com/home)下载安装包路径,我是安装在了/root/soft路径下面 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.24.tgz 2、将下载的压缩包解压缩(文件也是解压缩在/roo…

MongoDB—— 客户端MongoDB Compass

目录 一、客户端MongoDB Compass下载官方地址二、启动客户端 MongoDB Compass三、客户端MongoDB Compass连接四、数据库中创建集合操作四、集合中文档的操作4.1、集合中创建文档4.2、集合中查询文档 五、集合中文档的其他操作 一、客户端MongoDB Compass下载官方地址 https://…

【全网首发】抖音权重查询源码+接口

最近爆火的抖音权重限流查询,输入抖音主页链接即可查询作品情况,不清楚的兄弟可以去抖音搜索“权重”看直播间,一场直播都是几万票,折算下来几千,赶快抓住风口吃肉。目前后台系统已经写好,可以会员登陆卡密…