Свойства блока, связанные с HDL, такие как параметры реализации и реализации, можно просматривать и задавать на уровне модели и на уровне отдельного блока.
Чтобы задать параметры блока HDL из пользовательского интерфейса, откройте диалоговое окно «Свойства блока HDL» и при необходимости измените свойства блока. Чтобы открыть диалоговое окно Свойства HDL (HDL Properties), выполните следующие действия.
На вкладке Приложения выберите Кодер HDL. Появится вкладка Код HDL (HDL Code). Выберите блок, для которого требуется просмотреть параметры HDL, а затем выберите Свойства блока HDL.
Щелкните правой кнопкой мыши блок и выберите «Код HDL» > «Свойства блока HDL».
Чтобы задать параметры, связанные с 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 (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, доступные для указанного блока.
В следующем примере показаны параметры и значения блока HDL для выбранного блока.
hdldispblkparams(gcb,'all')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HDL Block Parameters ('simplevectorsum/vsum/Sum of
Elements')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Implementation
Architecture : Linear
Implementation Parameters
InputPipeline : 0
OutputPipeline : 0См. также hdldispblkparams.
В следующем примере отображаются только те параметры блока HDL, которые не имеют значений по умолчанию для выбранного блока.
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'