Санкт-Петербург
2022
Цель работы:
Изучение
методов создания и использования модулей
цифровых устройств.
Создадим
проект
Код
программы:
INCLUDE
"lpm_ff";
SUBDESIGN
Z0411
(
takt,
d[3..0], ena : INPUT;
out[3..0]
: OUTPUT;
)
BEGIN
out[]=lpm_ff(d[],takt,ena,,,,,,)
with (lpm_width=4, lpm_fftype="dff");
END;
Листинг
второй программы:
SUBDESIGN
Z0411
(
clock,
load, ena, clr, d[3..0] : INPUT;
q[3..0],
cout : OUTPUT;
)
VARIABLE
count[3..0]
: DFF;
BEGIN
count[
].clk = clock;
count[
].clrn = !clr;
IF
load THEN
count[
].d = d[ ];
ELSIF
ena THEN
count[
].d = count[ ].q + 1;
ELSE
count[
].d = count[ ].q;
END
IF;
q[
] = count[ ].q;
cout
= !(q0 & q1 & q2 & q3);
END;
INCLUDE
"Z0411";
SUBDESIGN
Z0411
(
takt,
zagr, cont, sbr, dv[7..0] : INPUT;
qw[7..0]
: OUTPUT;
)
VARIABLE
counter1
: Z0411;
counter2
: Z0411;
a
: node;
BEGIN
counter1.(clock,
load, ena, clr, d[3..0])=(takt, zagr, cont, sbr, dv[3..0]);
counter2.(clock,
load, ena, clr, d[3..0])=(a, zagr, cont, sbr, dv[7..4]); qw[7..4] =
counter2.q[3..0]; q
w[3..0]
= counter1.q[3..0];
a
= counter1.cout;
END;
Вывод:
Мы
познакомились с особенностями
использования модулей и цифровых
автоматов и устройств на их основе в
Quartus II в процессе синтеза цифровых
устройств на программируемых логических
интегральных схемах (ПЛИС).