7.4 Auto-bridging

Auto-bridging is a Fast Models feature that SimGen uses to automatically convert between LISA+ protocols and their SystemC equivalents. It helps to automate the generation of SystemC wrappers for LISA+ subsystem models.

A bridge is a LISA component that converts transactions from one protocol to another. A wide variety of bridges are available to convert between various LISA+ protocols and their SystemC equivalents. For example, PVBus2AMBAPV converts from PVBus to AMBA-PV protocols.

When auto-bridging is enabled, you do not need to manually add bridges to your LISA+ file. Auto-bridging causes SimGen to apply the protocol-to-bridge mappings that are defined in a configuration file to the LISA+ components and generate a single EVS component.

Enable auto-bridging by selecting both the TARGET_SYSTEMC and TARGET_SYSTEMC_AUTO build targets in the .sgproj file. Or, in System Canvas Project Settings, select both targets SystemC component and SystemC component with auto-bridging.

Use the --bridge-conf-file SimGen command-line option to select your own auto-bridging configuration file. Alternatively, edit the file $PVLIB_HOME/etc/bridges_conf.json, which SimGen uses if you do not specify this option. The syntax is:

    "<protocol_name>" : {
        "master" : {
            "name" : "<bridge_name>"
        },
        "slave"  : {
            "name" : "<bridge_name>"
        },
        "peer"   : {
            "name" : "<bridge_name>"
        }
    },

Note:

  • SimGen ignores any bridges whose name is empty in the configuration file.
  • Auto-bridging is not applied to any ports that are marked as internal in the LISA+ file.
  • SimGen reports an error if auto-bridging is enabled and a top-level port in a LISA+ component uses a protocol that is not listed in the configuration file.
  • SimGen reports an error if auto-bridging is enabled and it cannot find the configuration file.
  • You do not need to specify bridges for the following LISA+ protocols. When ports that use these protocols are exported to SystemC, SimGen can automatically generate the TLM sockets for them, without the need for bridging:
    • AudioControl
    • CounterInterface
    • GICv3Comms
    • InstructionCount
    • KeyboardStatus
    • LCD
    • MouseStatus
    • VECBProtocol
Non-ConfidentialPDF file icon PDF version100965_1180_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.