exponenta event banner

hdlcoder. CodingStandard

Создание стандартного объекта настройки кодирования HDL

Описание

пример

cso = hdlcoder.CodingStandard(standardName) создает объект настройки стандарта кодирования HDL, который можно использовать для настройки правил и внешнего вида отчета по стандарту кодирования.

Если не требуется настраивать правила или внешний вид стандартного отчета по кодированию, нет необходимости создавать объект настройки стандарта по кодированию HDL.

Примеры

свернуть все

Создание стандартного объекта настройки кодирования HDL

Создание стандартного объекта настройки кодирования cso

cso = hdlcoder.CodingStandard('Industry');

Настройка стандартных параметров кодирования

  • Не показывать правила прохождения в стандартном отчете по кодированию.

  • Установите максимальную глубину вложения if-else равной 2.

  • Отключите проверку длины линии.

cso.ShowPassingRules.enable = false;
cso.IfElseNesting.depth = 2;
cso.LineLength.enable = false;

Создание стандартного объекта настройки конфигурации и кодирования HDL Codegen

hdlcfg = coder.config('hdl');

Укажите стандарт кодирования и объект настройки стандарта кодирования.

hdlcfg.HDLCodingStandard = 'Industry';
hdlcfg.HDLCodingStandardCustomizations = cso;

Создание временной папки и копирование файлов MATLAB

В этом случае функция проектирования mlhdlc_dti.m и функция испытательного стенда mlhdlc_dti_tb.m.

mlhdlc_demo_dir = fullfile(matlabroot, 'toolbox', 'hdlcoder', ...
                                 'hdlcoderdemos', 'matlabhdlcoderdemos');
mlhdlc_temp_dir = [tempdir 'mlhdlc_sfir'];

cd(tempdir);
[~, ~, ~] = rmdir(mlhdlc_temp_dir, 's');
mkdir(mlhdlc_temp_dir);
cd(mlhdlc_temp_dir);

copyfile(fullfile(mlhdlc_demo_dir, 'mlhdlc_dti.m'), mlhdlc_temp_dir);
copyfile(fullfile(mlhdlc_demo_dir, 'mlhdlc_dti_tb.m'), mlhdlc_temp_dir);

Создание кода HDL и испытательного стенда

Укажите имя функции тестового стенда.

hdlcfg.TestBenchName = 'mlhdlc_dti_tb';

Создайте код HDL для проекта и проверьте код в соответствии с пользовательскими стандартными правилами кодирования HDL.

codegen -config hdlcfg mlhdlc_dti
### Begin VHDL Code Generation
### Generating HDL Conformance Report <a href="matlab:web('/tmp/BR2021ad_1584584_202060/publish_examples0/mlhdlc_sfir/codegen/mlhdlc_dti/hdlsrc/mlhdlc_dti_hdl_conformance_report.html')">mlhdlc_dti_hdl_conformance_report.html</a>.
### HDL Conformance check complete with 0 errors, 26 warnings, and 0 messages.
### Working on mlhdlc_dti as <a href="matlab:edit('/tmp/BR2021ad_1584584_202060/publish_examples0/mlhdlc_sfir/codegen/mlhdlc_dti/hdlsrc/mlhdlc_dti.vhd')">mlhdlc_dti.vhd</a>.
### Generating Resource Utilization Report <a href="matlab:web('/tmp/BR2021ad_1584584_202060/publish_examples0/mlhdlc_sfir/codegen/mlhdlc_dti/hdlsrc/resource_report.html')">resource_report.html</a>.
### Industry Compliance report with 0 errors, 1 warnings, 4 messages.
### Generating Industry Compliance Report <a href="matlab:web('/tmp/BR2021ad_1584584_202060/publish_examples0/mlhdlc_sfir/codegen/mlhdlc_dti/hdlsrc/mlhdlc_dti_Industry_report.html')">mlhdlc_dti_Industry_report.html</a>
Code generation successful.

Создание стандартного объекта настройки кодирования HDL

  • Загрузить модель sfir_fixed

  • Создание стандартного объекта настройки кодирования cso

load_system('sfir_fixed')
cso = hdlcoder.CodingStandard('Industry');

Настройка стандартных параметров кодирования

  • Не показывать правила прохождения в отчете.

  • Максимальная длина строки - 80 символов.

  • Убедитесь, что имена модулей, экземпляров и сущностей имеют длину от 5 до 50 символов.

cso.ShowPassingRules.enable = false;
cso.LineLength.length = 80;
cso.ModuleInstanceEntityNameLength.length = [5 50];

Создание кода HDL для вашего проекта

Создайте код HDL и проверьте его в соответствии с пользовательскими стандартными правилами кодирования HDL. Подсистема DUT является symmetric_fir.

makehdl('sfir_fixed/symmetric_fir','HDLCodingStandard','Industry',...
        'HDLCodingStandardCustomizations',cso, 'TargetDirectory', 'C:/coding_standard/hdlsrc')
### Generating HDL for 'sfir_fixed/symmetric_fir'.
### Starting HDL check.
### Begin VHDL Code Generation for 'sfir_fixed'.
### Working on sfir_fixed/symmetric_fir as C:\coding_standard\hdlsrc\sfir_fixed\symmetric_fir.vhd.
### Industry Compliance report with 4 errors, 77 warnings, 6 messages.
### Generating Industry Compliance Report <a href="matlab:web('C:\coding_standard\hdlsrc\sfir_fixed\symmetric_fir_Industry_report.html')">symmetric_fir_Industry_report.html</a>
### Creating HDL Code Generation Check Report file://C:\coding_standard\hdlsrc\sfir_fixed\symmetric_fir_report.html
### HDL check for 'sfir_fixed' complete with 0 errors, 0 warnings, and 0 messages.
### HDL code generation complete.

Входные аргументы

свернуть все

Укажите стандарт кодирования HDL для настройки. standardName значение должно соответствовать HDLCodingStandard значение свойства.

Пример: 'Industry'

Выходные аргументы

свернуть все

Стандартные настройки кодирования HDL, возвращаемые как объект настройки стандарта кодирования HDL.

Представлен в R2014b