1

io.myoutput = UInt(width = 840) である io ポートがある場合

次に、val a = vec.fill(140){UInt(width = 6)} があります

vec 全体を出力ポートに割り当てるにはどうすればよいですか? forループを試しました

for (i = 0 until 140){ 
io.myoutput(i*6+5,i*6) := a(i)}

しかし、それは私に与えます

finished inference (1)
start width checking
finished width checking
started flattenning
finished flattening (2)
Lbi.scala:37: error: reassignment to Node in class TutorialExamples.Lbi
Lbi.scala:37: error: reassignment to Node in class TutorialExamples.Lbi
Lbi.scala:37: error: reassignment to Node in class TutorialExamples.Lbi

ありがとう

4

1 に答える 1

1
val x = Vec.fill(140){UInt(1, width=6)}
io.myoutput := x.toBits

「toBits」メソッドはあなたが望むものです。Vec を生のビットにフラット化します。

エラーメッセージの原因は正確にはわかりませんが、一般に、チゼルのワイヤの特定のビットに実際に再割り当てすることはできません。

val y = Bits(0,width=32)
y(1) := UInt(0)
y(3) := UInt(3)
etc.

それはエラーをスローします。

于 2013-10-15T09:00:05.667 に答える