Trace Requirements to Code Generated from Models
To specify that generated code of an ERT target include requirements:
Open the
CodeRequirementsLinks
example model. At the command line, typeopenExample('CodeRequirementsLinks.slx')
.On the Modeling tab, click Model Settings.
In the Configuration Parameters dialog box, on the left pane, select the Code Generation pane.
Set the parameter System target file to
ert.tlc
, or an ERT-based system target file.Under Code Generation, select Comments.
In the Custom comments section on the right, select the Requirements in block comments check box.
Under Code Generation, select Report.
On the Report pane, select:
Create code generation report
Open report automatically
Press Ctrl+B to build the model.
In the code generation report, open
CodeRequirementsLinks.c
.Scroll to the code for the Pulse Generator block,
clock
. The comments for the code associated with that block include a hyperlink to the requirement linked to that block.Click the link
Clock period shall be consistent with chirp tolerance
to open the HTML requirements document to the associated requirement.Note
When you click a requirements link in the code comments, the software opens the application for the requirements document, except if the requirements document is a DOORS® module. To view a DOORS requirement, start the DOORS software and log in before clicking the hyperlink in the code comments.
You can also include requirements comments in generated HDL code. For more information, see Requirement Comments and Hyperlinks (HDL Coder).
How Requirements Information Is Included in Generated Code
After you simulate your model and verify its performance against the requirements, you can generate code from the model for an embedded real-time application. The Embedded Coder® software generates code for Embedded Real-Time (ERT) targets.
If the model has links to requirements, the Embedded Coder software inserts information about the requirements links into the code comments.
For example, if a block has a requirement link, the software generates code for that block. In the code comments for that block, the software inserts:
Requirement description
Hyperlink to the requirements document that contains the linked requirement associated with that block
Note
You must have a license for Embedded Coder to generate code for an embedded real-time application.
If you use an external SLMX file to store your requirement links, to avoid stale comments in generated code, before code generation, you must save changes in your requirement links. For information on how to save, see Link Storage.
Generated code does not include links to Simulink® model areas, comments in MATLAB function blocks, comments in Stateflow® MATLAB® functions, or comments in external MATLAB function files.
Comments for the generated code include requirements descriptions and hyperlinks to the requirements documents in the following locations.
Model Object with Requirement | Location of Code Comments with Requirements Links |
---|---|
Model | In the main header file,
|
Nonvirtual subsystem | At the call site for the subsystem |
Virtual subsystem | At the call site of the closest nonvirtual parent
subsystem. If a virtual subsystem does not have a nonvirtual
parent, requirement descriptions appear in the main header file
for the model,
|
Nonsubsystem block | In the generated code for the block |
MATLAB code line in MATLAB Function block | In the generated code for the MATLAB code line(s) |