Свойства для управления генерацией скриптов

В этом разделе описывается, как задать свойства в makehdl или makehdltb функции для включения или отключения генерации скриптов и настройки имен и содержимого сгенерированных файлов скриптов.

Включение и отключение генерации скриптов

The EDAScriptGeneration свойство контролирует генерацию файлов скриптов. По умолчанию EDAScriptGeneration задан on. Чтобы отключить генерацию скриптов, установите EDAScriptGeneration на off, как в следующем примере.

makehdl('sfir_fixed/symmetric_fir,'EDAScriptGeneration','off') 

Настройка имен скриптов

Когда вы генерируете HDL-код, HDL- Coder™ добавляет постфиксную строку к имени модели или подсистемы system в имени сгенерированного скрипта.

При генерации испытательного стенда Coder добавляет постфиксную строку к имени испытательного стенда testbench_tb.

Постфиксная строка зависит от типа генерируемого скрипта (компиляции, симуляции или синтеза). Строки постфикса по умолчанию показаны в следующей таблице. Для каждого типа скрипта можно задать собственный постфикс с помощью связанного свойства.

Тип скриптаСвойствоЗначение по умолчанию
КомпиляцияHDLCompileFilePostfix_compile.do
СимуляцияHDLSimFilePostfix_sim.do
СинтезHDLSynthFilePostfixЗависит от выбранного инструмента синтеза. См. «Выбор инструмента синтеза».

Следующая команда генерирует VHDL® код подсистемы system, указание пользовательского постфикса для скрипта компиляции. Имя сгенерированного скрипта компиляции будет system_test_compilation.do.

makehdl('mymodel/system', 'HDLCompileFilePostfix', '_test_compilation.do')

Настройка кода скрипта

Используя пары имя свойства/ значения свойств, суммированные в следующей таблице, можно передать в настраиваемых именах форматов как векторы символов makehdl или makehdltb. Свойства названы в соответствии со следующими соглашениями:

  • Свойства, которые применяются к инициализации (Init) фаза идентифицируются Init вектор символов в имени свойства.

  • Свойства, которые применяются к фазе команды-по-файлу (Cmd) идентифицируются Cmd вектор символов в имени свойства.

  • Свойства, которые применяются к завершению (Term) фаза идентифицируются Term вектор символов в имени свойства.

Имя свойства и значение по умолчаниюОписание

Имя: HDLCompileInit

По умолчанию: 'vlib %s\n'

Имя формата передано в fprintf чтобы написать Init раздел скрипта компиляции. Неявный аргумент является содержимым VHDLLibraryName свойство, которое по умолчанию равняется 'work'. Можно переопределить значение по умолчанию Init строка ('vlib work\n') путем изменения значения VHDLLibraryName.

Имя: HDLCompileVHDLCmd

По умолчанию: 'vcom %s %s\n'

Имя формата передано в fprintf чтобы написать Cmd раздел скрипта компиляции для VHDL- файлов. Два неявных аргумента являются содержимым SimulatorFlags свойство и имя файла текущей сущности или модуля. Чтобы опустить флаги, установите SimulatorFlags на '' (значение по умолчанию).

Имя: HDLCompileVerilogCmd

По умолчанию: 'vlog %s %s\n'

Имя формата передано в fprintf чтобы написать Cmd раздел скрипта компиляции для Verilog® файлы. Два неявных аргумента являются содержимым SimulatorFlags свойство и имя файла текущей сущности или модуля. Чтобы опустить флаги, установите SimulatorFlags на '' (значение по умолчанию).

Имя: HDLCompileTerm

По умолчанию: ''

Имя формата передано в fprintf чтобы записать фрагмент завершения скрипта компиляции.

Имя: HDLSimInit

По умолчанию:

 ['onbreak resume\n',...
 'onerror resume\n'] 

Имя формата передано в fprintf чтобы записать раздел инициализации скрипта симуляции.

Имя: HDLSimCmd

По умолчанию: 'vsim -voptargs=+acc %s.%s\n'

Имя формата передано в fprintf для записи команды симуляции.

Если ваш целевой язык является VHDL, первый неявный аргумент является значением VHDLLibraryName свойство. Если ваш целевой язык - Verilog, первый неявный аргумент 'work'.

Второй неявный аргумент - это модуль верхнего уровня или имя сущности.

Имя: HDLSimViewWaveCmd

По умолчанию: 'add wave sim:%s\n'

Имя формата передано в fprintf для записи команды просмотра формы сигнала скрипта симуляции. Неявный аргумент добавляет пути сигнала для входных, выходных и выходных опорных сигналов верхнего уровня DUT.

Имя: HDLSimTerm

По умолчанию: 'run -all\n'

Имя формата передано в fprintf чтобы написать Term фрагмент скрипта симуляции. Строка является командой создания синтеза проекта. Содержимое строки характерно для выбранного инструмента синтеза. См. «Выбор инструмента синтеза».

Имя: HDLSynthInit

Имя формата передано в fprintf чтобы написать Init раздел синтез- скрипт. Содержимое имени формата характерно для выбранного инструмента синтеза. См. «Выбор инструмента синтеза».

Имя: HDLSynthCmd

Имя формата передано в fprintf чтобы написать Cmd раздел синтез- скрипт. Содержимое имени формата характерно для выбранного инструмента синтеза. См. «Выбор инструмента синтеза».

Имя: HDLSynthTerm

Имя формата передано в fprintf чтобы написать Term раздел синтез- скрипт. Содержимое имени формата характерно для выбранного инструмента синтеза. См. «Выбор инструмента синтеза».

Примеры

В следующем примере задается пользовательское имя библиотеки VHDL для Mentor Graphics® ModelSim® скрипт компиляции для кода, сгенерированного из подсистемы, system.

makehdl(system, 'VHDLLibraryName', 'mydesignlib')

Получившийся скрипт, system_compile.doявляется:

vlib mydesignlib
vcom  system.vhd

В следующем примере указывается, что HDL Coder генерирует Xilinx® Файл синтеза ISE для подсистемы sfir_fixed/symmetric_fir.

 makehdl('sfir_fixed/symmetric_fir','HDLSynthTool', 'ISE')

В следующем списке показан результирующий скрипт, symmetric_fir_ise.tcl.

set src_dir "./hdlsrc"
set prj_dir "synprj"
file mkdir ../$prj_dir
cd ../$prj_dir
project new symmetric_fir.ise
xfile add ../$src_dir/symmetric_fir.vhd
project set family Virtex4
project set device xc4vsx35
project set package ff668
project set speed -10
process run "Synthesize - XST"