Simics PCIe modeling library supports up to PCI Express Base Specification Revision 6.0. Some of the features it supports with little or no modeling effort are:
PCIe is simulated in Simics on a functional level, which means that models typically operate slightly above the Transaction Layer. Simics does not simulate individual TLPs, it simulates relevant parts of the TLP and conveys the information along the route to the target destination.
A Transaction Layer Package (TLP) in PCIe comes in four different
types: Config, Memory, I/O, and Message. All of these are issued using
the transaction_t
data structure. The various bits of information
required to complete an operation (PASID, RequesterID, etc.) are
attached to the transaction_t
as atoms
.