
# Example using a crossbar
# % ./dsent -cfg configs/example.example -verbose


# Name of model to be built and evaluated
ModelName                               = MultiplexerCrossbar

# Query string to choose what to evaluate (use '\' to enable multiline config)
QueryString                             = \
    Energy>>MultiplexerCrossbar:Multicast1@0 \
    Energy>>MultiplexerCrossbar:Multicast1@2 \
    NddPower>>MultiplexerCrossbar:Leakage@1 \
    Area>>MultiplexerCrossbar:Active@1

# Technology file (see models in tech/tech_models)
ElectricalTechModelFilename             = tech/tech_models/Bulk45LVT.model

###############################################################################
# Timing optimization
###############################################################################

# True if want to perform timing optimization; otherwise, false.
IsPerformTimingOptimization             = true
# Nets that the timing optimizer starts from
TimingOptimization->StartNetNames       = [*]       # '*' means from all inputs
# Operating frequency (Hz)
Frequency                               = 2e9

###############################################################################
# Model specifications
###############################################################################

# Number of inputs
NumberInputs                            = 4
# Number of outputs
NumberOutputs                           = 4
# Number of bits per input/output
NumberBits                              = 64

