CAN Controller / Bus (Controller Area Network) Modelling and Verification using TLM

Implemented a CAN protocol based mini system in SystemC with the following SystemC models
* CAN Master (Transmitter), 
* a CAN Bus and * CAN device/slave (Receiver). 
The mini system consisted of 2 Masters, BUS, and 2 Slaves. 

* CAN Masters access the BUS when it is IDLE i.e. there are 7 consecutive cycles with RECESSIVE value on the BUS. 

* Data is transmitted serially (and synchronously) in Frame format - There are different frame formats like DATA frame, REMOTE frame, ERROR frame, OVERLOAD frame, etc.

* The BUS is implemented as a wired-AND model with multiple Masters and multiple slaves connectivity.

* All slaves/receivers get data from BUS as broadcast data. All slaves use filtering based on IDENTIFIER in the frame to accept the received data and forward it to the transport layer. 

* Verified the system for simultaneous transfers from both Masters (arbitration), REMOTE frame to request DATA frame with the same identifier and ERROR frame.

* Waveform was traced in VCD as well as log-based verification was done to trace transactions.

22 Aug 2019


Creating portfolio made simple for

Trusted by 48400+ Generalists. Try it now, free to use

Start making more money