Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Вопрос 33 - Оператор контроля Assert. Назначение, синтаксис и применение оператора.↑ ⇐ ПредыдущаяСтр 4 из 4 Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Оператор Assert позволяет проверять действительность выражений арбитражного характера, в которых используются параметры, числа, оценочные функции, а также статусные состояния портов (используется порт или не используется)
Синтаксис оператора Assert: ASSERT <assert expression> REPORT <string> [ <message variable> {, <message variable> } ] [ SEVERITY <severity> ] [ HELP_ID <identifier> ]; --зарезервированы для будущих разработок <assert expression>::= <expression> | (<expression>) <message variable>::= <symbolic name><expression> <severity>::= INFO | WARNING | ERROR
Пример: ASSERT (WIDTH > 0) REPORT "Параметр (%) должен быть целым положительным" WIDTH SEVERITY ERROR;
Оператор Assert имеет следующие характеристики:
За ключевым словом ASSERT следует арифметическое выражение, в необязательном порядке заключенное в круглые скобки. Когда выражение принимает значение ‘ложь’, строка - сообщение, следующая за ключевым словом REPORT, выводится в текстовом процессоре.При отсутствии условного выражения строка сообщения выводится безусловно. За ключевым словом REPORT следует строка сообщения и необязательные параметры, представленные переменными. Строка сообщения заключается в двойные кавычки и может содержать символы %, которые замещаются значениями соответствующих переменных. Если ключевое слово REPORT не используется и при этом значение выражения арбитражного характера принимает значение ‘ложь’, то в текстовом процессоре выдается следующее сообщение: <severity>: Line <line number>, File <filename>: Assertion failed Необязательные переменные, включаемые в сообщение состоят из одного или более параметров, оценочных функций или арифметических выражений. Переменные, включаемые в сообщение отделяются друг от друга запятыми. Значения переменных подставляются в порядке появления в сообщении символов %.В примере, показанном выше, значение переменной WIDTH заменяет символ % в строке сообщения. За необязательным ключевым словом SEVERITY следует уровень строгости ERROR, WARNING или INFO. По умолчанию предполагается уровень строгости ERROR. Ключевое слово HELP_ID и строка - подсказка поддерживается в некоторых поставляемых фирмой Altera функциях и зарезервировано для внутреннего использования фирмой Altera. Оператор Assert заканчивается символом (;). Оператор Assert может использоваться внутри раздела Logic или за пределами других разделов языка AHDL.
Вопрос 34 - Операторы заголовка Title и задания опции Options. Назначение, синтаксис и применение операторов.
Оператор Title позволяет внести в текстовый файл проекта комментарий, который в дальнейшем будет помещен в файл отчета (Report File),генерируемый компилятором. Следующий пример демонстрирует использование оператора Title:
TITLE "Display Controller";
При использовании оператора Title необходимо соблюдать следующие правила: ¨ Оператор Title начинается с ключевого слова TITLE, за которым следует текстовая строка -заголовок, заключенная в двойные кавычки. Оператор заканчивается символом ‘;’ (точка с запятой). ¨ Если оператор Title используется в текстовом файле проекта, то использованный заголовок помещается в начало файла отчета (Report File). В показанном выше примере, заголовок Display Controller помещается в файл отчета. ¨ Заголовок может содержать до 255 символов, кроме того в нем не должны использоваться символы конца строки (end-of-line) и конца файла (end-of-file). Для использования кавычек в заголовке необходимо использовать пары двойных кавычек. Пример: TITLE """EPM5130"" Display Controller"; ¨ В одном текстовом файле проекта может использоваться не более одного оператора Title. ¨ Oператор Title должен быть расположен за пределами других разделов языка AHDL.
Оператор Options предназначен для определения значения опции BIT0, указывающего в отношении группы, является ли бит с наименьшим номером битом с наибольшим весом (MSB - Most Significant Bit), битом с наименьшим весом (LSB - Least Significant Bit) или с весом, зависящим от места расположения индекса данного бита при описании группы. Использование данной опции позволяет избежать генерации сообщений предупредительного характера, если бит с наименьшим номером в группе используется не в качестве бита с наименьшим весом, что предполагается по умолчанию. При описании группы с размерностью, определенной диапазоном чисел, левое число представленного диапазона (заметим, что оно может быть и наименьшим и наибольшим в данном диапазоне) всегда представляет собой индекс бита с наибольшим весом (MSB - Most Significant Bit); соответственно правое число представленного диапазона (заметим также, что оно может быть и наименьшим и наибольшим числом указанного диапазона) всегда представляет собой индекс бита с наименьшим весом (LSB - Least Significant Bit). Если упомянутый диапазон чисел представлен в возрастающем порядке и при этом не установлена опция BIT0=MSB, то будет сгенерировано предупреждающее сообщение.Если использована опция BIT0=MSB и упомянутый диапазон представлен в убывающем порядке, то также будет сформировано предупреждающее сообщение. При установке опции BIT0=ANY можно определять размерности групп диапазонами чисел, представленных как в возрастающем, так и в убывающем порядке без генерации предупреждающих сообщений. Оператор Options начинается ключевым словом OPTIONS, за которым следует опция BIT0 и ее установка. Оператор Options заканчивается символом (;).
Следующий пример демонстрирует использование оператора Options:
OPTIONS BIT0 = MSB;
В данном примере бит с наименьшим номером в группе определен как бит, имеющий наибольший вес (MSB).Другими возможными вариантами являются LSB - наименьший вес и ANY - вес, зависящий от расположения бита с наименьшим номером при описании группы.
OPTIONS BIT0 = LSB; B”0101” - это 5
OPTIONS BIT0 = MSB; B”0101” - это 10
Оператор Options расположенный в начале текстового файла проекта производит установку порядка следования битов в группах, действительную в пределах всего файла проекта. Если текущий файл проекта является файлом проекта верхнего уровня иерархии, то установка в операторе Options действительна в отношении всех подпроектов, входящих в данный проект верхнего уровня. Если текущий файл проекта не является файлом проекта верхнего уровня, то действие установки оператора Options распространяется только на данный файл проекта.
Примечание: --Если опция не задана, то,по умолчанию, BIT0 = LSB; --Значение опции, заданное в файле верхнего уровня иерархии, распространяется на файлы модулей нижнего уровня, если в них явно не задано другое значение опции; --В файле текстового описания оператор используется один раз.
Вопрос 35 - Оператор включения Include. Назначение, синтаксис и применение оператора. Создание, размещение и поиск файла включения *.inc в среде САПР MAX+PLUS II.
Оператор Include позволяет импортировать текст из файла с расширением.inc в текущий файл. Следующий пример демонстрирует использование оператора Include:
INCLUDE "const.inc";
Оператор Include имеет следующие характеристики: ¨ Оператор Include начинается с ключевого слова INCLUDE, за которым следует имя подключаемого.inc-файла, заключенного в двойные кавычки. ¨ Если явно не указывать расширение подключаемого файла, то компилятор по умолчанию предполагает, что файл имеет расширение.inc. ¨ Оператор Include заканчивается символом (;). ¨ На этапе компиляции осуществляется замена оператора Include содержимым.inc-файла. В примере, показанном выше, файл const.inc заменяет текст INCLUDE “const.inc”;
Оператор Include часто используется для подключения прототипов функций для файлов более низкого уровня иерархии по отношению к данному текстовому файлу проекта (TDF). Для использования мега- и макрофункций необходимо сначала определить их логику функционирования в соответствующем файле проекта. Затем необходимо использовать оператор Function Prototype для определения портов функции. В качестве альтернативного варианта, можно использовать оператор Include для подключения прототипа функции, хранящегося в соответствующем файле с расширением.inc. Затем можно осуществить объявление объекта (Instance Declaration) или подставляемую ссылку (in-line reference) дляэкземпляра логической функции. Можно автоматически создать файл с расширением.inc, содержащий прототип функции для текущего файла проекта, с помощью команды Create Default Include File меню File.
На этапе компиляции текстового файла проекта, компилятор осуществляет поиск файлов с расширением.inc в следующей последовательности: 1. Сначала осуществляется поиск в директории данного проекта 2. Просматриваются пользовательские библиотеки указанные командой User Libraries меню Options. 3. Просматриваютсядиректории \maxplus2\max2lib\mega_lpm и \maxplus2\max2inc, созданные во время инсталляции.
После изменений, внесенных в текстовый файл проекта (TDF), в котором осуществляется подключение файлов с расширением.inc, можно использовать команду Project Save&Check меню File или осуществить полную перекомпиляцию проекта для обновления дерева иерархии проекта, выводимого в окне отображения иерархии проекта. При использовании оператора Include необходимо соблюдать следующие правила: ¨ Имя файла, приведенного в операторе Include, не должно содержать пути. ¨ В программном обеспечении рабочих станций имена файлов контекстно-зависимы. В документации MAX+PLUSII имена файлов могут приводиться как с использованием прописных, так и строчных букв. Однако в случае использования оператора Include имена файлов должны в точности повторять их оригинальные имена. Названия макро- и мегафункций поставляемых фирмой Altera целиком состоят из строчных букв. ¨ Oператор Include должен быть расположен за пределами других разделов языка AHDL. ¨ Оператор Include может использоваться произвольное количество раз в рамках одного текстового файла проекта (TDF). Файлы с расширением.inc должны удовлетворять следующим соглашениям: ¨ Полные имена этих файлов должны иметь расширение.inc. ¨ Файлы с расширением.inc могут содержать лишь следующие операторы: · Function Prototype · Define · Parameters · Constant Вложенность при использовании файлов с расширением.inc недопустима. Файлы с расширением.inc не должны содержать секцию Subdesign.
Вопрос 36 - Оператор задания константы Constant. Назначение, синтаксис и применение оператора.
Оператор Constant позволяет ввести в применение информативное символическое имя для числа или арифметического выражения. Следующие примеры демонстрируют использование оператора Constant:
CONSTANT UPPER_LIMIT = 130; CONSTANT BAR = 1 + 2 DIV 3 + LOG2(256); CONSTANT FOO = 1; CONSTANT FOO_PLUS_ONE = FOO + 1; --Применение констант не требует дополнительных ресурсов ПЛИС. --Оператор CONSTANT может использоваться неограниченное число раз. --Значение константы не должно превышать H”FFFFFFFF” (32 разряда)
Оператор Constant имеет следующие характеристики: ¨ Оператор Constant начинается с ключевого слова CONSTANT, за которым следует символическое имя, затем символ (=) и далее число (при необходимости, включая его основание) или арифметическое выражение. ¨ Оператор Constant заканчивается символом (;). ¨ После того, как константа была определена, она может быть использована в пределах всего текстового файла проекта (TDF). В примере, приведенном выше, в разделе Logic можно использовать константу UPPER_LIMIT для представления десятичного числа 130. ¨ Константы могут быть определены посредством арифметических выражений. В эти арифметические выражения могут входить константы определенные ранее. ¨ Компилятор вычисляет арифметические выражения, используемые в операторе Constant и упрощает их до числовых значений. При этом не производится генерация логических схем.
При использовании оператора Constant необходимо соблюдать следующие правила: ¨ Константа может быть использована лишь после того, как она определена. ¨ Имена констант должны быть уникальными. ¨ Имя константы не должно содержать пробелов. Для разделения слов в имени константы и улучшения восприятия имен констант следует пользоваться символом подчеркивания. ¨ Оператор Constant может использоваться произвольное количество раз в рамках одного текстового файла проекта. ¨ Oператор Constant должен быть расположен за пределами других разделов языка AHDL. ¨ Константы, используемые для определения других констант, должны быть определены ранее. ¨ Использование циклических ссылок недопустимо. Следующий пример демонстрирует использование недопустимой циклической ссылки: CONSTANT FOO = BAR; CONSTANT BAR = FOO;
|
||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 555; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.198.147 (0.007 с.) |