首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个本地变量没有根据ChiselTest正确设置?

为什么这个本地变量没有根据ChiselTest正确设置?
EN

Stack Overflow用户
提问于 2022-06-03 16:04:53
回答 1查看 36关注 0票数 1

我是从蓝语来的,不了解这支的行为。我有一个简单的模块:

代码语言:javascript
复制
class WhyFails extends Module {
    val io = IO(new Bundle {
        val operation = Input(UInt(2.W))
        val result = Output(UInt(32.W))
        val invalidOperation = Output(Bool())
    })

    var invalidOperation = false.B
    when (io.operation === 0.U) {
        io.result := 99.U
        printf("WF: Valid operation\n")
    }
    .otherwise {
        io.result := 0.U
        invalidOperation = true.B
        printf("WF: Invalid operation\n")
    }

    io.invalidOperation := invalidOperation
}

我正在试图解释为什么我的测试人员表示在这个测试中断言了io.invalidOperation。

代码语言:javascript
复制
class WhyFailsTest extends AnyFlatSpec with ChiselScalatestTester {
    behavior of "WhyFails"

    it should "Not Fail?" in {
        test(new WhyFails) { wf =>
            wf.io.operation.poke(0.U)
            wf.clock.step() // Step so printf() produces output
            wf.io.invalidOperation.expect(false.B)
            wf.io.result.expect(99.U)
        }
    }
}

输出(注意表示有效操作的printf )

代码语言:javascript
复制
> test
WF: Valid operation
[info] WhyFailsTest:
[info] WhyFails
[info] - should Not Fail? *** FAILED ***
[info]   io_invalidOperation=true (1, 0x1) did not equal expected=false (0, 0x0) (lines in WhyFailsTest.scala: 11) (WhyFailsTest.scala:16)
...<snip>...
[info] *** 1 TEST FAILED ***
[error] Failed tests:
[error]         temp.WhyFailsTest
[error] (Test / test) sbt.TestsFailedException: Tests unsuccessful
[error] Total time: 2 s, completed Jun 3, 2022, 8:59:04 AM

如果我直接分配io.invalidOperation (而不是本地变量),一切都会正常工作。为什么本地变量的行为与直接分配给io.invalidOperation不同?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-05 06:36:35

如果要声明一条新线路,可以尝试以下操作:

代码语言:javascript
复制
val invalidOperation = Wire(Bool())
io.invalidOperation := invalidOperation
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72492315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档