HDL Synthesis and Workflow Automation Properties

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

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

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

Задайте эти свойства как разделенные запятой пары Name,Value аргументы к generatehdl functionName имя свойства и Value соответствующее значение. Name должен появиться в одинарных кавычках (' 'Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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.

Раздел Initialization скрипта компиляции в виде '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. HDLCompileVHDLCmd или HDLCompileVerilogCmd свойства определяют команду компиляции.

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

Скрипты симуляции

развернуть все

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

Зависимости

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

Раздел Initialization скрипта симуляции в виде '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'.

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

Зависимости

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

Скрипты синтеза

развернуть все

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

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

Xilinx® Vivado®

'ISE'Xilinx ISE
'Libero'

Microsemi® Libero®

'Precision'Точность Mentor Graphics
'Quartus'Altera® Quartus II
'Synplify'

Synopsys® Synplify 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'.

Раздел Initialization скрипта синтеза в виде вектора символов или строкового скаляра. Значение по умолчанию этого свойства зависит от инструмента синтеза, заданного 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'.

Раздел Termination скрипта синтеза в виде вектора символов или строкового скаляра. Кодер распечатывает эту последовательность символов в конец скрипта синтеза. Значение по умолчанию зависит от инструмента синтеза, заданного 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-код, можно установить соответствующие свойства в диалоговом окне Generate HDL.

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

Для просмотра документации необходимо авторизоваться на сайте