Zynq开发流程的捷径SDSoC
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Zynq开发流程的捷径SDSoC
之前我们已经向大家介绍了全可编程的Zynq SoC平台应用开发所需的一系列神器,如Vivado、Xilinx SDK、PetaLinux等。
那么这是否意味着在Zynq开发的过程中就会是一马平川呢?
让我们先来看看一个典型的Zynq SoC开发流程(如图1):开发者首先需要对软硬件进行分区,即确定系统哪些部分放入PL(可编程逻辑)中进行硬件加速,哪些部分在PS(处理器系统)中用软件实现;接下来,要完成软/硬件之间的连接,包括使用怎样的DataMover、PS与PL之间的接口如何配置等;之后要完成配套的软件驱动和应用程序的开发。
整个流程通常需要一个完整团队的通力合作,并不简单。
而且,开发工作本身就是一个探索性的过程,很多情况下上述所有设计工作完成之后人们才发现,系统在吞吐量、延迟或面积等方面还需要进一步的优化,这就意味着软硬件区分硬件架构搭建驱动和应用软件开发整个流程要重新来过。
如此经过多次迭代,才能获得一个令人满意的设计方案。
而因此却可能造成开发周期的不可控,严重拖延TIme-To-Market。
这无疑是一个很大的挑战。
图1,传统的Zynq SoC开发流程
那么Zynq开发流程,有没有捷径可走呢?Xilinx给出的答案是:有!这个捷径就是SDSoC。
SDSoC是Xilinx推出的一个基于简便易用的Eclipse集成设计环境(IDE)的工具套件,它支持Zynq-7000全可编程SoC和Zynq UltraScale+ MPSoC,以及MicroBlaze处理器,可以为开发者提供类似嵌入式C/C++/OpenCL 应用的开发体验。
如果感觉上面的描述比较抽象,那就让我们来看看使用SDSoC对Zynq开发流程的影响和改变(如图2)。
应用SDSoC之后,工具可以自动搭建软硬件之间的通讯部分,包括DataMover、软件驱动程序和硬件连接接口,还可以将整个开发过程抽象到C/C++的应用层面,让开发者以C/C++为起点来进行算法开发。
在进行系统软件/硬件划分时,用户仅需在图形化界面中用鼠标单击指定那些需要进行硬件加速的模块即可。
而在将设计应用到Zynq系统上之后,如果发现性能不达标,可以使。