![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Вопрос 33 - Оператор контроля Assert. Назначение, синтаксис и применение оператора.Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Оператор 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; просмотров: 564; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.38.77 (0.011 с.) |