coder.HdlConfig class

Пакет: coder

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

Описание

A 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. Если необходимо настроить стандартные правила кодирования и отчет, необходимо задать HDLCodingStandard на 'Industry'.

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

HDLLintTool

HDL скрипт инструмента для создания.

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

HDLLintInit

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

HDLLintCmd

Команда HDL lint script.

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

custom_lint_tool_command -option1 -option2 %s

HDLLintTerm

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

InitializeBlockRAM

Укажите, следует ли инициализировать все блоковые ОЗУ в '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

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

Значения: 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

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

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

SynthesisTool

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

Значения: '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'

VHDLLibraryName

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

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

Cosimulation

GenerateCosimTestBench

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

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

SimulateCosimTestBench

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

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

CosimClockEnableDelay

Время (в тактах) между отключением сброса и включением синхроимпульса.

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

CosimClockHighTime

Количество наносекунд часов высокое.

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

CosimClockLowTime

Количество наносекунд часов невелико.

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

CosimHoldTime

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

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

CosimLogOutputs

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

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

CosimResetLength

Задайте время (в тактах) между установкой и отключением сброса.

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

CosimRunMode

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

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

CosimTool

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

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

Цикл

GenerateFILTestBench

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

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

SimulateFILTestBench

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

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

FILBoardName

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

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

FILBoardIPAddress

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

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

FILBoardMACAddress

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

Значения: 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. Для получения дополнительной информации смотрите Basic HDL Code Generation и FPGA Synthesis из MATLAB.

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