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- Индивидуальной настройки и кодирования

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-кодирования для настройки. The standardName значение должно совпадать с HDLCodingStandard значение свойства.

Пример: 'Industry'

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

свернуть все

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

Введенный в R2014b