产品新知 您所在的位置:电子展览网 > 行业资讯 > 产品新知

基于混合建模的SoC软硬件协同验证平台研究




关键词:

  引 言

  伴随着微电子产业的发展和摩尔定律的不断应验,IC设计的规模越来越大,集成度也越来越高,已经足以将整个系统集成到一个芯片中,这种技术就是 SoC(System onChip,片上系统)技术。相对于PCB(Printed CircuitB0ard,印刷电路板)级的系统,SoC的优点是显而易见的。SoC意味着更好的电路时序和更高的可靠性,但同时SoC也意味着更复杂的逻辑。为了解决SoC的众多设计难题,SoC设计方法学中最显著的一个特征就是IP(Intellec-tual Property,知识产权)的复用技术;然而系统的复杂度决定了不可能简单地将各个IP模块集成起来就完成了SoC的设计,SoC验证成为了一个新的问题。
在验证问题成为SoC设计的新的挑战之后,人们逐渐提出各种应对方法。其中,SoC软硬件协同验证的思想,切实反应了SoC验证中的问题和解决方法,越来越多地受到关注。本文以SoC软硬件协同验证思想为基础,提出一种验证平台的实现;同时考虑到SoC的不同设计层次,建立起统一的高速的系统级验证环境,有效的缓解了SoC验证中的关键难题。

  1 SoC软硬件协同验证

  SoC设计中,系统的功能是需要SoC的软件硬件相互配合共同实现的,这就出现了软硬件接口的验证问题。在以往的系统设计流程中,由于软件的实际运行需要一个完整的可用的硬件平台,软件与硬件的接口的验证过程是在硬件全部开发完毕,至少获得了硬件原型之后。这样的开发流程最严重的问题就是,软硬件之间的接口可能出现设计上的错误。而要纠正这样的错误,要么修改软件来适应硬件(这一般都会导致系统整体性能的损失),要么修改硬件来适应软件(这又要导致硬件的设计、制造的更改,造成成本上升,设计周期延长)。无论哪一种方法都是设计者所不希望看到但是又不能保证避免的。所以,在SoC的设计方法学中,必须在软硬件的开发过程中,就完成硬件原型的建立,并开始软硬件的联合验证,即SoC软硬件协同验证。

  2 混合建模实现SoC软硬件协同验证

  本文在一般的SoC软硬件协同验证的基础上,提出混合建模方法(Co-Modeling),使用各种不同抽象层次的模型共同组成SoC硬件系统,直接为 SoC的软件提供可运行的载体,来实现SoC软硬件协同验证。不同抽象层次的模型包括事务级模型、功能性模型的高抽象层次的模型和RTL模型。

  2.1 验证平台架构说明

  如图1所示,整个验证平台的架构可以分为两个部分:软件建模部分,以PC机上软件的形式建模;硬件建模部分,以FPGA的形式建模。全部的硬件部分和除 “ARM软件集成开发环境”之外的软件部分都用来建模SOC硬件系统,SoC软件可以直接在这个SoC硬件系统模型上运行、调试,如图中“ARM软件集成开发环境”所示。验证平台建模的SoC硬件系统,是针对ARM架构的SoC,以AHB总线为基础。AHB总线上的各模块为建模的基本单元。

验证平台架构

  验证平台软件部分中最重要的模型是CPU的ISS(Instlruction Set Simulator,指令集仿真器),用来模拟SoC系统中的CPU,可以提供软件代码执行时周期准确的仿真结果。平台中使用的是ARM系列CPU的 ISS,称为ARMulator。ARMulator也是ARM CPU软件集成开发环境的直接载体,SoC的软件开发人员可以在基于AR-Mulator’的集成开发环境中运行、调试源代码,与其在真实的CPU上的运行调试完全相同。其他的总线模型,如图中所示的IP3、IP4,用来描述SoC硬件系统中除CPU之外的一些模块,最好都是SystemC语言描述的事务级模型。事务级模型是RTL级硬件模型的抽象,省略了RTL级的实现细节,但是仍然以周期数精确等方式反映了RTL级模型的特点,是设计初期系统建模的常用选择。不过考虑到验证环境的通用性,再加上ARMulator本身也并不是SystemC语言的模型,而是基于C的功能性模型,验证环境自然需要同时支持事务级模型与功能性模型,因此,验证平台也支持其他总线模块以C/C++等语言描述的功能级模型。这些模型与ARMulator都连接到AHB总线的模型上,如图1中IP3、IP4所示,AHB总线模型负责完成ARMulator。与软件方各总线模型间,以及与硬件方之间的连接。

  验证平台硬件部分的物理载体是以FPGA为主的PCB板卡,以PCI总线为物理通道连接到PC机。SoC硬件系统中RTL模型形式的总线模块全部下载到 FPGA内部,如图1中的IPl、IP2。由于FPGA内模块的RTL模型与CPU之间的总线通信数据可以在软件方得到良好的可观测性,对于以验证总线模块间通信正确性为目的的系统级验证来说,模块间通信数据的可观测性是足够的,这也就部分避免了硬件建模方法观测性不足的缺点。

分享到:
收藏 打印
相关新闻
  • 没有相关信息!