ZYNQ简介

article/2025/9/24 19:53:10

目录

1.ZYNQ简介

2.片上系统,板上系统,可编程片上系统,全可编程上系统

(1)板上系统

(2)片上系统(SOC)

(3)可编程片上系统(SOPC)

(4)全可编程上系统(APSoC)

3.PL简介

4.PS简介

​5.存储器接口

6.片上存储器

7.AXI 接口


1.ZYNQ简介

​ ZYNQ全称Zynq-7000 All Programmable SoC,是赛灵思公司(Xilinx)推出的新一代全可编程片上系统((APSoC)(全可编程指的是硬件和软件都可以编程),ZYNQ 的本质特征,是它组合了一个双核 ARM Cortex-A9 处理器和一个传统的现场可编程门阵列(FPGA)逻辑部件。它将处理器的软件可编程性与FPGA的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。

​ ZYNQ旨在为视频监控、汽车驾驶员辅助以及工厂自动化等高端嵌入式应用提供所需的处理能力与计算性能。这款基于ARM处理器的SoC可满足复杂嵌入式系统的高性能、低功耗和多核处理能力等要求。

2.片上系统,板上系统,可编程片上系统,全可编程上系统

(1)板上系统

 一个能够实现一定功能的电路系统由多个模块构成,如处理器、接口、存储器、模数转换器等等。这些功能模块可以由分立的器件来实现,然后在印刷电路板(PCB)上组合起来,最终形成板上系统(System-on-a-Board)。


在上图所示的板上系统中,绿色的矩形代表印刷电路板(PCB),上面各种颜色的小矩形代表了系统中各个功能模块,如存储器等。这些模块的功能都由一个个独立的硅芯片分别实现的,它们之间通过 PCB 上 的金属走线连接,最终构成一个完整的系统。

(2)片上系统(SOC)

​ 而片上系统(System-on-Chip)**指的是在单个硅芯片就可以实现整个系统的功能。


​ 如上图所示,片上系统 SoC 在一个芯片里就实现了存储、处理、逻辑和接口等各个功能模块,而不是像板上系统那样,需要用几个不同的物理芯片来实现。与板上系统相比,SoC 的解决方案成本更低,能在不同的系统单元之间实现更快更安全的数据传输,具有更高的整体系统速度、更低的功耗、更小的物理尺寸和更好的可靠性。

在过去,SoC 这个术语常用于指专用集成电路(Application Specific Integrated Circuit,ASIC)。基于 ASIC的 SoC 的代表性例子包括在 PC、平板和智能手机上使用的处理器,如华为旗舰手机中的麒麟系列芯片。这些处理器典型地是由至少两个处理器核、存储器、图形处理器、接口和其他功能模块组合起来的。基于 ASIC的 SoC 的主要缺点有两个:1、开发周期长且成本巨大;2、缺乏灵活性。开发 ASIC 时不可重用的工程投入是巨大的,使得这种 SoC 类型只适合于大批量而且寿命有限的产品中。ASIC SoC 的局限性导致它们不适用于很多应用,特别是当快速投入市场能力、灵活性和升级能力已经成为重要的关键因素。对于小批量或中批量的产品,ASIC SoC 也不是好的解决方案。

(3)可编程片上系统(SOPC)

可编程片上系统(SOPC,System-on-Progammable-Chip)为上述应用提供了一个更灵活的解决方案:一种在可编程、可重新配置的芯片上实现的 SoC。其中,可编程的芯片指的就是 FPGA。FPGA 天生的灵活性使其可以被随心所欲地重新配置,以实现不同系统的功能,包括嵌入式处理器。和使用 ASIC 来实现 SoC相比,FPGA 能构成更为基础灵活的平台,方便系统的升级。

(4)全可编程上系统(APSoC)

全可编程上系统(APSoC,All-Programmable SoC)**将处理器的软件可编程性与 FPGA 的硬件可编程性进行完美整合,以提供无与伦比的系统性能、灵活性与可扩展性。ZYNQ 是由两个主要部分组成的:一个由双核 ARM Cortex-A9 为核心构成的处理系统(PS Processing System),和一个等价于一片 FPGA 的可编程逻辑(PL,Programmable Logic)部分。ZYNQ 架构的简化模型如下图所示:


​ 在上图中,PS 具有固定的架构,包含了处理器和系统的存储器;而 PL 完全是灵活的,给了设计者一块“空白画布”来创建定制的外设。在 ZYNQ 上,ARM Cortex-A9 是一个应用级的处理器,能运行像 Linux 这样的操作系统,而可编程逻辑是基于 Xilinx 7 系列的 FPGA 架构。ZYNQ 架构实现了工业标准的 AXI 接口,在芯片的两个部分之间实现了高带宽、低延迟的连接。这意味着处理器和逻辑部分各自都可以发挥最佳的用途,而不会产生在两个分立器件之间的接口开销。与此同时,又能获得系统被简化为单一芯片所带来的好处,包括物理尺寸和整体成本的降低。

3.PL简介

1.早期生产的数字集成电路逻辑功能都是固定不变的。要想改变它的逻辑功能,就必须改变内部各单元电路之间的连接,而这种连接在集成电路制作过程中已经固定下来了。

2.允许用户自行修改内部连接的集成电路:可编程逻辑器件(Programmable Logic Device)–就是ZYNQ的FPGA部分
1、PLD内部的电路结构可以通过写入编程数据来设置;
2、写入PLD的编程数据还可以擦除重写;

PLD的逻辑功能可以由使用者通过编程来设定。

3.常用的可编程逻辑器件:
CPLD:复杂可编程逻辑器件(Complex Programmable Logic Device)
FPGA:现场可编程门阵列(Field Programmable Gate Array)
本质差异:电路结构不同。
CPLD:基于“乘积项”的与或逻辑阵列
FPGA:基于“查找表”(LUT,Look UP Table)的CLB阵列

简化的 FPGA 基本结构由 6 部分组成,分别为可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等,如下图所示:


PL的接口部分基本是FPGA的部分,不再描述。

4.PS简介

ZYNQ 实际上是一个以处理器为核心的系统,PL 只是它的一个外设。Zynq-7000 系列的亮点在于它包含了完整的 ARM 处理器系统,且处理器系统中集成了内存控制器和大量的外设,使 Cortex-A9 处理器可以完全独立于可编程逻辑单元。而且实际上在 ZYNQ 中,PL 和 PS 两部分的供电电路是独立的,这样 PS 或 PL 部分不被使用的话就可以被断电。

FPGA 可以用来搭建嵌入式处理器,像 Xilinx 的 MicroBlaze 处理器或者 Altera 的 Nios II 处理器。像这种使用 FPGA 的可编程逻辑资源搭建的处理器我们称之为“软核”处理器,它的优势在于处理器的数量以及实现方式的灵活性。而 ZYNQ 中集成的是一颗“硬核”处理器,它是硅芯片上专用且经过优化的硬件电路,硬核处理器的优势是它可以获得相对较高的性能。另外,ZYNQ 中的硬件处理器和软核处理器并不冲突,我们完全可以使用 PL 的逻辑资源搭建一个 Microblaze 软核处理器,来和 ARM 硬核处理器协同工作。需要注意的是,Zynq 处理器系统里并非只有 ARM 处理器,还有一组相关的处理资源,形成了一个应用处理器单元(Application Processing Unit,APU),另外还有扩展外设接口、cache 存储器、存储器接口、互联接口和时钟发生电路等。

ZYNQ 处理器系统(PS)示意图如下所示,其中红色高亮区域为 APU。


1.APU

​ 如上图所示是 APU 的简化框图。APU 主要是由两个 ARM 处理器核组成的,每个都关联了一些可计算的单元:一个 NEONTM 媒体处理引擎(Media Processing Engine,MPE)和浮点单元(Floating Point Unit,FPU);一个内存管理单元(Memory Management Unit,MMU);和一个一级 cache 存储器(分为指令和数据两个部分)。APU 里还有一个二级 cache 存储器,再往下还有片上存储器(On Chip Memory,OCM),这些是两个 ARM 处理器共用的。最后,由一个一致性控制单元(Snoop Control Unit,SCU)在 ARM 核和二级 cache 及 OCM 存储器之间形成了桥连接。SCU 还部分负责与 PL 对接,图中没有标出这个接口。

2).外部接口
​ 如图 1.4.1 所示,Zynq PS 实现了众多接口,既有 PS 和 PL 之间的,也有 PS 和外部部件之间的。PS 和外部接口之间的通信主要是通过复用的输入/输出(Multiplexed Input/Output,MIO)实现的,它提供了可以灵活配置的 54 个引脚,这表明外部设备和引脚之间的映射是可以按需定义的。当需要扩展超过 54 个引脚的时候可以通过扩展 MIO(Extended MIO,EMIO)来实现,EMIO 并不是 PS 和外部连接之间的直接通路,而是通过共用了 PL 的 I/O 资源来实现的。PS 中可用的 I/O 包括标准通信接口和通用输入/输出(General Purpose Input/Output,GPIO),GPIO 可以用做各种用途,包括简单的按钮、开关和 LED。如下图所示:


5.存储器接口

Zynq-7000 APSoC 上的存储器接口单元包括一个动态存储器控制器和几个静态存储器接口模块。动态存储器控制器可以用于 DDR3、DDR3L、DDR2 或 LPDDR2。静态存储器控制器支持一个 NAND 闪存接口、一个 Quad-SPI 闪存接口、一个并行数据总线和并行 NOR 闪存接口。

6.片上存储器

片上存储器包括 256kB 的 RAM(OCM)和 128kB 的 ROM(BootROM)。OCM 支持两个 64 位 AXI 从机接口端口,一个端口专用于通过 APU SCU 的 CPU/ACP 访问,而另一个是由 PS 和 PL 内其他所有的总线主机所共享的。BootROM 是 ZYNQ 芯片上的一块非易失性存储器,它包含了 ZYNQ 所支持的配置器件的驱动。BootROM 对于用户是不可见的,专门保留且只用于引导的过程。

7.AXI 接口

ZYNQ 将高性能 ARM Cotex-A 系列处理器与高性能 FPGA 在单芯片内紧密结合,为设计带来了如减小体积和功耗、降低设计风险,增加设计灵活性等诸多优点。在将不同工艺特征的处理器与 FPGA 融合在一个芯片上之后,片内处理器与 FPGA 之间的互联通路就成了 ZYNQ 芯片设计的重中之重。如果 Cotex-A9 与FPGA 之间的数据交互成为瓶颈,那么处理器与 FPGA 结合的性能优势就不能发挥出来。Xilinx 从 Spartan-6 和 Virtex-6 系列开始使用 AXI 协议来连接 IP 核。在 7 系列和 ZYNQ-7000 AP SoC 器件中,Xilinx 在 IP 核中继续使用 AXI 协议。AXI 的英文全称是 Advanced eXtensible Interface,即高级可扩展接口,它是 ARM 公司所提出的 AMBA(Advanced Microcontroller Bus Architecture)协议的一部分。AXI 协议是一种高性能、高带宽、低延迟的片内总线


http://chatgpt.dhexx.cn/article/4c3g4tDM.shtml

相关文章

【ZYNQ】从入门到秃头01 初识ZYNQ(PS和PL之间连接)

文章目录 从嵌入式Linux到ZYNQZYNQ简介PL简介常用的可编程逻辑器件:PL结构 PS简介AXIAXI4 StreamAXI4 ZYNQ芯片开发流程的简介学习ZYNQ要具备哪些技能 从嵌入式Linux到ZYNQ 之前的学习领域一直是ARM,从STM32到NXP iMX6, 从裸机开发到Linux操…

css-输入框和文本域样式调整

输入框去掉选中后的边框变化效果 选中后边框变化: 去掉变化效果方法:添加css属性- - - outline: none; 文本域去掉右下角拖拽图样 默认文本域右下角有个拖拽的图样,将鼠标移动到右下角可以进行拖拽实现放大缩小: 代码示例&#x…

HTML5-列表框、文本域和文件域

<!--下拉框&#xff0c;列表框selected 默认选择--><p>国家&#xff1a;<select name"列表名称" ><option value"china">中国</option><option value"us">美国</option><option value"eth&qu…

【多行文本输入框--文本域】(html,css)

<style>textarea{width: 300px;height: 300px;resize: none;/* resize:重新设置大小&#xff0c;vertical,horizontal,both,none */} </style> <body><div>多行文本输入框--文本域</div><div><!-- placeholder--提示文字 --><!--…

JTextArea:文本域组件

文本域与文本框的最大区别就是文本域允许用户输入多行文本信息。在 Swing 中使用 JTextArea 类实现一个文本域&#xff0c;其常用构造方法如下。 JTextArea()&#xff1a;创建一个默认的文本域。JTextArea(int rows,int columns)&#xff1a;创建一个具有指定行数和列数的文本…

html文本域

<!DOCTYPE <!DOCTYPE html><html><head><meta charset"utf-8"/><title>文本域</title></head><body>用户留言:<br/><form action"mailto:minriqq.com" name"invest" method"p…

文本域textarea

文本域 CreateTime--2017年5月23日15:12:08Author:Marydon 二、文本域 &#xff08;一&#xff09;语法 <textarea></textarea> &#xff08;二&#xff09;用法介绍 2.2.1 页面展示 内容一定要写在标签体内&#xff0c;即&#xff1a; <textarea>页面要展示…

textarea文本域,多行文本输入

当用户需要在表单中输入大段文字时&#xff0c;需要用到文本输入域。 语法&#xff1a; <textarea rows"行数" cols"列数">默认出现文本</textarea> 注意&#xff1a; rows,cols这两个属性可用css样式的width和height来代替&#xff1a;co…

为文本域(textarea)中的个别字体设置不同的样式

文章目录 将textarea文本域用可编辑的div来代替相关JavaScript代码效果显示参考链接 将textarea文本域用可编辑的div来代替 将contenteditable设置为true后可将div模拟成textarea <div id"" class"" contenteditable"true"></div>…

Vue3文本域(Textarea)

APIs 参数说明类型默认值必传width文本域宽度string | number‘100%’falseallowClear可以点击清除图标删除内容booleanfalsefalseautoSize自适应内容高度boolean | {minRows?: number, maxRows?: number}falsefalsedisabled是否禁用booleanfalsefalsemaxlength最大长度numb…

HTML 文本框输入框 列表文本框和文本域 等等

初识表单和get提交 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>登录注册</title> </head> <body><!--表单form action: 表单提交的位置&#xff0c;可以是网站&#xff0c;也…

LayUI富文本域使用案例

LayUI富文本域是一款轻量级的富文本编辑器&#xff0c;页面设计比较简约。之前写项目时因为用的是LayUI框架&#xff0c;所以富文本域当时就用的LayUI富文本编辑器&#xff0c;这里整理一下。 先来看一下效果图&#xff0c;页面效果图。 访问效果图&#xff1a; 首先需要引入L…

文本域(可输入多行文本)

1&#xff09;和文本、密码输入框一样&#xff0c;文本域的代码也是在<form></form>标签内部的。 语法如下&#xff1a; <textarea rows"行数" cols"列数">文本</textarea>如&#xff1a; <!DOCTYPE HTML> <html> <…

文本域、标签、密码域、文本区、滚动窗格——文本输入

文本域 将文本域添加到窗口的常用办法就是将它添加到面板或者其他的容器中&#xff1a; JPanel panel new JPanel(); JTextField textField new JTextField("Default input", 20); panel.add(textField);上面的代码添加一个文本域&#xff0c;同时传递“Default …

第十三篇、文本框、密码框和文本域。

文章目录 前言一、文本框、密码框和文本域之间的对比二、代码示例1.文本框2.密码框3.文本域 总结 前言 上一篇我们共同学习了下拉框和列表框&#xff0c;本篇我们将学习文本框、密码框和回顾我们之前学习的文本域。 一、文本框、密码框和文本域之间的对比 文本框&#xff1a;…

java:文本域的简单使用

文本域的简单使用 一、关键代码二、简单说明三、流程图四、源码&#xff08;一&#xff09;、源码A&#xff08;二&#xff09;、源码A的运行效果 五、结语六、定位日期 一、关键代码 常见的创建类方式&#xff0c;创建文本域。需要注意添加相关的包类&#xff0c;具体可看源码…

HTML|下拉框和文本域、文件域

HTML|下拉框和文本域、文件域 1.下拉框 在平时我们填问卷或者冲浪的时候做筛选的时候都会遇到下拉框&#xff0c;html写一个下拉框的方式是使用select标签&#xff0c;name和id是默认属性 <select name"1" id""></select>在select标签内部可…

20、HTML <textarea>标签(文本域)

在使用表单时&#xff0c;例如姓名、年龄字段我们可以使用单行文本框&#xff0c;但是当涉及到描述信息&#xff0c;内容比较多时&#xff0c;单行文本框很有可能放不下所有的内容&#xff0c;这时就需要用到多行文本框。 在 HTML 中&#xff0c;使用 <textarea> 标签来…

概率论公式整理

1、排列与组合公式 2、加法和乘法原理 3、随机试验和随机事件 4、基本事件、样本空间和事件  5、事件的关系与运算 6、概率的公理化定义 7、古典概型  8、几何概型 9、加法公式 10、减法公式 11、条件概率 12、乘法公式 13、独立性 14、全概率公式 15、贝叶斯…