Главная страница  Автономные управляющие системы 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 19 ] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

Рис. 2.28. Верификация проекта в системе МАХ PLUS II

.hex .mif

MAX+PLUS ii Симулятор

Сигнальный редактор

Протокол исполнения команд

История команд

Выходной табличный файл

MAX+PLUS II Временной анализатор

Рис. 2.29. Симулятор МАХ PLUS II

Simulaloi: Timing Simulation

Simulation Input: dem.scf ! Simulation Time: 0.0ns

Start Time: 0.0ns Г Use Device Г Setup/Hold Г Check Outputs

End Time: Г Oscillation Г Glitch

5.0ms

O.Uiib

0.0ns

Start 1

Pais n a

Stop

Open SCF

либо тестирования компоновки нескольких проектов (устройств) Затем полученный для текущего проекта файл SNF загружается автоматически при открытии симулятора

В качестве источника входных векторов используется либо графический сигнальный файл каналов тестирования (.scf), либо текстовый ASCII-файл (.vec) Для проектов, работающих с памятью, можно задать некое исходное содержимое памяти в файлах шест-иадцатеричного формата (Intel) с расширением .hex или в файлах инициализации памяти с расширением .mIf Сигнальный редактор может автоматически создавать файл SCF по умолчанию, который пользователь может редактировать с целью получения нужных ему тестовых входных векторов Если вместо этого используется текстовый ASCII-файл векторов, сигнальный редактор автоматически генерирует из него файл каналов тестирования SCF (simulator Chanel file)

Симулятор позволяет проверить выходные значения, получаемые в ходе тестирования, по выходам, содержащимся в файле SCF (заданным пользователем прогнозируемым значениям или резуль-

татам предыдущих тестов) С помощью соответствующей аппаратуры для программирования можно также выполнить функциональное тестирование для проверки действительных значений выходов программируемого устройства по результатам тестирования.

Используя различные опции симулятора можно контролировать проект на появление сбоев (glitches), а также нарушение установочных параметров и временных задержек После завершения тестирования можно открыть сигнальный редактор для просмотра обновленного файла SCF или сохранить полученные выходные значения в табличном файле с расширением .tbl, а затем просматривать результаты в текстовом редакторе

Функциональное тестирование. Если компилятору дано задание сгенерировать файл SNF для функционального тестирования, он создает его перед синтезом проекта. Следовательно, при функциональном тестировании можно смоделировать все узлы проекта

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

Тестирование временных параметров

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

Из этого файла симулятор берет информацию об аппаратной части, которая была собрана из файлов моделей устройств (.dmf), имеющихся в комплекте системы МАХ PLUS II

Если проект был разбит на несколько устройств, компилятор создает файл SNF для проекта в целом и для каждого устройства Однако тестирование временных параметров осуществляется только для проекта в целом

Можно ускорить тестирование временных параметров, выдав компилятору указание сгенерировать оптимизированный файл SNF, содержащий динамические модели, которые представляют собой разные типы комбинаторной логики Процессорное время компилятора при этом увеличивается, однако полученный оптимизированный SNF-файл может уменьшить время тестирования, поскольку симулятор может работать с динамическ 1ми моделями, вместо того чтобы интерпретировать всю логику в комбинаторной схеме

При создании файла SNF для тестирования компоновки нескольких проектов компилятор комбинирует файлы SNF для функционального тестирования и/или файлы для тестирования временных параметров нескольких отдельных проектов Отдельные подпроек-ты в компоновочном SNF файле могут быть предназначены для устройств разных семейств Кроме того, поскольку файлы SNF для функционального тестирования создаются до окончания полной компиляции, можно ввести подпроекты, которые представляют логику, не реализованную в устройстве фирмы Altera

Компоновочный файл SNF можно использовать для тестирования на уровне платы Кроме того, если он содержит только информацию о временных параметрах, его можно использовать для прогона временного анализатора системы МАХ PLUS II

Вместе с другими приложениями системы МАХ PLUS II симулятор позволяет Вам выполнить следующие задачи

- задать ожидаемые ло1 ические уровни на выходе, которые можно будет сравнить с результатами тестирования,



ГЛАВА 2. СИСТЕМА ПРОЕКТИРОВАНИЯ MAX+PLUS II


- смоделировать отдельные узлы или узлы, объединенные в группы. Можно комбинировать биты цифрового автомата в проекте, моделировать их как группу и обращаться к ним по имени состояния;

- определить временной интервал, представляющий собой Дрожание фронта импульса или сбой, и проанализировать проект на наличие обоих этих условий или одного из них;

- контролировать наличие в проекте нарушений начальных установок регистров и Временных задержек;

- регистрировать действительные значения выходов устройств вместо моделированных;

- проводить функциональное тестирование. Можно проверить, являются ли смоделированные выходные значения функционально эквивалентными реальным выходам устройств;

- задавать условия точки останова, которые заставляют симулятор делать паузу при их реализации в процессе тестирования;

- составлять перечень имен и логических уровней любой комбинации узлов и групп и инициализировать логические уровни узла или группы перед тестированием;

- инициализировать содержимое блоков памяти RAM (ОЗУ) или ROM (ПЗУ) перед тестированием.

- сохранять инициализированные значения узлов и групп, в том числе инициализированное содержимое памяти, в файле инициализации симулятора (.sif) или перезагружать инициализированные значения, хранящиеся в файле;

- регистрировать команды симулятора в текстовом файле протокола испытаний (.log) того же формата, что и командный файл (.cmd), используемый при тестировании в автоматическом (пакетном) режиме, а затем использовать этот файл LOG для повторения этого цикла тестирования. Команды симулятора и полученные результаты можно также записать в тестовый файл истории тестирования с расширением .hst

Таким образом, мы рассмотрели основные приемы работы пакета MAX+PLUS II Конечно, в рамках одной главы практически невозможно подробно рассмотреть все приемы работы с таким сложным и разнообразным программным средством, однако заинтересованный пользователь в состоянии самостоятельно освоить пакет, используя данную книгу и фирменное руководство пользователя.



3.1. ОБЩИЕ СВЕДЕНИЯ

Язык описания аппаратуры AHDL разработан фирмой Altera и предназначен для описания комбинационных и последовательно-стных логических устройств, групповых операций, цифровых автоматов (state machine) и таблиц истинности с учетом архитектурных особенностей ПЛИС фирмы Altera Он полностью интегрируется с системой автоматизированного проектирования ПЛИС MAX+PLUS II Файлы описания аппаратуры, написанные на языке AHDL, имеют расширение * TDF (Text design file) Для создания TDF-файла можно использовать как текстовый редактор системы MAX+PLUS II, так и любой другой Проект, выполненный в виде TDF-файла, компилируется, отлаживается и используется для формирования файла программирования или загрузки ПЛИС фирмы Altera

Операторы и элементы языка AHDL являются достаточно мощным и универсальным удобным в использовании средством описания алгоритмов функционирования цифровых устройств Язык описания аппаратуры AHDL дает возможность создавать иерархические проекты в рамках одного этого языка или же в иерархическом проекте использовать как TDF-файлы, разработанные на языке AHDL, так и другие типы файлов Для создания проектов на AHDL можно, конечно, пользоваться любым текстовым редактором, но текстовый редактор системы MAX+PLUS II предоставляет ряд дополнительных возможностей для ввода, компиляции и отладки проектов (см гл 2)

Проекты, созданные на языке AHDL, легко внедряются в иерархическую структуру Система MAX+PLUS II позволяет автоматически создать символ компонента, алгоритм функционирования которого описывается TDF-файлом, и затем вставить его в файл схемного описания (GDF-файл) Подобным же образом можно вводить собственные функции разработчика помимо порядка 300 макрофункций, разработанных фирмой Altera, в любой TDF-файл Для всех функций, включенных в макробиблиотеку системы MAX+PLUS II, фирма Altera поставляет файлы с расширением - inc которые используются в операторе включения INCLUDE

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

При работе с AHDL следует соблюдать тек называемые Золотые правила (Golden Rules) Это позволит эффективно применять язык AHDL и избежать многих ошибок

♦ соблюдайте форматы и правила присвоения имен, описанные в руководстве по стилям AHDL, чтобы программа была читаемой и содержала меньше ошибок,

♦ несмотря на то что язык AHDL не различает прописные и строчные буквы. Altera рекомендует для улучшения читаемости использовать прописные буквы для ключевых слов,

♦ не применяйте вложенные конструкции условного оператора If, если можно использовать оператор выбора Case,

♦ строка в TDF-файле может быть длиной до 255 символов Однако следует стремится к длине строки, умещающейся на экране Строки заканчиваются нажатием клавиши Enter,

♦ новую Строку можно начинать в любом свободном месте, т е на местах пустых строк, табуляции, пробелов Основные конструкции языка отделяются пустым пространством.

♦ ключевые слова, имена и числа должны разделяться соответствующими символами или операторами и/или одним или более пробелами,

♦ комментарии должны быть заключены в символы процента (%). Комментарий может включать любой символ, кроме символа процента, поскольку компилятор системы MAX+PLUS II игнорирует все, заключенное в символы процента Комментарии не могут быть вложенными;

♦ при соединении одного примитива с другим используйте только разрешенные связи между ними, не все примитивы могут соединяться друг с другом;

♦ используйте только макрофункции EXPDFF, EXPLATCH, NANDLTCH и NORLTCH, входящие в макробиблиотеку системы MAX+PLUS II Не создавайте свои собственные структуры перекрестных связей Избегайте многократного связывания вместе EXPDFF, EXPLATCH, NANDLTCH и NORLTCH Многочисленные примеры этих макрофункций должны всегда разделяться примитивами LCELL

Общие золотые прввипв вводе проектв:

♦ если многочисленные двунаправленные или выходные выводы связаны вместе, разработчик не может использовать оператор Pin Connection для соединения выводов при функциональном моделировании с аппаратной поддержкой или функциональном тестировании,

♦ нет необходимости создавать прототипы функций для примитивов Однако разработчик может переопределить примитивы в объявлениях прототипов функций для изменения порядка вызова входов в вашем TDF-ФАЙЛЕ,

♦ не редакгируйте файл Fit Если разработчик желает отредактировать назначения для проекта, необходимо сохранить сначала файл Fit как TDF-файл или сделать обратное назначение с помощью команды Project Back-Annotate и отредактировать их с помощью команд Chip to Device, Pin/LC/Chip и Enter Assignments;

♦ если разработчик хочет загрузить регистр по определенному фронту глобального тактового сигнала Clock, фирма Altera рекомендует, когда регистр загружен, использовать для управления вход Clock Enable одного из триггеров типа Enable: DFFE, TFFE, JKFFE или SRFFE,

♦ когда разработчик начинает работать с новым файлом проекта, сразу же необходимо задать семейство ПЛИС, на которые ориентирован проект, с помощью конструкции Family, для того чтобы в дальнейшем иметь возможность воспользоваться макрофункциями, специфичными для данного семейства Если разработчик не задаст семейство, оно будет считаться таким же, как и в текущем проекте,

♦ используйте опцию Design Doctor для проверки надежности логики проекта во время компиляции,

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



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 19 ] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

© 2000 - 2021 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования.