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

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

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

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

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

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

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

ШИФРАТОРЫ И ДЕШИФРАТОРЫ

Отчет по лабораторной работе №2 по дисциплине «Электроника и схемотехника 2»

Вариант №19

Студент гр.

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

Томск 2022

Введение

Цель работы – научиться создавать шифраторы и дешифраторы на разных базисах и решать задачу увеличения их размерности.

Постановка задачи:

1.Составьте таблицу истинности для схем, заданных согласно варианту. Написать формулы для всех выходов в СДНФ или СКНФ и привести формулы к требуемому базису согласно варианту.

2.Собрать схему на холстах .bdf согласно полученным формулам и создать символ для полученного блока.

3.Создать схему устройства согласно варианту большей размерности на основе созданного ранее символа.

4.Промоделировать работу всех схем в двух режимах.

5. Повторить пп. 2-4, только для описания устройств вместо схем на холстах .bdf использовать заданный вариантом HDL.

Задание по варианту:

Шифратор CD: 8-3; И, ИЛИ, НЕ; 16-4. Дешифратор DC: 2-4; ИЛИ-НЕ; 3-8. HPRI: 10-4; И-НЕ; -.

HDL - SystemVerilog

2

1.ШИФРАТОР 8-3

1.1ТАБЛИЦА ИСТИННОСТИ

Шифраторы предназначены для преобразования кода «1 из N» в двоичный. При подаче на один (обязательно на один, и не более) из входов шифратора на его выходе формируется двоичный код номера возбужденной входной линии. Полный двоичный шифратор имеет 2 входов и выходов.

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

Также на вход подается сигнал EI, который разрешает работу данного шифратора.

Таблица 1.1 отражает таблицу истинности для шифратора 8-3. Таблица 1.1 – Таблица истинности шифратора 8-3.

 

 

 

 

Входы

 

 

 

 

 

Выходы

 

E

 

 

 

x

 

 

 

 

 

a

 

G

 

7

6

5

4

 

3

2

1

0

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

0

 

0

0

0

0

1

1

1

1

1

0

1

0

0

 

0

0

0

0

1

1

0

1

1

0

0

1

0

 

0

0

0

0

1

0

1

1

1

0

0

0

1

 

0

0

0

0

1

0

0

1

1

0

0

0

0

 

1

0

0

0

0

1

1

1

1

0

0

0

0

 

0

1

0

0

0

1

0

1

1

0

0

0

0

 

0

0

1

0

0

0

1

1

1

0

0

0

0

 

0

0

0

1

0

0

0

1

1

0

0

0

0

 

0

0

0

0

0

0

0

0

0

x

x

x

x

 

x

x

x

x

0

0

0

0

1.2 ФОРМУЛА

По таблице истинности 1.1 составим формулы для трех выходов и

сигнала G в виде СДНФ:

 

 

 

 

 

 

 

 

 

 

 

 

0

= ((

7

̅̅̅

̅̅̅

̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅)

 

 

 

6

 

5

 

4

3

2

1

0

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

5

 

7

 

6

4

3

2

1

0

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

3

 

7

 

6

5

4

2

1

0

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅)

 

 

 

 

1

 

7

 

6

5

4

3

2

0

 

 

= ((

 

̅̅̅

̅̅̅

̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅)

1

7

 

6

 

5

 

4

3

2

1

0

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

6

 

7

 

5

4

3

2

1

0

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

3

 

7

 

6

5

4

2

1

0

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

2

 

7

 

6

5

4

3

1

0

3

 

2

= ((

7

̅̅̅

̅̅̅

̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅)

 

 

 

 

6

 

5

 

4

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

6

 

7

 

5

4

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

5

 

7

 

6

4

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

4

 

7

 

6

5

3

2

1

0

 

= ((

 

̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅ ̅̅̅)

 

 

 

7

 

 

6

 

5

 

4

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

6

 

7

 

5

4

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

5

 

7

 

6

4

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

4

 

7

 

6

5

3

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

3

 

7

 

6

5

4

2

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅ ̅̅̅)

 

 

 

 

 

2

 

7

 

6

5

4

3

1

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅

)

 

 

 

 

 

1

 

7

 

6

5

4

3

2

0

 

 

 

 

 

(

 

̅̅̅

 

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅

̅̅̅

)

 

 

 

 

 

0

 

7

 

6

5

4

3

2

1

 

В формулах присутствует только базисные элементы, заданные варианту: И, ИЛИ, НЕ.

1.3 ФУНКЦИОНАЛЬНАЯ СХЕМА

На рисунках 1.1-1.2 представлена функциональная схема шифратора 8-3.

Рисунок 1.1 – Функциональная схема шифратора 8-3

4

Рисунок 1.2 – Функциональная схема шифратора 8-3 На рисунке 1.1 указаны входы и выходы, описанные в пункте 1.1.

Логические элементы И, ИЛИ, НЕ присутствуют на обоих рисунках 1.1 и 1.2.

1.4 РЕЗУЛЬТАТ МОДЕЛИРОВАНИЯ СХЕМЫ

На рисунке 1.3 представлено моделирование шифратора 8-3 в режиме

Timing.

Рисунок 1.3 – Моделирование в режиме Timing

На рисунке 1.4 представлено моделирование шифратора 8-3 в режиме

Functional.

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

Помимо основных состояниях, при которых шифратор работает правильно, были проверены состояния, при которых сигнал должен сигнализировать о том, что на вход подан не унитарный код.

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

5

1.5 ОПИСАНИЕ С ПОМОЩЬЮ HDL

По варианту используется SystemVerilog.

Ниже приведен код описывающий устройство шифратора 8-3: module CD8_3 (

input logic [7:0] x, input logic EI, output logic [2:0]a, output logic G

);

always_comb begin G = 1'b1;

if (EI) case(x)

8'b10000000: a = 3'b111; 8'b01000000: a = 3'b110; 8'b00100000: a = 3'b101; 8'b00010000: a = 3'b100; 8'b00001000: a = 3'b011; 8'b00000100: a = 3'b010; 8'b00000010: a = 3'b001; 8'b00000001: a = 3'b000; default: begin

a = 3'b000; G = 0;

end endcase

else begin

a = 3'b000; G = 0;

end end

endmodule

На рисунке 1.5 представлена схема из RTL Viewer для кода выше.

6

Рисунок 1.5 – RTL Viewer представление

На рисунке 1.6 представлено моделирование в режиме Timing.

Рисунок 1.6 – Моделирование в режиме Timing

На рисунке 1.7 представлено моделирование в режиме Functional.

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

1.6 МАСШТАБИРОВАНИЕ ШИФРАТОРА

По варианту необходимо реализовать работу шифратора 16-4 на основе 8-

3.

Таблица истинности для шифратора 16-4 представлена в таблице 1.2.

7

Таблица 1.2 - Таблица истинности для шифратора 16-4

 

 

 

 

 

 

Входы

 

 

 

 

 

 

 

 

 

 

Выходы

 

EI

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

G

 

15

14

13

13

12

11

10

 

9

8

7

6

5

4

3

2

1

3

2

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

0

0

0

0

 

0

0

0

0

0

0

0

0

0

1

1

 

1

1

1

1

0

1

0

0

0

0

0

 

0

0

0

0

0

0

0

0

0

1

1

 

1

0

1

1

0

0

1

0

0

0

0

 

0

0

0

0

0

0

0

0

0

1

1

 

0

1

1

1

0

0

0

1

0

0

0

 

0

0

0

0

0

0

0

0

0

1

1

 

0

0

1

1

0

0

0

0

1

0

0

 

0

0

0

0

0

0

0

0

0

1

0

 

1

1

1

1

0

0

0

0

0

1

0

 

0

0

0

0

0

0

0

0

0

1

0

 

1

0

1

1

0

0

0

0

0

0

1

 

0

0

0

0

0

0

0

0

0

1

0

 

0

1

1

1

0

0

0

0

0

0

0

 

1

0

0

0

0

0

0

0

0

1

0

 

0

0

1

1

0

0

0

0

0

0

0

 

0

1

0

0

0

0

0

0

0

0

1

 

1

1

1

1

0

0

0

0

0

0

0

 

0

0

1

0

0

0

0

0

0

0

1

 

1

0

1

1

0

0

0

0

0

0

0

 

0

0

0

1

0

0

0

0

0

0

1

 

0

1

1

1

0

0

0

0

0

0

0

 

0

0

0

0

1

0

0

0

0

0

1

 

0

0

1

1

0

0

0

0

0

0

0

 

0

0

0

0

0

1

0

0

0

0

0

 

1

1

1

1

0

0

0

0

0

0

0

 

0

0

0

0

0

0

1

0

0

0

0

 

1

0

1

1

0

0

0

0

0

0

0

 

0

0

0

0

0

0

0

1

0

0

0

 

0

1

1

1

0

0

0

0

0

0

0

 

0

0

0

0

0

0

0

0

1

0

0

 

0

0

1

1

0

0

0

0

0

0

0

 

0

0

0

0

0

0

0

0

0

0

0

 

0

0

0

0

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

x

0

0

0

0

0

В соответствии таблицей истинности на основе шифратора 8-3 была разработана схема шифратора 16-4. Функциональная схема масштабированного шифратора 16-4 приведена на рисунке 1.8

8

Рисунок 1.8 – Функциональная схема шифратора 16-4 На рисунке 1.9 представлено моделирование шифратора 16-4 в режиме

Timing.

Рисунок 1.9 – Моделирование в режиме Timing

На рисунке 1.10 представлено моделирование шифратора 16-4 в режиме

Functional.

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

По результатам моделирования видно, что работа схемы соответствует таблице истинности 1.2.

С помощью SystemVerilog также была описана схема шифратора 16-4 с использованием масштабирования. За основу взят шифратор 8-3, описанный в пункте 1.5.

module CD16_4( input logic [15:0] x, input logic EI,

9

output logic [3:0] a, output logic G

);

logic G1, G2; logic [2:0] cd70; logic [2:0] cd158;

CD8_3 CD1(x[7:0], EI, cd70, G1); CD8_3 CD2(x[15:8], EI, cd158, G2);

assign a[0] = (cd70[0] & G1 | cd158[0] & G2) & (G1 ^ G2); assign a[1] = (cd70[1] & G1 | cd158[1] & G2) & (G1 ^ G2); assign a[2] = (cd70[2] & G1 | cd158[2] & G2) & (G1 ^ G2);

assign a[3] = ~(x[7] | x[6] | x[5] | x[4] | x[3] | x[2] | x[1] | x[0]) & G2;

assign G = a[3] | (G1 & ~(x[15] | x[14] | x[13] | x[12] | x[11] | x[10] | x[9] | x[8]));

endmodule

Результат моделирования шифратора 16-4 описанный с помощью SystemVerilog в режиме Timing представлен на рисунке 1.11.

Рисунок 1.11 – Моделирование в режиме Timing

На рисунке 1.12 представлен результат моделирования в режиме

Functional.

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

По результатам моделирования видно, что работа схемы соответствует таблице истинности 1.2.

На рисунке 1.13 представлена схема из RTL Viewer для кода, описывающего шифратор 16-4

10