module johnson_decode (q,decode); parameter Width = 16; input [Width-1:0] q; output [(Width*2)-1:0] decode; reg [(Width*2)-1:0] decode; integer i; always @(q) for (i=0;iWidth decode[i] = !q[Width-(i-Width)] && q[Width-(i-Width)-1]; endmodule