hdlcoder.CodingStandard
Create HDL coding standard customization object
Description
creates
an HDL coding standard customization object that you can use to customize
the rules and the appearance of the coding standard report.cso
= hdlcoder.CodingStandard(standardName
)
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
Customize Coding Standard Rules for MATLAB to HDL Workflow
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 VHDL Code Generation ### Working on mlhdlc_dti as <a href="matlab:edit('/tmp/Bdoc24b_2725827_3881561/tp55a63b67/hdlcoder-ex26183455/codegen/mlhdlc_dti/hdlsrc/mlhdlc_dti.vhd')">mlhdlc_dti.vhd</a>. ### Generating Resource Utilization Report <a href="matlab:hdlcoder.report.openDdg('/tmp/Bdoc24b_2725827_3881561/tp55a63b67/hdlcoder-ex26183455/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/Bdoc24b_2725827_3881561/tp55a63b67/hdlcoder-ex26183455/codegen/mlhdlc_dti/hdlsrc/mlhdlc_dti_Industry_report.html')">mlhdlc_dti_Industry_report.html</a> ### Generating HDL Conformance Report <a href="matlab:web('/tmp/Bdoc24b_2725827_3881561/tp55a63b67/hdlcoder-ex26183455/codegen/mlhdlc_dti/hdlsrc/mlhdlc_dti_hdl_conformance_report.html')">mlhdlc_dti_hdl_conformance_report.html</a>. ### HDL Conformance check complete with 0 errors, 0 warnings, and 0 messages. Code generation successful.
Customize coding standard rules for Simulink to HDL workflow
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')
### 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.
Input Arguments
standardName
— HDL coding standard name
'Industry'
Specify the HDL coding standard to customize. The standardName
value must
match the HDLCodingStandard
property value.
Example: 'Industry'
Output Arguments
cso
— HDL coding standard customizations
HDL coding standard customization object
HDL coding standard customizations, returned as an HDL coding standard customization object.
Version History
Introduced in R2014b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)