Типичные уровни абстракции для цифровой системы. Уровень процессоров - памяти - коммутаторов (ППК), страница 4

A

B

C

0

0

0

0

1

1

1

0

1

1

1

1

Описание микросхемы К555ЛА3 на языке VHDL и эпюры её работы показаны ниже.

library IEEE;

use IEEE.std_logic_1164.all;

entity K555la3 is

port (

A: in STD_LOGIC;

B: in STD_LOGIC;

C: out STD_LOGIC

);

end K555la3;

architecture K555la3 of K555la3 is

begin

process (A,B)

begin

C<=not(A and B) after 15 ns;

end process;

end K555la3;

3.6    Микросхема К555ЛН1

Данная схема реализует логическую функцию

B = not (A )

Таблица истинности выглядит следующим образом:

A

B

0

1

1

0

Текст программы:

library IEEE;

use IEEE.std_logic_1164.all;

entity k555ln1 is

port (

A: in STD_LOGIC;

B: out STD_LOGIC

);

end k555ln1;

architecture k555ln1 of k555ln1 is

begin

process (A)

begin

B<=not A after 15 ns;

end process;

end k555ln1;



3.4 Микросхема D2764A (ППЗУ)

Микросхема D2764A представляет собой ППЗУ с электрической записью и стиранием. Ёмкость её составляет 64 килобита, время выборки – 430 нс. На рис. 14 показана цоколёвка микросхемы.

Рис. 14. Цоколёвка ППЗУ D2764А.

Обозначения входов:

CS – Разрешение обмена;

OE – разрешение выдачи информации;

PR – программирование.

Ввиду того, что исследуемый фрагмент схемы не является полностью функциональным, описывать работу ППЗУ полностью (например, используя  оператор выбора с 213 значениями выбора) нецелесообразно. Для моделирования микросхемы опишем её работу следующими уравнениями:

D(0) = A(0) or A(1) or A(9);

D(1) = A(1) or A(2) or A(10);

D(2) = A(2) or A(3) or A(11);

D(3) = A(3) or A(4) or A(12);

D(4) = A(4) or A(5) or A(9);

D(5) = A(5) or A(6) or A(10);

D(6) = A(6) or A(7) or A(11);

D(7) = A(7) or A(8) or A(12).

Тогда описание работы схемы на языке VHDL будет выглядеть следующим образом:

library IEEE;

use IEEE.std_logic_1164.all;

entity ROM is

port (

A: in STD_LOGIC_VECTOR (12 downto 0);

CS: in STD_LOGIC;

EO: in STD_LOGIC;

PR: in STD_LOGIC;

U_pe: in STD_LOGIC;

D: out STD_LOGIC_VECTOR (7 downto 0)

);

end ROM;

architecture ROM_ARCHITECTURE of ROM is

begin

process (A, CS, EO, U_pe)

begin

if CS = '0' and EO = '0' and PR = '1' and U_pe = '1' then

D(0) <= transport A(0) or A(1) or A(9) after 430 ns;

D(1) <= transport A(1) or A(2) or A(10) after 430 ns;

D(2) <= transport A(2) or A(3) or A(11) after 430 ns;

D(3) <= transport A(3) or A(4) or A(12) after 430 ns;

D(4) <= transport A(4) or A(5) or A(9) after 430 ns;

D(5) <= transport A(5) or A(6) or A(10) after 430 ns;

D(6) <= transport A(6) or A(7) or A(11) after 430 ns;

D(7) <= transport A(7) or A(8) or A(12) after 430 ns;

end if;

end process;

end ROM_ARCHITECTURE;

Рис. 15. Эпюры работы ППЗУ D2764A.


4. Описание схемы

Ниже дано описание схемы на языке VHDL.

library IEEE;

use IEEE.std_logic_1164.all;

Entity Main is

port(

CUST_01: in STD_LOGIC;

CUST_02: in STD_LOGIC;

OUT_01: out STD_LOGIC_VECTOR(3 downto 0);

OUT_02: out STD_LOGIC_VECTOR(3 downto 0)

);

End Main;

Architecture Main_ARCHITECTURE of Main is

component CT2

port(

R: in STD_LOGIC;

PE: in STD_LOGIC;

C_U: in STD_LOGIC;

C_D: in STD_LOGIC;

D: in STD_LOGIC_VECTOR (3 downto 0);

Q: out STD_LOGIC_VECTOR (3 downto 0);

TC_U: out STD_LOGIC

);

end component;

component RG

port(

C: in STD_LOGIC;

EW: in STD_LOGIC;

D: in STD_LOGIC_VECTOR (7 downto 0);

O: out STD_LOGIC_VECTOR (7 downto 0)

);

end component;

component MS

port(

SED: in STD_LOGIC;

EZ: in STD_LOGIC;

D0: in STD_LOGIC_VECTOR(3 downto 0);

D1: in STD_LOGIC_VECTOR(3 downto 0);

MS: out STD_LOGIC_VECTOR(3 downto 0)

);

end component;

component ROM

port(

A: in STD_LOGIC_VECTOR (12 downto 0);

CS: in STD_LOGIC;

EO: in STD_LOGIC;

PR: in STD_LOGIC;

U_pe: in STD_LOGIC;

D: out STD_LOGIC_VECTOR (7 downto 0)

);

end component;

signal SW_02: STD_LOGIC := '1';

signal SW_03: STD_LOGIC := '1';