Me preguntaba si hay alguna diferencia entre (dos posibles implementaciones de un contador en verilog con una sentencia case...
module counter_4(
input clock;
output reg[3:0] count;
);
always @(posedge clock) begin
case(count)
0: count = 1;
1: count = 2;
2: count = 3;
3: count = 4;
4: count = 5;
5: count = 6;
6: count = 7;
7: count = 8;
8: count = 9;
9: count = 10;
10: count = 11;
11: count = 12;
12: count = 13;
13: count = 14;
14: count = 15;
15: count = 0;
endcase
end
endmodule
o con un incremento...
module counter_4(
input clock;
output reg[3:0] count;
);
always @(posedge clock) begin
count = count+1;
end
endmodule
Puede que ni siquiera sea código funcional, no tengo acceso a un compilador en este momento, pero espero que sea suficiente para transmitir la idea. ¿Por qué (aparte de la brevedad del código de incremento) usaría un método u otro?