Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка КП ТА.doc
Скачиваний:
22
Добавлен:
11.11.2019
Размер:
435.71 Кб
Скачать

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

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

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

  1. Выполнить команду File/Project/ Save&Check (сохранить и проверить проект). Данный файл сохраняется. Открывается окно компилятора MAX+PLUS II. Модуль Compiler Net list Extractor (экстрактор списка соединений компилятора) проверяет файл на ошибки и выводит на экран сообщение, показывающее число ошибок и предупреждений. 

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

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

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

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

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

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

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

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

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

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

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

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

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

Порядок действий при создании файла временных диаграмм

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

  2. Выбрать Options / Grid Size (размер сетки), набрать 2 ns и Ok. Так будет задан размер шага сетки времени. В первом приближении его можно рассматривать как продолжительность машинного такта t. Поэтому количество шагов сетки должно быть равно количеству строк таблицы истинности N.

  3. Выбрать File / End Time, набрать значение, равное N*t (время окончания моделирования) и Ok. Так будет задано время окончания входных сигналов. Примечание: при функциональном моделировании задержки распространения сигналов не рассматриваются, поэтому задание конечного времени и шага сетки времени (п. п. 2 и З) необходимо только для определения моментов времени изменения входных сигналов, и осуществления полной проверки схемы.

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

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

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

  7. Отметить в поле Available Nodes & Groups нужные цепи щелчком левой клавиши мыши при нажатой клавише Ctrl..

  8. Нажать кнопку (=>) для копирования выделенных цепей в окошко Selected Nodes &Groups (выбранные цепи и группы).

  9. Для выбора групп цепей установить в поле Туре флажок Group, сбросив флажки Inputs и Outputs, после чего выполнить действия п.п. 6, 7, 8.

  10. Нажать кнопку Ok. Редактор временных диаграмм включит выбранные цепи и группы в scf-файл без названия. Все временные диаграммы для входных цепей по умолчанию имеют низкий (0) логический уровень, а для выходных и внутренних цепей – неопределенный (X) логический уровень.

  11. Выбрать File / Save As. Название <имя проекта> .scf автоматически появится в окошке File name.

  12. Нажать Ok для сохранения файла.

  13. Bce входные, промежуточные и выходные значения сигналов должны располагаться в соответствии с логикой работы схемы сверху вниз. Для перемещения временной диаграммы в нужное место, укажите курсором на необходимую цепь в поле имени (например, D[3..0]), нажмите левую клавишу мыши, переместите и отпустите клавишу. 

Задание значений входных сигналов для моделирования работы собранной схемы производится путем редактирования временных диаграмм входных цепей. Для каждой входной цепи необходимо:

  • Выделить цепь путем щелчка левой клавиши мыши по имени цепи;

  • Значение сигнала входной цепи может быть задано на необходимом интервале времени: 

  • на всем временном интервале исследования, тогда необходимо переместить указатель в поле Value и выполнить щелчок левой клавиши мыши; 

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

После выделения требуемого отрезка времени значение сигнала на нем задается: 

в меню Edit / Overwrite

  • Low (0

  • High (1

  • Undefined (X

  • High Impedance (Z

  • Invert 

  • CIock -тактовые импульсы (меандры) на выделенном отрезке времени, для которых в отдельном окне настраиваются параметры: стартовое значение (0 или 1) и период следования 2Т*n, где Т - длительность такта сетки времени, а n - выбираемое целое число 

Внимание! При моделировании автомата Мили в выходной цепи на временном интервале, равном длительности синхроимпульса, формируется сигнал, зависящий от состояния перехода, т. к. триггер переключается по переднему фронту синхроимпульса мгновенно (без задержки), его значение может отличаться от истинного значения на данном машинном такте («ложный » сигнал). Поэтому значение сигнала в выходной цепи необходимо фиксировать в начале каждого машинного такта.