如何将数据分配给凿子中的寄存器?



我在加速器中初始化了两个寄存器,如

val one = RegInit(0.U(5.W))
val two = RegInit(0.U(5.W))

如果我在我的C测试代码中加载了一个数据到我的rs1(r型指令),我想将这个值分配给我自定义的寄存器'one'。我还想将注册' 1'和注册' 2 '中的值相乘,然后将结果返回给我的'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

请注意,由于寄存器是时钟的,连接的值会传播到下一个上升时钟沿的寄存器的值。

最新更新