Я пытаюсь сделать счетчик, который зависит от сигнала. Сигнал высокий для двух циклов и низкий для следующих двух, и это продолжается до конца. Во время высокого импульса отсчет должен начинаться с 0, 1. Когда пульс низкий, счет равен 'x, а со следующего максимума он продолжается от 2, 3, затем снова' x в течение двух циклов (повышается только при высоком импульсе), а затем снова 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 x x вместо. 1 2 x x 3 4 x x 5 6 x x и т. Д. Любая помощь приветствуется.