如何将数据分配给凿子中的寄存器?
How to assign data to a register in chisel?
我在我的加速器中初始化了两个寄存器,比如
val one = RegInit(0.U(5.W))
val two = RegInit(0.U(5.W))
如果我在我的C测试代码中加载了一个数据到我的rs1(R型指令),我想把这个值赋给我自定义的寄存器'one'。我还想将寄存器 'one' 中的值与寄存器 'two' 相乘,然后将结果返回给我的 'rs1'。是否可以用凿子语言来完成这些操作?
您使用连接运算符 :=
将一个寄存器的输出连接到另一个寄存器的输入:
val rs1 = RegInit(0.U(5.W))
val one = RegInit(0.U(5.W))
val two = RegInit(0.U(5.W))
one := rs1
rs1 := one * two
请注意,由于寄存器是计时的,因此连接的值会在下一个时钟上升沿传播到寄存器的值。
我在我的加速器中初始化了两个寄存器,比如
val one = RegInit(0.U(5.W))
val two = RegInit(0.U(5.W))
如果我在我的C测试代码中加载了一个数据到我的rs1(R型指令),我想把这个值赋给我自定义的寄存器'one'。我还想将寄存器 'one' 中的值与寄存器 'two' 相乘,然后将结果返回给我的 'rs1'。是否可以用凿子语言来完成这些操作?
您使用连接运算符 :=
将一个寄存器的输出连接到另一个寄存器的输入:
val rs1 = RegInit(0.U(5.W))
val one = RegInit(0.U(5.W))
val two = RegInit(0.U(5.W))
one := rs1
rs1 := one * two
请注意,由于寄存器是计时的,因此连接的值会在下一个时钟上升沿传播到寄存器的值。