exponenta event banner

Свойства синтеза HDL и автоматизации рабочего процесса

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

С помощью свойств синтеза и автоматизации рабочего процесса можно включить и настроить создание файлов сценариев для сторонних средств автоматизации электронного проектирования (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 собственность. Вторым неявным аргументом является имя файла текущей сущности.

Параметры симулятора, указанные как '', символьный вектор или строковый скаляр. Укажите параметры, специфичные для приложения и используемого симулятора. Например, при использовании компилятора VHDL 1076-1993 укажите флаг '-93'. Кодер добавляет флаги, заданные с помощью этой опции, к команде компиляции в созданных сценариях инструмента EDA. 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'.

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

Зависимости

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

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

Зависимости

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

Сценарии синтеза

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

Создайте сценарий для средства синтеза, указанный как один из следующих.

Значение HDLSynthToolСредство синтеза
'none'Н/П Кодер не генерирует скрипт синтеза.
'Vivado'

Xilinx ® Vivado ®

'ISE'Xilinx ISE
'Libero'

Микросеми ® Либеро ®

'Precision'Точность графики наставника
'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'.

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

СобственностьРасположение в диалоговом окне
Сценарий компиляциивкладка «Сценарии инструментов EDA», левая панель. (VHDLLibraryName свойство не имеет соответствующего параметра в диалоговом окне.)
Сценарий моделированиявкладка «Сценарии инструментов EDA», левая панель. Чтобы получить доступ к флагам моделирования, см. раздел Тестовый стенд > вкладка Конфигурация.
Сценарий синтезавкладка «Сценарии инструментов EDA», левая панель.

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