Можно просмотреть и задать связанные с HDL свойства блоков, такие как параметры реализации и реализации, на уровне модели и на уровне отдельных блоков.
Чтобы задать параметры блока HDL из пользовательского интерфейса, откройте диалоговое окно «Свойства блока HDL» и измените свойства блока по мере необходимости. Чтобы открыть диалоговое окно « Свойства HDL», выполните следующие действия:
На вкладке Apps выберите HDL Coder. Появится вкладка HDL Code. Выберите блок, для которого необходимо просмотреть параметры HDL, и выберите HDL Block Properties.
Щелкните правой кнопкой мыши блок и выберите HDL Code > HDL Block Properties.
Чтобы задать параметры, связанные с HDL, в командной строке, используйте hdlset_param
. hdlset_param(
устанавливает HDL-связанные параметры в блоке или модели, на которые ссылаются path
,Name,
Value
)path
. Один или несколько Name,Value
аргументы в виде пар определяют параметры, которые будут установлены, и их значения. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,…,NameN,ValueN
.
Например, чтобы задать коэффициент совместного использования равный 2, а архитектуру равной Tree
для блока в вашей модели:
Откройте модель и выберите блок.
Введите в командной строке следующее:
hdlset_param (gcb, 'SharingFactor', 2, 'Architecture', 'Tree')
Чтобы просмотреть параметры HDL, заданные для блока, используйте hdlget_param
. Для примера, чтобы увидеть настройку HDL- архитектуры для блока, в командной строке введите:
hdlget_param(gcb, 'Architecture')
Можно также назначить возвращенный HDL- параметров блоков массиву ячеек. В следующем примере, hdlget_param
возвращает все параметры и значения HDL-блоков в массив ячеек p
.
p = hdlget_param(gcb, 'all')
p = 'Architecture' 'Linear' 'InputPipeline' [0] 'OutputPipeline' [0]
Для моделей, которые содержат большое количество блоков, использование диалогового окна HDL Block Properties для выбора реализаций блоков или установки параметров реализации для отдельных блоков может быть нецелесообразным. Более эффективно программно устанавливать HDL-связанную модель или параметры блоков для нескольких блоков. Можно использовать find_system
функция для определения местоположения интересующих блоков. Затем используйте цикл для вызова hdlset_param
для установки требуемых параметров для каждого блока.
В следующем примере используется sfir_fixed
модель, чтобы продемонстрировать, как найти группу блоков в подсистеме и задать ту же глубину выходного трубопровода для всех блоков.
open_system('sfir_fixed') % Find all Product blocks in the model prodblocks = find_system('sfir_fixed/symmetric_fir', ... 'BlockType', 'Product') % Set the output pipeline to 2 for the blocks for ii=1:length(prodblocks) hdlset_param(prodblocks{ii}, 'OutputPipeline', 2) end
prodblocks = 4×1 cell array {'sfir_fixed/symmetric_fir/m1'} {'sfir_fixed/symmetric_fir/m2'} {'sfir_fixed/symmetric_fir/m3'} {'sfir_fixed/symmetric_fir/m4'}
Чтобы проверить настройки, используйте hdlget_param
отображение значения OutputPipeline
параметр для блоков.
% Get the output pipeline to 2 for the blocks for ii=1:length(prodblocks) hdlget_param(prodblocks{ii}, 'OutputPipeline') end
ans = 2 ans = 2 ans = 2 ans = 2
hdldispblkparams
отображает параметры блоков, доступные для заданного блока.
В следующем примере отображаются параметры и значения HDL-блоков для выбранного на данный момент блока.
hdldispblkparams(gcb,'all')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HDL Block Parameters ('simplevectorsum/vsum/Sum of Elements') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Implementation Architecture : Linear Implementation Parameters InputPipeline : 0 OutputPipeline : 0
См. также hdldispblkparams
.
В следующем примере отображаются только параметры блоков, которые имеют значения, отличные от значений по умолчанию для выбранного на данный момент блока.
hdldispblkparams(gcb)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HDL Block Parameters ('simplevectorsum/vsum/Sum of Elements') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Implementation Architecture : Linear Implementation Parameters OutputPipeline : 3
Чтобы отобразить имена и значения свойств, связанных с HDL, в модели, используйте hdldispmdlparams
функция.
В следующем примере отображаются связанные с HDL свойства и значения текущей модели в алфавитном порядке по имени свойства.
hdldispmdlparams(bdroot,'all')
%%%%%%%%%%%%%%%%%%%%%%%%% HDL CodeGen Parameters %%%%%%%%%%%%%%%%%%%%%%%%% AddPipelineRegisters : 'off' Backannotation : 'on' BlockGenerateLabel : '_gen' CheckHDL : 'off' ClockEnableInputPort : 'clk_enable' . . . VerilogFileExtension : '.v'
В следующем примере отображаются только свойства, связанные с HDL, которые имеют значения, отличные от значений по умолчанию.
hdldispmdlparams(bdroot)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HDL CodeGen Parameters (non-default) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CodeGenerationOutput : 'GenerateHDLCodeAndDisplayGeneratedModel' HDLSubsystem : 'simplevectorsum/vsum' ResetAssertedLevel : 'Active-low' Traceability : 'on'