API Reference¶
Network Signal Configuration¶
The NetworkSim.architecture.signal
module contains definitions of the control and data signals used in the ring network.
Signal Configuration¶
|
Constructor for control signals. |
|
Constructor for data signals. |
Network Architecture Base Configuration¶
The NetworkSim.architecture.base
module contains useful components for the configuration of the optical ring network hardware architecture.
Node Configuration¶
|
Constructor of the individual node in the ring network |
Network Architecture Setup¶
The NetworkSim.architecture.setup
module enables integration of the network components into a complete network model.
Simulation Tools¶
The NetworkSim.simulation.tools
module contains essential tools used for the simulation.
Network Performance Analysis¶
|
Function to compute the queueing delay latency of the defined network. |
|
Function to compute the service delay latency of the defined network. |
|
Function to compute the transfer delay latency of the defined network. |
|
Function to compute mean queueing and transfer delay of the final batch in the simulation. |
|
Function to compute mean queueing and transfer delay of the extended run. |
|
Function to compute the mean queueing and transfer delay of a simulation. |
|
Function to compute the mean throughput of a simulation in the final batch. |
|
Function to compute the mean throughput of a simulation during the extended run. |
|
Function to compute the overall mean throughput of a simulation. |
Probability Distributions for Discrete Event Simulation¶
|
Distribution class to generate interarrival time based on the chosen distribution. |
Synchronised Clocks¶
|
Synchronised clock for all transmitter on data rings. |
|
Synchronised clock for all receiver on data rings. |
|
Synchronised clock for all transmitter and receiver on control ring. |
Simulation Information¶
|
Information class to generate basic information of modules involved in the simulation. |
Simulation Results Plotting¶
Plots can also be directly generated from simulation summary.
|
Plot environment initialisation. |
|
Plot average latency of all nodes in a simulator as a heatmap. |
|
Scatter plot of latency information of one node, both as a source node and as a destination node. |
|
Function to plot latency information. |
|
Plot latency and throughput of a simulation across time. |
|
Plot transmission packet count as a heatmap. |
|
3d bar plot of parameters as source/destination pair. |
|
Plot batch throughput of simulations. |
|
Plot analytical and simulation transfer delay. |
Simulation Model Loading and Saving¶
|
Function to load previously saved pickle files as models. |
|
Function to save simulation models as pickle files. |
|
Function to clear all simpy Environment in the simulator. |
Tools used for Publication Purposes¶
|
Plot environment initialisation. |
|
Plot delay statistics of a ParallelSimulator. |
|
Plot mean throughput statistics of a ParallelSimulator. |
|
Plot buffer size statistics of a ParallelSimulator. |
|
Plot mean delay statistics of a specified data rate in a ParallelSimulator. |
|
Plot mean packet number statistics of a specified data rate in a ParallelSimulator. |
|
Plot OOK bit error rate vs average energy-to-noise ratio [1]_. |
|
Plot delay of a scaled network. |
Simulation Processes¶
The NetworkSim.simulation.process
module contains essential processes used for the simulation.
Transmitter Process¶
|
Transmitter processes creator for the simulation. |
|
Fixed transmitter simulator. |
|
Tunable transmitter simulator. |
|
Tunable transmitter simulator in bi-directional system, transmitting downstream packets. |
|
Tunable transmitter simulator in bi-directional system, transmitting downstream packets. |
Receiver Process¶
|
Receiver processes creator for the simulation. |
|
Fixed receiver simulator. |
|
Tunable receiver simulator. |
|
Fixed receiver simulator corresponding to upstream transmitters. |
|
Fixed receiver simulator corresponding to downstream transmitters. |
Simulation Setup¶
The NetworkSim.simulation.simulator
module contains a wrapper to set up all necessary processes for the simulation.
Basic Simulation Wrapper¶
|
Simulation wrapper to create a discrete event simulation of the ring network. |
Parallel Simulation¶
|
Parallel simulator class to enable multiple simulations to be run in parallel with minimum input parameters. |
SystemVerilog Integration¶
The NetworkSim.system_verilog
module contains useful functions to generate relevant files used for writing and verification of the SystemVerilog modules in the project.
Receiver Module¶
|
Generate testvector files for receiver module. |
Transmitter Module¶
|
Print delay LUT |
|
Testvector generation for transmitters. |