Внешние и внутренние сигналы модуля ПЗУ 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Внешние и внутренние сигналы модуля ПЗУ



 

№ п.п Обозначение сигнала Назначение сигнала
  MA (МАТ) Сигналы на внешней шине адреса
  MS Сигнал выбора модуля ПЗУ (активный уровень – высокий)
  (MR) Сигнал считывания данных (активный уровень – низкий)
  ERR Сигнал ошибки (активный уровень – высокий)
  MD(MDT) Сигналы на внешней шине данных
  MDO Сигналы на внутренней шине данных
  (ECS) Сигнал разрешения выбора строк матрицы БИС ЗУ (активный уровень – низкий)
  EWR Сигнал записи адреса в регистр адреса
  (OE) Сигнал управления Z -состоянием на шине MD (активный уровень – низкий)
  BA Сигналы на внутренней шине адреса
  CS Сигналы на шине выбора строк матрицы БИС ЗУ
  СС Сигналы на шине контрольных разрядов

 

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

 

 

* Значения , определяются в процессе проектирования

Рис. 1 – Временная диаграмма модуля ЗУ, построенная на 3-м курсе

Вариант описания УУ ПЗУ как схемы, построенной на базе микросхем серии КР1533 и с использованием счетчика КР1533ИЕ18

 

Схема УУ ПЗУ, построенная студентом Симановским А.Ю. только на дискретных элементах, с использованием счетчика КР1533ИЕ18, представлена на рис. 3. Введены дополнительные сигналы, поступающие на этот вариант УУ: тактовый сигнал Clk и сигнал сброса Res (reset, CLR)

В современных проектах студенты имеют более простые задания. На входе ЗУ добавлен тактовый сигнал Clk и в некоторых проектах сигнал подтверждения подачи адреса AEN. Вся временная диаграмма входных сигналов привязана к тактам. Студенты не вводят дополнительный сигнал Res, а используют для указания начала очередного цикла ЗУ сигнал или AEN или комбинацию сигналов MS-MR.

 

Ниже приведено созданное студентом структурное описание этого УУ, построенного на микросхемах 1533 серии на языке VHDL:

 

entity control_unit is -- модуль управления на счетчике КР1533ИЕ18

--входные сигналы: --clk – тактовый; --ms - сигнал выбора устройства

--(выбор модуля ПЗУ), активный уровень - высокий

--res - сигнал сброса модуля управления, активный уровень - высокий

--(сброс осуществляется при активном уровне Res по фронту clk)

--mr - сигнал чтения модуля ПЗУ, активный уровень - низкий

--выходные сигналы: --ewr - сигнал записи адреса в адресном блоке

--ecs - сигнал разрешения выбора строки матрицы ПЗУ, активный

--уровень - низкий

--oe - сигнал разрешения выдачи данных на шину md модуля ПЗУ,

--активный уровень - низкий

port (clk,ms: in bit:='0';res,mr: in bit:='1'; ewr: out bit:='0'; ecs, oe: out bit:='1'); end;

architecture structura of control_unit is

-- компоненты, входящие в модуль управления

component kr1533la21 is -- 2-И-НЕ

port (x1,x2:in bit; y1: out bit:='1');

end component;

component kr1533ie18 is port --счетчик

(c2,ecr2,ect2,ewr2: in bit; d2: in bit_vector(3 downto 0); r2:in bit; d_out2: out bit_vector(3 downto 0); cr2:out bit);

end component;

component kr1533le10 is -- 2-ИЛИ-НЕ

port (x1,x2:in bit; y1: out bit:='0');

end component;

signal nms,stop,ewr_intr,reset,ct_load:bit;

signal ct_in,ct_out:bit_vector(3 downto 0);

signal nu1:bit;--неиспользуемый сигнал

-- nms - инвертированный ms -- stop - сигнал остановки счетчика

-- ewr_intr - внутренний "образ" сигнала ewr

-- reset - инвертированный сигнал res

-- ct_load - сигнал разрешения загрузки счетчика

-- ct_in,ct_out - соответственно входные и выходные сигналы данных счетчика

begin

d1: kr1533la21 port map(ms,'1', nms);

d2: kr1533la21 port map(ct_out(1),ct_out(2), stop);

d3: kr1533la21 port map(res,'1',reset);

d4: kr1533le10 port map(nms,mr,ewr_intr);

d5: kr1533le10 port map(ewr_intr,reset,ct_load);

d6: kr1533ie18 port map(clk,stop,'1',ct_load,ct_in,'1',ct_out,nu1);

d7: kr1533le10 port map('0',stop,ecs);

ct_in(0)<='0';

ct_in(1)<='1';

ct_in(2)<=reset;

ct_in(3)<=reset;

oe<= ct_out(1);

ewr<=ewr_intr;

end;

 

На рис. 4 представлена временная диаграмма теста модели УУ, построенной на элементах 1533 серии.

 

 

Рис. 4. Временная диаграмма модуля ЗУ с УУ на дискретных элементах серии 1533,полученная при функциональном моделировании

 

При проектировании УУ ЗУ временную диаграмму работы устройства пришлось дискретизировать и разбить на несколько интервалов ─ тактов. Чем меньше интервал дискретизации, тем точнее ее представление, однако тем выше требования к быстродействию элементов, которые используются в УУ. Серия КР1533 имеет предельную частоту около 20 МГц. При такой низкой (период 50 нс) тактовой частоте, как это видно из рис.4, временную диаграмму ПЗУ пришлось бы разбить во времени на 7─8 тактов и пожертвовать быстродействием ПЗУ раза в 2─2,5 по сравнению с заданием (сравните с диаграммой на рис.2). Поэтому необходимо использовать в УУ либо более быстродействующую 1554- или 74 серию микросхем, либо перейти на ПЛИС. Экспериментировать с задержками позволяет моделирование. При использовании при моделировании библиотеки моделей микросхем серии 1533 уменьшение всех задержек элементов достигается простым уменьшением параметра Td, например, с 1 до 0,5. Тогда эти элементы становятся подобными микросхемам серии 74 фирмы Phillips.

После проверки схемы УУ моделированием она была синтезирована в элементном базисе ПЛИС Spartan-3. Система синтеза САПР оценила расход оборудования ПЛИC в 3 триггера, 7 LUT (все это менее 1 процента ресурсов микросхемы Spartan-3) и определила предельную тактовую частоту более 200 МГц, т.е. на порядок выше, чем это было в УУ на микросхемах К1533 серии. Иными словами, использование ПЛИС Spartan-3 позволяет реализовать УУ ЗУ на одной микросхеме без потери быстродействия ПЗУ.

 

Вариант описания УУ ЗУ как автомата

Если временную диаграмму сигналов управления отображать более детально, чем это сделано в данном студенческом проекте УУ на микросхемах 1533 серии, то надо повысить тактовую частоту генератора. Например, период тактового генератора УУ можно взять равным 20 нс.(50 мгц). Весь цикл работы УУ ПЗУ (180-220 нс) тогда уложится в 9-11 тактов (см. рис. 2). При реализации проекта на СИС КР1533 это нельзя было сделать в силу больших задержек элементов.

Сигнал приема адреса можно вырабатывать через такт после того, как придет комбинация (MS and not МR), и держать его два такта, а сигнал разрешения выдачи OE устанавливать в «0» после 8 тактов и держать его 3 такта.

АВТОМАТ МИЛИ

Ниже приведено функциональное описание УУ как автомата (черного ящика) на языке VHDL. Выбран автомат МИЛИ, т.е. выходные сигналы зависят от состояния автомата и входных сигналов. В связи с таким решением на выходах возможны риски сбоев. При дальнейшем усовершенствовании этого проекта во избежание помех из-за гонок можно выходные сигналы УУ фиксировать на триггерах или строить описание УУ как автомата МУРА. Приведенный ниже вариант УУ оценивается при синтезе на ПЛИС Spartan-3 с опцией САПР «позиционное кодирование состояний автомата-one hot» по оборудованию в 11 триггеров, 9 слайсов, и его максимальная рабочая частота составляет 380 МГц. Тот же автомат, но синтезированный с опцией «кодирование состояний кодом грея», содержит 4 триггера, 8 слайсов с рабочей частотой до 243 МГц. Т.е при желании идеальную временную диаграмму управления ПЗУ можно представить еще точнее ─цикл работы не в 10, а в 20 тактах!). Напоминаем, что САПР ISE и MODELSIM не любят кириллицу и русский текст приведенных ниже комментариев лучше заменить английским.

 

Entity control_unit is —используется двоичный алфавит сигналов

port(CLK,RST,MS,MR:in bit; ecs,ewr,oe:out bit);

end;

architecture avtomat of control_unit is

type state_type is (S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10);

signal State,NextState:state_type:=S0; -- сигналы блока

signal RESET_N:bit;

begin

--процесс переключения состояний автомата (D-триггера c

--cинхронным сбросом)

RESET_N <= RST AND MS;--сброс при RST=0 или MS=0

MEMORY:process (CLK)

begin

if CLK'event and clk='1' then

if RESET_N='0' or MS=’0’ then state<=S0;

else State<=NextState;

end if;

end if;

end process;

--комбинационная часть автомата

process (State,MS,MR)

begin

OE<='1';ecs<='1';ewr<='0'; NextState<=State;

If MS=’1’ then

case State is

when S0 => if MR='0' then NextState<=S1;end if;

when S1 => if MR='0' then NextState<=S2;ewr<='1';end if;

when S2 => if MS='1' then NextState<=S3; ewr<='1'; end if;

when S3 => if MS='1' then NextState<=S4; end if;

when S4 => if MR='1' then NextState<=S5; ecs<='0';end if;

when S5 => if MR='1' then NextState<=S6;ecs<='0';end if;

when S6 => if MR='1' then NextState<=S7;ecs<='0';end if;

when S7 => if MR='1' then NextState<=S8;ecs<='0'; end if;

when S8 => if MR='1' then

NextState<=S9;Oe<='0';ecs<='0';end if;

when S9 => if MR='1' then NextState<=S10;

Oe<='0'; ecs<='0'; end if;

when S10 =>if MR='1' then NextState<=S0;Oe<='0'; ecs<='0';

end if;

end case;

else NextState<=S0; Oe<='0'; ecs<='0';

end if;

end process;

end;

При описании автомата обратите внимание на соблюдение соответствия временной диаграммы полученной при моделировании, диаграмме, заданной в задании на курсовой проект. Например начало очередного цикла в данном случае можно сделать по нулевому значению MS – тогда сигнал reset излишний или как на диаграмме.представленной ниже -после установки MS в 1 далее все управляется сигналом MR,что является отступлением от диаграммы задания рис.2.

Временная диаграмма работы устройства управления ЗУ, описанного на VHDL как автомат, представлена ниже на рис. 5.

 

 

Рис.5. Временная диаграмма УУ ПЗУ, представленного как автомат МИЛИ

 

 

Однако в описании автомата не учитываются задержки сигналов в элементах.

Поэтому, если преподаватель разрешит ПРИ ПРОВЕРКЕ РАБОТОСПОСОБНОСТИ ЗУ В ЦЕЛОМ, вместо функциональной схемы УУ, выполненной на элементах среднего уровня интеграции(СИС) серии 1533-54-F72, в составе модели всего проекта ЗУ использовать модель УУ как автомата, следует внести в автоматную модель УУ задержки, рассчитанные исходя из задержек схемы на микросхемах СИС.

Например, если предполагается использование в модели ЗУ описание модели УУ как автомата и задержка сигнала ewr в УУ на микросхемах СИС была 25 нс, то в автоматной модели УУ строка кода в описании автомата управления

when S1 => if MR='0' then NextState<=S2;ewr<='1';end if;

заменяется на

when S1 => if MR='0' then NextState<=S2;ewr<='1'after 25 ns;

end if;

 

АВТОМАТ МУРА

 

Ниже приведен вариант описания УУ ПЗУ как автомата МУРА в форме из трех процессов-процесс память, процесс комбинационная схема определения будущего состояния и процесс выработки выходных сигналов как функции состояния автомата. Алфавит- std_logic.Сигнал rst отсутствует.

library ieee;

use IEEE.std_logic_1164.all;

Entity control_unit_3 is

port(CLK,MS,MR:in std_logic; ecs,ewr,oe:out std_logic);

end;

-------------------------------------

architecture moore_avtomat of control_unit_3 is

type state_type is (S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S10);

signal State,NextState:state_type:=S0; -- сигналы блока

begin

-- память автомата

--процесс переключения состояния автомата (D-триггера c

--cинхронным сбросом)

 

MEMORY:process (CLK)

begin

if CLK'event and clk='1' then

if MS='0' then state<=S0;

else State<=NextState;

end if;

end if;

end process;

 

--комбинационная часть автомата

process (State,MS,MR)

begin

NextState<=State;

If MS='1' then

case State is

when S0 => if MR='0' then NextState<=S1;end if;

when S1 => if MR='0' then NextState<=S2; end if;

when S2 => if MS='1' then NextState<=S3; end if;

when S3 => if MS='1' then NextState<=S4; end if;

when S4 => if MR='1' then NextState<=S5; end if;

when S5 => if MR='1' then NextState<=S6; end if;

when S6 => if MR='1' then NextState<=S7; end if;

when S7 => if MR='1' then NextState<=S8; end if;

when S8 => if MR='1' then NextState<=S9; end if;

when S9 => if MR='1' then NextState<=S10;end if;

when S10 =>

end case;

else NextState<=S0;

end if;

end process;

 

--выходные сигналы

process (State)

begin

OE<='1';ecs<='1';ewr<='0';

case State is

when S0 =>

when S1 => ewr<='1';

when S2 => ewr<='1';

when S3 =>

when S4 => ecs<='0';

when S5 => ecs<='0';

when S6 => ecs<='0';

when S7 => ecs<='0';

when S8 => Oe<='0';ecs<='0';

when S9 => Oe<='0'; ecs<='0';

when S10 => Oe<='0'; ecs<='0';

 

end case;

end process;

end;

Временная диаграмма поведенческого моделирования этого варианта устройства управления ниже:(автомат МУРА, нет специального сигнала rst сброса и начала нового цикла обращения к ПЗУ- им является сигнал MS=0,смена входных сигналов идет по срезу тактового сигнала, автомат останавливается в состоянии 10 до прихода сигнала начала нового цикла и сигнал выдачи данных OE =0 продолжается все это время).

Ниже посттрассировочная диаграмма

 

Контрольные вопросы

1. Из каких частей обычно состоит описание автомата на языке VHDL?

2. Как вы собираетесь проверять функционирование устройства управления ЗУ на отладочной плате?

3. Что такое противогоночное кодирование состояний автомата?

4. На какие стандарты и уровни напряжения программируются блоки ввода-вывода ПЛИС Spartan-3 (Cool Runner)?

5 Как увидеть функциональную схему проектируемого УУ, получаемую в процессе синтеза (RTL-view) и схему в технологическом базисе(Technological VIEW?

6 Как реализуется настройка LUT микросхемы ПЛИС на нужную функцию?

7 Что такое блочная память ПЛИС Spartan-3?

8 Как устроен блок ввода-вывода ПЛИС?

9 Какие примерно задержки имеют логические элементы ПЛИС, буферы входные и выходные и задержки связей в Вашем проекте?

10 Какие стандарты интерфейсных сигналов ПЛИС Вы бы выбрали для замены в проекте ЗУ микросхем серии КР1533(54) на ПЛИС?

11 Что такое стандарт сигналов LDVS?

12 Какие уровни сигналов в ПЛИС и как их согласовывать с уровнями сигналов микросхем ЗУ?

13 Как распространяется тактовый сигнал в ПЛИС (каким элементами и цепями)?

14 Какой сброс – асинхронный или синхронный Вы использовали в своей схеме УУ и какой лучше?

15 В вашем УУ ЗУ выходные сигналы идут с триггеров или из комбинационной логики и что лучше?

16 Посмотрите на отчет синтезатора по вашему УУ- если оно было описано как автомат, то какой способ кодирования состояний автомата был использован?

17 Если на временной диаграмме выходных сигналов вашего УУ виден дребезг сигналов, то чем он обусловлен, влияет ли он на работу ЗУ и если влияет, то как его избежать?

18 В расчетной части вашего проекта ЗУ на 3 курсе был расчет мощности, который выполнялся вручную. САПР ПЛИС позволяет рассчитать мощность вашего УУ автоматически- как это сделать и какова рассеиваемая мощность вашим проектом?

19 В вашем КП ЗУ на 3 курсе оговаривался диапазон рабочих температур-какой он был и совпадает ли он с диапазоном работы ПЛИС?

20 Если ваше УУ сделано на элементах серии 1533-54, то при его реализации на ПЛИС насколько отличаются временные диаграммы поведенческого и посттрассировочного моделирования и чем это можно обьяснить?

21 Схему вашего УУ к какому типу автоматов можно отнести- Мура или Мили?

22 Если вы описывали УУ как автомат и проводили эксперименты по способу кодирования его состояний, то какой вид кодирования лучше и почему?

23.Что такое гонки и как их устранить?

24.Из каких соображений выбирается период тактового сигнала при построении устройства управления вашего ЗУ?

25. Чем отличается автомат МУРА от автомата МИЛИ?

26.Перечислите известные вам способы кодирования автоматов.

 

Библиографический список

1. Поляков А.К. Языки VHDL и VERILOG в проектировании цифровой аппаратуры на ПЛИС. ─ М.: Издательский дом МЭИ, 2012. ─ 220 с.

2. Поляков А.К. Языки VHDL и VERILOG в проектировании цифровой аппаратуры. ─ М.: СОЛОН-Пресс, 2003. ─ 320 с

3. Тарасов И.Е. Разработка цифровых устройств на основе ПЛИС фирмы XILINX с применением языка VHDL. ─ М.: Горячая линия─Телеком 2005.─ 200 с.

Дополнительная литература

1. Зотов В.Ю. Проектирование цифровых устройств на основе ПЛИС фирмы XILINX в САПР WebPack ISE. ─ М.: Горячая линия-Телеком, 2003. ─ 624 с.

2. Зотов В.Ю. Проектирование встраиваемых микропроцессорных систем на основе ПЛИС фирмы XILINX. ─ М.: Горячая линия-Телеком, 2006. ─ 520 с.

3. Грушвицкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. ─ СПб.: БХВ-Петербург, 2002. ─ 608 с.

4. Угрюмов Е.П. Цифровая схемотехника. ─ СПб.: БХВ-Петербург, 2004. ─ 528 с.

 

5. Бибило П.Н. Основы языка VHDL. ─ М.: СОЛОН-Р, 2002. ─ 224 с.

6. Потехин Д. С.,Тарасов И.Е. Разработка систем цифровой обработки сигналов на базе ПЛИС. М.: Горячая линия-Телеком,2007.-248 с.

7. Информация в каталогах кафедры ВМСС Е:/laby/Poliakov/laby_plis/CPLD и laby_plis/FPGA.

 

 

Приложение А



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 417; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.185.180 (0.119 с.)