实现SOPC的嵌入式软硬件协同设计平台
摘要:对基于FPGA的SOPC软硬件协同设计方法进行了研究,在此基础上,详细设计了系统硬件平台,并对硬件平台的硬件系统进行了定制。本平台满足了从硬件系统定制,到操作系统配置均可以按照设计需求进行定制的特点。
关键词:SOPC;嵌入式系统;软硬件协同设计;FPGA
片上可编程系统(System On a Programmable Chip,SOPC)是Altera公司提出来的一种灵活、高效的SoC解决方案。SOPC是一种特殊的嵌入式系统:首先,它是系统芯片SoC,即由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁剪、可升级、可扩充,并具备软硬件在系统可编程的功能。它结合了SoC和FPGA的优点,具有以下基本特征:至少包含一个以上的嵌入式处理器IP(Intellectual Property,知识产权)核,具有小容量片内高速RAM资源,丰富的IP核资源可供灵活选择,有足够的片上可编程逻辑资源,处理器高速接口和FPGA编程接口共用或并存,可能包含部分可编程模拟电路,单芯片、低功耗。
本文主要研究的是应用嵌入式系统开发的软硬件协同设计方法来实现一个集软核处理器的嵌入式设计平台,在此基础上,如有必要还可集成嵌入式操作系统。
1 基于SOPC软硬件协同设计方法
SOPC设计技术实际上涵盖了嵌入式系统设计技术的全部内容,除了以处理器和实时多任务操作系统RTOS为中心的软件设计、以PCB和信号完整性分析为基础的高速电路设计技术以外,SOPC还涉及目前已经引起普遍关注的软硬件协同技术。
1.1 软硬件协同设计模型
目前的软硬件协同设计是指软硬件的设计同时进行,在系统的初期阶段两者就紧密相连。软硬件协同设计不仅是一种设计技术,同时也是一种新的设计方法和思想,它的核心问题是沟通软件设计和硬件设计,避免系统中关系密切的两部分设计过早独立。同传统设计方法相比,软硬件协同设计提高了设计抽象的层次,并拓展了设计的覆盖范围。采用软硬件协同设计技术可以使嵌入式系统设计更好和更快。
软硬件协同设计在其研究和生产实践过程中,提出了很多的设计模型。这些模型都是把系统功能转换成组织结构,将抽象的功能描述模型转换成组织结构模型。由于针对一个系统可以建立多种模型,因此应根据系统的仿真和先前的经验来选择模型。
软硬件协同设计流程从目标系统构思开始。对一个给定的目标系统,经过构思,完成该系统的规范描述,然后是模块的行为描述、对模块的有效性检查、软硬件划分、性能评估、硬件综合、软件编译、软硬件集成、软硬件协同仿真与验证等各个阶段。其中软硬件划分后产生硬件部分、软件部分和软硬件接口3个部分。硬件部分遵循软件描述、软件生成和参数化的步骤,生成软件模块,最后把生成的软硬件模块和软硬件接口集成,并进行软硬件协同仿真,以进行系统评估和设计验证。图1给出了一个软硬件协同设计流程。
图中对软硬件设计流程中每个子过程进行了简单的描述。确定说明文档之后,先建立高级算法模型,然后再考虑软硬件的划分,这样可以更好地分析算法的实现方法,比如是用硬件实现还是用软件实现等。
评论