System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于QEMU与Systemc的TLM-RTL虚拟片上系统的实现方法技术方案_技高网

一种基于QEMU与Systemc的TLM-RTL虚拟片上系统的实现方法技术方案

技术编号:40752939 阅读:3 留言:0更新日期:2024-03-25 20:08
本发明专利技术提供一种基于QEMU与Systemc的TLM‑RTL虚拟片上系统的实现方法,包括在Systemc中完成对功能接口的功能封装;配置QEMU并将QEMU编译成动态库libqemu.so;使用Systemc开发时序级外设仿真组件;在主程序中动态加载动态库libqemu.so;在主程序中创建仿真组件并进行引脚绑定;在主程序中初始化QEMU的运行环境并且进入到QEMU运行环境中;在QEMU中执行CPU指令并根据指令的执行结果调用相关的功能接口;在系统同步接口systemc_sync中调用Systemc的仿真调度器函数并传入CPU指令的周期时长参数;进入到Systemc的运行环境;退出Systemc的运行环境并进入到QEMU的运行环境;实现TLM‑RTL虚拟片上系统的运行。本发明专利技术既能满足用户对虚拟片上系统外设周期精确的需求又能降低用户开发虚拟片上系统的开发难度和开发成本。

【技术实现步骤摘要】

本专利技术涉及虚拟仿真,具体涉及一种基于qemu与systemc的tlm-rtl虚拟片上系统的实现方法。


技术介绍

1、tlm(transaction level modeling)和rtl(register transfer level)是两种不同的硬件描述层次。tlm是一种高层次的建模方法,主要是基于事务传递的方式。在tlm层次上,系统中的模块通过交换事务(transaction)来进行通信和互操作。事务可以是读或写数据、发送或接收命令等。tlm建模具有可重用性、可测试性和可移植性等优点,使得设计人员可以更加关注整个系统级别的行为和性能,而不必过多关注低层次的细节。rtl则是一种底层的、基于寄存器转移的建模方式。在rtl层次上,设计人员需要详细描述每个寄存器和操作,以及它们之间的连线和控制逻辑。rtl建模具有精确度高、细节丰富的优点,可以支持非常准确的行为模拟和性能分析,但也需要投入大量的时间和工作量。tlm-rtl是把tlm和rtl结合起来的一种方法,它利用tlm的高层次特点来实现系统级别的建模和仿真,同时利用rtl的精确度和细节来进行局部的验证和调试。tlm-rtl方法可以提高建模效率和仿真速度,同时还可以保证设计的准确性和可靠性。

2、qemu是一款开源的虚拟机软件,全称是quick emulator。它可以模拟多种操作系统的硬件环境,使得这些操作系统可以在不同的平台上运行,例如在x86架构的计算机上模拟arm处理器的硬件环境,从而让arm操作系统可以在x86计算机上运行。qemu支持多种cpu体系结构,包括x86、arm、mips等,可以运行基于linux、windows、bsd等操作系统的程序。qemu采用编译技术(dynamic translation)来加速虚拟机的执行,在cpu架构相近的情况下,qemu能够很好地模拟客户机的操作。qemu的指令执行流程是一个复杂的过程,尤其在虚拟化的情况下,其性能和正确性也需要得到保证。因此,qemu在实现上采用了多种技术来平衡性能和正确性,包括解释、翻译、优化、调试和测试等方面的技术。qemu的指令执行流程通常分为三个阶段:解释、翻译和执行。解释阶段:qemu首先对客户机的指令进行解释,将其转换成一种中间表示形式(ir),该ir表示了这些指令在系统中的含义和操作。qemu使用基于语法分析和语义分析的技术来实现指令解释和ir生成。这个过程中还会执行一些基本的优化,例如常量折叠、代码简化等。翻译阶段:在翻译阶段,qemu将ir转换为宿主机器的机器码。这一步通常是利用动态二进制翻译(dynamic binary translation,dbt)来实现的。dbt通过将客户机指令序列分成基本块,然后对每个基本块进行翻译,最终形成目标机器的机器码指令序列。qemu使用了一些特定的翻译策略来提高性能,例如代码缓存、只翻译热点代码路径、单独处理异常等。执行阶段:在执行阶段,qemu执行已经被翻译成宿主机器码的指令序列,从而模拟客户机执行。它还需要处理一些边界条件和异常(如中断、系统调用等),这些都需要在宿主机器上调用相应的处理程序来模拟。

3、虽然qemu的优点众多,但是由于qemu组织架构过于庞大,设备众多,且都是事务级建模,建模所采用的语言是c语言,不具有硬件描述语言的特点,故qemu不具备rtl级别建模能力,无法满足用户对周期精确的需求。

4、systemc是一种用于开发硬件/软件系统级别的系统描述语言,其可以用于建立、模拟和验证复杂的硬件和片上系统。systemc最初由systemc技术小组开发,该小组成立于1996年,后来被美国电子工业协会(electronic industries alliance)承认为工业标准。systemc基于c++语言,支持面向对象编程,能够方便地进行代码重用和模块化设计。systemc提供了一些高级抽象层,例如通信通道、信号和事件等,使得设计变得更加简洁和易于理解,通过这些高级抽象层,使得硬件和软件不同级别的交互变得容易和灵活。systemc是一种单一、统一的设计和验证语言,systemc是基于c++的硬件描述语言。它支持系统级的设计和验证,独立于任何详细的硬件和软件实现,并支持与rtl设计的协同验证。systemc应用非常广泛,例如用于嵌入式系统开发、芯片设计、通信协议设计等领域。

5、虽然systemc是一种基于c++的硬件设计语言,本身具有诸多优点,比如可以进行事务级建模、rtl级建模。使用systemc设计的仿真模型基本可以满足各类用户的需求。但是对于某款指令集架构的建模来说,其庞大且又繁琐的建模工作量将导致对于指令集架构的建模极难完成。


技术实现思路

1、本专利技术的目的在于提供一种基于qemu与systemc的tlm-rtl虚拟片上系统的实现方法,既能满足用户对虚拟片上系统外设周期精确的需求又能降低用户开发虚拟片上系统的开发难度和开发成本。

2、本专利技术提供一种基于qemu与systemc的tlm-rtl虚拟片上系统的实现方法,该方法包括以下步骤:步骤s1,在qemu中导出多个功能接口;

3、步骤s2,在systemc中完成对所述功能接口的功能封装;

4、步骤s3,配置qemu并将qemu编译成动态库libqemu.so;

5、步骤s4,使用systemc开发时序级外设仿真组件;

6、步骤s5,在主程序中动态加载动态库libqemu.so;

7、步骤s6,在主程序中创建仿真组件并进行引脚绑定;

8、步骤s7,在主程序中初始化qemu的运行环境并且进入到qemu运行环境中;

9、步骤s8,在qemu中执行一条cpu指令并根据指令的执行结果调用相关的功能接口;

10、步骤s9,在系统同步接口systemc_sync中调用systemc的仿真调度器函数并传入cpu指令的周期时长参数;

11、步骤s10,进入到systemc的运行环境,systemc的仿真运行时常为传入的cpu指令的周期时长;

12、步骤s11,退出systemc的运行环境并且进入到qemu的运行环境;

13、步骤s12,返回执行步骤s8,即可实现基于qemu与systemc相结合的tlm-rtl虚拟片上系统。

14、根据本专利技术提供的一种基于qemu与systemc的tlm-rtl虚拟片上系统的实现方法,多个所述功能接口包括cpu配置接口cpu_config、片内总线访问接口memory_read_write、中断访问接口irq_set、systemc时钟同步接口systemc_sync。

15、根据本专利技术提供的一种基于qemu与systemc的tlm-rtl虚拟片上系统的实现方法,所述tlm-rtl虚拟片上系统包括:

16、主程序、qemu以及systemc,主程序用于初始化搭建qemu的运行环境和systemc的运行环境,并将程序的执行权交给本文档来自技高网...

【技术保护点】

1.一种基于QEMU与Systemc的TLM-RTL虚拟片上系统的实现方法,其特征在于,该方法包括以下步骤:

2.根据权利要求1所述的方法,其特征在于:

3.根据权利要求2所述的方法,其特征在于,所述TLM-RTL虚拟片上系统包括:

4.根据权利要求3所述的方法,其特征在于,所述在Systemc中完成对所述功能接口的功能封装,包括:

5.根据权利要求1所述的方法,其特征在于:

6.根据权利要求1所述的方法,其特征在于:

7.根据权利要求1所述的方法,其特征在于:

8.根据权利要求1至7任一项所述的方法,其特征在于:

9.根据权利要求8所述的方法,其特征在于:

【技术特征摘要】

1.一种基于qemu与systemc的tlm-rtl虚拟片上系统的实现方法,其特征在于,该方法包括以下步骤:

2.根据权利要求1所述的方法,其特征在于:

3.根据权利要求2所述的方法,其特征在于,所述tlm-rtl虚拟片上系统包括:

4.根据权利要求3所述的方法,其特征在于,所述在system...

【专利技术属性】
技术研发人员:宋春伟李超鹏陶永超
申请(专利权)人:深圳航天科技创新研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1