[an error occurred while processing this directive]
|
Если кто подскажет, как оптимизировать, буду благодарен.
module temp (in, clk, clr, state);
input in, clk, clr;
output state;
reg state;
parameter ON = 0;
parameter OFF = 1;
reg [7:0] cnt;
reg in_old;
always @(posedge clr or posedge clk)
begin
if (clr)
begin
cnt = 0;
state = OFF;
in_old = in;
end
else
begin
case (state)
OFF:
if (in == !in_old)
begin
state = ON;
in_old = in;
end
ON:
if (in == !in_old)
begin
state = ON;
cnt = 0;
in_old = in;
end
else
begin
cnt = cnt + 1;
in_old = in;
if (cnt == 253)
begin
state = OFF;
cnt = 0;
end
end
endcase
end
end
endmodule
E-mail: info@telesys.ru