SoC(System on Chip,片上系统)技术是将整个电子系统集成到一个单独的芯片上,这一技术随着微电子产业的飞速发展和摩尔定律的不断验证而变得日益重要。SoC技术让电路时序更加精确,可靠性更高,但同时它也带来了设计上的复杂性。解决SoC设计难题的关键在于IP复用技术。然而,即便是利用了IP复用,将多个IP模块集成起来并不意味着SoC设计的完成。SoC设计的核心挑战之一在于验证问题,特别是软硬件之间的协同验证。 SoC软硬件协同验证是确保SoC设计成功的关键步骤。在传统的设计流程中,软件通常是在硬件开发完毕后才开始验证的,这很容易导致软硬件接口设计上的错误,进而导致系统性能损失或者成本上升、设计周期延长。为了应对这一问题,SoC设计必须从一开始就建立硬件原型,并开始软硬件的联合验证,即SoC软硬件协同验证。这一验证方法可以在设计的早期阶段发现问题,并且有助于确保软硬件之间的接口在实际的运行环境中能够无缝对接。 为了实现SoC软硬件协同验证,本文提出了基于混合建模(CoModeling)方法的验证平台。混合建模方法结合了不同的抽象层次模型,包括事务级模型、功能性模型的高抽象层次模型和RTL(Register Transfer Level)模型。这种混合模型方法可以为SoC硬件提供一个可运行的模型,进而支持软硬件的协同验证。 混合建模验证平台的架构可以分为软件建模部分和硬件建模部分。软件建模部分以PC机上的软件形式建模,而硬件建模部分则以FPGA(Field-Programmable Gate Array)的形式建模。FPGA具备在硬件设计完成后能够重新编程的特点,这种灵活性使得FPGA在构建硬件模型时特别有效。整个SoC硬件系统是基于ARM架构设计的,并以AHB(Advanced High-performance Bus)总线为基础。 在混合建模验证平台中,CPU的ISS模型特别重要,它用于模拟SoC系统中的CPU,并提供软件代码执行时周期准确的仿真结果。本文采用了ARMulator,即ARM系列CPU的ISS模型,它允许SoC软件开发人员在集成开发环境中运行和调试源代码,就像在真实CPU上一样。 除了CPU ISS模型之外,验证平台还包括了其他总线模型,比如IP3和IP4,这些模型最好用SystemC语言描述的事务级模型。事务级模型提供了RTL硬件模型的抽象,省略了实现细节,但仍然保持了RTL级模型的特性。这些模型与ISS模型一起被连接到AHB总线模型上,实现了软硬件之间的交互。 验证平台的硬件部分主要由FPGA和PCB板卡组成,这些硬件通过PCI(Peripheral Component Interconnect)总线与PC机连接。SoC硬件系统中的RTL模型形式的总线模块被下载到FPGA内部,构成了整个系统级验证环境的基础。 混合建模验证平台的建立有效地缓解了SoC验证中的关键难题。这种方法不仅提高了验证的效率,而且降低了设计成本和缩短了设计周期。更重要的是,通过在设计过程中早期就引入软硬件协同验证,设计者能够在设计流程中及时发现和解决问题,确保最终的产品能够满足设计规格和性能要求。
- 粉丝: 7
- 资源: 907
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助