Добавил:
t.me Фулл всегда есть, ФОЭ ТОЭ ТЭЦ Электроника, КЭТ ИиКГ и тд https://t.me/whitedevil752 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lr2

.docx
Скачиваний:
11
Добавлен:
17.06.2024
Размер:
36.93 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Санкт-Петербургский государственный университет телекоммуникаций

им. проф. М. А. Бонч-Бруевича»

___________________________________________________________________________

Кафедра программной инженерии и вычислительной техники.

Дисциплина «Микропроцессорные устройства»

Лабораторная работа № 2

«Исследование функционирования коммутационных КЦУ»

Выполнили: ст. гр.

Проверил: ст.пр. Неелова О.Л.

_____________________

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

2024

Программа 2.1

Мультиплексор

module biba_ms

(input wire d0, d1, d2, d3,

input wire [1:0] adr,

output wire line);

reg out;

assign line=out;

always@*

begin

if(adr==2'b00)

begin

out=d0;

end

else if (adr==2'b01)

begin

out=d1;

end

else if (adr==2'b10)

begin

out=d2;

end

else

begin

out=d3;

end

end

endmodule

Testbench:

`timescale 1ms/100ps

module biba_ms_tb;

reg [1:0] test_in;

reg d0, d1, d2, d3;

wire line;

biba_ms test (.adr(test_in), .d0(d0), .d1(d1), .d2(d2), .d3(d3), .line(line));

initial

begin

test_in=2'd0;

d0=1'b0;

#100;

d0=1'b1;

#100;

test_in=2'd1;

d1=1'b0;

#100;

d1=1'b1;

#100;

test_in=2'd2;

d2=1'b0;

#100;

d2=1'b1;

#100;

test_in=2'd3;

d3=1'b0;

#100;

d3=1'b1;

#100;

$stop;

end

endmodule

Рис.1 Симуляция работы мультиплексора

Программа 2.2

Демультиплексор

module biba_dms

(input wire line,

input wire [1:0] adr,

output wire data0,

output wire data1,

output wire data2,

output wire data3);

assign data0 = (adr== 2'd0)? line : 1'bx;

assign data1 = (adr== 2'd1)? line : 1'bx;

assign data2 = (adr== 2'd2)? line : 1'bx;

assign data3 = (adr== 2'd3)? line : 1'bx;

endmodule

Testbench

`timescale 1ms/100ps

module biba_dms_tb;

logic [1:0] adr;

logic data0, data1, data2, data3;

logic line;

biba_dms test (.adr(adr), .data0(data0), .data1(data1), .data2(data2), .data(data3), .line(line));

initial

begin

adr=2'd0;

line=1'b0;

#100;

line=1'b1;

#100;

adr=2'd1;

line=1'b0;

#100;

line=1'b1;

#100;

adr=2'd2;

line=1'b0;

#100;

line=1'b1;

#100;

adr=2'd3;

line=1'b0;

#100;

line=1'b1;

#100;

$stop;

end

endmodule

Рис.2 Симуляция работы демультиплексора

Соседние файлы в предмете Микропроцессорные устройства