[an error occurred while processing this directive]
|
CONSTANT cntmax = 250;
SUBDESIGN alarm2
(
clk, clear, inpt : INPUT;
alarm_led : OUTPUT;
)
variable
ss : dff;
counter[7..0] : dffe;
counter_ena : node;
counter_sclr : node;
BEGIN
ss.clk = clk;
ss.clrn = !clear;
ss.d = inpt;
counter_sclr = inpt XOR ss.q;
counter_ena = !(counter[].q==cntmax);
counter[].clk = clk;
counter[].clrn = !clear;
counter[].ena = counter_sclr or counter_ena;
if (inpt XOR ss.q) then counter[].d = gnd;
else counter[].d = counter[].q + 1;
end if;
alarm_led = !counter_ena;
END;
E-mail: info@telesys.ru