Автор работы: Пользователь скрыл имя, 18 Января 2013 в 05:18, курсовая работа
Исходные данные к проекту: Спроектировать 12-и разрядный сдвиговый регистр с возможностью или последовательной загрузки или параллельной загрузки через 4х контактный разъем за 12 и 3 такта соответственно. Организовать возможность поразрядного сдвига уже загруженной информации вправо. Организовать 4 режима индикации: Загрузка, сдвиг, ошибка, индикация состояния регистра.
Алгоритм работы устройства 3
Введение 4
Анализ задачи 7
Перечень выбранных электронных компонентов 8
Синтез
Синтез логических функций для ПЗУ 15
Синтез КС 19
Моделирование
Структурное моделирование устройства 21
Поведенческое моделирование 21
Временные диаграммы
Временные диаграммы структурного описания 31
Временные диаграммы поведенческого описания 35
Анализ Временных задержек 40
Заключение 41
Библиографический список 42
Для реализации на логических
элементах потребуется как
000 |
001 |
011 |
010 |
110 |
111 |
101 |
100 | |
00 |
1 |
0 |
0 |
1 | ||||
01 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
11 |
X |
X |
X |
X |
X |
X |
X |
X |
10 |
0 |
0 |
X |
0 |
X |
X |
X |
X |
Для реализации на логических
элементах потребуется как
000 |
001 |
011 |
010 |
111 |
101 |
100 | ||
00 |
0 |
1 |
1 |
0 |
1 |
0 |
0 | |
01 |
0 |
0 |
0 |
0 |
0 |
1 |
0 | |
11 |
X |
X |
X |
X |
X |
X |
X | |
10 |
0 |
0 |
1 |
X |
X |
X |
Для реализации на логических
элементах потребуется как
000 |
001 |
011 |
010 |
111 |
101 |
100 | ||
00 |
1 |
0 |
0 |
0 |
1 |
0 |
0 | |
01 |
0 |
0 |
0 |
0 |
0 |
0 |
1 | |
X |
X |
X |
X |
X |
X |
X |
||
10 |
1 |
0 |
X |
0 |
X |
X |
X |
Для реализации на логических
элементах потребуется как
Изм.
Лист
№ докум.
Подпись
Дата
Лист
18
Анисимов А. В. КП. ВМ-91.090700505
Получен набор логических функций, которые слишком затратно реализовывать на логических элементах, как из соображения аппаратных затрат так и из предполагаемой сложности монтажа. Данные логические выражения целесообразно реализовывать на ПЗУ К155РЕ3. Синтезированные выражения можно использовать при поведенческом моделировании на языке описания электронной аппаратуры VHDL.
Состоянию «Загрузка» соответствует индикациИзм.
Лист
№ докум.
Подпись
Дата
Лист
19
Анисимов А. В. КП. ВМ-91.090700505
я LOA, состоянию «Сдвиг» соответствует индикация SHF, состоянию «Ошибка» соответствует индикация Err.
Синтез КС:
В данном устройстве для реализации потребуется 2 КС: одна для правильного режима сдвига, одна для правильного выбора режимов устройства.
Рис. 12. КС реализующая режим сдвига
На рисунке 12 показана КС, с помощью которой, регистр переходит в состояние сдвига записанного в него значения от младших разрядов к старшим т.е. влево. При приходе сигнала «Разрешение Сдвига» режим регистра выбирается только как последовательный, а на вход подается только логический ноль. Подающиеся значения на входы «Выбор Режима» и «Последовательный Вход» при этом игнорируются. При отсутствии логической единицы на входе «Разрешение Сдвига» режим и входное значение устанавливаются произвольно.
Рис. 13. КС осуществляющая выбор режимов работы
Изм.
Лист
№ докум.
Подпись
Дата
Лист
20
Анисимов А. В. КП. ВМ-91.090700505
На рисунке 13 показана КС выбора режимов работы. В данном случае выходы А0 и А1подключаются к управляющим входам мультиплексора. Переключения происходят в случае: Прихода сигнала «Разрешение Сдвига», наличия сигнала «Разрешение Сдвига» и отсутствия логических единиц во всех разрядах регистра, в случае прихода сигнала «Разрешение Индикации» и отсутствия сигнала «Разрешение Сдвига», в случае наличия сигнала «Разрешение Сдвига» и появления логической единицы в старшем разряде счетчика-делителя по модулю 12, синхронно со спадом синхроимпульса.
Таким образом, с помощью данной КС, мультиплексор передает на дешифратор семисегментного дисплея одно из четырех значений, имеющихся на его входах.
Структурное моделирование работы устройства:
САПР maxplus2 ALTERA позволят проводить три типа моделирования: структурное(с помощью графических примитивов из соответствующих библиотек), поведенческое на языках описания электронной аппаратуры AHDL, VHDL, VERILOG и описание работы устройства с помощью временных диаграмм. Результат структурного моделирования представлен в приложении А, результаты описания устройства на языке VHDL и соответственные временные диаграммы работы представлены далее в пояснительной записке.
Поведенческое моделирование:
Листинг регистра SN7495.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--К155ИР1
entity SN7495 is
Port ( SI : in STD_LOGIC;
PE : in STD_LOGIC;
C : in STD_LOGIC_VECTOR(1 downto 0)
D : in STD_LOGIC_VECTOR(3 downto 0);
Q : out STD_LOGIИзм.
Лист
№ докум.
Подпись
Дата
Лист
21
Анисимов А. В. КП. ВМ-91.090700505
C_VECTOR(3 downto 0) );
end SN7495;
architecture Behavioral of SN7495 is
signal Qn : STD_LOGIC_VECTOR(3 downto 0);
begin
process (C,PE)
begin
if (PE = '0' and C(1)'event and C(1) = '0') then
for i in 0 to 2 loop
Qn(i+1) <= Qn(i);
end loop;
Qn(0) <= SI;
elsif (PE='1' and C(0)'event and C(0) = '0') then
Qn <= D;
end if;
end process;
Q <= Qn;
end Behavioral;
Листинг мультиплексора SN74153.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--К831КП2
entity SN74153 is
Port ( A : in STD_LOGIC_VECTOR(1 downto 0);
D_1 : in STD_LOGIC_VECTOR(3 downto 0);
D_0 : in STD_LOGIC_VECTOR(3 downto 0);
TE : in STD_LOGIC;
Q_1 : out STD_LOGIC;
Изм.
Лист
№ докум.
Подпись
Дата
Лист
22
Анисимов А. В. КП. ВМ-91.090700505
Q_0 : out STD_LOGIC ); Изм.
Лист
№ докум.
Подпись
Дата
Лист
23
Анисимов А. В. КП. ВМ-91.090700505
end SN74153;
architecture Behavioral of SN74153 is
begin
process (A,D_1,D_0,TE)
begin
if (TE = '0') then
case A is
when "11" => Q_1 <= D_1(3); Q_0 <= D_0(3);
when "10" => Q_1 <= D_1(2); Q_0 <= D_0(2);
when "01" => Q_1 <= D_1(1); Q_0 <= D_0(1);
when "00" => Q_1 <= D_1(0); Q_0 <= D_0(0);
when others => Q_1 <= D_1(0); Q_0 <= D_0(0);
end case;
else
Q_1 <= '0';
Q_0 <= '0';
end if;
end process;
end Behavioral;
Листинг ПЗУ S8223.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--К514РЕ3
entity S8223 is
Port ( X: in STD_LOGIC_VECTOR (4 downto 0);
PB: in STD_LOGIC;
LED: out STD_LOGIC_VECTOR (7 downto 0) );
end S8223;
architecture Behavioral of S8223 isИзм.
Лист
№ докум.
Подпись
Дата
Лист
24
Анисимов А. В. КП. ВМ-91.090700505
signal Qn : STD_LOGIC_VECTOR(7 downto 0);
-- segment encoinputg
-- 0
-- ---
-- 5 | | 1
-- --- <- 6
-- 4 | | 2
-- ---
-- 3
begin
process (X,PB)
begin
if (PB = '0') then
Qn(6) <= (not X(3) and not X(2) and not X(1) and X(4)) or (not X(3) and X(2) and not X(1) and not X(0)) or (X(3) and not X(2) and X(1) and X(0)) or (X(3) and X(2) and not X(1) and X(0)) or X(4);
Qn(5) <= (not X(3) and X(2) and not X(1) and X(0)) or (X(3) and X(2) and not X(1) and not X(0)) or (X(4) and not X(1) and not X(0)) or (X(3) and X(1) and X(0)) or (X(2) and X(1) and not X(0)) or (X(4) and X(1));
Qn(4) <= (not X(3) and not X(2) and X(1) and not X(0)) or (X(3) and X(2) and not X(1) and not X(0)) or (X(4) and not X(1) and not X(0)) or (X(3) and X(2) and X(1));
Qn(3) <= (not X(3) and not X(2) and not X(1) and X(0)) or (not X(3) and X(2) and not X(1) and not X(0)) or (X(3) and not X(2) and X(1) and not X(0)) or (X(2) and X(1) and X(0)) or (X(4) and X(1));
Qn(2) <= (not X(4) and not X(2) and not X(1) and X(0)) or (not X(4) and not X(3) and X(2) and not X(1)) or (not X(4) and not X(3) and X(0));
Qn(1) <= (not X(3) and X(2) and X(1) and X(0)) or (X(3) and X(2) and not X(1) and X(0)) or (not X(4) and not X(3) and not X(2) and X(0)) or (not X(3) and not X(2) and X(1)) or (X(4) and X(1));
Qn(0) <= (notИзм.
Лист
№ докум.
Подпись
Дата
Лист
25
Анисимов А. В. КП. ВМ-91.090700505
X(3) and X(2) and X(1) and X(0)) or (not X(4) and not X(3) and not X(2) and not X(1)) or (X(3) and X(2) and not X(1) and not X(0)) or (X(4) and not X(1) and not X(0));
else Qn <= "11111111";
end if;
end process;
LED <= Qn;
end Behavioral;
Листинг Счетчика SN7492.vhd
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
--К155ИЕ4
entity SN7492 is
Port ( C : in STD_LOGIC_VECTOR(1 downto 0);