Рисунок 2.1 – Функциональная схема
При помощи регистра на выходе асинхронного счетчика можно добиться
«чистого» выходного сигнала.
2.3Моделирование
На рисунке 2.2 представлено моделирование счетчика в режиме Timing.
Рисунок 2.2 – Моделирование в режиме Timing
Моделирование асинхронного счетчика в режиме Functional не принесет результатов. Так как в асинхронном счетчике триггеры переключаются друг за другом, это приводит к возникновению задержек сигналов. Выходной буфер в виде D триггера, тактируемый задним фронтом сигнала C, записывает значения, что позволяет избежать задержек и обеспечивает «чистый» выход.
Моделирование соответствует таблице функционирования.
2.4Код на SystemVerilog
На рисунке 2.3 представлено описание асинхронного счетчика с выходным буфером на SystemVerilog.
11
Рисунок 2.3 – Описание на SystemVerilog
2.5Схема из RTL viewer для кода SystemVerilog
На рисунке 2.4 представлена схема из RTL viewer для кода SystemVerilog.
Рисунок 2.4 – Схема из RTL viewer для кода SystemVerilog
2.6Моделирование устройства, описанного кодом SystemVerilog
На рисунке 2.5 представлено моделирование счетчика с выходным буфером, описанного на SystemVerilog.
Рисунок 2.5 – Моделирование счетчика, описанного на SystemVerilog
Моделирование соответствует таблице функционирования.
12
3СИНХРОННЫЙ СЧЕТЧИК С ВЫХОДНЫМ БУФЕРОМ
3.1Таблица функционирования
Втаблице 3.1 представлена таблица функционирования для синхронного вычитающего счетчика с модулем счета 17.
Таблица 3.1 – Таблица функционирования
№ сигнала |
PR |
|
|
Выходы |
|
|
|
Q4 |
Q3 |
Q2 |
Q1 |
Q0 |
|||
|
|
||||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
0 |
0 |
0 |
|
2 |
0 |
0 |
1 |
1 |
1 |
1 |
|
3 |
0 |
0 |
1 |
1 |
1 |
0 |
|
4 |
0 |
0 |
1 |
1 |
0 |
1 |
|
5 |
0 |
0 |
1 |
1 |
0 |
0 |
|
6 |
0 |
0 |
1 |
0 |
1 |
1 |
|
7 |
0 |
0 |
1 |
0 |
1 |
0 |
|
8 |
0 |
0 |
1 |
0 |
0 |
1 |
|
9 |
0 |
0 |
1 |
0 |
0 |
0 |
|
10 |
0 |
0 |
0 |
1 |
1 |
1 |
|
11 |
0 |
0 |
0 |
1 |
1 |
0 |
|
12 |
0 |
0 |
0 |
1 |
0 |
1 |
|
13 |
0 |
0 |
0 |
1 |
0 |
0 |
|
14 |
0 |
0 |
0 |
0 |
1 |
1 |
|
15 |
0 |
0 |
0 |
0 |
1 |
0 |
|
16 |
0 |
0 |
0 |
0 |
0 |
1 |
|
17 |
0 |
0 |
0 |
0 |
0 |
0 |
|
18 |
0 |
1 |
0 |
0 |
0 |
0 |
|
X |
1 |
1 |
0 |
0 |
0 |
0 |
3.2Функциональная схема
На рисунке 3.1 представлена функциональная схема синхронного вычитающего счетчика с модулем счета 17.
13
Рисунок 3.1 – Функциональная схема
Аналогично предыдущему заданию триггер записывает значения на выходе счетчика.
3.3Моделирование
На рисунке 3.2 представлено моделирование синхронного счетчика с выходным буфером в режиме Timing.
Рисунок 3.2 – Моделирование в режиме Timing
На рисунке 3.3 представлено моделирование синхронного счетчика с выходным буфером в режиме Functional.
Рисунок 3.3 – Моделирование в режиме Functional
14
Так как в синхронном счетчике триггеры переключаются одновременно задержек не возникает, следовательно выходного буфера в виде D триггера для обеспечения чистого выхода не требуется.
Моделирование соответствует таблице функционирования.
3.4Код на SystemVerilog
На рисунке 3.4 представлено описание синхронного счетчика с выходным буфером на SystemVerilog.
Рисунок 3.4 – Синхронный счетчик с выходным буфером, описанный на
SystemVerilog
3.5Схема из RTL viewer для кода SystemVerilog
На рисунке 3.5 представлена схема из RTL viewer для кода SystemVerilog.
Рисунок 3.5 – Схема из RTL viewer для кода SystemVerilog 15
3.6Моделирование устройства, описанного кодом SystemVerilog
На рисунке 3.6 представлено моделирование счетчика с выходным буфером, описанного на SystemVerilog.
Рисунок 3.6 – Моделирование счетчика, описанного на SystemVerilog
Моделирование соответствует таблице функционирования.
16
Заключение
В процессе выполнения работы были построены холсте схемы для обеспечения «чистого» выхода счетчиков из лабораторной работы №5 и схема конечного автомата, выполняющий вычисление функций, согласно варианту, а
также описаны на SystemVerilog. Оба варианта были промоделированы.
17