Generating Communication Matrices Automatically

You can organize communication signals into a matrix according to a set of constraints, with an automated assistance by algorithmic means. You can either generate a new matrix or update an existing matrix.

Two complementary matrix evaluations are available. These evaluations provide an estimate of the bus load of the proposed solution:

  • Static Analysis: Computes the theoretical worst cases for each frame on each bus, based on published reference academic research results (publication: Controller Area Network (CAN) Schedulability Analysis: Refuted, Revisited and Revised by Robert Davis, Alan Burns, Reinder Bril, and Johan Lukkien). It provides worst case results, which are generally pessimistic compared to the final system.
  • Dynamic Analysis: Performs a nonfunctional simulation on the system mapping. It provides optimistic results.

The deadline, taken into account by the analyses, is bus signal by bus signal and the strategy used is minimizing the bus load. These analyses produce HTML reports.

This scenario describes how to complete a matrix bus per bus from a system mapping. The scenario is identical when starting from a project.


Before you begin: Create a system mapping from:
  • A topology containing CAN buses. The CAN matrices must have frames with defined events.
  • A function or a software component, which does not contain multi-instantiations of its subelements.
  1. From the Systems view, expand the System Mappings node.
  2. To compute the generation, right-click the system mapping.
    The Matrices Generation dialog box appears to let you allocate bus signals for each mapped bus of the system mapping.
  3. In the Target Matrix box, select a matrix among the matrices in session.

    Note: You can also create a matrix or load an existing matrix .

  4. Click Check Data Coherence.
  5. In the Unpacked Signals in Matrices area, select the signals to be allocated in existing or new frames.
  6. To compute a solution depending on the previous selection, click Get Solution.
    In the Frames area, existing and suggested elements to be added to the targeted matrix are displayed.
  7. Optional: To adapt the suggested solution, you can for example:
    • Click next to a signal in the Frames area to cancel a signal insertion in a frame.
    • Drag a signal from the Unpacked Signals in Matrices area to a frame in the Frames area.
    Tip: Click Get Solution for another solution depending on your modifications.
  8. Optional: To execute analyses, you can either:
    1. Click Static Timing Analysis to estimate the solution, from bus to bus, with a static analysis.
      An HTML report appears in your browser. It contains information in tables:
      • Buses: Buses load.
      • Frames: The worst response time for each frame.
      • Signals mapping: The way signals are packed in frames.
      • Deadlines on signals arrivals: Whether the deadline is respected for each deadline.
    2. Click Dynamic Timing Analysis to estimate the solution bus by bus with a dynamic analysis.
      An HTML report appears in your browser, it contains the following results:
      • A tab with information as tables.
      • Tabs containing bus information. There is one tab per bus. For each bus, three diagrams about the CAN communications through the embedded EE architecture of a vehicle appear:
        Diagram Description
        Transmission delay A bar graph representing the transmission delay (the Min., Average, and Max. for each frame)
        Bus load A pie chart representing the bus load
        Load distribution per frame A pie chart representing the distribution by frames

    Tip: If the system mapping contains more than one bus mapping, you can execute the analyses one time before the last solution acceptation.

  9. To adjust the solution:
    1. Analyze the reports and modify the content of the Unpacked Signals in Matrices area consequently, if needed.
    2. Re-execute from Step 6 to get another solution.
  10. To generate and complete the targeted matrix, click Accept.
  11. Optional: If the system mapping has more than one bus with unpacked signals:
    1. Click Next Bus >.
    2. Repeat from Step 3 for each bus.
  12. Validate to end the matrices generation.