кодер. Класс HdlConfig

Пакет: кодер

HDL объект настройки codegen

Описание

Объект coder.HdlConfig содержит параметры конфигурации, которых HDL функция codegen требует, чтобы сгенерировать HDL-код. Используйте опцию -config, чтобы передать этот объект функции codegen.

Конструкция

hdlcfg = coder.config('hdl') создает объект coder.HdlConfig для генерации HDL-кода.

Свойства

Основной

AdderSharingMinimumBitwidth

Минимальная битная ширина для разделяемых сумматоров, заданных как положительное целое число.

Если ShareAdders является true, и ResourceSharing больше, чем 1, сумматоры доли, только если ширина бита сумматора больше, чем или равна AdderSharingMinimumBitwidth.

Значения: целое число, больше, чем или равный 2

ClockEdge

Задайте активный фронт синхроимпульса.

Значения: 'Rising' (значение по умолчанию) | 'Falling'

DistributedPipeliningPriority

Приоритет для распределенного алгоритма конвейеризации.

Значение DistributedPipeliningPriorityОписание
NumericalIntegrity (значение по умолчанию)

Приоритизируйте числовую целостность при распределении конвейерных регистров.

Эта опция использует консервативный алгоритм повторной синхронизации, который не перемещает регистры через компонент, если функциональная эквивалентность первоначальному проекту неизвестна.

Performance

Приоритизируйте производительность по числовой целостности.

Используйте эту опцию, если ваш проект требует более высокой частоты часов, и поведение MATLAB® не должно строго совпадать с поведением сгенерированного кода.

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

Значения: 'NumericalIntegrity' (значение по умолчанию) | 'Performance'

GenerateHDLTestBench

Сгенерируйте испытательный стенд HDL, заданный как logical.

Значения: false (значение по умолчанию) | true

HDLCodingStandard

Стандарт кодирования HDL, чтобы следовать и проверять при генерации кода. Генерирует отчет соответствия, показывающий ошибки, предупреждения и сообщения.

Значения: 'None' (значение по умолчанию) | 'Industry'

HDLCodingStandardCustomizations

HDL, кодирующий стандартные правила и настройки отчетов, заданное использование HDL Coding Standard Customization Properties. Если вы хотите настроить правила стандарта кодирования и отчет, необходимо установить HDLCodingStandard на 'Industry'.

Значение: HDL, кодирующий стандартный объект индивидуальной настройки

HDLLintTool

Скрипт инструмента линта HDL, чтобы сгенерировать.

Значения: 'None' (значение по умолчанию) | 'AscentLint' | 'Leda' | 'SpyGlass' |'Custom'

HDLLintInit

Имя инициализации скрипта линта HDL, заданное как вектор символов.

HDLLintCmd

Команда скрипта линта HDL.

Если вы устанавливаете HDLLintTool на Custom, необходимо использовать %s в качестве заполнителя для имени файла HDL в сгенерированном скрипте Tcl. Задайте HDLLintCmd как вектор символов с помощью следующего формата:

custom_lint_tool_command -option1 -option2 %s

HDLLintTerm

Имя завершения скрипта линта HDL, заданное как вектор символов.

InitializeBlockRAM

Задайте, инициализировать ли весь блок RAM к '0' для симуляции.

Значения: true (значение по умолчанию) | false

InlineConfigurations

Задайте, включать ли встроенные настройки в сгенерированный код VHDL.

Когда true, включайте настройки VHDL в файлы, которые инстанцируют компонента.

Когда false, подавите генерацию настроек и потребуйте предоставленных пользователями внешних настроек. Установите на false, если вы создаете свои собственные конфигурационные файлы VHDL.

Значения: true (значение по умолчанию) | false

LoopOptimization

Оптимизация цикла в сгенерированном коде. Смотрите Оптимизируют Циклы MATLAB.

Значение LoopOptimizationОписание
LoopNone (значение по умолчанию)Не оптимизируйте циклы в сгенерированном коде.
StreamLoopsПотоковые циклы.
UnrollLoopsРазверните циклы.

MinimizeClockEnables

Задайте, не использовать ли генерацию часов, включают логику.

Когда true, не используйте генерацию часов, включают логику по мере возможности.

Когда false (значение по умолчанию), сгенерируйте часы, включают логику.

MultiplierPartitioningThreshold

Задайте максимальную входную ширину бита для аппаратных множителей. Если битная ширина входа множителя больше, чем этот порог, HDL Coder™ разделяет множитель в меньшие множители.

Чтобы улучшить ваши аппаратные результаты отображения, установите этот порог к входной ширине бита DSP или оборудования множителя на вашем целевом устройстве.

Значения: целое число, больше, чем или равный 2

MultiplierSharingMinimumBitwidth

Минимальная битная ширина для разделяемых множителей, заданных как положительное целое число.

Если ShareMultipliers является true, и ResourceSharing больше, чем 1, множители доли, только если ширина бита множителя больше, чем или равна MultiplierSharingMinimumBitwidth.

Значения: целое число, больше, чем или равный 2

InstantiateFunctions

Сгенерируйте instantiable модули HDL-кода от функций.

Примечание

Если вы включаете InstantiateFunctions, UseMatrixTypesInHDL не имеет никакого эффекта.

Значения: false (значение по умолчанию) | true

PreserveDesignDelays

Препятствуйте тому, чтобы распределенная конвейеризация переместила задержки проекта, или позвольте распределенной конвейеризации перемещать задержки проекта, заданные как logical.

Персистентные переменные и Системные объекты dsp.Delay являются задержками проекта.

Значения: false (значение по умолчанию) | true

ShareAdders

Совместно используйте сумматоры, заданные как logical.

Если true, сумматоры доли, когда ResourceSharing больше, чем 1 и ширина бита сумматора, больше, чем или равен AdderSharingMinimumBitwidth.

Значения: false (значение по умолчанию) | true

ShareMultipliers

Совместно используйте множители, заданные как logical.

Если true, множители доли, когда ResourceSharing больше, чем 1, и ширина бита множителя, больше, чем или равен MultiplierSharingMinimumBitwidth.

Значения: true (значение по умолчанию) | false

SimulateGeneratedCode

Моделируйте сгенерированный код, заданный как logical.

Значения: false (значение по умолчанию) | true

SimulationIterationLimit

Максимальное количество итераций симуляции во время генерации испытательного стенда, заданной как целое число. Это свойство влияет только на генерацию испытательного стенда, не симуляцию во время преобразования фиксированной точки.

Значения: неограниченное (значение по умолчанию) | положительное целое число

SimulationTool

Имя инструмента Simulation.

Значения: 'ModelSim' (значение по умолчанию) | 'ISIM'

SynthesisTool

Имя инструмента Synthesis.

Значения: 'Xilinx ISE' (значение по умолчанию) | 'Altera Quartus II' | 'Xilinx Vivado'

SynthesisToolChipFamily

Целевое имя серии ИС синтеза, заданное как вектор символов.

Значения: 'Virtex4' (значение по умолчанию) | 'Family name'

SynthesisToolDeviceName

Имя целевого устройства синтеза, заданное как вектор символов.

Значения: 'xc4vsx35' (значение по умолчанию) | 'Device name'

SynthesisToolPackageName

Целевое имя пакета синтеза, заданное как вектор символов.

Значения: 'ff668' (значение по умолчанию) | 'Package name'

SynthesisToolSpeedValue

Целевая скорость синтеза, заданная как вектор символов.

Значения: '-10' (значение по умолчанию) | 'Speed value'

SynthesizeGeneratedCode

Синтезируйте сгенерированный код или нет, заданные как logical.

Значения: false (значение по умолчанию) | true

TargetLanguage

Выходной язык сгенерированного кода.

Значения: 'VHDL' (значение по умолчанию) | 'Verilog'

TestBenchName

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

Значения: '' (значение по умолчанию) | 'Testbench name'

TimingControllerArch

Синхронизация архитектуры контроллера.

Значение TimingControllerArchОписание

default (значение по умолчанию)

Не генерируйте сброс для контроллера синхронизации.

resettable

Сгенерируйте сброс для контроллера синхронизации.

TimingControllerPostfix

Постфикс, чтобы добавить, чтобы разработать имя, чтобы сформировать имя синхронизации контроллера, заданного как вектор символов.

Значения: '_tc' (значение по умолчанию) | 'Postfix'

UseFileIOInTestBench

Создайте и используйте файлы данных для чтения и записи входных и выходных данных испытательного стенда.

Значения: 'on' (значение по умолчанию) | 'off'

UseMatrixTypesInHDL

Сгенерируйте 2D матричные типы в HDL-коде для матриц MATLAB, заданных как logical.

Значение UseMatrixTypesInHDLОписание

false (значение по умолчанию)

Сгенерируйте векторы HDL с индексной логикой вычисления для матриц MATLAB. Эта опция может использовать больше области в синтезируемом оборудовании.

true

Сгенерируйте матрицы HDL для матриц MATLAB. Эта опция может сохранить область в синтезируемом оборудовании.

Следующие требования применяются:

  • Элементы матрицы не могут быть комплексными или типы данных struct.

  • Вы не можете использовать линейную индексацию, чтобы задать элементы матрицы. Например, если вы имеете 3x3 матрица, A, вы не можете использовать A(4). Вместо этого используйте A(2,1).

    Можно также использовать оператор двоеточия или в строке или в индексе столбца, но не обоих. Например, можно использовать A(3,1:3) и A(2:3,1), но не A(2:3, 1:3).

  • Если вы включаете InstantiateFunctions, UseMatrixTypesInHDL не имеет никакого эффекта.

VHDLLibraryName

Целевое имя библиотеки для сгенерированного кода VHDL®, заданного как вектор символов.

Значения: 'work' (значение по умолчанию) | 'Library name'

Cosimulation

GenerateCosimTestBench

Сгенерируйте cosimulation испытательный стенд или нет, заданные как logical.

Значения: false (значение по умолчанию) | true

SimulateCosimTestBench

Моделируйте сгенерированный cosimulation испытательный стенд, заданный как logical. Эта опция проигнорирована, если GenerateCosimTestBench является false.

Значения: false (значение по умолчанию) | true

CosimClockEnableDelay

Время (за такты) между deassertion сброса и утверждением часов включает.

Значения: 0 (значение по умолчанию)

CosimClockHighTime

Номер наносекунд часы высок.

Значения: 5 (значение по умолчанию)

CosimClockLowTime

Номер наносекунд часы является низким.

Значения: 5 (значение по умолчанию)

CosimHoldTime

Время задержки для входных сигналов и обеспеченных сигналов сброса, заданных в наносекундах.

Значения: 2 (значение по умолчанию)

CosimLogOutputs

Регистрируйте и постройте выходные параметры функции исходного проекта и симулятора HDL.

Значения: false (значение по умолчанию) | true

CosimResetLength

Задайте время (за такты) между утверждением и deassertion сброса.

Значения: 2 (значение по умолчанию)

CosimRunMode

Режим выполнения симулятора HDL во время симуляции. Когда в Пакетном режиме, вы не видите графический интерфейс пользователя симулятора HDL, и симулятор HDL автоматически закрывается после симуляции.

Значения: Batch (значение по умолчанию) | GUI

CosimTool

Симулятор HDL для сгенерированного cosim испытательного стенда.

Значения: ModelSim (значение по умолчанию) | Incisive

FPGA в цикле

GenerateFILTestBench

Сгенерируйте испытательный стенд FIL или нет, заданные как logical.

Значения: false (значение по умолчанию) | true

SimulateFILTestBench

Моделируйте сгенерированный cosimulation испытательный стенд, заданный как logical. Эта опция проигнорирована, если GenerateCosimTestBench является false.

Значения: false (значение по умолчанию) | true

FILBoardName

Имя платы FPGA, заданное как вектор символов. Необходимо заменить значение по умолчанию и задать допустимое имя платы.

Значения: 'Choose a board' (значение по умолчанию) | 'A board name'

FILBoardIPAddress

IP-адрес платы FPGA, заданной как вектор символов. Необходимо ввести допустимый IP-адрес.

Значения: 192.168.0.2 (значение по умолчанию)

FILBoardMACAddress

Мак адрес платы FPGA, заданной как вектор символов. Необходимо ввести допустимый Мак адрес.

Значения: 00-0A-35-02-21-8A (значение по умолчанию)

FILAdditionalFiles

Список дополнительных исходных файлов, чтобы включать, заданный как вектор символов. Разделите имена файлов точкой с запятой ("";).

Значения: '' (значение по умолчанию) | 'Additional source files'

FILLogOutputs

Регистрируйте и постройте выходные параметры функции исходного проекта и FPGA.

Значения: false (значение по умолчанию) | true

Примеры

свернуть все

Создайте объект coder.HdlConfig, hdlcfg.

hdlcfg = coder.config('hdl'); % Create a default 'hdl' config

Определите имя испытательного стенда. В этом примере именем функции испытательного стенда является mlhdlc_dti_tb.

hdlcfg.TestBenchName = 'mlhdlc_dti_tb';

Установите выходной язык на Verilog®.

hdlcfg.TargetLanguage = 'Verilog';

Сгенерируйте HDL-код из своего проекта MATLAB. В этом примере именем функции проекта MATLAB является mlhdlc_dti.

codegen -config hdlcfg mlhdlc_dti

Создайте объект coder.FixptConfig с настройками по умолчанию и обеспечьте имя испытательного стенда.

fixptcfg = coder.config('fixpt'); 
fixptcfg.TestBenchName = 'mlhdlc_sfir_tb';

Создайте объект coder.HdlConfig с настройками по умолчанию и установите, включают уровень.

hdlcfg = coder.config('hdl'); % Create a default 'hdl' config
hdlcfg.EnableRate = 'DUTBaseRate';

Дайте MATLAB команду генерировать cosim испытательный стенд и испытательный стенд FIL. Задайте имя платы FPGA.

hdlcfg.GenerateCosimTestBench = true;
hdlcfg.FILBoardName = 'Xilinx Virtex-5 XUPV5-LX110T development board';
hdlcfg.GenerateFILTestBench = true;

Выполните генерацию кода, генерацию испытательного стенда Cosim и генерацию испытательного стенда FIL.

codegen -float2fixed fixptcfg -config hdlcfg mlhdlc_sfir

Альтернативы

Можно также сгенерировать HDL-код из кода MATLAB с помощью HDL Workflow Advisor. Для получения дополнительной информации смотрите генерацию HDL-кода и Синтез FPGA из алгоритма MATLAB.