Радиотехнический сайт RADIOTRACT

Радиотехника и электроника для разработчиков и радиолюбителей

Информация

 

 

Справочные данные на радиоэлектронные компоненты, приборы, средства связи и измерений. Радиотехническая литература.

Общая

Микроконтроллеры

ПЛИС

Измерения

Радиостанции

Библиотека

Справочники

Доска объявлений

Объявления о покупке и продаже радиокомпонентов. Спрос и предложение на различные радиодетали и приборы.

Куплю

Продам

Магазин

Программы

Полезные программы для радиолюбителей и разработчиков радиоэлектроники.

Радиотехника

Интернет

Калькуляторы

Другие

Мы в соцсетях

  

ПЛИС

Некоторые полезные способы использования зарезирвированного слова OPTIONS в языке описания аппаратуры AHDL

Здесь собраны некоторые полезные способы использования зарезервированного слова "OPTIONS" в AHDL. Может оказаться полезным при написании мегафункций и совместной работе над одним проектом, так как в ряде случаев можно будет отказаться от использования Assignment Editor.

Данные материалы не являются официальным переводом инструкций от Altera. Они получены путём изучения исходных кодов мегафункций от Altera, свободно поставляемых в комплекте с программным обеспечением Quartus II. Большинство описанных примеров были опробованны непосредственно в своих проектах в пакете Quartus II v5.0.

Общий формат записи: OPTIONS ALTERA_INTERNAL_OPTION = "{-from <src> -to <dsc>} <Assignment Name>=<Value>"; При этом "-from <src>" может отсутствовать, например, при назначении выводов.

Примеры использования

1. Назначение способа кодирования состояний автомата
Assignment Name = State Machine Processing.
Приведён пример для автомата с именем INIT_SM.

1.1 Кодирование состояний Minimal Bits

OPTIONS ALTERA_INTERNAL_OPTION = "{-to INIT_SM} STATE_MACHINE_PROCESSING=MINIMAL_BITS";

1.2 Кодирование состояний One-Hot

OPTIONS ALTERA_INTERNAL_OPTION = "{-to INIT_SM} STATE_MACHINE_PROCESSING=ONE-HOT";

2. Использование Fast Output Register
Assignment Name = Fast Output Register.
Приведён пример для регистра с именем reg_out.

OPTIONS ALTERA_INTERNAL_OPTION = "{-to reg_out} FAST_OUTPUT_REGISTER=ON";

3. Использование Fast Input Register
Assignment Name = Fast Input Register.
Приведён пример для регистра с именем reg_in.

OPTIONS ALTERA_INTERNAL_OPTION = "{-to reg_in} FAST_INPUT_REGISTER=ON";

4. Использование Global Signal
Assignment Name = Global Signal.
Приведён пример для узла с именем int_node.

4.1 Для значения "ON"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to int_node} GLOBAL_SIGNAL=ON";

4.2 Для значения "Global Clock"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to int_node} GLOBAL_SIGNAL=GLOBAL_CLOCK";

4.3 Для значения "Regional Clock"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to int_node} GLOBAL_SIGNAL=REGIONAL_CLOCK";

4.4 Для значения "Fast Regional Clock"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to int_node} GLOBAL_SIGNAL=FAST_REGIONAL_CLOCK";

5. Назначение стандарта I/O вывода
Assignment Name = I/O Standard.
Приведён пример для вывода с именем ctrl_pin.

5.1 Для стандарта 1.5V
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=1.5V";

5.2 Для стандарта 1.8V
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=1.8V";

5.3 Для стандарта 2.5V
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=2.5V";

5.4 Для стандарта 3.3V PCI
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=3.3V_PCI";

5.5 Для стандарта Differencial SSTL-2
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=DIFFERENCIAL_SSTL2";

5.6 Для стандарта LVCMOS
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=LVCMOS";

5.7 Для стандарта LVDS
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=LVDS";

5.8 Для стандарта LVTTL
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=LVTTL";

5.9 Для стандарта RSDS
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=RSDS";

5.10 Для стандарта SSTL-2 Class I
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=SSTL2_CLASS_I";

5.11 Для стандарта SSTL-2 Class II
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=SSTL2_CLASS_II";

5.12 Для стандарта SSTL-3 Class I
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=SSTL3_CLASS_I";

5.13 Для стандарта SSTL-3 Class II
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} IO_STANDARD=SSTL3_CLASS_II";

6. Ток I/O вывода
Assignment Name = Current Strength.
Приведён пример для вывода с именем ctrl_pin.

6.1 Для значения Minimum Current
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=MINIMUM_CURRENT";

6.2 Для значения Maximum Current
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=MAXIMUM_CURRENT";

6.3 Для значения 12mA
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=12MA";

6.4 Для значения 16mA
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=16MA";

6.5 Для значения 12mA
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=24MA";

6.6 Для значения 2mA
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=2MA";

6.7 Для значения 4mA
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=4MA";

6.8 Для значения 8mA
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} CURRENT_STRENGTH_NEW=8MA";

7. Decrease Input Delay to Input Register
Приведён пример для вывода с именем ctrl_pin.

OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} DECREASE_INPUT_DELAY_TO_INPUT_REGISTER=ON";

8. Decrease Input Delay to Internal Cells (Stratix/Stratix GX/Cyclone)
Приведён пример для вывода с именем ctrl_pin.

8.1 Для значения "On"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} STRATIX_DECREASE_INPUT_DELAY_TO_INTERNAL_CELLS=ON";

8.2 Для значения "Large"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} STRATIX_DECREASE_INPUT_DELAY_TO_INTERNAL_CELLS=LARGE";

8.3 Для значения "Medium"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} STRATIX_DECREASE_INPUT_DELAY_TO_INTERNAL_CELLS=MEDIUM";

8.4 Для значения "Small"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} STRATIX_DECREASE_INPUT_DELAY_TO_INTERNAL_CELLS=SMALL";

9. Fast Input Register
Приведён пример для регистра с именем ff_reg.

OPTIONS ALTERA_INTERNAL_OPTION = "{-to ff_reg} FAST_INPUT_REGISTER=ON";

10. Power-Up Level
Приведён пример для регистра с именем ff_reg.

10.1 Для значения "High"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ff_reg} POWER_UP_LEVEL=HIGH";

10.2 Для значения "Low"
OPTIONS ALTERA_INTERNAL_OPTION = "{-to ff_reg} POWER_UP_LEVEL=LOW";

11. Virtual Pin
Приведён пример для вывода с именем ctrl_pin.

OPTIONS ALTERA_INTERNAL_OPTION = "{-to ctrl_pin} VIRTUAL_PIN=ON";

Любое полное или частичное воспроизведение, копирование и распространение материалов сайта только при уловии размещения активной ссылки на данную страницу. Ссылка на ресурс www.radiotract.ru обязательна.


Комментарии

comments powered by Disqus