论文移植

代码移植问题

  1. 将1.9.1的chipyard版本移植到1.17.1的firesim
  2. 直接使用1.17.1版本的chipyard
  3. 是否可以得到老师代码修改记录,这样可以最小限度移植
  4. 是将MEEK代码直接复制到chipyard,还是只将修改部分的代码复制到chipyard

修改1

修改rocket chip 的main/scala的packge.scala

1
2
3
4
5
package freechips

package object rocketchip {
val config = org.chipsalliance.cde.config
}

修改2

value io is not a member of freechips.rocketchip.diplomacy.LazyModuleImp

1
2
3
4
lazy val module = new LazyModuleImp(this) {
val io = IO(new Bundle {
val finished = Bool(OUTPUT)
})

改为

1
2
3
4
5
lazy val module = new Impl
class Impl extends LazyModuleImp(this) {
val io = IO(new Bundle {
val finished = Bool(OUTPUT)
})

gem5部分

编写了se跑spec2006的脚本,目前需要给输入参数加入绝对路径

明天会编写fs跑spec2006的脚本,主要实现思路就是设置一个checkpoint,然后将所有benchmark打包进去,每次运行完一个benchmark就会poweoff,然后运行下一个(不知道是否可以并行)