Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС_ПКИМС_ПЛИС.doc
Скачиваний:
35
Добавлен:
05.06.2015
Размер:
1.85 Mб
Скачать

Variable

RA[7..0] : DFF;

RB[7..0] : DFF;

TT[7..0] : TRI;

CN[1..0] : DFF;

BEGIN

CN[].CLK= !CLK;

RA[].D=M[];

RB[].D=M[];

CASE CN[].Q IS

WHEN 2 => CN[].D=0;

WHEN OTHERS => CN[].D=CN[].Q+1;

END CASE;

RA[].CLK=CN0.Q & CLK;

RB[].CLK=CN1.Q & CLK;

TT[].OE= !CN0.Q & !CN1.Q;

TT[].IN=RA[].Q+RB[].Q;

M[7..0]=TT[].OUT;

DONE=!CN0.Q & !CN1.Q;

END;

В данном описании сумматора введены следующие переменные

RA[7..0] – регистр хранения слагаемого A;

RB[7..0] – регистр хранения слагаемого B;

TT[7..0] – восемь двунаправленных элементов ввода-вывода типа TRI;

CN[1..0] – регистр управляющего счётчика CN.

Управляющий счётчик считает от «0» до «2». Организуется работа счётчика в соответствующем операторе CASE, обеспечивающем переход счёта из состояния «2» в состояние «0».

При состоянии счётчика равном «1», происходит запись данных из магистрали M[] в регистр RA, а при состоянии равном «2», соответственно в регистр RB.

Управление этими процессами задаётся операторами:

RA[].CLK=CN0.Q & CLK;

RB[].CLK=CN1.Q & CLK;

RA[].D=M[];

RB[].D=M[];

При состоянии управляющего счётчика CN равном «0», происходит вычисление суммы и выдача результата на магистраль M[], что, в свою очередь, определяется операторами:

TT[].IN=RA[].Q+RB[].Q;

TT[].OE= !CN0.Q & !CN1.Q;

M[7..0]=TT[].OUT;

При состоянии управляющего счётчика CN равном «0», происходит также формирование сигнала завершения работы DONE с помощью оператора

DONE=!CN0.Q & !CN1.Q;

Рассмотрим пример временной диаграммы работы восьмиразрядного сумматора с магистральным вводом-выводом данных. Данная диаграмма представлена на рис 5.2.2.

Рис 5.2.2. Пример временной диаграммы работы восьмиразрядного сумматора с магистральным вводом-выводом данных. Магистраль M на диаграмме представлена и как вход и как выход.

На примере, представленном на рис 5.2.2. производятся три цикла работы сумматора, на которых выполняются следующие примеры:

50+85=135

39+1=40

127+117=244.

Как и положено, операция сложения выполняется три такта. На каждом третьем такте входная шина M переводится в состояние «Z». На этом же такте на выходную шину M выдает результат суммирования

При внимательном изучении временной диаграммы можно заметить переходные процессы при переключении входных сигналов магистрали в состояние Z и обратно. Это происходит из-за ненулевого времени переключения элемента TRI из активного состояния в состояние Z и обратного переключения. В течении короткого времени этих переключений на магистраль находится либо в состоянии «Z» (элемент TRI ещё не включился и на магистрале нет активного сигнала) , либо состоянии «Х» (элемент TRI ещё не успел выключился и на магистрале находятся два активных источника сигнала).

Более подробно эти переходные процессы показаны на рис 5.2.3.

Рис 5.2.3. Более подробно эти переходные процессы переключения состояний магистрали.

Такие переходные процессы являются кратковременными и не влияют на правильную работу аппаратура.

Литература

1. Комолов Д.А., Мяльк Р.А., Зобенко А.А., Филиппов А.С. Системы автоматизированного проектирования фирмы Altera MAX+PLUS II и QUARTUS II. –Москва: ИП РадиоСофт, 2002-352с.: ил.

2. Антонов А.П., ЯЗЫК ОПИСАНИЯ ЦИФРОВЫХ УСТРОЙСТВ AlteraHDL. Москва, РадиоСофт, 2002. – 224с.

3. Стешенко В.Б. ПЛИС фирмы ALTERA: проектирование устройств обработки сигналов. – Москва: ДОДЭКА, 2002 – 128с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]