Simulation library

The simulation library is a collection of components which will aid you in testing and verifying your designs. Components in this library are decidedly not synthesizable and should never be included in a final design. A lot of the components use actsim's capability to call external C functions from within CHP code.

All components of the simulation library can be found within the sim namespace. There are several sub-namespaces which contain components which fall under the same group. You can access all these components by importing the sim namespace.

import sim;


  • Sources: Components which emit tokens onto channels; multiple data origins are supported
  • Sinks: Absorbs tokens
  • Scoreboards: Advanced form of sink; used for verifying a micro-architecture design against a model or known good output
  • Loggers: Can be fitted onto a channel between two components to log transferred data without being visible to either end
  • Infinite capacity buffer: Can be used to remove possible timing influences of the simulation harness on the design under test
  • Random number generators: Source which outputs random tokens
  • File interaction functions: Enables basic interactions with data input and output files
  • Splitter: Replicates incoming token onto a specified number of output channels without influencing slack