Розробка структурних Verilog-моделей пристрiй
Автор: Олег Копцев • Январь 9, 2022 • Лабораторная работа • 1,710 Слов (7 Страниц) • 215 Просмотры
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
Кафедра АПОТ
ЗВІТ
з лабораторної роботи №1
“РОЗРОБКА СТРУКТУРНИХ VERILOG-МОДЕЛЕЙ ПРИСТРІЙ”
з курсу «ТПКС»
Варіант 8
Виконав: Перевірила:
ст. гр. КИУКИ–18–4
Харьків 2021
Мета роботи
Навчитися розробляти, тестувати та верифікувати Verilog-моделі стандартних цифрових пристроїв.
Порядок виконання роботи
1) За варіантом завдання записати вентильну Verilog-модель пристрою. Створити проект у edaplayground.com, ввести код структурної моделі пристрою та testbench для її тестування. Кількість вхідних наборів має бути достатньою для тестування пристрою[pic 1]
Посилання на проект: https://www.edaplayground.com/x/H8yp
testbench.sv
`timescale 1 ns / 1 ps
module stimulus;
reg A, B, C, D;
wire Y1, Y0;
chip MOD1 (Y1, Y0, A, B, C, D);
initial
begin
A = 0; B = 0; C = 0; D = 0;
#15 B = 0;
#15 A = 1;
#15 A = 0;
B = 1;
D = 1;
#15 A = 1;
C = 0;
#15 A = 1;
#15 A = 0;
C = 0;
D = 1;
end
initial
begin
$dumpfile("dump.vcd");
$dumpvars;
end
endmodule
design.sv
module chip (output Y1, Y0,
input A, B, C, D);
wire pw1, pw2, pw3, pw4, pw5, pw6, pw7;
not #2 (pw1, A);
not #2 (pw2, C);
not #2 (pw3, D);
and #5 (pw4, pw2, pw3);
nor #4 (pw5, pw1, B);
nor #4 (Y0, pw1, B, pw4);
or #3 (pw6, C, D);
nand #5 (pw7, C, D);
nand #5 (Y1, pw5, pw7, pw6);
endmodule
waveform
[pic 2]
2) Створити новий проект у edaplayground.com. Згідно з варіантом завдання розробити Verilog-модель пристрою рівня передачі даних. Для верифікації отриманої моделі побудувати testbench. Виконати моделювання.
Посилання на проект: https://www.edaplayground.com/x/TwYX
testbrench.sv
`timescale 1 ns / 1 ps
module stimulus;
reg A, B, C, D;
wire Y1, Y0;
chip MOD1 (Y1, Y0, A, B, C, D);
initial
begin
A = 0; B = 0; C = 0; D = 0;
#15 B = 0;
#15 A = 1;
#15 A = 0;
B = 1;
D = 1;
#15 A = 1;
C = 0;
#15 A = 1;
#15 A = 0;
C = 0;
D = 1;
end
initial
begin
$dumpfile("dump.vcd");
...