hdlcoder.CodingStandard

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

Описание

пример

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

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

Примеры

свернуть все

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

Создайте кодирующий стандартный объект cso индивидуальной настройки

cso = hdlcoder.CodingStandard('Industry');

Настройте кодирующие стандартные опции

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

  • Установите максимум если еще глубина вложения до 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