Как было сказано выше, символ сумматора мы возьмем из библиотеки макрофункций, которая в системе MAX+PlusII имеет имя: mega_lpm. Приставка _lpm в имени библиотеки говорит о том, что мегафункции, которые входят в ее состав, являются настраиваемыми, т.е. имеют настроечные параметры. От пользователя при их использовании требуется указать нужные настроечные параметры.
Для выполнения этого этапа нужно выполнить такие действия:
4.1. навести указатель мыши в свободное мест рабочего листа (посредине между входными и выходными регистрами) и выполнить двойной щелчок ЛКМ. Появиться ДО Enter Symbol.
4.2. открыть библиотеку мегафункций в поле Symbol Libraries: . Полное имя библиотеки мегафункций выглядит так: C:\maxplus\max2lib\mega_lpm.
4.3. в поле Symbol Files: выбрать мегафункцию с именем lpm_add_sub и щелкнуть ОК.
Появится ДО Edit Port/Parameters (см.рис.4.4.2.). В этом ДО можно получить справку по этой мегафункции, щелкнув кнопку Help on LPM_ADD_SUB.
Эти мегафункции являются универсальными вычислительными функциональными узлами (сумматором \ вычитателем) и имеют целое семейство входных и выходных портов. Мы будем настраивать только те порты, которые подлежат обязательной настройки. Назначение всех входных и выходных портов и требуют ли они обязательной настройки, показано в табл.4.
Табл.4.
Тип порта, параметр настройки
Имя порта
Назначение порта
Требуется ли обязательная настройка
INPUTS
cin
Вход переноса младшего разряда (по умолчанию 0)
-
INPUTS
Data a[]
Первое слагаемое (уменьшаемое) (входной порт с настраиваемой разрядностью)
+
INPUTS
Data b[]
Второе слагаемое (вычитаемое)
+
INPUTS
Add_sub
При сигнале 1 – data a[]+data b[]+cin
При сигнале 0 – data a[]-data b[]+cin1
-
INPUTS
Cloc
Разрешение тактового импульса при использовании мегафункций в конвейере
-
INPUTS
Clken
Разрешение тактового импульса при конвейерном использовании
-
INPUTS
Aclr
Асинхронная очистка при использовании в конвейере
-
OUTPUT
Result[]
Выходной порт с настраиваемой разрядностью (LPM_WIDTH)
+
OUTPUT
Cout
Выход пеерноса из старшего разряда
-
OUTPUTS
Overflow
Переполнение
-
Параметр настройки
LPM_WIDTH
Разрядность входных и выходных портов data a[], data b[], result[]
+
4.4. в поле Port отметьте те порты (см.табл.4.1.), которые будем использовать о настраивать. Такие порты должны иметь статус (status:) unused. Для этого последовательно выбирайте в боксе Name: имя порта и в поле Port Status отмечайте радиокнопку Unused.
4.5. выберите в боксе Name поля Port порт с именем data[LPM_WIDTH-1..0], щелкнув по ней ЛКМ, задайте ему в поле Port Status статус Used.
4.6. в боксе Name: поля Parameters выберите параметр LPM_WIDTH, щелкнув по ней ЛКМ. Имя этого параметра появиться в боксе Parameter Name:
4.7. в боксе Parameter Value напечатайте число 4 или выберите его из списка, щелкнув предварительно кнопку со стрелкой в этом боксе.
4.8. щелкните кнопку Change. при этом в боксе Name поля Parameters появиться цифра 4.
4.9. выберите в боксе поля Port порт с именем data[LPM_WIDTH-1..0], щелкнув по ней ЛКМ и задайте ему в поле Port Status статус Used.
4.10. повторите выполнение действий, указанных в пунктах 4.5-4.7 для этого порта
4.11. выберите в боксе Name поля Ports порт с именем result[LPM_WIDTH-1..0], щелкнув по ней ЛКМ, и задайте ему в поле Port Status статус Used.
4.12. повторите выполнение действие указанных в пунктах 4.5-4.7 для этого порта, указав в боксе Parameter Value поля Parameter значение параметра LPM_WIDTH равным 4.
4.13. щелкните кнопку ОК в ДО Port\Parameters. После этого на рабочем листе графического редактора появиться символ сумматора-вычитателя, который имеет название LPM_ADD_SUB.
4.14. для просмотра на рабочем листе настроенных для макрофункций параметров выберите команду Show Parameters из пункта Option ГКМ. Все настроенные параметры будут показаны возле правого верхнего угла макрофункции LPM_ADD_SUB.
Примечание: после выполнения этапа 4 на рабочем листе графического редактора мы будем видеть чертеж проекта, показанный на рис4.4.3.