Implement Memory Map with SCML
What Is SCML?
The SystemC™ Modeling Library (SCML) is a TLM 2.0 compatible API library for creating TLM model interfaces for use with Synopsys® prototyping tools. These tools enable early software integration and testing. The SCML interface provides backdoor register access for the Synopsys tools during simulation. Use HDL Verifier™ software to export a TLM component with an SCML interface for seamless use with the Synopsys prototyping tools.
Workflow
Note
This feature requires the ASIC Testbench for HDL Verifier add-on.
To generate a TLM component with SCML memory map:
Install SCML. You can download SCML from Synopsys, see https://www.synopsys.com/verification/virtual-prototyping/scml-source-code-library-download.html.
Open Configuration Parameters>Code Generation>TLM Generator. See Select TLM Generator System Target.
On the TLM Mapping tab, provide an IP-XACT file describing the memory map of your component. Then select the SCML option. See Select TLM Mapping Options.
Specify the location of your SCML installation on the TLM Compilation tab. See Select TLM Compilation Options.
Generate code for your model as you would for any other model. See Generate Component and Testbench.
Generated Code
When you generate code for your model, the TLM generator creates
the same set of files to implement the TLM component as it would without
SCML. The files are named SystemName_scml
rather
than SystemName_tlm
.
SCML supports bit widths of 8, 16, 32, 64, 128, and 256. When generating the SCML interface for Simulink® signals, the generator rounds up to the next supported size.
IP-XACT classes are translated to SCML classes according to this mapping.
IP-XACT Class | SCML Class |
---|---|
spirit::businterface | scml2::tlm2_gp_target_adapter |
spirit:addressBlock | scml2::memory |
spirit:register | scml2::reg |
spirit:field | scml2::bitfield |
The SCML interface has no effect on testbench generation for the TLM component. The testbench does not use the SCML access functions.