Методические указания по работе в пакете ALTERAMAX+PLUSII для моделирования цифровых устройств, страница 2

            Для назначения имени контакта следует переместить указатель выделения на имя контакта (по умолчанию имя каждого контакта PIN_NAME), сделать двойной щелчок левой кнопкой мыши и набрать имя контакта.

            Имена шин кроме собственно имени должны содержать диапазон изменения индексов, который задается в квадратных скобках в следующем формате: [граница А . . граница Б], где граница А – большее целое, граница Б – меньшее. Например, Q[4..0] .


Каждая из цепей, входящих в состав шины, имеет при этом свое собственное имя: Q4, Q3, Q2, Q1, Q0. Если с помощью шины задаются входные или выходные кодовые комбинации, то устанавливается только один входной или выходной контакт.

3. Компиляция проекта

Компилятор проверяет проект на основные ошибки, допущенные при вводе проекта, и формирует базу данных, которая в дальнейшем может быть эффективно обработана.

3.1. Сохранение и проверка файла на основные ошибки

Логическая корректность графического файла и проверка его на основные ошибки требуют следующих действий:

-  Выполнить команду File/Project/ Save&Check (сохранить и проверить проект). Данный файл сохраняется;

-  Открывается окно компилятора MAX+PLUSII. Модуль CompilerNetlistExtractor(экстрактор списка соединений компилятора) проверяет файл на ошибки и выводит на экран сообщение, показывающее число ошибок и предупреждений.

            Если ошибок нет, то проект логически корректен. В противном случаеMeccageProcessor (процессор сообщений) выдаст информацию об источниках ошибок.

            Для уточнения причины ошибки или предупреждения следует выполнить щелчок левой клавишей мыши на сообщении и локализовать источник ошибки командой Locate, источник ошибки высветится красным цветом в графическом файле проекта, и можно приступать к её устранению.

            После устранения ошибок повторите п. 3.1.

3.2 Построение базы данных для функционального моделирования проекта

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

            Выполнение компиляции проекта производится в такой последовательности:

1. Выполнить команду MAX+plusII/ Compiler.

2.С помощью команды Processing /FunctionalSNFExtractor(режим неполной компиляции) установить режим компиляции.

            3. Нажать кнопку Startв окне компилятора.

            Компилятор выводит на экран сообщение, показывающее число ошибок и предупреждений. Если ошибок нет, то компиляция проекта завершается. В противном случае процессор сообщений выдаст информацию об источниках ошибок.

            Для уточнения причины ошибки или предупреждения следует выполнить двойной щелчок на сообщении, после чего будет локализован источник сообщения, и можно приступать к устранению ошибок.

            После устранения ошибок повторите п. 3.1 и 3.2.

            Если  процесс  устранения  ошибок  повторяется  более  чем  один  раз  для  одного проекта, возможен быстрый вызов компилятора командой   File/Project/Save&Compiler.

4. Создание файла временных диаграмм

            Файл временных диаграмм создается в редакторе временных диаграмм WaveformEditor и имеет расширение .scf (simulator channel file).  Файл может содержать некоторые или все цепи проекта. В данном случае он используется в качестве инструмента для задания входных сигналов и проверки результатов моделирования.

4.1 Создание файла временных диаграмм

            Создание scf-файла производится в такой последовательности:

1.  File / Newи далее в меню FileType выбрать WaveformEditorFileс расширением .scfи нажать кнопку Ok(создается пустой новый файл без имени).

2.  Выберите File / EndTime, наберите 1000ns (время окончания моделирования) и Ok. Так будет задано время окончания входных сигналов.

3.  Выберите Options / GridSize(размер сетки),наберите 50ns и Ok. Так будет задан размер шага сетки времени. Количество шагов сетки должно быть равно количеству строк таблицы истинности.

Примечание: при функциональном моделировании задержки распространения сигналов не рассматриваются, поэтому задание конечного времени и шага сетки времени в п. 2 и 3 нужно только для определения моментов времени изменения входных сигналов, и осуществления полной проверки схемы.

4.  Выберите Node / EnterNodesfromSNF - на экране отобразится диалоговое окно для ввода цепей из откомпилированного графического файла проекта.

5.  Для выбора входных и выходных цепей оставьте установленными в поле Type только флажки Inputsи Outputs(входные и выходные цепи). Для просмотра внутренних цепей схемы необходимо в графическом редакторе добавить промежуточные выходные контакты и обеспечить физическую связь между выходом элемента и выходным контактом.

6.  Нажмите кнопку List для получения списка доступных входных (I) и выходных (O) цепей.