
На передний фронт (5050 нс) первого такта (5050-5100 нс) C_ext сигнал 1
на входе input (5000-5100 нс).
На передний фронт (5150 нс) второго такта (5150-5200 нс) C_ext сигнал 1
на входе input (5100-5200 нс).
На передний фронт (5250 нс) третьего такта (5250-5300 нс) C_ext сигнал 1
на входе input (5200-5300 нс).
На передний фронт (5350 нс) четвертого такта (5350-5400 нс) C_ext
сигнал 0 на входе input (5300-5400 нс).
На передний фронт (5450 нс) пятого такта (5450-5500 нс) C_ext сигнал 0
на входе input (5400-5500 нс).
На передний фронт (5550 нс) шестого такта (5550-5600 нс) C_ext сигнал 0
на входе input (5500-5600 нс).
На передний фронт (5650 нс) седьмого такта (5650-5700 нс) C_ext сигнал
1 на входе input (5600-5700 нс).
На передний фронт (5750 нс) восьмого такта (5750-5800 нс) C_ext сигнал
1 на входе input (5700-5800 нс).
Таким образом входные данные 110001, а код операции 11, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (5900-6000 нс) генерируется тактовый сигнал C_out (5932,472-6032,472 нс). Выдача полученного результата происходит по заднему фронту (5925-5975 нс). На выходе out осуществляется выдача выходных данных: 00101.
На передний фронт (6300 нс) первого такта (6300-6350 нс) C_ext сигнал 1
на входе input (6250-6350 нс).
На передний фронт (6400 нс) второго такта (6400-6450 нс) C_ext сигнал 1
на входе input (6350-6450 нс).
На передний фронт (6500 нс) третьего такта (6500-6550 нс) C_ext сигнал 0
на входе input (6450-6550 нс).
На передний фронт (6600 нс) четвертого такта (6600-6650 нс) C_ext
сигнал 1 на входе input (6550-6650 нс).
21

На передний фронт (6700 нс) пятого такта (6700-6750 нс) C_ext сигнал 1
на входе input (6650-6750 нс).
На передний фронт (6800 нс) шестого такта (6800-6850 нс) C_ext сигнал 0
на входе input (6750-6850 нс).
На передний фронт (6900 нс) седьмого такта (6900-6950 нс) C_ext сигнал
1 на входе input (6850-6950 нс).
На передний фронт (7000 нс) восьмого такта (7000-7050 нс) C_ext сигнал
0 на входе input (6950-7050 нс).
Таким образом входные данные 010110, а код операции 11, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (7200-7300 нс) генерируется тактовый сигнал C_out (7232,472-7332,472 нс). Выдача полученного результата происходит по заднему фронту (7225-7275 нс). На выходе out осуществляется выдача выходных данных: 00100.
На рисунке 4.7 – рисунке 4.8 представлено моделирование счетчика выполненных операций и сброса.
Рисунок 4.7 – Моделирование счетчика и сброса в режиме с задержкой
Рисунок 4.8 – Моделирование счетчика и сброса в функциональном режиме
22
На передний фронт (7550 нс) первого такта (7550-7600 нс) C_ext сигнал 0
на входе input (7500-7600 нс).
На передний фронт (7650 нс) второго такта (7650-7700 нс) C_ext сигнал 0
на входе input (7600-7700 нс).
Таким образом входные данные ХХХХХХ, а код операции 00, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (8400-8500 нс) генерируется тактовый сигнал C_out (8432,472-8532,472 нс). Выдача полученного результата происходит по заднему фронту (8425-8475 нс). На выходе out осуществляется выдача выходных данных: 00111.
После этого подается сигнал сброса (8600-8700 нс). Обнуляются выходы регистров, счетчиков, а также выход триггера.
На передний фронт (8800 нс) первого такта (8800-8850 нс) C_ext сигнал 0
на входе input (8750-8850 нс).
На передний фронт (8900 нс) второго такта (8900-8950 нс) C_ext сигнал 0
на входе input (8850-8950 нс).
Таким образом входные данные ХХХХХХ, а код операции 00, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (9600-9700 нс) генерируется тактовый сигнал C_out (9632,472-9732,472 нс). Выдача полученного результата происходит по заднему фронту (9625-9675 нс). На выходе out осуществляется выдача выходных данных: 00001.
Моделирование в обоих режимах соответствует плану моделирования. Выходные значения получились идентичны предполагаемому результату.
23

5 КОД НА SYSTEMVERILOG
Схема была описана на HDL SystemVerilog. Программа конечного устройства представлена на рисунке 5.1. На рисунке 5.2 представлена схема
RTL Viewer.
Рисунок 5.1 – Конечное устройство на языке SystemVerilog
24

Рисунок 5.2 – Конечное устройство в RTL Viewer
На рисунке 5.3 представлена реализация входного блока. На рисунке 5.4 представлена схема RTL Viewer.
Рисунок 5.3 – Входной блок
25

Рисунок 5.4 – Входной блок в RTL Viewer
На рисунке 5.5 представлена реализация операционного блока. На рисунке 5.6 представлена схема RTL Viewer.
Рисунок 5.5 – Операционный блок
26

Рисунок 5.6 – Операционный блок в RTL Viewer
На рисунке 5.7 представлена реализация выходного блока. На рисунке 5.8 представлена схема RTL Viewer.
Рисунок 5.7 – Выходной блок
27

Рисунок 5.8 – Выходной блок в RTL Viewer
На рисунке 5.9 – рисунке 5.10 представлено моделирование для операции преобразования двоичного кода в код МТК-2.
Рисунок 5.9 – Моделирование первых двух операций в режиме с задержкой
Рисунок 5.10 – Моделирование первых двух операций в функциональном режиме
Активный уровень тактового сигнала C_out приходится на интервал 932,988-982,988 нс (для первой операции).
28

Активный уровень тактового сигнала C_out приходится на интервал
2232,988-2282,988 нс (для второй операции).
На рисунке 5.11 – рисунке 5.12 представлено моделирование логической операции.
Рисунок 5.11 – Моделирование логической операции в режиме с задержкой
Рисунок 5.12 – Моделирование логической операции в функциональном режиме
Активный уровень тактового сигнала C_out приходится на интервал
3432,988-3482,988 нс (для третьей операции).
Активный уровень тактового сигнала C_out приходится на интервал 4732,988-4782,988 нс (для четвертой операции).
На рисунке 5.13 – рисунке 5.14 представлено моделирование арифметической операции.
Рисунок 5.13 – Моделирование арифметической операции в режиме с задержкой
29

Рисунок 5.14 – Моделирование арифметической операции в функциональном режиме
Активный уровень тактового сигнала C_out приходится на интервал
5932,988-5982,988 нс (для пятой операции).
Активный уровень тактового сигнала C_out приходится на интервал
7232,988-7282,988 нс (для шестой операции).
На рисунке 5.15 – рисунке 5.16 представлено моделирование счетчика выполненных операций и сброса.
Рисунок 5.15 – Моделирование счетчика и сброса в режиме с задержкой
Рисунок 5.16 – Моделирование счетчика и сброса в функциональном режиме
Активный уровень тактового сигнала C_out приходится на интервал 8432,988-8482,988 нс (для вывода количества операций в первый раз).
Активный уровень тактового сигнала C_out приходится на интервал 9732,988-9782,988 нс (для вывода количества операций во второй раз).
30