/CXL-ExerSim_psl

This simulator is based on C++ to make it easier to understand the behavior of the CXL platform.

Primary LanguageC++MIT LicenseMIT

CXL-ExerSim (Compute eXpress Link Exercise and Simulator)

Author

Junseung Lee

đź’ˇ CXL-ExerSim aims to understand the detailed actions performed by each layer of the CXL controller and the behavior of the CXL switch. It is C++ based, and all behavior is based on the CXL spec.

What you get with CXL-ExerSim…

01_Transaction Layer

  • Understand the concept of cache coherence.
  • Understand the interaction between Host and Device over the CXL.cache/CXL.mem protocol.

02_Link Layer

  • Understand the flit packing rules for creating valid flits.
  • Understand the retry mechanism of CXL.
  • Understand CRC generation and checks.

03_ARB/MUX Layer

  • Understand dynamic muxing for different flit domains.
  • Understand how vLSM controls the state of the link.

04_Logical PHY Layer

  • Understand how protocol IDs are generated and flits are sent over CXL link.

05_CXL Switch

  • Understand how the CXL Switch works and is controlled.