Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 Семестр / Отчеты / 2 варик / lb8_данные_удалены

.pdf
Скачиваний:
29
Добавлен:
07.06.2022
Размер:
3.15 Mб
Скачать

внешней синхронизации C_ext. При помощи сигнала CLR реализован асинхронный сброс.

На рисунке 3.3 представлен операционный блок.

Рисунок 3.3 – Операционный блок

На выходе OP1 получаем результат логической операции A ∩ B, где

Q_reg[5..3] и Q_reg[2..0] это входы А и В соответственно.

На выходе OP2 получаем результат арифметической операции А-В.

При помощи декодеров inst13, inst15, inst17, inst19, inst21 реализовано преобразование из двоичного кода в код МТК-2 согласно соответствующей таблице истинности. Результат преобразования получаем на выходе OP3.

При помощи счетчика inst24 осуществляется счет проделанных операций.

На clk_en поступает сигнал, когда счетчик тактирующих сигналов C_ext равен 0,

и при подаче сигнала на C_ext срабатывает счетчик inst24. Счетчик оснащен асинхронным сбросом по сигналу CLR.

11

На рисунке 3.4 представлен выходной блок.

Рисунок 3.4 – Выходной блок

На мультиплексор в качестве адресного сигнала поступает сигнал

OPERATION, идущий из входного блока. Для каждой операции предусмотрен свой код, через который можно вывести результат данной операции. С приходом активного уровня сигнала nreadd с помощью D триггера происходит генерация одиночного выходного тактового импульса считывающего устройства.

12

4МОДЕЛИРОВАНИЕ

Втаблице 4.1 представлен план моделирования, по которому каждая операция будет выполняться два раза с разными входными данными и сброс до

ипосле вывода количества выполненных операций.

Таблица 4.1 – План моделирования

 

 

 

 

 

 

Входы

 

 

 

 

 

 

 

 

 

 

Выходы

 

 

 

 

 

Код

 

 

A

 

 

 

 

 

 

B

 

 

CLR

4

 

3

 

2

 

 

1

 

0

 

операции

5

 

4

 

3

 

 

2

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

x

 

x

 

0

 

 

1

 

0

 

1

 

0

0

 

0

 

0

 

 

0

 

1

 

0

 

1

x

 

x

 

1

 

 

1

 

1

 

0

 

0

0

 

0

 

1

 

 

0

 

0

 

1

 

0

1

 

0

 

0

 

 

0

 

0

 

1

 

0

0

 

0

 

0

 

 

0

 

1

 

1

 

0

0

 

0

 

0

 

 

1

 

1

 

0

 

0

0

 

0

 

1

 

 

1

 

0

 

1

 

1

1

 

1

 

0

 

 

0

 

0

 

1

 

0

0

 

0

 

1

 

 

0

 

1

 

1

 

1

0

 

1

 

0

 

 

1

 

1

 

0

 

0

0

 

0

 

1

 

 

0

 

0

 

0

 

0

x

x

 

x

 

x

x

x

0

0

 

0

 

1

 

 

1

 

1

 

x

 

x

x

x

 

x

 

x

x

x

1

0

 

0

 

0

 

 

0

 

0

 

0

 

0

x

x

 

x

 

x

x

x

0

0

 

0

 

0

 

 

0

 

1

 

На рисунке 4.1 представлено моделирование для операции преобразования двоичного кода в код МТК-2.

Рисунок 4.1 – Моделирование первых двух операций (Timing)

На передний фронт (50 нс) первого такта (50-100 нс) C_ext сигнал 1 на входе input (0-100 нс).

На передний фронт (150 нс) второго такта (150-200 нс) C_ext сигнал 0 на входе input (100-200 нс).

13

На передний фронт (250 нс) третьего такта (250-300 нс) C_ext сигнал 1 на входе input (200-300 нс).

На передний фронт (350 нс) четвертого такта (350-400 нс) C_ext сигнал 0

на входе input (300-400 нс).

На передний фронт (450 нс) пятого такта (450-500 нс) C_ext сигнал 1 на входе input (400-500 нс).

На передний фронт (550 нс) шестого такта (550-600 нс) C_ext сигнал 0 на входе input (500-600 нс).

Таким образом входные данные ХХ0101, а код операции 01, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (900-1000 нс) генерируется тактовый сигнал

C_out (956,25-1056,25 нс). Выдача полученного результата происходит по заднему фронту (925-975 нс). На выходе outt осуществляется выдача выходных данных: 00001.

На передний фронт (1300 нс) первого такта (1300-1350 нс) C_ext сигнал 1

на входе input (1250-1350 нс).

На передний фронт (1400 нс) второго такта (1400-1450 нс) C_ext сигнал 0

на входе input (1350-1450 нс).

На передний фронт (1500 нс) третьего такта (1500-1550 нс) C_ext сигнал 0

на входе input (1450-1550 нс).

На передний фронт (1600 нс) четвертого такта (1600-1650 нс) C_ext сигнал

1 на входе input (1550-1650 нс).

На передний фронт (1700 нс) пятого такта (1700-1750 нс) C_ext сигнал 1 на входе input (1650-1750 нс).

На передний фронт (1800 нс) шестого такта (1800-1850 нс) C_ext сигнал 1

на входе input (1750-1850 нс).

Таким образом входные данные ХХ1110, а код операции 01, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (2200-2300 нс) генерируется тактовый сигнал

14

C_out (2256,5-2356,5 нс). Выдача полученного результата происходит по заднему фронту (2225-2275 нс). На выходе outt осуществляется выдача выходных данных: 00100.

На рисунке 4.2 представлено моделирование логической операции.

Рисунок 4.2 – Моделирование логической операции

На передний фронт (2700 нс) первого такта (2700-2750 нс) C_ext сигнал 0

на входе input (2650-2750 нс).

На передний фронт (2800 нс) второго такта (2800-2850 нс) C_ext сигнал 1

на входе input (2750-2850 нс).

На передний фронт (2900 нс) третьего такта (2900-2950 нс) C_ext сигнал 1

на входе input (2850-2950 нс).

На передний фронт (3000 нс) четвертого такта (3000-3050 нс) C_ext сигнал

0 на входе input (2950-3050 нс).

На передний фронт (3100 нс) пятого такта (3100-3150 нс) C_ext сигнал 0 на входе input (3050-3150 нс).

На передний фронт (3200 нс) шестого такта (3200-3250 нс) C_ext сигнал 0

на входе input (3150-3250 нс).

На передний фронт (3300 нс) седьмого такта (3300-3350 нс) C_ext сигнал 0

на входе input (3250-3350 нс).

На передний фронт (3400 нс) восьмого такта (3400-3450 нс) C_ext сигнал 1

на входе input (3350-3450 нс).

15

Таким образом входные данные 10001, а код операции 10, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (3600-3700 нс) генерируется тактовый сигнал C_out (3656,5-3756,5 нс). Выдача полученного результата происходит по заднему фронту (3625-3675 нс). На выходе outt осуществляется выдача выходных данных: 00001.

На передний фронт (3850 нс) первого такта (3850-3900 нс) C_ext сигнал 0

на входе input (3800-3900 нс).

На передний фронт (3950 нс) второго такта (3950-4000 нс) C_ext сигнал 1

на входе input (3900-4000 нс).

На передний фронт (4050 нс) третьего такта (4050-4100 нс) C_ext сигнал 0

на входе input (4000-4100 нс).

На передний фронт (4150 нс) четвертого такта (4150-4200 нс) C_ext сигнал

1 на входе input (4100-4200 нс).

На передний фронт (4250 нс) пятого такта (4250-4300 нс) C_ext сигнал 1 на входе input (4200-4300 нс).

На передний фронт (4350 нс) шестого такта (4350-4400 нс) C_ext сигнал 0

на входе input (4300-4400 нс).

На передний фронт (4450 нс) седьмого такта (4450-4500 нс) C_ext сигнал 0

на входе input (4400-4500 нс).

На передний фронт (4550 нс) восьмого такта (4550-4600 нс) C_ext сигнал 0

на входе input (4500-4600 нс).

Таким образом входные данные 000110, а код операции 10, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (4750-4850 нс) генерируется тактовый сигнал C_out (4806,5-4906,5 нс). Выдача полученного результата происходит по заднему фронту (4775-4825 нс). На выходе outt осуществляется выдача выходных данных: 00110.

На рисунке 4.3 представлено моделирование арифметической операции.

16

Рисунок 4.3 – Моделирование арифметической операции

На передний фронт (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, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (5950-6050 нс) генерируется тактовый сигнал C_out (6006,5-6106,5 нс). Выдача полученного результата происходит по заднему фронту (5975-6025- нс). На выходе outt осуществляется выдача выходных данных: 00101.

17

На передний фронт (6350 нс) первого такта (6350-6400 нс) C_ext сигнал 1

на входе input (6300-6400 нс).

На передний фронт (6450 нс) второго такта (6450-6500 нс) C_ext сигнал 1

на входе input (6400-6500 нс).

На передний фронт (6550 нс) третьего такта (6550-6600 нс) C_ext сигнал 0

на входе input (6500-6600 нс).

На передний фронт (6650 нс) четвертого такта (6650-6700 нс) C_ext сигнал

1 на входе input (660-6700 нс).

На передний фронт (6750 нс) пятого такта (6750-6800 нс) C_ext сигнал 1 на входе input (6700-6800 нс).

На передний фронт (6850 нс) шестого такта (6850-6900 нс) C_ext сигнал 0

на входе input (6800-6900 нс).

На передний фронт (6950 нс) седьмого такта (6950-7000 нс) C_ext сигнал 1

на входе input (6900-7000 нс).

На передний фронт (7050 нс) восьмого такта (7050-7100 нс) C_ext сигнал 0

на входе input (7000-7100 нс).

Таким образом входные данные 010110, а код операции 11, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (7150-7250 нс) генерируется тактовый сигнал C_out (7206,5-7306,5 нс). Выдача полученного результата происходит по заднему фронту (7175-7225 нс). На выходе outt осуществляется выдача выходных данных: 00100.

На рисунке 4.4 представлено моделирование счетчика выполненных операций, сброса и снова счетчика выполненных операций.

18

Рисунок 4.4 – Последний этап моделирования

На передний фронт (7650 нс) первого такта (7650-7700 нс) C_ext сигнал 0

на входе input (7600-7700 нс).

На передний фронт (7750 нс) второго такта (7750-7800 нс) C_ext сигнал 0

на входе input (7700-7800 нс).

Таким образом входные данные ХХХХХХ, а код операции 00, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (8450-8550 нс) генерируется тактовый сигнал

C_out (8506,5-8606,5 нс). Выдача полученного результата происходит по заднему фронту (8475-8,8525 нс). На выходе outt осуществляется выдача выходных данных: 00111.

После этого подается сигнал сброса (8700-8800 нс). После этого обнуляются выходы регистров inst3, inst2, счетчики inst1, inst24, а также выход триггера inst26.

На передний фронт (9050 нс) первого такта (9050-9100 нс) C_ext сигнал 0

на входе input (9000-9100 нс).

На передний фронт (9150 нс) второго такта (9150-9200 нс) C_ext сигнал 0

на входе input (9100-9200 нс).

Таким образом входные данные ХХХХХХ, а код операции 00, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nreadd (9850-9950 нс) генерируется тактовый сигнал

C_out (9906,5-10000 нс). Выдача полученного результата происходит по заднему

19

фронту (9875-9925 нс). На выходе outt осуществляется выдача выходных данных: 00001.

На рисунках 4.5 – 4.8 представлено моделирование данных этапов в режиме Functional.

Рисунок 4.5 – Моделирование в режиме Functional. Часть 1

Рисунок 4.6 – Моделирование в режиме Functional. Часть 2

Рисунок 4.7 – Моделирование в режиме Functional. Часть 3

20