Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Иерархическое описание накапливающего сумматора.




 

Рассмотрим пример иерархического описания накапливающего сумматора. Схема сумматора приведена на рис. 1.3.1.

 

 
 


Рис. 1.3.1. Схема накапливающего сумматора.

 

Как видно из рисунка 1.3.1. накапливающий сумматор состоит из входного регистра Rg_a, собственно сумматора Add и выходного регистра Rg_out, в котором собственно и накапливается сумма входных чисел. Сумматор имеет вход сброса накопленной суммы R. На каждомтакте своей работы накапливающий сумматор записывает в регистр Rg_a входное число а в регистр Rg_out – накопленную сумму предыдущих чисел. Модуль Add формирует сумму текущего слагаемого с ранее накопленной суммой чисел.

Структурно описание накапливающего сумматора включает следующие файлы.

Файл входного регистра Rg_a.tdf, содержащий следующее текстовое описание:

 

SUBDESIGN RG_A

(D[8..1],CLK,Reset:INPUT = GND;

OUT[8..1]: OUTPUT;)

VARIABLE TR[8..1]: DFF;

BEGIN

TR[].(CLK,CLRn) = (CLK,!Reset);

TR[].D = D[];

OUT[] = TR[].Q;

END;

 

 

Модуль имеет входную шину данных D[8..1], тактовый вход CLK и вход сброса Reset. Выходные данные выводятся на шину OUT[8..1]. Запись информации в регистр осуществляется по положительному фронту сигнала CLK.

Регистр реализован на базе стандартных примитивов DFF.

 

Файл двоичного сумматора Add.tdf, содержащий следующее текстовое описание:

 

SUBDESIGN ADD

(A[8..1],B[9..1]:INPUT;

OUT[9..1]: OUTPUT;)

BEGIN

OUT[] = B[]+(GND,A[]);

END;

 

 

Модуль имеет входные шины данных A[8..1], и B[9..1]. Сумма формируется на выходной шине OUT[9..1]. При описании функционирования сумматора на языке AHDL используется знак арифметической операции «+». По этому знаку происходит автоматическое формирование необходимой схемы сумматора. Для выравнивания числа разрядов слагаемых во временную группу (GND,A[]), добавлен нулевой старший разряд.

 

Файл входного регистра Rg_out.tdf, содержащий следующее текстовое описание:

 


SUBDESIGN RG_OUT

(D[9..1],CLK,Reset:INPUT = GND;

OUT[9..1]: OUTPUT;)

VARIABLE TR[9..1]: DFF;

BEGIN

TR[].(CLK,CLRn) = (CLK,!Reset);

TR[].D = D[];

OUT[] = TR[].Q;

END;

 

Модуль имеет входную шину данных D[9..1], тактовый вход CLK и вход сброса Reset. Выходные данные выводятся на шину OUT[9..1]. Запись информации в регистр осуществляется по положительному фронту сигнала CLK.

Регистр реализован на базе стандартных примитивов DFF.

По умолчанию на все входы подаются нулевые значения сигналов.

 

Головной файл накапливающего сумматора Accum.tdf, содержащий следующее текстовое описание:

 

INCLUDE "RG_A.INC";

INCLUDE "ADD.INC";

INCLUDE "RG_OUT.INC";

SUBDESIGN ACCUM

(Din[8..1],CLK,Reset: INPUT;

Dout[9..1]: OUTPUT;

D[8..1]: OUTPUT;)

VARIABLE

M_RG_A: RG_A;

M_ADD: ADD;

M_RG_OUT: RG_OUT;

BEGIN

M_RG_A.CLK = CLK;

M_RG_OUT.(CLK,Reset) = (CLK,Reset);

M_RG_A.D[] = Din[];

M_ADD.A[] = M_RG_A.OUT[];

M_ADD.B[] = M_RG_OUT.OUT[];

M_RG_OUT.D[] = M_ADD.OUT[];

Dout[] = M_RG_OUT.OUT[];

D[] = M_RG_A.OUT[];

END;

 

Головной модуль накапливающего сумматора имеет входную шину данных Din[8..1], на которую последовательно подаются слагаемые, входной тактовый сигнал CLK и сигнал сброса Reset. Накопленная сумма выдается на шину Dout[9..1]. Шина D[8..1], используется для контроля состояния входов сумматора.

 

Головной модуль накапливающего сумматора содержит три оператора INCLUDE со ссылками на прототипы модулей.

 

Прототипы модулей представлены следующим образом.

 

Прототип модуля Rg_a.tdf

 

FUNCTION rg_a (d[8..1], clk, reset)

RETURNS (out[8..1]);

 

 

Прототип модуля add.tdf

FUNCTION add (a[8..1], b[9..1])

RETURNS (out[9..1]);

 

Прототип модуля Rg_out.tdf

FUNCTION rg_out (d[9..1], clk, reset)

RETURNS (out[9..1]);

 

Отметим, что прототипы модулей формируются автоматически с помощью команды Create Default Include File (меню File) выполняемой в окне текстового редактора пакета MAX+PLUSII и содержащего описание модуля.

В представленном примере модулям присвоены символические имена M_RG_A, M_ADD и M_RG_OUT и обращение к ним идёт как к переменным.

 

Временная диаграмма работы накапливающего сумматора имеет вид, представленный на рис 1.3.2


 

Рис 1.3.2. Временная диаграмма работы накапливающего сумматора.


1.4. Пользовательские библиотеки элементов MAX+PLUSII

 

В состав САПР MAX+PLUSII входят следующие пользовательские библиотеки

Библиотека примитивов (prim), включающая в свой состав простые, элементы такие как

· элементарные логические элементы;

· внешние выводы;

· контакты земли питания;

· D и Т триггеры;

· JK триггеры;

· Триггеры LACH;

· RS триггеры.

 

Библиотека мегафункций (mf), включающая сложные функциональные узлы, представленные либо на уровне примитивов либо на уровне не параметризуемого поведенческого описания на языке AHDL. В состав мегафункций входят такие элементы как:

· счетчики;

· мультиплексоры;

· компараторы;

· элементы стандартной серии 7400, включающие богатый набор таких элементов как сумматоры, регистры, шифраторы, кодеры и т.д.

 

Отметим, что элементы из библиотеки мегафункций при необходимости можно скорректировать. Правда, для этого целесообразно сделать его копию, сохранив её под другим именем.

Библиотека логически параметризуемых функции (mega-lpm), включающая сложные функциональные узлы, представленные на уровне параметризуемых модулей, содержащих поведенческое описания на языке AHDL. В состав mega-lpm библиотеки входят следующие типовые модули.

 

· счетчики;

· сумматоры;

· умножители;

· делители;

· компараторы;

· регистры;

· блоки памяти;

· декодеры;

· мультиплексоры.

 

При заказе параметризуемого модуля Вам предложат задать такие параметры модуля как разрядность, наличие сигнала сброса, тип счетчика и т.д.

Билиотека типовых схемных решений (.edif), включающая широкий набор различных стандартных, схемных решений, логических узлов. Эта библиотека разработана специалистами фирмы Altera, для облегчения перевода в базис MAX+PLUSII проектов, разработанных ранее в базисе стандартных серий микросхем.

 

Отметим что в формате EDIF может быть представлена самая разнообразная информация, включая графическое описание, описание тестовых векторов, список цепей (net list), параметры и т.д.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...