Главная страница Автономные управляющие системы <описок выходов> = <группа прототипа> (, <группа прототипа>} 3.9.7. Синтаксис оператора вариантов <варианты> = OPTIONS <вариант> {, <вариант> >, <вариант> = <вариант устройства> I <вариант 0-го бита AHDL> I <логическая опция> < вариант устройства> = I SECURITY = (ON-вкп OFF-откл) I TURBO = (ON-вкл I OFF-откл DEFAULT-no умолчанию) <вариант 0-го бита AHDL> ::= BITO = (ANY-произвольный LSB-младший MSB-старший) <логическаяопция> = CARRY CHAIN = (AUTO-аато IGNORE-игнорировать 1 MANUAL- ручной I DEFAULT-no умолчанию) I CASCADE CHAIN = (AUTO IGNORE 1 MANUAL DEFAULT) I DECOMPOSE GATES = (ON-вкл OFF-откл DEFAULT-no умолчанию) I DUPLICATE LOGIC EXTRACTION = (ON OFF DEFAULT) I EXPANDER FACTORING = (ON OFF DEFAULT) I MINIMIZATION = {FULL-полная PARTIAL-чаотичная NONE-нет I DEFAULT-no умолчанию) I MULTI-LEVEL FACTORING = (ON OFF DEFAULT) I NOT GATE PUSH-BACK = (ON OFF DEFAULT) 1 OPTIMIZE = (АВЕА-площадь DELAY-задержка ROUTING-мар- шрутизация I DEFAULT-no умолчанию) I PARALLEL EXPANDERS = (ON I OFF DEFAULT) 1 PERIPHERAL REGISTER = (ON OFF DEFAULT) I REDUCE LOGIC = (ON OFF DEFAULT) 1 REFACTOBIZATION = (ON OFF ( DEFAULT) I REGISTER OPTIMIZATION = (ON OFF DEFAULT) I RESYNTHESIZE NETWORK = (ON OFF DEFAULT) I SLOW SLEW RATE = (ON OFF DEFAULT) I SOFT BUFFERJNSERTION = (ON OFF DEFAULT) I STYLE = <имя стиля> I SUBFACTOREXTRACTION = (ON OFF DEFAULT) I TURBO = (ON I OFF DEFAULT) I XOR SYNTHESIS = (ON OFF DEFAULT) Однако фирма Altera рекомендует использовать полное имя для удобства документации 2 Типы вариантов, которые могут быть включены в оператор OPTIONS, определяются местоположением этого оператора и правилами построения содержимого файла 3.9.8. Синтаксис секции подпроекта Subdesign <секция подпроекта> = SUBDESIGN <имя проекта> ( { <список сигналов> ; > <список сигналов> [, ] [<переменные>] BEGIN <операторы> END, <списоксигналов> ..= <список портов> <тип порта> <тип порта> ..= INPUT [ = VCC I = GND ] i OUTPUT I BIDIR [ = VCC I =GND] I MACHINE INPUT I MACHINE OUTPUT Ключевые слова BEGIN и END обрамляют логическую секцию, которая является телом секции подпроекта 3.9.9. Синтаксис секции переменных <переменные> = VARIABLE <список портов> <тип переменной> . {<список портов> <тип переменной> ,) <тип переменной> = NODE I <макрофункция> I <примитив> I <цифровой автомат (state machine)> I <псевдоним цифрового автомата> <макрофункция> = <имя проекта> <имяотиля> ::= FAST ( WYSIWYG I NORMAL I <стнль пользователя> <примитив> = <символьное имя> 3.9.10. Синтаксис объявления цифрового автомата <оимвольное имя> <цифровой автомат (state machine)>, <стиль пользователя> ..= <символьное имн> 1 Каждый <вариант> кроме BITO и имени стиля может быть сокращен до трех символов по обеим сторонам знака равенства (=) <цифровой автомат (state maohine)> MACHINE [ <биты> ] <состояния> <биты> = OF BITS ( <список портов> ) <состояния> :;= WITH STATES ( <состоянив> {, <состоянив>)} <состоянив> ::= <символьнов имя> [ = оначение состояния> ] Оначениесостояния> ::= <число> I <символьное имя> 3.9.11. Синтаксис объявления псевдонима цифрового автомата <символьное имя>: MACHINE; Объявление псевдонима цифрового автомата не задает биты или имена состояний. Эта информация импортируется из секции подпроекта через порт MACHINE INPUT файла более высокого уровня в иерархии проекта или же через прототип функции из файла более низкого уровня в иерархии проекта 3.9.12. Синтаксис логической секции Логическая секция, заключенная между ключевыми словами BEGIN и END, представляет собой тело секции подпроекта Информация о синтаксисе приводится отдельно для каждого варианта логической секции. 3.9.13. Синтаксис булевых уравнений <булево уравнвнив> ::= <левая часть> = <правая часть>, 3.9.14. Синтаксис булевых уравнений управления <символьнов имя>.с1к = <правая часть>; [<символьнов имя> reset = <правая часть>;] [<символьнов имя> епа = <правая часть>,] Элемент <символьнов имя> в булевом уравнении управлвния должен быть объявлен так же, как в объявлении цифрового автомата в секции переменных. 3.9.15. Синтаксис оператора Case <опвратор выбора> ::= CASE <правая часть> IS WHEN <выбор> => <опвраторы> {WHEN <выбор> => <опвраторы>} [ WHEN OTHERS => <опвраторы> ] END CASE; <выбор> ::= <группа констант> (, <группа констант>} 3.9.16. Объявление по умолчанию <объявлвнив по умолчанию> ::= DEFAULTS Оадание значения>; {<задание значения>;} END DEFAULTS; 3.9.17. Синтаксис условного оператора IF <условный опвратор> ::= IF <правая часть> THEN <опвраторы> {ELSIF <правая часть> THEN <опвраторы>} [ ELSE <правая часть> THEN <опвраторы> ] END IR 3.9.18. Синтаксис встроенных (in-line) ссылок на макрофункцию или примитив <макрофункция> ( <список правых частвй>) <примитив> ( <список правых частвй> } 3.9.19. Синтаксис объявления таблицы истинности <опврвтортаблицы> .= TABLE <входы> => <выходы>; <входнывзначвния> => <выходныв значвния> ; {<входныв значвния> => <выходныв значвния>;} END TABLE, <входы> ::= <правая часть> {, <правая часть>} <выходы> .:= <левая часть> {, <лввая часть>} <входныв значвния> ::= <группа констант> (, <группа констант>} <выходнывзначвния> ::= <группа констант> {, <группа констант>} 3.9.20. Синтаксис порта Порт, являющийся в текущем файле входом или выходом, объявляется в секции подпроекта в следующем формате: <имя порта> : <тип порта> [ = оначение порта по умолчанию> ] Имеются следующие типы портов: INPUT MACHINE INPUT OUTPUT MACHINE OUTPUT BIDIR Порты, являющиеся входами и выходами примера (Instance} примитива или макрофункции, используются в следующем формате: <имя примера>.<имя порта> <имя примвра> ::= <символьное имя> Оадание значвния> ::= < левая часть> = < группа констант> 3.9.21. Синтаксис группы Группы могут быть записаны в следующих двух нотациях 1. Нотация <десятичное имя группы> состоит из символьного имени, за которым спвдует диапазон десятичных чисел, заключенный в квадратные скобки, например а[4 .1] Допускается указание только одного диапазона после символьного имени <десятичное имя группы> ::= <символьное имя> [ <диапазон> ] <циапаэон> = <десятичное число 1 <десятичное число>. <десятичное число> Если группа уже определена, можно для краткости вместо циа-паэона указывать только пустые скобки [ ] Вместо диапазона можно также использовать одно только число, например а[5] Однако в такой нотации обозначается только одно символьное имя, а не имя группы, и это эквивалентно записи а5 2 Нотация <последовательное имя группы> состоит из списка символьных имен, портов или чисел, разделенных запятой и заключенных в круглые скобки, например (а, Ь, с) Десятичные имена группы также можно перечислять в круглых скобках <последовательное имя группы> ::= (<список правых частей> ) <списокправых частей > = [ <правая часть>) {, [ <правая часть> ]) Данная нотация полезна для задания портов примера (instance) функции, которая объявляется в объявлении примера 3.9.22. Синтаксические фуппы и списки кгруппаконстант> = <символьное имя> I<число> 1 VCC I GND I ( <список группы констант>) <список группы констант> = [ <группа констант> ] (, [ <группа констант> ]) <группаточек> = <имя порта> I <символьное имя> [ ] I <символьное имя> [ <диапазон> ] I ( <список группы точек> ) <список группы точек> :;= ( <группаточек> ] {, [ <группаточек> ]) I <символьное имя> [ ] I <симаольное имя> [ <диапазон> ] I!< левая часть > I ( <списоклевых частей> ) <списоклевыхчастей> = [ < левая часть >]{,[< левая часть > ]} <группа портов> ..= <имя порта> I <символьное имя> [ <диапаэон> ] I ( <список портов>} <списокпортов> = <группа портов> {. <группа портов>} <группа прототипа> ::= <группапортов> I MACHINE <символьное имя> <циапазон> = <десятичное число [ . <десятичное число ] <праваячасть> = <праваячасть> <группаточек> I <правая часть> <числО <символьноеимя> <символьное имя> [ ] <символьное имя> [ <диапазон> ] VCC GND <правая часть> == <правая часть> <правая часть> >= <правая часть> <правая часть> > <праваячасть> <правая часть> <= <правая часть> <праваячасть> < <правая часть> <прааая часть> = <правая часть> <правая часть> # <правая часть> <правая часть> i# <правая часть> <правая часть> & <правая часть> <правая часть> & <правая часть> <правая часть> $ <правая часть> <правая часть> $ <правая часть> <правая часть> + <правая часть> <правая часть> - <правая часть> - <правая часть> + <правая часть> <макрофункция> ( <список правых частей>) <примитив> (<список правых частей> ) (<список правыхчастей> ) <леваячасть> ::= <левая часть> <группаточек> I <симаольное имя> <список правых частей> ::= [ <правая часть> ] {, [ <правая часть> ])
|
© 2000 - 2024 ULTRASONEX-AMFODENT.RU.
Копирование материалов разрешено исключительно при условии цититирования. |