Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lek2013 / lek6.doc
Скачиваний:
71
Добавлен:
31.05.2015
Размер:
2.13 Mб
Скачать

Лекция 6

Описание на VHDL защелки

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity RS is

Port ( D,clk : in STD_LOGIC;

Q : out STD_LOGIC;

nQ : out STD_LOGIC);

end RS;

architecture Beh of RS is

begin

process (D,clk)

begin

if clk='1' then

--if clk' event and clk='1' then

Q<=D;

nQ<=not D;

end if;

end process;

end Beh;

Описание на VHDL триггера

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity RS is

Port ( D,clk : in STD_LOGIC;

Q : inout STD_LOGIC;

nQ : out STD_LOGIC);

end RS;

architecture Beh of RS is

begin

process (clk)

begin

if clk' event and clk='1' then

Q<=D;

end if;

end process;

nQ<=not Q;

end Beh;

Описание на Verilog триггера

module m1(

input clk,

input D,

output reg Q,

output wire nQ

);

always @(posedge clk)

begin

Q=D;

end

assign nQ=~Q;

endmodule

Временная диаграмма для защелки

Временная диаграмма для триггера

Если требуется чтобы переключение триггера выполнялось не по фронту, а по спаду сигнала то условие перепишется в виде

На VHDL:

if clk' event and clk='0' then

на Verilog:

always @(negedge clk)

Регистр сдвига

Регистр сдвига позволят преобразовывать сигналы поступающие последовательно в параллельные. Регистр сдвига образуется из цепочки триггеров, при этом выход первого триггера соединен со входом последующего. С приходом тактового импульса данные смещаются на одни разряд.

Схема регистра сдвига на 4 разряда:

Описание регистра сдвига на 4 разряда на VHDL:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

entity ShiftReg is

Port ( clk : in STD_LOGIC;

D : in STD_LOGIC;

Reset:in std_logic;

Q : inout STD_LOGIC_VECTOR (3 downto 0));

end ShiftReg;

architecture Behavioral of ShiftReg is

begin

process (clk)

begin

if Reset='1' then

Q<="0000";

elsif(clk'event and clk='1') then

Q(0)<=D;

Q(1)<=Q(0);

Q(2)<=Q(1);

Q(3)<=Q(2);

end if;

end process;

end Behavioral;

Схема модуля памяти

Если объединить синхронизирующие входы у восьми триггеров, а на каждый информационный вход триггера подавать соответствующий разряд данных, то получим устройство именуемое регистром. Такой регистр сможет хранить одни байт информации.

Если требуется хранение большого объема данных то используют организацию памяти как показано на рисунке ниже:

Данная схема может хранить 4 слова по 3 байта в каждом (всего 12 байт).

Имеется 8 входов:

А1 А0 – задают адрес слова, к которому происходит обращение.

I1, I2, I3 – служат для ввода данных

CS (Chip Select) – сигнал управления, выбор микросхемы.

RD (ReaD) - определяет чтение или запись.

OE (Output Enable) – разрешение выдачи выходных сигналов.

На схеме есть 3 выхода:

O0, O1, O2 - выходы данных.

Работа схемы.

Четыре вентиля И соединенные с адресными линиями образуют дешифратор. Подача нужного адреса позволяет выбрать одно из 4-х слов.

Вывод CS нужен для совместной работы нескольких микросхем памяти. Для работы микросхемы следует на этот выход подать лог. 1 CS=1. (При CS=0 ни читать, ни записывать нельзя).

Запись производиться по спаду сигнала RD. Предварительно установленные данные с информационных входов поступают на D-вход триггеров, при этом записывается одно слово, выбранное дешифратором.

При чтении данных на вход RD подают логическую 1. RD=1. CS=1. Входы синхронизации триггеров блокируются и их состояние измениться не может.

Выход каждого триггера соединен с вентилем И. Сигнал на адресной шине открывает 3 вентиля, соответствующих выбранному слову.

Для экономии числа выводов информационные и выходные выводы данных объединяют (на схеме I1,I2,I3, O1,O2,O3). Чтобы выполнить согласование этих линий применяют буферный элемент без инверсии.

Этот элемент позволяет перевести вывод в третье высокоимпедасное состояние (разорвать цепь).

При подаче 1 на управляющий вход цепь замыкается.

При подаче 0 цепь размыкается или, иначе говоря, переводиться в высокоимпедасное состояние. Это также позволяет объединить на одной шине данных несколько микросхем памяти.

Следовательно, данные на выходе представленной схемы появляются только когда все три линии управления =1 (CS=1, RD=1, OE=1).

Соседние файлы в папке Lek2013