помощью. 2-х позиционных переключателей. Для отображения знака числа, в случае отрицательного результата, использовать средний сегмент (сегмент g) третьего 7- сегментного индикатора. Результат вывести на 7-сегментный индикатор.
5.4. Требования к отчету по лабораторной работе
Отчет должен содержать следующую информацию по лабораторной работе:
название работы, цель и задание, согласно варианту;
код описания модели цифрового устройства.
56
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Методические указания к выполнению лабораторных работ по дисциплине «Автоматизированное проектирование вычислительных систем» для студентов специальности 230101 «Вычислительные машины, комплексы, системы и сети» очной и ускоренной форм обучения / ГОУВПО «Воронежский государственный технический университет»; сост. В. Ф. Барабанов, И. Н. Дырда, Д. Ю. Скляднев. Воронеж, 2009. 49 с.
2.Методические указания к выполнению лабораторных работ «Основы проектирования цифровых устройств на языках VHDL и Verilog» по дисциплине «Основы автоматизированного проектирования электронных наноматериалов и 3d изделий микроэлектронной техники» / ГОУВПО «Воронежский государственный технический университет»; сост. В.Ф. Барабанов, С.Л. Подвальный, В.В. Сафронов.
Воронеж, 2010. 113 с.
3.Spartan-3 FPGA Starter Kit Board User Guide( UG130 (v1.2) June 20, 2008).
4.Digital Design and Computer Architecture 2nd Edition / David Money Harris & Sarah L. Harris, July 2012, 712 с.
57
ПРИЛОЖЕНИЕ 1
Пример выполнения задания лабораторной работы 1
Разработать модель цифровой схемы
Код модели на языке Verilog HDL: `timescale 1ns / 1ps
module top(input x, input y, input z, input c, output res );
assign res = (x & y) ^ (y | z) ^ c;
endmodule
Код тестовой оболочки на языке Verilog HDL: `timescale 1ns / 1ps
module source_laba1; reg [3:0] data; wire res;
top uut (.x( data[3] ), .y(data [2] ), .z(data [1] ), .c(data [0] ), .res( res ));
integer i;
initial begin
data = 0;
for (i = 0; i <= 15; i=i+1) begin
#10 data = data + 1;
58
end
end endmodule
Результат моделирования:
Код модели на языке VHDL:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
entity code_lab1 is
Port ( x : in STD_LOGIC; y : in STD_LOGIC; z : in STD_LOGIC; c : in STD_LOGIC; res : out STD_LOGIC); end code_lab1;
architecture Behavioral of code_lab1 is begin
res <= (x and y ) xor ( y or z) xor c; end Behavioral;
Код тестовой оболочки на языке VHDL: LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY tb1 IS
END tb1;
ARCHITECTURE behavior OF tb1 IS
59
COMPONENT code_lab1 PORT(
x : IN std_logic; y : IN std_logic; z : IN std_logic; c : IN std_logic;
res : OUT std_logic );
END COMPONENT;
signal x : std_logic := '0'; signal y : std_logic := '0'; signal z : std_logic := '0'; signal c : std_logic := '0'; signal res : std_logic;
constant clock_period : time := 10 ns;
BEGIN
uut: code_lab1 PORT MAP ( x => x,
y => y, z => z, c => c,
res => res );
stim_proc: process begin
x <= '0'; y <= '0'; z <= '0'; c <= '0'; wait for 20 ns; x <= '0'; y <= '0'; z <= '1'; c <= '0'; wait for 20 ns; x <= '0'; y <= '0'; z <= '0'; c <= '1'; wait for 20 ns; x <= '0'; y <= '0'; z <= '1'; c <= '1'; wait for 20 ns; x <= '0'; y <= '1'; z <= '0'; c <= '0'; wait for 20 ns; x <= '0'; y <= '1'; z <= '0'; c <= '1'; wait for 20 ns;
60