7.3.4 Програми реалізації лічильників в інтегрованому середовищі MAX+PLUS II
Програма для реалізації 4-розрядного асинхронного лічильника з крізним переносом за модулем 16 за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:
title "counter1";
parameters
(WIDTH = 4); - встановлення розрядності лічильника
assert (WIDTH > 0) - перевірка розрядності лічильника
report "Value of WIDTH parameter must be greater then %" WIDTH
severity error;
subdesign counter1
(
CLK : input; - імпульси синхронізації (CLK) лічильника
RESET : input; - імпульси зкидання (CLRN) тригерів лічильника
SET : input; - імпульси предвстановлеення (PRN) тригерів лічильника
O [WIDTH..1] : output; - вихід лічильника
)
variable
TRIGGER [WIDTH..1] : JKFF;
begin
TRIGGER [WIDTH..1].j = vcc;
TRIGGER [WIDTH..1].k = vcc;
TRIGGER [WIDTH..1].clrn = !RESET;
TRIGGER [WIDTH..1].prn = !SET;
TRIGGER [WIDTH].clk = !CLK;
TRIGGER [WIDTH-1..1].clk = !TRIGGER [WIDTH..2].q;
O [WIDTH..1] = TRIGGER [1..WIDTH].q;
end;
Програма для реалізації асинхронного лічильника за модулем 10 за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:
title "counter2";
parameters
(WIDTH = 4); - встановлення розрядності лічильника
assert (WIDTH > 0) - перевірка розрядності лічильника
report "Value of WIDTH parameter must be greater then %" WIDTH
severity error;
subdesign counter2
(
CLK : input; - імпульси синхронізації (CLK) лічильника
SET : input; - імпульси предвстановлення (PRN) тригерів лічильника
O [WIDTH..1] : output; - вихід лічильника
)
variable
TRIGGER [WIDTH..1] : JKFF;
begin
TRIGGER [WIDTH..1].j = vcc;
TRIGGER [WIDTH..1].k = vcc;
TRIGGER [WIDTH..1].prn = !SET;
TRIGGER [WIDTH].clk = !CLK;
TRIGGER [WIDTH-1..1].clk = !TRIGGER [WIDTH..2].q;
TRIGGER [WIDTH..1].clrn = (TRIGGER [3].q !& TRIGGER [1].q);
O [WIDTH..1] = TRIGGER [1..WIDTH].q;
end;
Програма для реалізації 3-розрядного лічильника віднімання за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:
title "counter3";
parameters
(WIDTH = 3); - встановлення розрядності лічильника
assert (WIDTH > 0) - перевірка розрядності лічильника
report "Value of WIDTH parameter must be greater then %" WIDTH
severity Error;
subdesign counter3
(
CLK : input; - імпульси синхронізації (CLK) лічильника
RESET : input; - імпульси зкидання (CLRN) тригерів лічильника
SET : input; - імпульси предвстановлення (PRN) тригерів лічильника
O[WIDTH..1] : output; - вихід лічильника
)
variable
TRIGGER[WIDTH..1] : JKFF;
begin
TRIGGER [WIDTH..1].j = vcc;
TRIGGER [WIDTH..1].k = vcc;
TRIGGER [WIDTH..1].clrn = !RESET;
TRIGGER [WIDTH..1].prn = !SET;
TRIGGER [WIDTH..1].clk = (CLK, !TRIGGER [WIDTH..2].q);
O [WIDTH..1] = !TRIGGER [1..WIDTH].q;
end;
Програма для реалізації 3-розрядного універсального лічильника за допомогою мови AHDL в інтегрованому середовищі MAX+PLUS II має наступний вигляд:
title "counter4";
parameters
(WIDTH = 3); - встановлення розрядності лічильника
assert (WIDTH > 0) - перевірка розрядності лічильника
report "Value of WIDTH parameter must be greater then %" WIDTH
severity Error;
subdesign counter4
(
CLK : input; - імпульси синхронізації (CLK) лічильника
SET : input; - імпульси предвстановлення (PRN) тригерів лічильника
RESET : input; - імпульси зкидання (CLRN) тригерів лічильника
FWC : input;
BWC : input;
O[WIDTH..1] : output; - вихід лічильника
)
variable
TRIGGER[WIDTH..1] : JKFF;
begin
TRIGGER[].j = vcc;
TRIGGER[].k = vcc;
TRIGGER[].prn = !SET;
TRIGGER[].clrn = !RESET;
TRIGGER[WIDTH].clk = !CLK;
TRIGGER[WIDTH-1..1].clk = !((TRIGGER[WIDTH..2].q & !FWC) & !(!TRIGGER[WIDTH..2].q & !BWC));
O[WIDTH..1] = TRIGGER[1..WIDTH].q;
end;
- Примітка:
- Значення входів, що відповідают вставленню відліку лічильника в
- зростаючому напрямку:
- FWC = 1;
- BWC = 0.
- Значення входів, що відповідают вставленню відліку лічильника в
- спадаючому напрямку:
- FWC = 0;
- BWC = 1.
7.3.5 Результати програмної реалізації лічильників
На рис. 7.3.5 зображено вікно сигнального редактору проекту “counter1”.
Рис 7.3.5. Результати тестування 4-розрядного асинхронного лічильника з крізним переносом за модулем 16
На рис. 7.3.6 зображено вікно сигнального редактору проекту “counter2”.
Рис 7.3.6. Результати тестування асинхронного лічильника за модулем 10
На рис. 7.3.7 зображено вікно сигнального редактору проекту “counter3”.
Рис 7.3.7. Результати тестування 3-розрядного синхронного лічильника
На рис. 7.3.8 зображено вікно сигнального редактору проекту “counter4”.
Рис 7.3.8. Результати тестування 3-розрядного універсального лічильника
... цих проектів, їх компіляції, комп’ютерного моделювання, загрузки проекту на кристал ПЛІС. Програмні продукти фірм Xilinx та Altera на сьогоднішній день є найбільш поширеними САПР для проектування цифрових пристроїв на ПЛІС. Серед програмних продуктів Xіlіnx є як відносно прості вільно розповсюджувані системи, так і потужні інтегровані пакети, що дозволяють розробляти ПЛІС еквівалентної ємності бі ...
... КП, відповідно; X Offset, Y Offset – зсув точки підключення траси відносно геометричного центру КП по осях X і Y, відповідно. Таблиця апертур (Apertures) містить опис використовуваних апертур. Таблиця Layers містить список шарів, використовуваних OrCAD Layout. Шари можуть бути наступних типів: Routing – шар трасування; Plane – шар металізації; Drill – шар символів отворів; Jumper – шар ...
... результаты отчета. Они являются кульминационным пунктом отчета и должны быть разумными, хорошо определенными, перечисленными и обоснованными [11].Практика дистанционного образования с использованием Internet Шутилов Ф.В. Особенности заочного образования - в необходимости обеспечить высокий уровень знаний при значительно меньшем времени непосредственного личного общения студентов с преподавателем. ...
0 комментариев