coder.HdlConfig class

Пакет: кодер

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.