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

ЭИС_2_СЕМ / ЛР4 / ЭИС2_Л4

.pdf
Скачиваний:
4
Добавлен:
27.06.2025
Размер:
1.2 Mб
Скачать

3 ВЫЧИСЛИТЕЛЬНЫЙ БЛОК

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

3.1

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

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

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

11

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

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

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

12

Функциональная схема выходного блока представлена на рисунке 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

Окончание табоицы 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

14

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

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

Код 01 — преобразование двоичного числа в 4b5b код; Код 10 — логическая побитовая операция A B;

Код 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 мкс. Восходящие

15

фронты 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, совпадающие с таковыми в таблице.

16

4 ОПИСАНИЕ СХЕМЫ НА HDL

По варианту было определенно, что для работы будет использоваться язык описания SV. Ниже, на рисунках 4.1 – 4.3 представлен код описывающий схему вычислительного блока.

Рисунок 4.1 — Описание на SV

17

Рисунок 4.2 — Описание на SV

18

Рисунок 4.3 — Описание на SV

На строках 1-6 описаны входы и выходы необходимые для описания. На строках 9-15 описаны используемые сигналы.

На строках 22-32 описана работа счетчика сигналов и кодов.

На строках 34-55 описана реализация задачи, логической и арифметической функций, а так же флормирование res.

19

На строках 57-117 описан конечный автомат для получения конечного результата Q и cout.

На рисунках 4.3 – 4.4 представлены результаты моделирования кода в режимах Timing и Functional соответственно.

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

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

На рисунке 4.5 представлена RTL на базе написанного кода.

На рисунке 4.6, 4.7 представлен граф переходов состояний и таблица условий перехода состояний.

20

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