risc-v中文社区

 找回密码
 立即注册
查看: 983|回复: 0

[原创] chisel调试代码执行及显示顺序

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-9-1 17:14:34 | 显示全部楼层 |阅读模式
主要实验源代码:
class TestParamAdderModuleTests(m:TestParamAdderModule) extends PeekPokeTester(m) {
  poke(m.io.a8,1)
  poke(m.io.b8,2)
  poke(m.io.a16,11)
  poke(m.io.b16,22)
  step(1)
  expect(m.io.out8,3)  //正确值
  expect(m.io.out16,33)  //正确值
//  expect(m.io.o,m.io.b8) //java.util.NoSuchElementException: None.get
  expect(m.io.o,4) //不正确的值
  expect(m.io.o,44) //不正确的值
}
object test {
  def main(args: Array[String]): Unit = {
    //https://github.com/U201114010/chisel3
    chisel3.iotesters.Driver(()=>new TestParamAdderModule)(t=>new TestParamAdderModuleTests(t))
  }
}

当启动一次debug时:
[info] [0.006] Elaborating design...
false
Bool(OpResult in TestParamAdderModule)
[info] [1.694] Done elaborating.
Total FIRRTL Compile Time: 711.5 ms
Total FIRRTL Compile Time: 67.4 ms
End of dependency graph
Circuit state created

然后代码中的对应各种构造器代码及相对应的各种被调用函数等都会被执行一次,
class TestParamAdderModuleTests(m:TestParamAdderModule) extends PeekPokeTester(m) {
。。。各种测试逻辑代码比如poke,expect都会被扫描一次,但step不会被扫描
        expect(m.io.o,4) 此句代码是我特意使之出现错误,原因正确值是2而不是4
       expect(m.io.o,44)
}
TestParamAdderModuleTests的构造器代码被扫描一遍之后,控制台在Circuit state created下面再显示:
[info] [0.001] SEED 1630484099915
然后调试正式进入class TestParamAdderModuleTests中的第一句代码处开始执行(如果在此句打断点将会停在此句)
注意:此次里面的step代码将会被执行
当执行expect(m.io.o,4)和expect(m.io.o,44)之后,显示下面FAIL测试信息:
[info] [388.477] EXPECT AT 1   io_o got 2 expected 4 FAIL
[info] [388.477] EXPECT AT 1   io_o got 2 expected 44 FAIL
当执行完main中的:chisel3.iotesters.Driver(()=>new TestParamAdderModule)(t=>new TestParamAdderModuleTests(t))
显示:
test TestParamAdderModule Success: 2 tests passed in 6 cycles taking 594.702503 seconds
[info] [528.591] RAN 1 CYCLES FAILED FIRST AT CYCLE 1

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-29 15:01 , Processed in 0.015403 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表