hdlcoder.CodingStandard - Create HDL coding standard customization object - MATLAB (original) (raw)
Main Content
Create HDL coding standard customization object
Syntax
Description
[cso](#buiwzzi-1-cso) = hdlcoder.CodingStandard([standardName](#buiwzzi-1-standardName))
creates an HDL coding standard customization object that you can use to customize the rules and the appearance of the coding standard report.
If you do not want to customize the rules or appearance of the coding standard report, you do not need to create an HDL coding standard customization object.
Examples
Create an HDL Coding Standard Customization Object
Create a coding standard customization object cso
.
cso = hdlcoder.CodingStandard('Industry');
Customize the Coding Standard Options
- Do not show passing rules in the coding standard report.
- Set the maximum if-else nesting depth to 2.
- Disable the check for line length.
cso.ShowPassingRules.enable = false; cso.IfElseNesting.depth = 2; cso.LineLength.enable = false;
Create HDL Codegen Configuration and Coding Standard Customization Object
hdlcfg = coder.config('hdl');
Specify the coding standard and coding standard customization object.
hdlcfg.HDLCodingStandard = 'Industry'; hdlcfg.HDLCodingStandardCustomizations = cso; hdlcfg.TreatRealsInGeneratedCodeAs = 'None';
Generate HDL Code and Test Bench
Specify your test bench function name. In this example, the design function is mlhdlc_dti.m
and the test bench function is mlhdlc_dti_tb.m
.
hdlcfg.TestBenchName = 'mlhdlc_dti_tb';
Generate HDL code for the design and check the code according to the customized HDL coding standard rules.
codegen -config hdlcfg mlhdlc_dti
Begin MATLAB to HDL Code Generation...
Working on DUT: mlhdlc_dti.
Using TestBench: mlhdlc_dti_tb.
Begin VHDL Code Generation
Working on mlhdlc_dti as mlhdlc_dti.vhd.
Generating Resource Utilization Report resource_report.html.
Generating Optimization report
To rerun codegen evaluate the following commands...
cgi = load('/tmp/Bdoc25a_2864802_2785725/tp33f2dbde/hdlcoder-ex26183455/codegen/mlhdlc_dti/hdlsrc/codegen_info.mat'); inVals = cgi.CodeGenInfo.inVals; cfg = cgi.CodeGenInfo.codegenSettings; codegen -config cfg -args inVals -report
Industry Compliance report with 0 errors, 1 warnings, 4 messages.
Generating Industry Compliance Report mlhdlc_dti_Industry_report.html
Generating HDL Conformance Report mlhdlc_dti_hdl_conformance_report.html.
HDL Conformance check complete with 0 errors, 0 warnings, and 0 messages.
Code generation successful: To view the report, open('codegen/mlhdlc_dti/hdlsrc/html/report.mldatx')
Create an HDL Coding Standard Customization Object
- Load the sfir_fixed model
- Create a coding standard customization object
cso
load_system('sfir_fixed') cso = hdlcoder.CodingStandard('Industry');
Customize the Coding Standard Options
- Do not show passing rules in the report.
- Set maximum line length to 80 characters.
- Check that module, instance, and entity names are between 5 and 50 characters long.
cso.ShowPassingRules.enable = false; cso.LineLength.length = 80; cso.ModuleInstanceEntityNameLength.length = [5 50];
Generate HDL Code for Your Design
Generate HDL code and check it according to the customized HDL coding standard rules. The DUT subsystem is symmetric_fir.
makehdl('sfir_fixed/symmetric_fir','HDLCodingStandard','Industry',... 'HDLCodingStandardCustomizations',cso, 'TargetDirectory', 'C:/coding_standard/hdlsrc')
Working on the model sfir_fixed
Generating HDL for sfir_fixed/symmetric_fir
Using the config set for model sfir_fixed for HDL code generation parameters.
Running HDL checks on the model 'sfir_fixed'.
Begin compilation of the model 'sfir_fixed'...
Working on the model 'sfir_fixed'...
Working on... GenerateModel
Begin model generation 'gm_sfir_fixed'...
Copying DUT to the generated model....
Model generation complete.
Generated model saved at C:\coding_standard\hdlsrc\sfir_fixed\gm_sfir_fixed.slx
Begin VHDL Code Generation for 'sfir_fixed'.
Working on sfir_fixed/symmetric_fir as C:\coding_standard\hdlsrc\sfir_fixed\symmetric_fir.vhd.
Code Generation for 'sfir_fixed' completed.
Industry Compliance report with 4 errors, 0 warnings, 2 messages.
Generating Industry Compliance Report symmetric_fir_Industry_report.html
Generating HTML files for code generation report at index.html
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, 1 warnings, and 0 messages.
HDL code generation complete.
Input Arguments
Specify the HDL coding standard to customize. The standardName
value must match the HDLCodingStandard
property value.
Example: 'Industry'
Output Arguments
HDL coding standard customizations, returned as an HDL coding standard customization object.
Version History
Introduced in R2014b