Gem5 学习笔记(二)
写在前面: 学习基于官方教程 https://www.gem5.org/documentation/learning_gem5/。每篇笔记我会给出学习时间和Gem5版本号。由于Gem5更新迭代较快,版本相差较大建议主要参考官方教程。但是官方教程里面有错,出问题了记得回来查一下。
Gem5 版本:21.0.0.0
时间:2021年5月29日
学习科目:Creating a simple configuration script
Notes:
之前用scons编译出来的是Gem5 binary,可直接执行,需要传进一个配置文件。该配置文件是用Python写的,本次就是要完成一个最简单的Demo。
Gem5有很多示例的配置文件放在configs/examples里面
Gem5的大多数module都继承自SimObject类。据stackoverflow上找到的资料称,我们使用的m5库位于<gem5 Root>/src/python/m5,但我在里面并没有找到那些子类的定义(如System),故存疑。
Codes: 注释中有部分解释,建议到官方教程查看详尽说明
# import m5 library and all SimObjects
import m5
from m5.objects import *
# create the system we are going to simulate
system = System()
# set the clock
system.clk_domain = SrcClockDomain()
system.clk_domain.clock = "1GHz"