找回密码
 注册
查看: 446|回复: 1
打印 上一主题 下一主题

简谈Xilinx Zynq-7000嵌入式系统设计与实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2024-4-10 16:01 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。$ ?! m* U3 \+ b( J2 N' b

; o" A( w# P2 B* N# T: P$ A

: K2 M( \' `/ l' c2 x9 P: J8 Y1 U5 x
3 W3 F2 K( W% n8 W, x0 e! }. _6 E

+ k) b7 q+ S/ R: A3 e' W0 L0 P

Xilinx的ZYNQ系列FPGA是二种看上去对立面的思想的融合,ARM处理器的串行执行+FPGA的并行执行,着力于解决大数据处理、人工智能等复杂高性能算法处理。新的设计工具的推出,vivado HLS,更加注重嵌入式系统的系统级建模,通过HLS工具,用户只需要编写C语言代码,就可以让工具自动转换和生成HDL代码。3 o+ W& M# B: ~8 ^" ~7 \$ x" v

: }$ U- v) o0 h) m

随着异构架构和片上系统技术的不断发展,协同设计、协同仿真和协同调试将成为未来嵌入式系统开发者必备的素质。所谓的协同,就是要求设计者同时掌握软件和硬件知识,这与传统上软件和硬件分离的设计方法有着本质的区别。由于半导体技术的不断发展,使得电子系统从传统的PCB板级进化到芯片级,对于嵌入式系统的小型化、低功耗和可靠性的改善都提供了强大的保证。


) W7 R$ j/ G0 y5 S3 Y4 p$ \

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

- S+ D# i- }) A; c

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

+ O; j  U0 n* l7 K

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


! N  S0 k4 M5 a2 z. o6 D7 Z4 i

& l4 S: q: v( E! Z

4 V- h9 a7 U; r. S1 A2 ~

SoC、CPU、mcu的比较

+ ^- R) A2 p# a) g0 b! U

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


; i" v% h& r# B+ O: m

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


0 ~& Y& |' u" y3 u* @* M& T

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

6 p# K  j, w% }4 A

AP SoC的诞生背景:


% l6 Y; l3 K+ ?' L! w3 ?

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


5 o5 E6 a: y1 G- V* ~0 i2 H+ H


) M% C& n7 |  e5 U+ ?5 H! u$ o

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

- Q. U8 I' |  g/ Z4 G' f9 `& P
1 b% P7 O& Z0 W" Y, f8 B

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

0 ^+ B# t7 c) L% P

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


( k, d% s& W7 H! m

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


  [6 p6 o; Q) @) e9 u* t

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


" Z0 ~0 N3 R. t) f  k7 a( H: A

9 p6 n0 y+ ]3 h& w% X! q8 s$ l

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


$ i3 j  L$ p. R7 y) k


+ P, g' N8 L3 p, }& w! X/ u" G+ }

3、ZYNQ-7000 SoC功能与结构

0 v- i' T7 p! d

% g* @" ^0 t( s" B! o- U

5 I( j4 w, S' q2 f3 E6 B  q


; J* P% Y+ a$ G9 W7 R


3 D9 x5 n/ I+ N& N% w3 g  _+ ^

在该全可编程SoC中,双核ARM-Cortex-A9多核CPU是PS的心脏,它包含片上存储器、外部存储器接口和丰富功能的外设。与传统的FPGA和SoC相比,ZYNQ7000不但提供了FPGA灵活性和可扩展性,也提供了专用集成电路的相关性能、功耗和易用性。

+ i' R2 E1 x+ R% s6 i4 Q) q

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

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


* L$ b" G# ^# n. i3 S+ |( N! ]6 l


/ v9 X8 o( q/ E4 u9 ~& X9 W' s

本次简谈到此结束,后续会带来PS构成、PL构成、互联结构、供电引脚、MIO到EMIO的链接等内容。大侠,有缘再见!


" j  l) J  |' k0 I

该用户从未签到

2#
发表于 2024-4-10 16:27 | 只看该作者
FPGA在硬件加速方面也有很大的优势
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-10 04:49 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表