ПЛИС
Некоторые полезные способы использования зарезирвированного слова 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 обязательна.
Комментарии