- •Лекция 9
- •Счетчики
- •Типы счетчиков по способу построения
- •Типы счетчиков по способу счета
- •Счетчики на JK-триггерах
- •Счетная последовательность и диаграмма состояний
- •Нахождение функции на входах триггеров
- •Таблица возбуждения JK- триггера
- •Таблица переходов состояний
- •Составление карт Карно для счетчиков
- •Применение карт Карно для определения сигналов на входах
- •Функции на входах триггеров
- •Последовательность действий для построения счетчика
- •Счетчики на D-триггерах
- •Реализация счетчика на D- триггерах
- •Счетчики на RS-триггерах
- •Синхронные двоичные счетчики
- •Асинхронные счетчики
- •Языки высокого уровня Verilog и VHDL
- •Основные правила описания аппаратуры на языке Verilog
- •Основные правила описания аппаратуры на языке Verilog
- •Описание элемента 2И-НЕ на языке Verilog
- •Описание БЭ на языке Verilog
- •Описание D-триггера на языке
- •Описание сложных логических схем на языке Verilog
- •Тест программы сложных логических схем
- •Задания на лабораторную работу
Основные правила описания аппаратуры на языке Verilog
•Уровень черного ящика
•Название: BB.
•Входы: A, B, C, clk.
•Выходы: Q1, Q2, Q3.
•Текст программы:
← начало описания блока BB ← объявление названий входов блока BB ← объявление названий выходов блока ВВ
← исполняемая внутри блока ВВ функция endmodule ← обозначение конца описания блока ВВ
Основные правила описания аппаратуры на языке Verilog
•Уровень черного ящика с известной внутренней ветвью
•Название: BB.
•Входы: A, B, C, clk.
•Выходы: Q1, Q2, Q3.
•Текст программы:
← начало описания блока BB ← объявление названий входов блока BB ← объявление названий выходов блока ВВ
внутренняяwire Q1, Q2, Q3,функция;D, E; ← исполняемая внутри блока ВВ функция ← объявление внутренних ветвей блока ВВ
endmodule ← обозначение конца описания блока ВВ
Описание элемента 2И-НЕ на языке Verilog
•Элемент 2И-НЕ
•nd1 – внутреннее имя элемента
•A1 и B1 – название ветвей, к которым подключены входы элемента
•Q1 – название ветви, к которой подключен выход элемента
• Строка для описания элемента внутри
блока: Название цепей входа Внутреннее имя
nand nd1(Q1, A1, B1);
Название элемента Название цепи выхода
Описание БЭ на языке Verilog
• Инвертор:
not inv1(B, A);
• 2ИЛИ-НЕ
nor nr4(Q,A,B);
• 2И
and ad66(Q23,B34,Q1);
• 2ИЛИ
or r0(A,V,R);
Описание D-триггера на языке
Verilog q1
•Нарисовать схему
•Дать названия цепям входов и выходов
•Дать названия элементам
•Дать названия внутренним ветвям
Важно!!! Не назвать одну
иту же ветвь дважды
•Составить описание полученной структуры
D |
a1 |
a3 |
|
|
i1 |
q4 |
|
C |
|
||
a2 |
a4 |
||
|
|||
|
q2 |
q3 |
module dtr(Q, nQ, D, C); input D,C;
output Q, nQ;
wire Q, nQ, q1, q2, q3; not i1(q2,D); nand a1(q1,D,C); nand a2(q3,C,q2);
nand a3(Q, q1, nQ); nand a4(nQ, Q, q3);
endmodule
Q
Q
Описание сложных логических схем на языке Verilog
Тест программы сложных логических схем
module count(A, B, C); |
nand a2(q3, C, q1); |
input C; |
nand a3(A, q2, nA); |
output A,B; |
nand a4(nA, A, q3); |
wire A, nA, B, nB; |
nand a5(q5, A, C); |
wire q1, q2, q3, q4, q5 q6; |
nand a6(q6, q4, C); |
not i1(nA, q1); |
nand a7(B, q5, nB); |
not i2(nA, q4); |
nand a8(nB, B, q6); |
nand a1(q2, nA, C); |
endmodule |
Задания на лабораторную работу
№3
1.Счетчик на J-K триггерах (0,1,2,3,4,5,6,7,8,9,11,10,0…)
2.Счетчик на J-K триггерах (0,2,4,6,8,10,0…)
3.Счетчик на J-K триггерах (1,3,5,7,9,11,1…)
4.Счетчик на J-K триггерах (1,2,3,7,8,9,1,…)
5.Счетчик на D триггерах (0,1,2,3,4,5,6,7,8,9,11,10,0…)
6.Счетчик на D триггерах (0,2,4,6,8,10,0…)
7.Счетчик на D триггерах (1,3,5,7,9,11,1…)
8.Счетчик на D триггерах (1,2,3,7,8,9,1,…)
9.Счетчик на R-S триггерах (0,1,2,3,4,5,6,7,8,9,11,10,0…) 10.Счетчик на R-S триггерах (0,2,4,6,8,10,0…) 11.Счетчик на R-S триггерах (1,3,5,7,9,11,1…) 12.Счетчик на R-S триггерах (1,2,3,7,8,9,1,…)