
lr1
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
«Санкт-Петербургский государственный университет телекоммуникаций
им. проф. М. А. Бонч-Бруевича»
___________________________________________________________________________
Кафедра программной инженерии и вычислительной техники.
Дисциплина «Микропроцессорные устройства»
Лабораторная работа № 1
Исследование функционирования КЦУ.
Выполнили: ст. гр.
Проверил: ст.пр. Неелова О.Л.
_____________________
Санкт-Петербург
2024
Программа 1.
Шифратор
module dec
(input wire [2:0]adr,
output wire [7:0]mng);
reg [7:0]y;
assign mng=y;
always @(adr)
begin
case(adr)
3'b000: y=8'b00000001;
3'b001: y=8'b00000010;
3'b010: y=8'b00000100;
3'b011: y=8'b00001000;
3'b100: y=8'b00010000;
3'b101: y=8'b00100000;
3'b110: y=8'b01000000;
3'b111: y=8'b10000000;
endcase
end
endmodule
Testbench
`timescale 1ns/100ps
module dec_tb;
reg [2:0] test_in;
wire [7:0] test_out;
dec test (.adr(test_in), .mng(test_out));
initial
begin
test_in=3'b000;
#200;
test_in=3'b001;
#200;
test_in=3'b010;
#200;
test_in=3'b011;
#200;
test_in=3'b100;
#200;
test_in=3'b101;
#200;
test_in=3'b110;
#200;
test_in=3'b111;
#200;
$stop;
end
endmodule
Рис.1 Симуляция работы шифратора
Программа 1.2
Дешифратор
module cod
(input wire [3:0]mng,
output wire [1:0]adr);
reg [1:0]cd;
assign adr=cd;
always @(mng)
begin
case(mng)
4'b0001: cd=2'b00;
4'b0010: cd=2'b01;
4'b0100: cd=2'b10;
4'b1000: cd=2'b11;
default: cd=2'bzz;
endcase
end
endmodule
Testbench
`timescale 1ps/1ps
module biba_tb ();
reg [3:0] test_in ;
wire [1:0] test_out;
biba test(
.adr(test_out),
.mng(test_in )
);
initial
begin
test_in = 4'b0001;
#200;
test_in = 4'b0010;
#200;
test_in = 4'b0100;
#200;
test_in = 4'b1000;
#200;
test_in = 4'b0000;
#200;
$stop;
end
endmodule
Рис.2 Симуляция работы дешифратора