信号に依存するカウンターを作成しようとしています。信号は 2 サイクルの間ハイになり、次の 2 サイクルの間ローになり、これが最後まで続きます。ハイパルスの間、カウントは 0、1 から開始する必要があります。パルスがロー カウントの場合、カウントは 'x であり、次のハイからは 2、3 から続き、再び 'x が 2 サイクル (パルスがハイの場合のみアップカウント)、次に再び 4、5 になります。私は Verilog を初めて使用します。割り当て。
次のコードを作成すると、常に 1 2 x 1 2 x のカウントが得られます。何か助けはありますか?
always@(posedge clk or posedge rst)
If(rst)
Count <= 0;
else
Count <= signal;
assign signal = pulse ? Count + 1: 'x;
代わりに 1 2 x x1 2 xx を取得しています。1 2 xx 3 4 xx 5 6 xx など。