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

2 Семестр / Отчеты / 17 варик / ЭИС лаб 8данные_удалены

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

Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронновычислительных систем (КИБЭВС)

РАЗРАБОТКА ВЫЧИСЛИТЕЛЬНОГО БЛОКА

Отчет по лабораторной работе №8

по дисциплине «Электроника и схемотехника» вариант № 17

Студент гр.

Руководитель

Томск 2022

Введение

Цель работы – овладеть навыками совместного применения устройств

средней степени интеграции.

В ходе данной лабораторной работы требуется выполнить следующие

задачи:

1.Разработать обобщённую функциональную схему устройства и описать составные части схемы.

2.Составить таблицы функционирования операционного блока.

Логическая операция:

А ∩ B

Арифметическая операция:

А+В+1

3.Организовать приём и выдачу данных согласно варианту для выполнения 4-х операций, используя встроенные блоки регистров и счётчиков.

4.Создать схему реализации вычислительного блока, выполняющего заданные операции и осуществляющего приём входных данных и выдачу результата согласно варианту.

5.Составить план моделирования. Использовать для каждой операции по два различных набора данных.

6.Промоделировать работу схемы в двух режимах работы и сравнить результаты моделирования с составленным планом моделирования.

7.Используя заданный вариантом HDL, описать и промоделировать то же устройство.

Вариант HDL: SV.

2

1 ВЫЧИСЛИТЕЛЬ ФУНКЦИИ

1.1 Обобщённая функциональная схема

На рисунке 1.1.1 предоставлена обобщенная функциональная схема.

Рисунок 1.1.1 – Обобщённая функциональная схема

Устройство на вход получает параллельный код, после чего передает его в операционный блок. В операционном блоке выполняются требуемые по варианту задачи и их результаты переходят в выходной блок. В выходном блоке полученный код формируется в последовательный и выводится в зависимости от кода операции Z.

3

1.2Таблица истинности

Втаблице 1.2.1 представлена таблица истинности для декодирования устройства 4b5b-кода в двоичное число.

Таблица 1.2.1 – Декодирование 4b5b в двоичное число

Декодирование 4b5b-кода в двоичное число

 

 

Входы

 

 

 

 

Выходы

 

 

D5

D4

D3

D2

D1

D0

Q4

Q3

Q2

Q1

Q0

 

 

 

 

 

 

 

 

 

 

 

X

0

0

0

0

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

0

0

0

1

1

0

0

0

0

X

0

0

0

1

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

0

0

1

1

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

0

1

0

0

1

0

0

0

0

X

0

0

1

0

1

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

0

1

1

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

0

1

1

1

1

0

0

0

0

X

0

1

0

0

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

1

0

0

1

0

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

X

0

1

0

1

0

0

0

1

0

0

X

0

1

0

1

1

0

0

1

0

1

 

 

 

 

 

 

 

 

 

 

 

X

0

1

1

0

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

0

1

1

0

1

1

0

0

0

0

X

0

1

1

1

0

0

0

1

1

0

 

 

 

 

 

 

 

 

 

 

 

X

0

1

1

1

1

0

0

1

1

1

 

 

 

 

 

 

 

 

 

 

 

X

1

0

0

0

0

1

0

0

0

0

X

1

0

0

0

1

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

1

0

0

1

0

0

1

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

1

0

0

1

1

0

1

0

0

1

X

1

0

1

0

0

0

0

0

1

0

 

 

 

 

 

 

 

 

 

 

 

X

1

0

1

0

1

0

0

0

1

1

 

 

 

 

 

 

 

 

 

 

 

X

1

0

1

1

0

0

1

0

1

0

X

1

0

1

1

1

0

1

0

1

1

 

 

 

 

 

 

 

 

 

 

 

X

1

1

0

0

0

1

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

1

1

0

0

1

1

0

0

0

0

X

1

1

0

1

0

0

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

X

1

1

0

1

1

0

1

1

0

1

 

 

 

 

 

 

 

 

 

 

 

X

1

1

1

0

0

0

1

1

1

0

X

1

1

1

0

1

0

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

X

1

1

1

1

0

0

0

0

0

0

 

 

 

 

 

 

 

 

 

 

 

X

1

1

1

1

1

1

0

0

0

0

4

В таблице 1.2.2 представлена таблица истинности для логической

операции А и (НЕ В).

Таблица 1.2.2 – Таблица истинности для логической операции

A И (НЕ В)

 

 

Входы

 

 

 

 

 

 

 

 

 

 

 

 

Выходы

 

 

D5

D4

D3

D2

D1

D0

 

Q4

 

 

Q3

Q2

Q1

Q0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

X

X

0

0

0

0

 

 

0

 

 

0

 

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

X

b0

0

0

1

0

 

 

0

 

 

 

 

 

-

-

 

 

 

 

 

b0

X

b1

X

0

1

0

0

 

 

 

 

 

 

 

0

 

-

-

 

 

 

 

b1

 

X

b3

b2

0

1

1

0

 

 

 

 

 

 

 

 

 

 

-

-

 

 

 

 

b3

 

b2

b4

X

X

1

0

0

 

 

 

 

 

0

 

 

0

 

-

-

 

 

b4

 

 

 

 

b6

X

b5

1

0

1

 

 

 

 

 

0

 

 

 

 

 

-

-

 

 

b6

 

 

 

 

b5

b8

b7

X

1

1

0

 

 

 

 

 

 

 

 

 

 

0

 

-

-

 

 

b8

 

 

 

b7

 

b11

b10

b9

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

-

-

 

b11

 

 

b10

 

b9

0

0

0

a2

a1

a0

 

 

a2

 

 

 

a1

 

a0

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

a4

a3

X

 

 

a4

 

 

 

a3

0

 

-

-

0

1

0

a6

X

a5

 

 

a6

 

0

 

 

 

a5

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

a7

X

X

 

 

a7

 

0

 

 

0

 

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

X

a9

a8

0

 

 

 

 

a9

 

a8

-

-

1

0

1

X

a10

X

0

 

 

 

a10

0

 

-

-

1

1

0

X

X

a11

0

 

 

0

 

 

a11

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

X

X

X

0

 

 

0

 

 

0

 

-

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В таблице 1.2.3 представлена таблица истинности для арифметической

операции А+В+1.

Таблица 1.2.3 – Таблица истинности для арифметической операции

A+B+1

 

 

Входы

 

 

 

 

Выходы

 

 

D5

D4

D3

D2

D1

D0

Q4

Q3

 

Q2

 

Q1

Q0

0

0

0

0

0

0

0

0

 

0

 

1

-

0

0

0

0

0

1

0

0

 

1

 

0

-

0

0

0

0

1

0

0

0

 

1

 

1

-

0

0

0

0

1

1

0

1

 

0

 

0

-

0

0

0

1

0

0

0

1

 

0

 

1

-

0

0

0

1

0

1

0

1

 

1

 

0

-

0

0

0

1

1

0

0

1

 

1

 

1

-

0

0

0

1

1

1

1

0

 

0

 

0

-

0

0

1

0

0

0

0

0

 

1

 

0

-

0

0

1

0

0

1

0

0

 

1

 

1

-

0

0

1

0

1

0

0

1

 

0

 

0

-

0

0

1

0

1

1

0

1

 

0

 

1

-

 

 

 

 

 

5

 

 

 

 

 

 

 

D5

D4

D3

D2

D1

D0

Q4

Q3

Q2

Q1

Q0

0

0

1

1

0

0

0

1

1

0

-

0

0

1

1

0

1

0

1

1

1

-

0

0

1

1

1

0

1

0

0

0

-

0

0

1

1

1

1

1

0

0

1

-

0

1

0

0

0

0

0

0

1

1

-

0

1

0

0

0

1

0

1

0

0

-

0

1

0

0

1

0

0

1

0

1

-

0

1

0

0

1

1

0

1

1

0

-

0

1

0

1

0

0

0

1

1

1

-

0

1

0

1

0

1

1

0

0

0

-

0

1

0

1

1

0

1

0

0

1

-

0

1

0

1

1

1

1

0

1

0

-

0

1

1

0

0

0

0

1

0

0

-

0

1

1

0

0

1

0

1

0

1

-

0

1

1

0

1

0

0

1

1

0

-

0

1

1

0

1

1

0

1

1

1

-

0

1

1

1

0

0

1

0

0

0

-

0

1

1

1

0

1

1

0

0

1

-

0

1

1

1

1

0

1

0

1

0

-

0

1

1

1

1

1

1

0

1

1

-

1

0

0

0

0

0

0

1

0

1

-

1

0

0

0

0

1

0

1

1

0

-

1

0

0

0

1

0

0

1

1

1

-

1

0

0

0

1

1

1

0

0

0

-

1

0

0

1

0

0

1

0

0

1

-

1

0

0

1

0

1

1

0

1

0

-

1

0

0

1

1

0

1

0

1

1

-

1

0

0

1

1

1

1

1

0

0

-

1

0

1

0

0

0

0

1

1

0

-

1

0

1

0

0

1

0

1

1

1

-

1

0

1

0

1

0

1

0

0

0

-

1

0

1

0

1

1

1

0

0

1

-

1

0

1

1

0

0

1

0

1

0

-

1

0

1

1

0

1

1

0

1

1

-

1

0

1

1

1

0

1

1

0

0

-

1

0

1

1

1

1

1

1

0

1

-

1

1

0

0

0

0

0

1

1

1

-

1

1

0

0

0

1

1

0

0

0

-

1

1

0

0

1

0

1

0

0

1

-

1

1

0

0

1

1

1

0

1

0

-

1

1

0

1

0

0

1

0

1

1

-

 

 

 

 

 

6

 

 

 

 

 

D5

D4

D3

D2

D1

D0

Q4

Q3

Q2

Q1

Q0

1

1

0

1

0

1

1

1

0

0

-

1

1

0

1

1

0

1

1

0

1

-

1

1

0

1

1

1

1

1

1

0

-

1

1

1

0

0

0

1

0

0

0

-

1

1

1

0

0

1

1

0

0

1

-

1

1

1

0

1

0

1

0

1

0

-

1

1

1

0

1

1

1

0

1

1

-

1

1

1

1

0

0

1

1

0

0

-

1

1

1

1

0

1

1

1

0

1

-

1

1

1

1

1

0

1

1

1

0

-

1

1

1

1

1

1

1

1

1

1

-

1.3 Функциональная схема

На рисунке 1.3.1 представлено изображение для функциональной схемы из CАПР Quartus2.

Рисунок 1.3.1 – Функциональная схема На рисунке 1.3.2 представлен входной блок схемы. В регистры по

убывающему фронту внешнего синхросигнала С_ext сохраняются входные данные, данные для выполнения операции и код операции.

7

Рисунок 1.3.2 – Входной блок совместно со счётчиком На рисунке 1.3.3 представлен операционный блок. С помощью

дешифратора и функций ИЛИ выполнена задача. При помощи элементов

AND и NOT выполнена логическая операция. Элемент add_sub0 выполняет арифметическую операцию, а lpm_mux0 определяет, какой ответ нужно подать на выходной блок.

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

8

На рисунке 1.3.4 представлен выходной блок. При подачи сигнала Read,

формируется выход C_out. Мультиплексор выбирает какая из функций будет выводится.

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

1.4Моделирование

Втаблице 1.4.1 представлен план моделирования. Таблица 1.4.1 – План моделирования

План

 

 

 

 

Входы

 

 

 

 

 

 

Выходы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сигнал

Сбро

 

Код

 

 

Данные

 

 

 

 

 

 

 

 

с

операции

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

Z

 

Z0

D

D

D

D

D

D

Q

Q

 

Q

Q

Q

 

 

1

 

 

5

4

3

2

1

0

4

3

 

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

X

1

0

0

0

1

1

0

 

0

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

1

X

0

1

1

1

1

0

0

 

1

1

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

0

0

1

1

1

1

0

1

0

 

0

-

-

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

0

0

0

0

0

1

0

0

1

 

0

-

-

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1

0

0

0

1

1

0

0

1

 

1

1

-

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

1

1

1

0

1

1

0

1

1

 

0

1

-

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

X

X

X

X

X

X

0

0

 

1

1

1

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

X

 

X

X

X

X

X

X

X

0

0

 

0

0

0

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

 

0

X

X

X

X

X

X

0

0

 

0

0

1

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

На рисунке 1.4.1 и 1.4.2 представлены результаты моделирования в двух режимах.

В промежутке 430-3200нс промоделирована работа первого сигнала,

3400-6200нс промоделирована работа второго сигнала, 6400-8200нс промоделирована работа третьего сигнала, 8400-10200 моделирование работы четвёртого сигнала, 10400-13200нс промоделирована работа пятого сигнала,

13500-16200нс промоделирована работа шестого сигнала, 16300-19200нс промоделирована работа седьмого сигнала, 19400-20200 восьмого сигнала,

20400-22800 девятого сигнала.

Рисунок 1.4.1 – Результат моделирования в режиме Timing

Рисунок 1.4.2 – Результат моделирования в режиме Functional

Результаты моделирования совпадают с планом моделирования, представленном в таблице 1.4.1.

1.5 Описание программы

Ниже приведен листинг кода, на языке описания аппаратуры SV.

module SVlabor8 (

input logic C_ext, C_int, R, Read, input logic [1:0] Z,

input logic [5:0] D, output logic Q, C_out);

10