一个典型的Zynq SoC开发流程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一个典型的Zynq SoC开发流程
之前我们已经向大家介绍了全可编程的Zynq SoC平台应用开发所需的一系列“神器”,如Vivado、Xilinx SDK、PetaLinux等。
那幺这是否意味着在Zynq开发的过程中就会是“一马平川”呢?
让我们先来看看一个典型的Zynq SoC开发流程(如图1):开发者首先需要对软硬件进行分区,即确定系统哪些部分放入PL(可编程逻辑)中进行硬件加速,哪些部分在PS(处理器系统)中用软件实现;接下来,要完成软/硬件之间的连接,包括使用怎样的DataMover、PS与PL之间的接口如何配置等;之后要完成配套的软件驱动和应用程序的开发。
整个流程通常需要一个完整团队的通力合作,并不简单。
而且,开发工作本身就是一个探索性的过程,很多情况下上述所有设计工作完成之后人们才发现,系统在吞吐量、延迟或面积等方面还需要进一步的优化,这就意味着“软硬件区分——硬件架构搭建——驱动和应用软件开发”整个流程要重新来过。
如此经过多次迭代,才能获得一个令人满意的设计方案。
而因此却可能造成开发周期的不可控,严重拖延Time-To-Market。
这无疑是一个很大的挑战。
图1,传统的Zynq SoC开发流程。