Код: Выделить всё
SUBDESIGN check
(
bit,CLK,IN[2..0]:INPUT;
OUT[8..0]:OUTPUT;
)
VARIABLE
f[8..0]:DFF;
begin
f[].clk=clk;
IF IN[]==3 THEN
f[].CLRN=GND;
ELSE
f[].d=(f[7..0].q,bit);
OUT[]=f[].q;
END IF;
end;Код: Выделить всё
SUBDESIGN check
(
bit,CLK,IN[2..0]:INPUT;
OUT[8..0]:OUTPUT;
)
VARIABLE
f[8..0]:DFF;
begin
f[].clk=clk;
IF IN[]==3 THEN
f[].CLRN=GND;
ELSE
f[].d=(f[7..0].q,bit);
OUT[]=f[].q;
END IF;
end;Код: Выделить всё
SUBDESIGN check
(
bit,CLK,IN[2..0]:INPUT;
OUT[8..0]:OUTPUT;
)
VARIABLE
f[8..0]:DFF;
f_reset : node;
begin
f[].clk = clk;
f[].CLRN = !f_reset;
IF IN[]==3 THEN
f_reset = VCC; -- в остальное время она 0
ELSE
f[].d=(f[7..0].q,bit);
OUT[]=f[].q;
END IF;
end;Код: Выделить всё
SUBDESIGN check
(
bit,CLK,IN[2..0]:INPUT;
OUT[8..0]:OUTPUT;
)
VARIABLE
f[8..0]:DFF;
begin
f[].clk=clk;
f[].CLRN = !(IN[]==3);
f[].d=(f[7..0].q,bit); -- асинхронный сброс имеет приоритет над этим
OUT[]=f[].q;
end;