Skip to content

Latest commit

 

History

History

tlm-non-blocking

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Non-blocking TLM binding

This example is almost identical to direct-connection. The most important difference is that the peripherals use a non-blocking TLM interface. This is just a matter of syntax, as the integration still handles the transactions in a single phase.

                 Renode process                          SystemC process
┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐      ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐
  ┌──────┐   ┌─────────────────┐        TCP     ┌─────────────┐  ┌────────────┐
│ │      ├───┤SystemCPeripheral├──────┼──────┼──┤renode_bridge├──┤ peripheral │ │
  │      │   └───────┬─────────┘                └─────────────┘  └────────────┘
│ │      │           │                │      └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘
  │      │           │ direct          
│ │sysbus│           │ connection     │
  │      │           │                                         SystemC process    
│ │      │           │                │      ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐ 
  │      │   ┌───────┴─────────┐        TCP     ┌─────────────┐  ┌────────────┐
│ │      ├───┤SystemCPeripheral├──────┼──────┼──┤renode_bridge├──┤ peripheral │ │
  └──────┘   └─────────────────┘                └─────────────┘  └────────────┘
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘      └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘