0 |
1 |
Кириллица |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
11
3 ФУНКЦИОНАЛЬНАЯ СХЕМА
На рисунке 3.1 представлена функциональная схема вычислительного блока.
Рисунок 3.1 – Функциональная схема вычислительного блока
На рисунке 3.2 представлен фрагмент функциональной схемы с входным блоком.
Рисунок 3.2 – Входной блок схемы
12
Входной блок последовательно принимает данные младшими разрядами вперед и записывает их в регистр. По переднему фронту сигнала C_ext происходит запись информации с канала input в сдвиговый регистр inst и команды в сдвиговый регистр inst7. Это происходит при помощи входов enable: для второго запись возможна при поступлении первых двух бит, а для первого
– последующих шести бит. В счетчике inst6 ведется счет поступающих сигналов внешней синхронизации C_ext. При помощи сигнала R реализован асинхронный сброс.
На рисунке 3.3 представлен фрагмент функционально схемы с операционным блоком.
Рисунок 3.3 – Операционный блок схемы
13
На выходе OP1 получаем результат логической операции А¯∩B, где Q_reg[5..3] и Q_reg[2..0] это входы А и В соответственно. На выходе OP2 получаем результат арифметической операции А−B. При помощи декодеров inst16, inst18, inst20, inst22, inst24 реализовано преобразование из двоичного кода в код МТК-2 согласно соответствующей таблице истинности. Результат преобразования получаем на выходе OP3. При помощи счетчика inst26 осуществляется счет проделанных операций. На clk_en поступает сигнал, когда счетчик тактирующих сигналов C_ext равен 0, и при подаче сигнала на C_ext срабатывает счетчик inst26. Счетчик оснащен асинхронным сбросом по сигналу
R.
На рисунке 3.4 представлен фрагмент функциональной схемы с выходным блоком.
Рисунок 3.4 – Выходной блок
14
На мультиплексор в качестве адресного сигнала поступает сигнал op, идущий из входного блока. Для каждой операции предусмотрен свой код, через который можно вывести результат данной операции. С приходом активного уровня сигнала nread с помощью D-триггера происходит генерация одиночного выходного тактового импульса считывающего устройства. Полученные результаты выводятся с помощью регистра inst2.
15
4МОДЕЛИРОВАНИЕ
Втаблице 4.1 представлен план моделирования, по которому каждая операция будет выполняться два раза с разными входными данными и сброс до
ипосле вывода количества выполненных операций.
Таблица 4.1 – План моделирования
|
|
|
|
|
Входы |
|
|
|
|
|
|
Выходы |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Код |
|
А |
|
|
|
В |
|
R |
4 |
3 |
|
2 |
|
1 |
0 |
|
операции |
|
|
|
|
|
|
|
|
|
||||||||
5 |
4 |
3 |
|
2 |
1 |
0 |
|||||||||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
Х |
Х |
0 |
|
1 |
0 |
1 |
0 |
0 |
0 |
|
0 |
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
1 |
Х |
Х |
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 |
Х |
Х |
Х |
Х |
Х |
Х |
0 |
0 |
0 |
|
1 |
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Х |
Х |
Х |
Х |
Х |
Х |
Х |
Х |
1 |
0 |
0 |
|
0 |
|
0 |
0 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
0 |
Х |
Х |
Х |
Х |
Х |
Х |
0 |
0 |
0 |
|
0 |
|
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
На рисунке 4.1 – рисунке 4.2 представлено моделирование для операции преобразования двоичного кода в код МТК-2.
Рисунок 4.1 – Моделирование первых двух операций в режиме с задержкой
16
Рисунок 4.2 – Моделирование первых двух операций в функциональном режиме
На передний фронт (50 нс) первого такта (50-100 нс) C_ext сигнал 1 на входе input (0-100 нс).
На передний фронт (150 нс) второго такта (150-200 нс) C_ext сигнал 0 на входе input (100-200 нс).
На передний фронт (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, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (900-1000 нс) генерируется тактовый сигнал C_out (932,472-1032,472 нс). Выдача полученного результата происходит по заднему фронту (925-975 нс). На выходе out осуществляется выдача выходных данных: 00001.
На передний фронт (1300 нс) первого такта (1300-1350 нс) C_ext сигнал 1
на входе input (1250-1350 нс).
На передний фронт (1400 нс) второго такта (1400-1450 нс) C_ext сигнал 0
на входе input (1350-1450 нс).
17
На передний фронт (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, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (2200-2300 нс) генерируется тактовый сигнал C_out (2232,472-2332,472 нс). Выдача полученного результата происходит по заднему фронту (2225-2275 нс). На выходе out осуществляется выдача выходных данных: 00100.
На рисунке 4.3 – рисунке 4.4 представлено моделирование логической операции.
Рисунок 4.3 – Моделирование логической операции в режиме с задержкой
Рисунок 4.4 – Моделирование логической операции в функциональном режиме
18
На передний фронт (2550 нс) первого такта (2550-2600 нс) C_ext сигнал 0
на входе input (2500-2600 нс).
На передний фронт (2650 нс) второго такта (2650-2700 нс) C_ext сигнал 1
на входе input (2600-2700 нс).
На передний фронт (2750 нс) третьего такта (2750-2800 нс) C_ext сигнал 1
на входе input (2700-2800 нс).
На передний фронт (2850 нс) четвертого такта (2850-2900 нс) C_ext
сигнал 0 на входе input (2800-2900 нс).
На передний фронт (2950 нс) пятого такта (2950-3000 нс) C_ext сигнал 0
на входе input (2900-3000 нс).
На передний фронт (3050 нс) шестого такта (3050-3100 нс) C_ext сигнал 0
на входе input (3000-3100 нс).
На передний фронт (3150 нс) седьмого такта (3150-3200 нс) C_ext сигнал
0 на входе input (3100-3200 нс).
На передний фронт (3250 нс) восьмого такта (3250-3300 нс) C_ext сигнал
1 на входе input (3200-3300 нс).
Таким образом входные данные 10001, а код операции 10, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (3400-3500 нс) генерируется тактовый сигнал C_out (3432,472-3532,472 нс). Выдача полученного результата происходит по заднему фронту (3425-3475 нс). На выходе out осуществляется выдача выходных данных: 00001.
На передний фронт (3800 нс) первого такта (3800-3850 нс) C_ext сигнал 0
на входе input (3750-3850 нс).
На передний фронт (3900 нс) второго такта (3900-3950 нс) C_ext сигнал 1
на входе input (3850-3950 нс).
На передний фронт (4000 нс) третьего такта (4000-4050 нс) C_ext сигнал 0
на входе input (3950-4050 нс).
На передний фронт (4100 нс) четвертого такта (4100-4150 нс) C_ext
сигнал 1 на входе input (4050-4150 нс).
19
На передний фронт (4200 нс) пятого такта (4200-4250 нс) C_ext сигнал 1
на входе input (4150-4250 нс).
На передний фронт (4300 нс) шестого такта (4300-4350 нс) C_ext сигнал 0
на входе input (4250-4350 нс).
На передний фронт (4400 нс) седьмого такта (4400-4450 нс) C_ext сигнал
0 на входе input (4350-4450 нс).
На передний фронт (4500 нс) восьмого такта (4500-4550 нс) C_ext сигнал
0 на входе input (4450-4550 нс).
Таким образом входные данные 000110, а код операции 10, причем данные были введены последовательно младшими разрядами вперед. При подаче активного сигнала nread (4700-4800 нс) генерируется тактовый сигнал C_out (4732,472-4832,472 нс). Выдача полученного результата происходит по заднему фронту (4725-4775 нс). На выходе out осуществляется выдача выходных данных: 00110.
На рисунке 4.5 – рисунке 4.6 представлено моделирование арифметической операции.
Рисунок 4.5 – Моделирование арифметической операции в режиме с задержкой
Рисунок 4.6 – Моделирование арифметической операции в функциональном режиме
20
