close

Вход

Забыли?

вход по аккаунту

?

Вера бред

код для вставкиСкачать
Министерство образования и науки Украины
Донецкий Национальный Технический университет
Кафедра АСУ
Отчёт о выполнении лабораторной работы №3
по дисциплине "Языки программирования СКС: VHDL"
на тему: "Проектирование триггерных и регистровых узлов ЦС на базе ЯОА VHDL"
Вариант 10
Работу выполнил:
Ст. гр. КСД-08
Доценко Вера
Принял: Скобцов В.Ю.
Донецк 2010
Цель: спроектировать триггерную и регистровую ЦС на базе ЯОА VHDL.
Задание:
Разработать на языке описания аппаратуры VHDL программу, которая реализует согласно варианту.
1. Триггерную схему в базисе И, ИЛИ, НЕ на основе поведенческого и структурного описания.
2. Регистровую схему на основе структурного описания.
Номер варианта - 10
Тип триггера - RS
Время выполнения - 7 ns
Тип схемы - параллельный регистр
Разрядность - 4 бит
Структурное описание триггерной схемы:
--структурное описание 2-х входового элемента
library IEEE;
use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED. all;
entity gate is generic (delay:time := 7 ns);
port (in1, in2: in std_logic;
out1: out std_logic);
end gate;
architecture gate of gate is
begin
out1 <= not (in1 and in2) after delay;
end gate;
Результаты:
Таблица истинности для 2-хвходового элемента И-НЕ
in1in2Out1001011101110
--структурное описание триггерной схемы
library IEEE;
use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED. all;
entity RS is port (R,S,C: in std_logic;
Q: inout std_logic;
nQ: inout std_logic);
end RS; architecture RS of RS is
component gate
port (in1, in2: in std_logic;
out1: out std_logic);
end component;
signal A, B: std_logic;
begin Gate1: gate
port map (S, C, A);
Gate2: gate
port map (R, C, B);
Gate3: gate
port map (A, nQ, Q);
Gate4: gate
port map (Q, B, nQ);
end RS; Результаты:
Таблица истинности для RS-триггера
CRSQ000Q(t-1)001Q(t-1)010Q(t-1)011Q(t-1)100Q(t-1)10111100111*(неопределённое состояние)Анализ:
На векторной диаграмме показаны основные входы и выходы триггерной схемы:
C - Вход синхронизации триггера
R,S - Входы данных RS-триггера
Q - Прямой выход триггера
nQ - Инверстный выход триггера
Данные временной диаграммы совпадают с данными таблицы истинности. Проведем ручной просчет результатов:
При t=225ns, C=1, R=1, S=0, с учетом задержки в 14 ns, т.к. задержка происходит на каждом элементе при t=239ns Q=0,а с учетом задержки в 21ns, при t=246ns nQ=1.
При t=250ns, C=1, R=0, S=1, с учетом задержки в 14 ns, т.к. задержка происходит на каждом элементе при t=264ns Q=1,а с учетом задержки в 21ns, при t=271ns nQ=0.
При t=100ns, C=0, R=0, S=1, с учетом задержки в 14 ns, т.к. задержка происходит на каждом элементе при t=114ns Q=неопределенное состояние, а с учетом задержки в 21ns, при t=121ns nQ=неопределенное состояние.
Т.к. значения результатов работы программы совпало со значениями таблицы истинности можно сделать вывод, что программа была составлена правильно. Поведенческое описание триггерной схемы:
library IEEE;
use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED. all;
entity RStrig is
generic (delay:time := 7 ns);
port (
RST, CLK, R,S: in std_logic;
Q: out std_logic);
end RStrig;
architecture RStrig of RStrig is
begin
process (RST, CLK, R,S) begin
if (RST'event and RST = '1') Then
Q <= '0' after delay;
elsif CLK = '1' Then
IF S = '1' THEN
Q <= '1' after delay;
ELSIF R = '1' THEN
Q <= '0' after delay;
END IF;
end if;
end process;
end RStrig;
Результаты:
Таблица истинности для RS-триггера (c RST-входом)
RSCLKRSTQ0000Q(t-1)000100010Q(t-1)001100100Q(t-1)01010011011000Q(t-1)1001010100101101100Q(t-1)110101110*1111*Анализ:
На векторной диаграмме показаны основные входы и выходы триггерной схемы:
R,S - Вход данных RS-триггера
RST - Вход сброса (необходим для сброса значения Q)
CLK - Вход синхронизации триггера
Q - Прямой выход триггера
Данные временной диаграммы совпадают с данными таблицы истинности. Проведем ручной просчет результатов:
При t=100ns, RST=_, CLK=_, R=_, S=_, с учетом задержки в 7 ns, при t=107ns Q=1.
При t=160ns, RST=_, CLK=_, R=_, S=_, с учетом задержки в 7 ns, при t=167ns Q=1.
При t=200ns, RST=_, CLK=_, R=_, S=_, с учетом задержки в 7 ns, при t=207ns Q=0.
Т.к. значения результатов работы программы совпало со значениями таблицы истинности можно сделать вывод, что программа была составлена правильно. Структурное описание регистровой схемы:
library IEEE;
use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED. all;
entity reg is generic (delay1: time:=7 ns);
port (Clock,Reset, Vhod: in std_logic;
Vihod: out std_logic);
end reg;
architecture reg of reg is
signal V: std_logic;
begin
process (Clock,Reset, Vhod)
begin
V<=not Vhod;
if (Reset'event and Reset = '1') Then
Vihod <= '0' after delay1;
elsif Clock = '1' Then
If Vhod='1' then
Vihod<='1' after delay1;
else
Vihod<='0' after delay1; end If; end if;
end process;
end architecture reg;
Резкльтаты:
library IEEE;
use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED. all;
entity reg4 is
port(clc, clr, s0, s1, s2, s3: in std_logic;
q0, q1, q2, q3: out std_logic);
end entity reg4;
architecture struct of reg4 is component reg
port (Clock,Reset, Vhod: in std_logic;
Vihod: out std_logic);
end component;
begin
bit0: reg
port map (clc, clr, s0, q0);
bitl: reg
port map (clc, clr, s1, q1);
bit2: reg
port map (clc, clr, s2, q2);
bit3: reg
port map (clc, clr, s3, q3);
end architecture struct;
Результаты:
Анализ:
На векторной диаграмме показаны основные входы и выходы триггерной схемы:
s(i) - Вход данных i-того RS-триггера
clr - Вход сброса (необходим для сброса значения Q)
clc - Вход синхронизации триггера
Q(i) - Прямой выход i-ой ячейки регистра
Вывод: в результате выполнения работы получили навыки создания программ описания триггеров и регистров на основе триггеров, проанализировав результаты убедились в правильной работоспособности программ.
Документ
Категория
Рефераты
Просмотров
12
Размер файла
142 Кб
Теги
бред, вера
1/--страниц
Пожаловаться на содержимое документа