当前位置:无忧公文网 >范文大全 > 征文 > 基于ARM7TDMI的SoC芯片的原型验证

基于ARM7TDMI的SoC芯片的原型验证

时间:2022-03-24 09:14:46 浏览次数:

摘要:验证是SoC(系统芯片)设计的重要环节,FPGA原型验证平台能以实时的方式进行软硬件协同验证,缩短SoC的开发周期,验证系统级芯片软硬件设计的正确性,降低SoC系统的开发成本。本文介绍了基于ARM7TDMI处理器核的SoC芯片设计项目,提出相应的FPGA软硬件协同设计与验证的方案,并在此SoC芯片开发过程中得以实施,取得良好效果。

关键词:SoC FPGA 软硬件协同验证

中图分类号:TN492 文献标识码:A 文章编号:1007-9416(2013)12-0073-02

1 引言

现代集成电路设计中,验证作为SoC设计中的重要环节,所占的时间可以达到整个工期的50%—80%。对于传统的软件仿真,由于仿真软件速度和仿真模型的局限性,随着芯片规模与复杂度的增大,其验证效果并不理想。为了缩短设计周期,在软件仿真基础上,广泛应用基于FPGA的原型验证技术。FPGA原型验证本质上是使SoC设计中的模块硬件化,实现模块在硬件环境中的快速运行,通过更高的运行速度和实际物理运行环境,填补软件仿真与实际芯片的差距。总体上说,在传统软件仿真基础上,利用FPGA原型验证平台以实时的方式进行软硬件协同验证,从而发现系统集成开发中的问题,从而缩短SoC开发周期,加快开发速度;同时为了验证的充分性与可靠性,需要软件仿真和FPGA原型验证的协调进行。

本文的工作基于ARM7处理器核的SoC芯片的软硬件协同设计和验证项目,此SoC芯片内嵌低功耗、高性能的ARM7TDMI微处理器核,采用ARM公司的AMBA(Advanced Microcontroller Bus Architecture)总线架构,具有丰富的片上资源,是一款通用化、小型化的通信处理芯片。

2 SoC系统架构

本文所验证的芯片是一款以ARM7TDMI核为处理器的高性能32位通信处理芯片。图1为设计的SoC的系统架构。

系统架构的片上总线采用ARM公司的AMBA(Advanced Microcontroller Bus Architecture)总线。总线是一种共享资源,在同一时刻,只能有一个模块驱动总线,这样才不会发生冲突。高速AHB总线连接ARM处理器、DMA、存储器控制器、AHB-APB桥、Arbiter等高速模块;而APB总线连接了一些低速、对性能要求不高的外围电路模块,例如UART、SPI、I2C、GPIO、RTC、中断控制器、看门狗等模块。

3 SoC系统集成与验证

3.1 SoC验证流程

在整个SoC芯片设计流程中,可靠的SoC验证方案对于整个项目的完成至关重要。本SoC系统主要采用软硬件协同验证,可以分为以下几个阶段的工作

第一阶段:系统集成前IP/模块级验证。这一阶段主要是对IP核进行验证,使用Verilog HDL语言,开发testbench和testcase给IP核施加激励观察响应来进行。

第二阶段:系统集成后IP/模块级验证。这一阶段主要是验证IP核在整个系统中的功能的正确性。把IP核集成到ARM core与AMBA总线的架构中,需要注意不同IP之间的交互与总线竞争。验证过程中测试输入需要通过处理器执行开发的软件测试程序,测试输出结果需要处理器输出到特定的接口模块,从而得到验证结果信息。

第三阶段:系统集成后系统级验证。这一阶段主要通过小系统的运行来验证SoC的系统级特性。如系统各模块间的相互操作、数据相互流通的功能验证。集合所有IP协同验证,更接近于流片前的最真实的情况,与设计的实际芯片功能最相符。

3.2 验证平台搭建

系统集成后,验证方法是软硬件的协同仿真和验证。

首先是系统集成后的仿真验证环境的搭建。仿真虚拟验证环境实质是一个虚拟的硬件原型,通过实现模拟SoC内部工作过程来完成验证工作。在仿真验证平台中,要开发各种验证组件,与SoC系统RTL代码集成在一起,用来产生模拟现实中的激励;同时编写测试软件程序,通过编译器转化为处理器能够执行的二进制文件。软件开发人员可以基于平台进行测试软件开发,包括各个模块的功能测试程序、系统各模块之间相互操作的功能测试程序。

然后是在硬件环境下的FPGA验证平台的建立,主要验证芯片在实际硬件环境中的工作情况,IP级和系统仿真验证都需要在FPGA平台上进行重验证,以保证最接近真实性。FPGA验证板上集成FPGA芯片和测试用的接口、存储器等器件单元,并提供供电电路、时钟电路、复位电路、JTAG下载电路等。FPGA原型验证是将SoC系统集成的逻辑综合后下载到FPGA芯片中,并事先将测试软件程序烧入存储器中,系统复位后,处理器从存储器中取指令执行,实现与SoC芯片实际工作过程相同的结果。

3.3 FPGA软硬件协同验证

本文中FPGA原型验证平台使用的是自主开发的SOC验证板。(图2)为FPGA原型验证环境。

在FPGA原型验证过程中采用ARM公司的ADS_AXD作为软件调试器,并选用Multi-ICE作为仿真器,UART作为调试接口在终端PC显示调试结果。

软硬件协同验证过程分成以下几个步骤:(1)在ADS_AXD编译环境中完成启动代码、测试软件程序以及应用程序的开发;(2)使用工具将集成的RTL代码综合后下载到FPGA中;(3)通过Multi-ICE仿真器以实时的方式进行软硬件协同验证。调试过程中,通过编写并烧写测试程序,实现软件的单步操作、中断、设置断点、观察寄存器及其值等功能;(4)通过串口调试助手在PC端打印程序运行信息,完成各个模块的验证。注意串口的调试要首先完成并验证充分,以保证后续验证过程中调试结果信息的准确性与可靠性。

4 结语

本文以一个基于ARM7内核的SoC芯片的开发与验证项目为基础,介绍了在SoC芯片的开发中的软硬件协同设计与验证过程。搭建虚拟仿真验证平台和FPGA原型验证平台,通过软硬件协同验证发现硬件设计中的缺陷和错误,并尽早开始软件的开发与调试,实现软硬件的并行开发,减少后期软硬件整合问题,缩短整个SoC的设计周期,提高了一次投产成功率。

参考文献

[1]Prakash Rashinkar(美)等著,孙海平、丁健译.系统芯片(SoC)验证方法与技术[M].北京:电子工业出版社,2005.

[2]王立华.基于FPGA的片上系统(SoC)原型验证的研究与实现[D].山东:山东大学,2006.

推荐访问: 原型 芯片 验证 ARM7TDMI SoC