Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭИС_2_СЕМ / ЛР4 / ЭИС2_Л4.odt
Скачиваний:
0
Добавлен:
27.06.2025
Размер:
621.62 Кб
Скачать

3 Вычислительный блок

Функцональная схема вычислительного блока представлена на рисунке 3.1

Р исунок 3.1 — Функцональная схема

Далее рассмотрим схему по блокам. Функциональная схема входного блока представлена на рисунке 3.2.

Данный блок содержит в себе записывающий регистр и счетчик.

Р исунок 3.2 — Входной блок

Функциональная схема операционного блока представлена на рисунке

3.3. В нем имеется устройства для выполнения логической и арифметической операции. Блок для выполнения кодирования двоичного числа в 4b5b. Блок для выбора операции для выполнения.

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

Функциональная схема выходного блока представлена на рисунке 3.4

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

Далее был составлен план моделирования схемы, представленный в

таблице 3.1

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

Входы

Выходы

КОП

А

В

D5

D4

D3

D2

D1

D0

Y4

Y3

Y2

Y1

Y0

01

X

X

0

0

0

1

0

1

0

0

1

01

X

X

1

0

1

0

1

0

1

1

0

10

0

1

1

1

0

1

-

-

1

1

0

10

1

0

0

1

0

1

-

-

0

0

1

Окончание табоицы 3.1

Входы

Выходы

КОП

А

B

D5

D4

D3

D2

D1

D0

Y4

Y3

Y2

Y1

Y0

11

0

0

1

1

0

1

-

-

1

0

0

11

1

0

0

0

0

1

-

-

0

1

1

00

X

X

X

X

X

X

0

0

1

1

1

сброс

00

X

X

X

X

X

X

0

0

0

0

1

Итоги моделирования в режимах Timing и Functional представлены на

рисунках 3.5 – 3.6 соответственно.

Р исунок 3.5 — Моделирования в режиме Timing

Р исунок 3.6 – Моделирования в режиме Functional

Cистема обрабатывает входные данные data_in и код операции code_in по заднему фронту (спаду) внешнего синхроимпульса cext. При подаче активного сигнала read = 0 происходит выдача значений в строку Q последовательным кодом, начиная со младших разрядов. Выдача синхронизируется импульсами cout, которые зависят от количества выдаваемых значений. Сброс всех регистров выполняется сигналом rst асинхронно с внутренним тактовым сигналом cint.

Операции обработки:

Код 01 — преобразование двоичного числа в 4b5b код;

Код 10 — логическая побитовая операция ;

Код 11 — арифметическая операция A - B;

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

В результате моделирования были реализованы два набора данных для каждой из операций. Разберем каждsq код операции.

Cигнал C_int возникает каждые 100 нс.

Первый код 01 на промежутке 400 — 600 нс. Момент нисходящего фронта cext 300 — 500 нс, входные данные data_in XX0001 и code_in 01, активный уровень сигнала rd = 0 на интервае от 600 — 800 нс. Восходящие фронты cout на отметках 750 нс, 950 нс, 1,15 мкс, 1,35 мкс и 1,55 мкс. На выходе получаем значение Q равное 10010, совпадающие с таковыми в таблице.

Второй код 01 на промежутке 1,8 — 2 мкс. Момент нисходящего фронта cext 1,7 — 1,9 мкс, входные данные data_in XX1010 и code_in 01, активный уровень сигнала rd = 0 на интервае 2 — 2,2 мкс. Восходящие фронты cout на отметках 2,15 мкс, 2,35 мкс, 2,55 мкс, 2,75 мкс и 2,95 мкс. На выходе получаем значение Q равное 01101, совпадающие с таковыми в таблице.

Первый код 10 на промежутке 3,2 — 3,4 мкс. Момент нисходящего фронта cext 3,1 — 3,3 мкс, входные данные data_in 011101 и code_in 10, активный уровень сигнала rd = 0 на интервае от 3,4 — 3,6 мкс. Восходящие фронты cout на отметках 3,55 мкс, 3,75 мкс и 3,95 мкс. На выходе получаем значение Q равное 011, совпадающие с таковыми в таблице.

Второй код 10 на промежутке 4,6 — 4,8 мкс. Момент нисходящего фронта cext 4,5 — 4,7 мкс, входные данные data_in 100101 и code_in 10, активный уровень сигнала rd = 0 на интервае от 4,8 — 5 мкс. Восходящие фронты cout на отметках 4,95 мкс, 5,15 мкс и 5,35 мкс. На выходе получаем значение Q равное 100, совпадающие с таковыми в таблице.

Первый код 11 на промежутке 6 — 6,2 мкс. Момент нисходящего фронта cext 5,9— 6,1 мкс, входные данные data_in 001101 и code_in 11, активный уровень сигнала rd = 0 на интервае от 6,2 — 6,4 мкс. Восходящие фронты cout на отметках 6,35 мкс, 6,55 мкс и 6,75 мкс. На выходе получаем значение Q равное 001, совпадающие с таковыми в таблице.

Второй код 11 на промежутке 7,4 — 7,6 мкс. Момент нисходящего фронта cext 7,4 — 7,6 мкс, входные данные data_in 100001 и code_in 11, активный уровень сигнала rd = 0 на интервае от 7,6 — 7,8 мкс. Восходящие фронты cout на отметках 7,75 мкс, 7,95 мкс и 8,15 мкс. На выходе получаем значение Q равное 110, совпадающие с таковыми в таблице.

Первый код 00 на промежутке 9 — 9,2 мкс. Момент нисходящего фронта cext 8,9— 9,1 мкс, входные данные data_in XXXXXX и code_in 00, активный уровень сигнала rd = 0 на интервае 9,2— 9,4 мкс. Восходящие фронты cout на отметках 9,35 мкс, 9,55 мкс, 9,75 мкс, 9,95 мкс и 10,15 мкс. На выходе получаем значение Q равное 11100, совпадающие с таковыми в таблице.

Следующая команда – это сброс rst на промежутке 10,4 — 10,6 мкс. Входных и выходных данных нет.

Второй код 00 на промежутке 10,8 — 11 мкс. Момент нисходящего фронта cext 10,7— 10,9 мкс, входные данные data_in XXXXXX и code_in 00, активный уровень сигнала rd = 0 на интервае 11— 11,2 мкс. Восходящие фронты cout на отметках 11,15 мкс, 11,35 мкс, 11,55 мкс, 11,75 мкс и 11,95 мкс. На выходе получаем значение Q равное 10000, совпадающие с таковыми в таблице.

Соседние файлы в папке ЛР4