exponenta event banner

coder.HdlConfig класс

Пакет: кодер

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

Создание испытательного стенда ЛПВП, указанного как logical.

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

HDLCodingStandard

Стандарт кодирования HDL, которому необходимо следовать и проверять при создании кода. Создает отчет о соответствии требованиям, в котором отображаются ошибки, предупреждения и сообщения.

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

HDLCodingStandardCustomizations

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

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

HDLLintTool

Генерируемый сценарий инструмента lint HDL.

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

HDLLintInit

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

HDLLintCmd

Команда сценария lint HDL.

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

custom_lint_tool_command -option1 -option2 %s

HDLLintTerm

Имя завершения сценария lint HDL, указанное как символьный вектор.

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

Архитектура контроллера синхронизации.

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

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

Журнал и график вывода эталонной конструкторской функции и имитатора ЛПВП.

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

CosimResetLength

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

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

CosimRunMode

Режим работы имитатора ЛПВП во время моделирования. В пакетном режиме графический интерфейс имитатора HDL не отображается, и имитатор HDL автоматически отключается после моделирования.

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

CosimTool

Имитатор ЛПВП для сформированного стенда косим.

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

FPGA-в-контуре

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. Дополнительные сведения см. в разделах Генерация базового кода HDL и Синтез FPGA от MATLAB.