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

СхТ_ЛР_3_Цуканова_0363

.docx
Скачиваний:
0
Добавлен:
03.02.2024
Размер:
80.23 Кб
Скачать

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ 

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ 

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) 

Кафедра САПР 

 

 

 

 

 

 

 

ОТЧЕТ 

по лабораторной работе №3

по дисциплине «Схемотехника» 

Тема: Шифратор и дешифратор

 

Студент гр. 0363

__________________________

Цуканова П.А.

Преподаватель 

__________________________

Фахми Ш. С.

  

Санкт-Петербург 

2021

ЛАБОРАТОРНАЯ РАБОТА 3. ШИФРАТОР И ДЕШИФРАТОР

  1. Цель работы

Спроектировать в среде разработки шифратор и дешифратор, проверить их работоспособность.

  1. Техническое задание

Шифратор — логическая схема, имеющая входов и n выходов . Если на -ый вход подать 1, а на остальные входы — 0, то выходы будут кодировать число i.

Рисунок 1 - Схема шифратора

Дешифратор — логическая схема, имеющая n входов и выходов . На все выходы подаётся 0, кроме выхода , на который подаётся 1, где — число, которое закодировано входами .

Рисунок 2 - Схема дешифратора

  1. Теоретическая подготовка

Принцип работы шифратора заключается в том, что выходы кодируют один из входов в двоичной системе счисления. Очевидно, что если подать на несколько входов значение 1, то такая схема будет работать некорректно. В качестве примера рассмотрим шифратор 4-to-2. Если , то , если же , то и . Остальные случаи разбираются аналогичным образом.

Суть дешифратора заключается в том, что с помощью n входов s0, s1, …, sn−1 можно задавать выход, на который будет подаваться 1. Для того, чтобы лучше понять, как работает дешифратор, рассмотрим в качестве примера дешифратор 2-to-4 (это значит, что у этого дешифратора есть два входа s0 и s1 и четыре выхода z0, z1, z2 и z3). Если s0=s1=0, то на выходе z0 будет значение 1, на остальных выходах будет 0. Если же s0=1, s1=0, то на выходе z1 будет 1, на остальных выходах будут 0. Если s0=0, s1=1, то на выходе z2 будет 1, а на остальных входах будет 0. Если же s0=s1=1, то на выходе z3 будет 1, а на других — 0.

  1. Код программы:

Шифратор:

`timescale 1ns / 1ps

module encoder(a, sel);

input wire[7:0]a;

output reg[2:0]sel;

always @(a)

begin

case(a)

8'b00000001: sel=3'b000;

8'b00000010: sel=3'b001;

8'b00000100: sel=3'b010;

8'b00001000: sel=3'b011;

8'b00010000: sel=3'b100;

8'b00100000: sel=3'b101;

8'b01000000: sel=3'b110;

8'b10000000: sel=3'b111;

default: sel=3'b000;

endcase

end

endmodule

Дешифратор:

`timescale 1ns / 1ps

module decoder(a, sel);

input wire[2:0]a;

output reg[7:0]sel;

always @(a)

begin

case(a)

3'b000: sel=8'b00000001;

3'b001: sel=8'b00000010;

3'b010: sel=8'b00000100;

3'b011: sel=8'b00001000;

3'b100: sel=8'b00010000;

3'b101: sel=8'b00100000;

3'b110: sel=8'b01000000;

3'b111: sel=8'b10000000;

endcase

end

endmodule

  1. Временная диаграмма реализации схемы

Шифратор:

Дешифратор:

  1. Вывод

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