基于ISS的软硬件协同验证环境:方法与应用

需积分: 10 4 下载量 96 浏览量 更新于2024-09-06 收藏 427KB PDF 举报
本文探讨了一种创新的软硬件协同验证方法,该方法是基于指令级仿真器(ISS)的。作者幸强来自江苏省南京市东南大学国家专业集成电路系统工程技术研究中心,他针对系统-on-a-chip (SOC) 设计提出了这种环境。在该环境中,硬件设计采用硬件描述语言(HDL),通过逻辑仿真器进行模型化,而软件则是用编程语言编写的,如C/C++等高级语言。指令集仿真器负责对软件进行仿真,而事件驱动逻辑仿真器则处理硬件仿真,两者通过独立的进程并行运行,通过进程间通信(IPC)机制实现数据和控制信息的交换。 协同验证是软硬件设计的关键环节,特别是在SOC技术日益复杂的背景下。它在硬件封装前验证系统的整体功能,类似于虚拟原型技术,通过软件模拟来评估硬件行为,这显著提高了软件调试的效率和软硬件整合的速度,从而缩短产品上市时间。这种方式使软件工程师能在设计初期发现问题,同时也为硬件设计提供了逼真的测试环境,提升验证的质量。 协同验证系统的核心组成部分包括硬件执行环境和软件执行环境,它们通过事件和命令驱动进行交互。软件执行环境生成总线周期序列,转化为信号事件或命令集,驱动硬件执行环境,然后获取硬件对这些事件的响应,这个响应再返回给软件环境,确保软硬件环境的一致性和同步性,防止因响应延迟导致的错误。 硬件建模方法多样,包括FPGA原型或模拟系统、HDL逻辑仿真器以及高级语言行为模型。软件执行则可能通过指令集仿真器在CPU上运行,或者通过编译并在实际硬件之外的宿主机上运行仿真程序。这种方法既灵活又实用,适用于不同阶段的SOC设计验证,体现了现代集成开发流程中的高效协作与优化。