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