所以,我正在研究一個簡單的寄存器,它需要一個同步輸入,並且一旦輸入被置位,就保持該狀態,直到復位被使能。使用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