sdsoc+linux平台,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平台的示意图。

bea56a3cd9697b7f3fa43f84fe692925.png

图1,SDSoC平台示意图

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

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

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

3a0cb67939d9c5cd2d00336f21856922.png

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值