对于chisel2和chisel3之间的按位否定运算符,似乎存在错误或未记录的更改。
Chisel3代码无法正常工作
import chisel3._
class bitwise_neg extends Module {
val io = new Bundle {
val in = Input(UInt(4.W))
val out = Output(UInt(4.W))
}
io.out := ~io.in
}
为包含“〜”的行生成错误消息:
type mismatch; found : ()chisel3.core.Bits required: chisel3.core.Data
Chisel2工作代码
import Chisel._
class bitwise_neg extends Module {
val io = new Bundle {
val in = UInt(INPUT, 4)
val out = UInt(OUTPUT, 4)
}
io.out := ~io.in
}
有关新Chisel3语法的任何想法,或者这是一个错误吗?
答案 0 :(得分:0)
问题与~
无关,即使您删除了~
,也会收到同样的错误。正如jkoenig所说, chisel3要求你将io包裹包装在IO()中,如下所示:
class bitwise_neg extends Module {
val io = IO(new Bundle {
val in = Input(UInt(4.W))
val out = Output(UInt(4.W))
})
io.out := ~io.in
}
如果你想(但我不推荐)你可以使用chisel3中的兼容层和大写凿import import Chisel._
import Chisel._
class bitwise_neg extends Module {
val io = new Bundle {
val in = UInt(INPUT, 4.W)
val out = UInt(OUTPUT, 4.W)
}
io.out := io.in
}