HDL Synthesis and Workflow Automation Properties

Интеграция сторонних инструментов EDA с рабочим процессом создания фильтра

С помощью свойств синтеза и автоматизации рабочих процессов можно включить и настроить генерацию файлов скриптов для сторонних инструментов Electronic Design Automation (EDA).

Эти скрипты позволяют вам компилировать, моделировать и синтезировать сгенерированный HDL-код. Можно изменить команды, которые кодер печатает в скриптах, задав свойства на этой странице. Кодер передает значения свойств в fprintf для создания скрипта. Можно использовать управляющие символы, поддерживаемые fprintf функция. Для примера, '\n' вставляет новую линию в файл скрипта.

Задайте эти свойства как аргументы имя-значение для generatehdl функция. Name - имя свойства и Value - соответствующее значение. Можно задать несколько аргументов имя-значение в любом порядке как 'Name1',Value1,...,'NameN',ValueN.

Для примера:

fir = dsp.FIRFilter('Structure','Direct form antisymmetric');
generatehdl(fir,'InputDataType',numerictype(1,16,15),'VHDLLibraryName','my_work');

Сгенерируйте скрипты

расширить все

Включите генерацию скриптов для инструментов EDA, заданную как одно из следующих:

  • 'on' - Кодер генерирует скрипт компиляции для Mentor Graphics® ModelSim®. В сложение:

    • Если на GenerateHDLTestBench для свойства задано значение 'on'кодер генерирует скрипты компиляции и симуляции для испытательного стенда.

    • Если на HDLSynthTool Свойство задано значение, отличное от 'none'кодер генерирует скрипт синтеза.

  • 'off' - Отключает генерацию скриптов, включая скрипты компиляции, симуляции и синтеза.

См. раздел Интегрирование с инструментами EDA сторонних производителей.

Скрипты компиляции

расширить все

Имя библиотеки, используемое в разделе инициализации скрипта компиляции, задается как 'work', вектор символов или строковый скаляр. Используйте это свойство, чтобы избежать конфликтов по совпадению имен библиотек с существующим кодом VHDL. Кодер вставляет это имя в HDLCompileInit значение свойства. По умолчанию кодер генерирует спецификацию библиотеки 'vlib work/n'.

Постфикс в имя файла скрипта компиляции, заданный как '_compile.do', вектор символов или строковый скаляр. Кодер выводит имя скрипта путем добавления этого постфикса к сгенерированному имени фильтра или имени испытательного стенда. Для примера, если сгенерированное имя фильтра my_designкодер добавляет постфикс _compile.do для формирования имени my_design_compile.do.

Раздел инициализации скрипта компиляции, заданный как 'vlib %s\n', вектор символов или строковый скаляр. Кодер печатает эту команду в начале скрипта компиляции. Неявный аргумент, %s, - имя библиотеки, заданное в VHDLLibraryName свойство. По умолчанию это свойство генерирует спецификацию библиотеки 'vlib work/n'. Если вы компилируете создание фильтра с кодом из других библиотек, обновите VHDLLibraryName свойство, чтобы избежать конфликтов по совпадению имен библиотек.

Команда, записанная в скрипт компиляции для каждого файла Verilog, заданная как 'vlog %s %s\n', вектор символов или строковый скаляр. Эта команда добавляет сгенерированный исходный файл HDL в список скомпилируемых файлов. Кодер печатает эту команду в скрипте один раз для каждого сгенерированного HDL- файла. Первый неявный аргумент, %s, принимает значение SimulatorFlags свойство. Вторым неявным аргументом является имя файла текущего модуля.

Команда, записанная в скрипт компиляции для каждого файла VHDL, заданная как 'vcom %s %s\n', вектор символов или строковый скаляр. Эта команда добавляет сгенерированный исходный файл HDL в список скомпилируемых файлов. Кодер печатает эту команду в скрипте один раз для каждого сгенерированного HDL- файла. Первый неявный аргумент, %s, принимает значение SimulatorFlags свойство. Вторым неявным аргументом является имя файла текущей сущности.

Опции симулятора, заданные как '', вектор символов или строковый скаляр. Задайте опции, специфичные для вашего приложения и симулятора, который вы используете. Для примера, если вы используете компилятор 1076-1993 VHDL, задайте флаг '-93'. Кодер добавляет флаги, которые вы задаете с помощью этой опции, к команде компиляции в сгенерированных скриптах инструмента EDA. The HDLCompileVHDLCmd или HDLCompileVerilogCmd свойства определяют команду компиляции.

Раздел завершения скрипта компиляции, заданный как '', вектор символов или строковый скаляр. Кодер печатает эту последовательность символов в конце скрипта компиляции.

Область Скриптов

расширить все

Постфикс в имя файла скрипта симуляции, заданный как '_sim.do', вектор символов или строковый скаляр. Кодер выводит имя скрипта, добавляя этот постфикс к сгенерированному имени испытательного стенда. Для примера, если имя испытательного стенда my_design_tbкодер добавляет постфикс _sim.do для формирования имени my_design_tb_sim.do.

Зависимости

Это свойство применяется только когда EDAScriptGeneration и GenerateHDLTestBench для свойств задано значение 'on'.

Раздел инициализации скрипта симуляции, заданный как 'onbreak resume\nonerror resume\n', вектор символов или строковый скаляр. Кодер печатает эту команду в начале скрипта симуляции.

Зависимости

Это свойство применяется только когда EDAScriptGeneration и GenerateHDLTestBench для свойств задано значение 'on'.

Команда, записанная в скрипт симуляции, заданная как вектор символов или строковый скаляр, который будет объединен с vsim, как vsim -voptargs=+acc %s.%s\n. Первый неявный аргумент, %s, - имя библиотеки. Вторым неявным аргументом является сгенерированное имя испытательного стенда. Для Verilog имя библиотеки 'work' и не может быть изменен. Для VHDL имя библиотеки является значением VHDLLibraryName свойство. Если вы скомпилировали создание фильтра с кодом из других библиотек, обновите VHDLLibraryName чтобы избежать конфликтов по совпадению имен библиотек.

Примечание

До R2020b команда HDL симуляции по умолчанию vsim -novopt %s.%s\n. Версии Mentor Graphics ModelSim до 10.7 поддерживают прежний синтаксис. Если вы используете более свежую версию ModelSim, необходимо использовать -voptargs=+acc синтаксис.

Зависимости

Это свойство применяется только когда EDAScriptGeneration и GenerateHDLTestBench для свойств задано значение 'on'.

Команда просмотра формы волны, записанная в скрипт симуляции, задается как 'add wave sim:%s\n', вектор символов или строковый скаляр. Неявный аргумент, %s, является командой, которая добавляет пути сигнала для входных сигналов верхнего уровня DUT, сигналов выхода и выхода опорных сигналов.

Зависимости

Это свойство применяется только когда EDAScriptGeneration и GenerateHDLTestBench для свойств задано значение 'on'.

Раздел завершения скрипта симуляции, заданный как 'run -all\n', вектор символов или строковый скаляр. Кодер печатает эту команду в конце скрипта симуляции.

Зависимости

Это свойство применяется только когда EDAScriptGeneration и GenerateHDLTestBench для свойств задано значение 'on'.

Синтезирующие скрипты

расширить все

Сгенерируйте скрипт для инструмента синтеза, заданный как одно из следующего.

Значение HDLSynthToolИнструмент синтеза
'none'N/A. Кодер не генерирует скрипт синтеза.
'Vivado'

Xilinx® Vivado®

'ISE'Xilinx ISE
'Libero'

Микрополу® Либеро®

'Precision'Точность наставнической графики
'Quartus'Altera® Кварт II
'Synplify'

Synopsys® Синхронизация Pro®

'Custom'Кодер генерирует скрипт, который поддерживает ваш инструмент, на основе настроек HDLSynthCmd, HDLSynthInit, и HDLSynthTerm свойства.

При генерации скрипта кодер использует специфичные для инструмента значения, заданные HDLSynthCmd, HDLSynthInit, и HDLSynthTerm свойства. Настройте эти свойства в соответствии с вашим целевым устройством и ограничениями.

Зависимости

Это свойство применяется только когда EDAScriptGeneration для свойства задано значение 'on'.

Постфикс в имя файла скрипта синтеза, заданный в виде вектора символов или строкового скаляра. Кодер выводит имя скрипта, добавляя этот постфикс к сгенерированному имени фильтра.

Значение постфикса по умолчанию зависит от инструмента синтеза, заданного HDLSynthTool свойство. Для примера, если значение HDLSynthTool является 'Synplify', затем HDLSynthFilePostfix по умолчанию является '_synplify.tcl'. Поэтому, если сгенерированное имя фильтра my_designкодер добавляет постфикс _synplify.tcl для формирования имени файла скрипта синтеза my_design_synplify.tcl.

Значение HDLSynthToolЗначение HDLSynthFilePostfix по умолчанию
noneН/Д
'Vivado''_vivado.tcl'
'ISE''_ise.tcl'
'Libero''_libero.tcl'
'Precision''_precision.tcl'
'Quartus''_quartus.tcl'
'Synplify''_synplify.tcl'
'Custom''_custom.tcl'

Зависимости

Это свойство применяется только когда EDAScriptGeneration для свойства задано значение 'on' и HDLSynthTool Свойство задано значение, отличное от 'none'.

Раздел инициализации скрипта синтеза, заданный как вектор символов или строковый скаляр. Значение по умолчанию этого свойства зависит от инструмента синтеза, заданного HDLSynthTool свойство. Для примера, если вы задаете HDLSynthTool на 'ISE', это свойство по умолчанию имеет значение:

set src_dir [pwd]\nset prj_dir "synprj"\n
file mkdir ../$prj_dir\n
cd ../$prj_dir\n
project new %s.xise\n
project set family Virtex4\n
project set device xc4vsx35\n
project set package ff668\n
project set speed -10\n
Неявный аргумент, %s, - имя модуля верхнего уровня или сущности.

Зависимости

Это свойство применяется только когда EDAScriptGeneration для свойства задано значение 'on' и HDLSynthTool Свойство задано значение, отличное от 'none'.

Команда, записанная в скрипт синтеза для каждого HDL- файла, заданная как вектор символов или строковый скаляр. Команда добавляет сгенерированный исходный файл HDL в список скомпилируемых файлов. Кодер печатает эту команду в скрипте один раз для каждого сгенерированного HDL- файла. Значение по умолчанию этого свойства зависит от инструмента синтеза, заданного HDLSynthTool свойство. Для примера, когда HDLSynthTool установлено в 'Quartus', это свойство по умолчанию равняется 'set_global_assignment -name %s_FILE "$src_dir/%s"\n'. Первый неявный аргумент является TargetLanguage. Второй неявный аргумент является именем HDL- файла.

Зависимости

Это свойство применяется только когда EDAScriptGeneration для свойства задано значение 'on' и HDLSynthTool Свойство задано значение, отличное от 'none'.

Раздел завершения сценария синтеза, заданный как вектор символов или строковый скаляр. Кодер печатает эту последовательность символов в конце скрипта синтеза. Значение по умолчанию зависит от инструмента синтеза, заданного HDLSynthTool свойство. Для примера, если вы задаете HDLSynthTool на 'Synplify', это свойство по умолчанию имеет значение:

set_option -technology VIRTEX4\n
set_option -part XC4VSX35\n
set_option -synthesis_onoff_pragma 0\n
set_option -frequency auto\n
project -run synthesis\n

Зависимости

Это свойство применяется только когда EDAScriptGeneration для свойства задано значение 'on' и HDLSynthTool Свойство задано значение, отличное от 'none'.

Совет

Если вы используете функцию fdhdltool для генерации HDL-кода можно задать соответствующие свойства в диалоговом окне Генерация HDL.

СвойствоРасположение в диалоговом окне
Compilation scriptEDA Tool Scripts вкладку, левую панель. (VHDLLibraryName свойство не имеет соответствующей опции в диалоговом окне.)
Simulation scriptEDA Tool Scripts вкладку, левую панель. Доступ к флагам симуляции см. на вкладке Test Bench > Configuration.
Synthesis scriptEDA Tool Scripts вкладку, левую панель.

Представлено до R2006a