所以,我正在研究一个简单的寄存器,它需要一个同步输入,并且一旦输入被置位,就保持该状态,直到复位被使能。使用reg输出作为输入Verilog
我的代码应该很自我解释。这是否注册输出会导致任何问题?
module walk_reg(
input Walk_Sync, //pedestrian set walk-request
input WR_Reset, //FSM reset, for during the walk service
input clk, //clock
output reg WR //output
);
always @(posedge (clk))
begin
if(WR_Reset) //if reset enables, output goes to 0
WR <= 1'b0;
else if (WR) //if WR is already on, keep it on
WR <= WR;
else
WR <= Walk_Sync; //if reset is not enabled and WR isn't already one, assign output to Walk_Sync
end
endmodule // walk_reg
编辑变量的名称变更,忘了改它的代码
如果WR_Reset未同步到clk,则可能有问题。 – toolic
对不起,Walk_Sync和WR_Request是同一个变量,我已经重命名并忘记在代码中实际更改它。这现在已经修复。此外,WR_Reset将同步 – qasddd
然后我没有看到任何问题。 – toolic