system_rust 0.2.12

This is a hardware simulation framework inspired by SystemC for Rust. It features multithreading with a sender-receiver architecture, 4-state logic types, and logging functionality.
Documentation
@startuml
struct L4

interface ModuleInterface
interface ComputeModule
interface CompositeModule
struct Module

ComputeModule <|-- ModuleInterface
CompositeModule <|-- ModuleInterface
Module *-- ComputeModule

interface UpdatableSignal
struct SignalState
struct Signal
struct ResolvedSignalState
struct ResolvedSignal
struct SignalArr
struct ResolvedSignalArr
enum SignalType

SignalState *-- L4
Signal *-- SignalState
Signal <|-- UpdatableSignal
ResolvedSignalState *-- L4
ResolvedSignal *-- ResolvedSignalState
ResolvedSignal <|-- UpdatableSignal
SignalArr *-- Signal
ResolvedSignalArr *-- ResolvedSignal
SignalType *-- Signal
SignalType *-- ResolvedSignal

struct SRIn
struct SRInArr

SRIn *-- SignalType
SRInArr *-- SRIn

struct SROut
struct SROutArr

SROut *-- SignalType
SROutArr *-- SROut

enum SimDelay
enum SRDelay
struct SRTime

enum EventType
struct Event
struct ScheduledEvent

EventType *-- UpdatableSignal
EventType *-- Module
Event *-- EventType
Event *-- SRDelay
ScheduledEvent *-- EventType
ScheduledEvent *-- SRTime

struct Simulation
struct SimulationControl
struct SimulationContext

Simulation *-- UpdatableSignal
Simulation *-- ScheduledEvent
Simulation *-- SRTime
Simulation *-- Module
@enduml