APP下载

基于EDK的SOPC开发技术研究

2010-09-07防空兵指挥学院张春生

河南科技 2010年21期
关键词:设计者器件调试

防空兵指挥学院 张春生

基于EDK的SOPC开发技术研究

防空兵指挥学院 张春生

一、SOPC简介

近年来,随着微电子工业的不断发展,作为可编程逻辑器件之一的FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)得到了越来越广泛的应用,其设计性能及性价比已完全能够与ASIC抗衡。SOPC(System On a Programmable Chip,片上可编程系统)技术正是在可编程逻辑器件的基础上发展起来的一种灵活、高效的嵌入式系统解决方案。它将处理器、存储器、I/O口、LVDS和UART等系统设计所需要的部件集成到一片FPGA器件上,各个部件一般都以IP核的形式构建成一个可编程的片上系统,它所具有的灵活性、低成本等特点使系统设计者获益匪浅。

二、SOPC关键技术

SOPC的主要设计技术可简单地归纳为两点:软硬件协同设计技术和IP核资源复用技术。

1.软硬件协同设计。开发一个电子系统,传统的做法是由项目总工程师根据自己的知识和经验,对系统进行软硬件的划分,然后交由软件和硬件两个独立的设计组,各自进行软件和硬件的开发,开发完成后再进行联合调试,在调试时如果发现有错则要对硬件或软件进行修改或重新设计,这个过程要不断反复的进行,直到调试成功为止,其结果会导致开发周期变长、设计成本剧增。

在软硬件协同设计中,并行性是软硬件协同设计思想的核心,软件和硬件设计组不再是两个独立的设计单元,而是在设计之初便交织在一起,相互提供设计平台并相互作用。并行的设计思想始终贯穿于整个设计之中。采用软硬件协同设计的好处是可以使软件设计者在硬件开发之初就接触到硬件,从而能更好地设计硬件驱动、应用程序和操作系统等软件,同时也可使硬件设计者尽早地接触软件并了解软件的结构,从而为软件设计者提供高性能的硬件平台,减少了设计中的盲目性,缩短了设计的迭代周期。

2.IP核资源复用。IP核是SOPC设计的基础,也是SOPC设计成败的关键,为了能够最大程度地减小设计中的重复劳动,保证SOPC开发的成功,我们必须采用前人成功的设计经验和设计资料即复用IP资源进行开发。IP资源复用包含两个方面的内容:一是可重用IP核的开发;二是可重用IP核的集成。一个真正能重用的IP核一般具有一以下一些特点:具有可配置性,能够满足不同的设计需求;具有标准的接口;遵守某种设计规则,能确保IP时序收敛;交付的数据和资料完整,方便芯片集成。

三、基于EDK的SOPC开发技术

进行SOPC系统开发,首先是要选择的是FPGA平台、处理器方案以及开发软件,目前经常采用的是由世界上两大主要的FPGA器件生产厂商所提供的平台:一是Altera公司的FPGA产品,采用Nios处理器软核或硬核ARM,开发工具为QuartusⅡ和SOPC Builder;二是采用Xilinx公司的FPGA,基于Microblaze软核或Powerpc405硬核,开发工具由ISE和EDK组成。下面就以Xilinx公司的软件EDK为例介绍SOPC系统的开发过程。

1.EDK简介。EDK是Xilinx公司于2003年推出的一个SOPC系统开发套件,现已进行了多次升级。该套件集成了丰富的开发工具和大量的IP核资源,其中集成的工具包括硬件平台生成器(PlatGen)、硬件仿真模型生成器(SimGen)、硬件调试工具(XMD)、软件库生成器(LibGen)、应用软件编译工具(GNU Compilers)、软件调试工具(GNU Debuggers)等。IP核资源包括LMB、OPB总线接口、外部存储器控制器(EMC)、SDRAM控制器、UART接口、中断控制器和定时器等。所有这些工具和资源由EDK中的一个叫平台工作室XPS(Xilinx Platform Studio)的集成开发环境统一管理,XPS提供一个友好的图形用户界面(GUI),使用非常方便。EDK可以说是目前性价比较优异的SOPC开发套件。

2.基本流程。使用EDK进行SOPC系统开发的基本流程如下。

(1)系统硬件平台的创建。系统硬件平台由处理器硬件描述文件MHS(Microprocessor Hardware Specification)定义,MHS文件描述了硬件系统的结构,如处理器类型、总线结构、外设接口、中断处理和地址映射等,MHS文件为文本文件,可以用任何文本编辑器创建,是文本化的原理图输入。系统的各组成模块必须在BEGIN和END之间定义,其语法格式如下所示:

BEGIN instance_name

PARAMETER name=value

PORT name=value

END

在XPS开发环境中,设计者可以在集成的文本编辑器中自己编写MHS文件来创建一个硬件平台,也可以利用BSB(Base System Builder)向导来创建一个基本的硬件系统,在BSB向导的图形界面下,设计者可以很方便挑选系统的组成模块,但存在不足是:不允许设计者指定或修改地址映射;不会去检查目标器件上的硬件资源是否足够且生成的只是一个具有基本功能硬件系统,不一定能满足时序的要求。这些不足必须在XPS环境下通过手工修改以满足系统要求。在系统硬件描述文件编写完成后,调用硬件平台生成器(PlatGen),就可以完成系统硬件平台的创建,PlatGen将输出网表文件(EDIF或NGC)、硬件描述语言描述的系统文件、存储器映射文件(BMM)等内容,其过程如图1所示。

(2)系统硬件平台的仿真验证。系统的硬件平台的仿真验证由处理器验证描述文件MVS(Microprocessor Verification Specification)定义,它用于说明当前处理器平台的硬件仿真模型、使用的仿真工具和仿真语言。通过调用硬件仿真模型生成器(SimGen)来生成仿真文件,如图2所示。EDK只支持功能仿真和时序仿真,其中功能仿真又包括行为仿真和结构仿真。

系统软件平台的创建。系统软件平台由处理器软件描述文件MSS(Microprocessor Software Specification)定义,MSS文件用于描述系统硬件处理器平台的软件结构,定义系统驱动、软件库及文件系统,跟MHS文件一样,它也是个文本文件,可用任何一个文本编辑器来创建,其语法格式如下:

BEGIN{driver |processor |filesys}

PARAMETER name= value

END

MSS文件可以在XPS环境下编写,同时BSB向导在生成硬件系统时也生成一个相应的MSS文件。MSS文件编写完成后,通过调用软件库生成器(LibGen)便可完成软件平台的创建,LibGen输出设备驱动程序、函数库和中断句柄等工作。

(3)系统应用软件的开发与调试。程序编写完成后通过调用应用软件编译工具GNU进行编译链接生成用户可执行文件(*.elf)。程序编译完成后,将系统的硬件和软件下载到目标器件中,通过硬件调试工具XMD和GDB进行软硬件的在线调试。

book=362,ebook=362

猜你喜欢

设计者器件调试
2020德国iF设计奖
2019德国IF设计大奖
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
无线通信中频线路窄带临界调试法及其应用
调压柜的调试与试运行探讨
旋涂-蒸镀工艺制备红光量子点器件
杨敬:深水区医改设计者
深水区医改设计者
面向高速应用的GaN基HEMT器件