Разработка функциональных узлов ЭВМ

Автор работы: Пользователь скрыл имя, 18 Января 2013 в 05:18, курсовая работа

Краткое описание

Исходные данные к проекту: Спроектировать 12-и разрядный сдвиговый регистр с возможностью или последовательной загрузки или параллельной загрузки через 4х контактный разъем за 12 и 3 такта соответственно. Организовать возможность поразрядного сдвига уже загруженной информации вправо. Организовать 4 режима индикации: Загрузка, сдвиг, ошибка, индикация состояния регистра.

Содержание

Алгоритм работы устройства 3
Введение 4
Анализ задачи 7
Перечень выбранных электронных компонентов 8
Синтез
Синтез логических функций для ПЗУ 15
Синтез КС 19
Моделирование
Структурное моделирование устройства 21
Поведенческое моделирование 21
Временные диаграммы
Временные диаграммы структурного описания 31
Временные диаграммы поведенческого описания 35
Анализ Временных задержек 40
Заключение 41
Библиографический список 42

Вложенные файлы: 1 файл

Курсач.docx

— 1.11 Мб (Скачать файл)


     

Для реализации на логических элементах потребуется как минимум 2 микросхемы К155ЛА1, одна К155ЛА3 и одна К155ЛЕ3.

 

 

 

 

000

001

011

010

110

111

101

100

00

0

1

1

0

0

1

1

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


 

     

Для реализации на логических элементах потребуется как минимум  1 микросхемы К155ЛА1 и одна К155ЛЕ3.

 

 

 

 

 


 

000

001

011

010

110

111

101

100

00

0

1

1

1

0

1

0

0

01

0

0

0

0

0

0

1

0

11

X

X

X

X

X

X

X

X

10

0

0

X

1

X

X

X

X


 

     

Для реализации на логических элементах потребуется как минимум 2 микросхемы К155ЛА1, одна К155ЛА3 и одна К155ЛЕ3.

 

 

 

000

001

011

010

110

111

101

100

00

1

1

0

0

0

1

0

0

01

0

0

0

0

0

0

0

1

11

X

X

X

X

X

X

X

X

10

1

0

X

0

X

X

X

X


 

      

Для реализации на логических элементах потребуется как минимум 2 микросхемы К155ЛА1 и одна К155ЛЕ3.


Изм.

Лист

№ докум.

Подпись

Дата

Лист

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);

Информация о работе Разработка функциональных узлов ЭВМ