[an error occurred while processing this directive]
|
В первом примере счетчик разбит на два процесса, а во втором все объединено. В чем глубинный смысл разных описаний?
пример1:
module counter(clk, q);
parameter N = 5; // number of bits
parameter TCNT = 20; // desired terminal count
input clk;
output reg [N-1:0] q=0;
reg tc;
always @(posedge clk)
tc<= (q==TCNT-2);
always @(posedge clk)
if (tc) q <= 0;
else q <= q + 1;
endmodule
пример2:
module counter(clk, q);
parameter N = 5; // number of bits
parameter TCNT = 20; // desired terminal count
input clk;
output reg [N-1:0] q=0;
reg tc;
always @(posedge clk)
begin
tc<= (q==TCNT-2);
if (tc) q <= 0;
else q <= q + 1;
end
endmodule
E-mail: info@telesys.ru