论文部分内容阅读
随着集成电路设计技术和制造工艺的不断发展,片上系统的复杂度和规模也越来越大。传统的硬件与软件串行开发的方式已经难以满足上市时间的需求,虚拟平台为软硬件的协同开发提供了可行性方案,通过使用高抽象层次语言对硬件进行建模,不仅可以实现系统架构的探索等工作,而且可以利用该模型进行软件的开发,实现软件与硬件设计的并行开发,缩短了产品上市时间。虚拟平台主要关注系统的功能一致性,在行为一致性与速度方面与真实硬件还是有一定的差距。而FPGA在硬件仿真方面具有高效性和真实性,因此虚拟平台与FPGA单元的结合可以提供更加丰富的功能,具有重要研究意义。本文将模拟器QEMU和FPGA单元结合形成一个混合的虚拟平台,利用千兆以太网实现两者之间的高速通信。该平台的设计主要分为两个部分:模拟器QEMU作为虚拟平台的主体部分,可实现对CPU、总线、存储器以及各种外设的建模,设计了一个接口设备来代表FPGA单元,并利用Raw Socket来实现与FPGA的事务传输;FPGA端通过搭建SoPC来实现对目标IP核的控制与通信,硬件部分包括控制单元和用户自定义的逻辑单元,控制单元的软件环境实现了对以太网数据帧的收发、解析与处理过程。最后本文为该虚拟平台设计了一种配置机制,利用设备树来描述硬件并使用协程的机制来对其进行分析,完成对虚拟平台各个设备的初始化和配置过程。本文最后对该虚拟平台进行基本的功能验证和性能测试。使用设备树描述了一个完整的系统并能够成功启动,该系统以QEMU为主控部分,包括CPU、总线、内存、UART、中断控制器等设备的模拟,FPGA单元添加图像编解码器等用户逻辑作为目标IP核。结果表明,该虚拟系统正常运行,可实现对RTL描述的目标IP核实现基于系统的仿真,并且相比于软件仿真器,对于复杂的运算IP具有明显的仿真加速效果。