找回密码
 注册
关于网站域名变更的通知
查看: 532|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
今天给大侠带来简谈Xilinx Zynq-7000嵌入式系统设计与实现,话不多说,上货。
5 v2 V3 K0 N1 x9 R* v% W; V3 ^8 r( B- i
5 ~# n' s2 p! t. z
  f/ O7 M0 n: N# r* ~  t
0 A+ [: k6 I2 G) z+ B; x# E

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

- T- M3 m/ C( |) `$ N8 a3 E( i

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


9 [2 {$ [0 k- Y, g( \6 o0 M

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

6 |. z  G3 V4 A/ `# `9 V

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


: u8 k: ?! ~: R/ y: @; g1 {! Z

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


1 F4 x, }2 [# h# P

' w0 _: X1 F- r5 k) t; X5 b( j

& J* L+ g  }2 A, V2 s0 X

SoC、CPU、mcu的比较


2 I; I! W- \) @! l# ^8 r) Q# T

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


! V# Y% a/ N- w& q9 C& c2 D$ \& v

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


5 X- s7 c' M8 C3 H# a, w

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


) i) [& {+ \" X6 i5 g

AP SoC的诞生背景:

" Z2 g; M9 w3 E1 ~/ t: K

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

; r5 o3 u9 s3 e( U4 I5 L8 ]6 x

2 M* f2 e1 c7 ?

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

. ]7 [+ q7 \$ ^' u7 |
1 Q( u% M% Q' Z9 [3 n* q2 [

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


0 d& b  U1 ~2 t* M8 c3 h

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


2 ]8 X7 d' Y* x$ {( g

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

+ `3 W& M7 w% Z4 `  G3 G: e

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

" C6 `7 w8 c- @) |$ ^' E" F: _


. i' G. F" ^0 d4 }" A: T7 f

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


1 `" O6 q( j5 _+ @( F' E" T4 E


$ o0 K' K9 k+ b6 v

3、ZYNQ-7000 SoC功能与结构

! S, \% P/ O/ ?  [2 x

* H: p9 k& M6 ]; J+ |1 P6 G

6 H- D# A6 [. S" F

& i+ e7 d& E/ I" X) x


  H3 o! o. [5 C- w" O

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

4 g6 Z5 N0 _1 t% e

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

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


1 c4 j% l* o; I) u- v/ n; b( g, i

! x  f4 C& Y* X+ |

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


# z8 a$ c, O  e. C( N2 |! D; N( s

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-10-5 01:06 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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