exponenta event banner

Установка и просмотр параметров модели HDL и блока

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

Установка параметров блока HDL

Чтобы задать параметры блока HDL из пользовательского интерфейса, откройте диалоговое окно «Свойства блока HDL» и при необходимости измените свойства блока. Чтобы открыть диалоговое окно Свойства HDL (HDL Properties), выполните следующие действия.

  • На вкладке Приложения выберите Кодер HDL. Появится вкладка Код HDL (HDL Code). Выберите блок, для которого требуется просмотреть параметры HDL, а затем выберите Свойства блока HDL.

  • Щелкните правой кнопкой мыши блок и выберите «Код HDL» > «Свойства блока HDL».

Чтобы задать параметры, связанные с HDL, в командной строке, используйте hdlset_param. hdlset_param(path,Name, Value) устанавливает параметры, связанные с HDL, в блоке или модели, на которые ссылается path. Один или несколько Name,Value аргументы пары определяют параметры, которые необходимо задать, и их значения. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,…,NameN,ValueN.

Например, чтобы установить коэффициент совместного использования равным 2, а архитектуру равным Tree для блока в модели:

  1. Откройте модель и выберите блок.

  2. Введите в командной строке следующее:

    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 (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

Просмотр всех параметров блока HDL

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

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

hdldispblkparams(gcb)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
HDL Block Parameters ('simplevectorsum/vsum/Sum of
Elements')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Implementation

	Architecture : Linear

Implementation Parameters

	OutputPipeline : 3

Просмотр параметров модели HDL

Для отображения имен и значений свойств, связанных с 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'

См. также

Функции

Связанные темы