私はシンクロナイズされた入力を受け取り、入力がアサートされるとリセットが有効になるまでその状態を保持する単純なレジスタを作成しています。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
EDIT変数の社名変更、コメントのために答えるが、あまりないコード
WR_Resetがclkと同期していないと問題が発生することがあります。 – toolic
申し訳ありませんが、Walk_SyncとWR_Requestは同じ変数ですが、名前を変更してコード内で実際に変更するのを忘れてしまいました。これは修正されました。また、WR_Resetは同期されます – qasddd
それから私は何の問題も見ません。 – toolic