什么是SDSoC平台?SDSoC基础性的概念

描述

SDSoC

在《FPGA SoC入门难?SDSoC帮你跨“门槛儿”》这篇文章中,我们介绍了SDSoC开发环境革命性的定位,及其在提升开发效率方面体现出来的巨大优势。想必读过之后,很多以前在Zynq这个FPGA SoC平台外徘徊、不得其门而入的开发者,都会跃跃欲试。

不过在迈入SDSoC的大门之前,一些基础性的概念还是有必要预先了解一下的。首要的,就是要搞懂SDSoC“平台”这个名词。

一个SDSoC设计项目是建立在一个“平台”之上的。所谓“平台”包含硬件平台和软件平台两个部分,是一个设计开发可以复用的基础性系统。

平台是利用标准的Vivado、SDK和OS工具创建的。硬件平台(HPFM)定义了诸如处理系统(PS,Processing System)、I/O子系统、存储器接口等,这些工作都基于一个定义明确的端口接口(AXI、AXI-S,、时钟、复位、中断)。软件平台(SPFM)定义了OS、设备驱动、启动加载程序(boot loaders)、文件系统、库等。

基于C/C++源代码的定制和专用硬件和软件,用户可以扩展平台。

SDSoC将平台作为独立的解决方案空间,基于平台提供的资源去生成用于解决方案的IP。每个解决方案都是为一个平台裁剪而成的。

一个扩展名为xpfm的文件包含了硬件描述符XML文件(HPFM)和软件描述符XML文件(SPFM)位置的参考。

下图1显示的是一个SDSoC平台的示意图。

SDSoC

图1,SDSoC平台示意图

有时我们称其为一个基础平台(base platform),它包含一个Vivado项目和一个可启动的软件镜像。

Vivado项目包含接口IP和相关驱动程序,其与顶层SDSoC应用程序进行交互。基础平台通常使用赛灵思和安富利提供的开发工具和SOM。

图2展示的是一个基于基础平台的完整SDSoC设计的整体结构。需要加速的C/C++/SystemC功能成为了FPGA可编程逻辑(PL)中的IP,而其他功能保留在处理器系统(PS)中。同时,SDSoC会在那些IP和PS系统间自动生成互连。

SDSoC

图2,基于基础平台的完整SDSoC设计的结构

所以,理解SDSoC“平台”是全面认知基于SDSoC的开发方法和流程的基础,是快速上手SDSoC的敲门砖。在后面的文章中,我们将详细介绍如何构建SDSoC的硬件平台和软件平台。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分