Вы находитесь на странице: 1из 4

Министерство образования и науки Украины

Харьковский национальный университет радиоэлектроники

Кафедра Автоматизация проектирования вычислительной


техники
(повна назва)

Отчет
по лабораторной работе №1
с дисциплины «Технологии проектирования компьютерных систем»
на тему:
«Разработка структурных Verilog-моделей устройств»

Выполнили: Принял:
ст. гр. КИУКИ-16-6 Шевченко О.Ю.
Пасечник Е. Ю.
Волков Д. П.
Костров Д. Р.
Макогон Ю. А.

Харьков 2019
1.1 Цель работы
Научиться разрабатывать, тестировать и верифицировать Verilog-модели
стандартных цифровых устройств.
1.2 Описание лабораторной установки
Для моделирования и тестирования разработанных устройств
используется пакет Active-HDL.
1.3 Порядок выполнения работы
Выбрали вариант схемы для задания 1, 2 и 3 нашего варианта.

Рисунок 1.1 – Схема для задания 1 и 2

Рисунок 1.2 – Схема для задания 3

1. Согласно варианту задания 1 записываем вентильную Verilog-модель


устройства. 
Создаем проект в программе Active-HDL, вводим код структурной
модели устройства. Выполняем компиляцию и моделирование, используя
окно Waveform.
2. Согласно варианту задания 2 разрабатываем Verilog-модель устройства
уровня передачи данных. Для верификации полученной модели строим
testbench, который подает все возможные входные наборы для тестируемой
схемы. Выполняем моделирование с помощью программы Active-HDL.
3. Согласно варианту задания разрабатываем смешанную Verilog-модель.
Выполняем моделирование с помощью программы Active-HDL.
Для начала описываем логику работы схемы сумматора:
module sum_4 (output Sum, Cout,
input In1, In2, Cin);
wire X1,A1,A2;
xor #7 (X1,In1,In2);
or #4 (Cout,A1,A2);
xor #7 (Sum,X1,Cin);
and #4 (A1,In1,In2);
and #4 (A2,X1,Cin);
endmodule

Описываем testbench для сумматора:

`timescale 1ns/1ps
module test;
reg In1, In2, Cin;
wire Sum, Cout;
sum_4 O1(Sum, Cout, In1, In2, Cin);
initial
begin
In1 = 1'b0; In2 = 1'b1; Cin = 1'b0;
#15 $finish;
end
endmodule

После получаем waveform для сумматора:

Рисунок 1.3 – Waveform сумматора

4. Согласно варианту, разрабатываем поведенческую модель счетчика.


Проверяем правильность функционирования с помощью Waveform.
5. Строим модель регистра по заданию 3 с параллельной загрузкой.
Проверяем правильность функционирования с помощью Waveform.

Описываем поведенческую модель регистра:

module sch (output reg Z0, Z1,


input I1,I0);
wire X1,X2,X3,X4,X5,X6;
assign X1 = ~I1;
assign X2 = ~I0;
assign X3 = ~(X1 ^ I0);
assign X4 = I1 ^ I0;
assign X5 = X1 ^ X2;
assign X6 = X4 & X5;

always @(posedge X3, negedge X6)


if(~X6)Z0 = 0;
else Z0 = 1;

always @(posedge X3, negedge X6)


if(~X6)Z1 = 0;
else Z0 = 1;

endmodule

Получаем waveform для регистра.

Рисунок 1.4 – Waveform регистра

1.4 Выводы
В результате выполнения данной лабораторной работы было
разработанно, протестировано и сверифецировано Verilog-модели
цифровых устройств сумматора и регистра. Также были изучены
принципы функционирования языка аппаратуры Verilog в среде Active-
HDL.