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

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

# Injection rate
InjectionRate                           = 0.3
# Evaluation string
EvaluateString                          = \
    link_dynamic    = $(Energy>>RepeatedLink:Send) * $(Frequency); \
    link_static     = $(NddPower>>RepeatedLink:Leakage); \
    print "Link:"; \
    print "    Dynamic power: " link_dynamic * $(InjectionRate); \
    print "    Leakage power: " link_static; \

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

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

# True if want to perform timing optimization; otherwise, false.
# NOTE: for links it should never be turned on for timing optimization, the 
# link model is already doing timing optimization to insert buffers based on 
# the 'Delay' specified
IsPerformTimingOptimization             = false
# Nets that the timing optimizer starts from
TimingOptimization->StartNetNames       = []
# Operating frequency (Hz)
# 'Frequency' has no effect to the RepeatedLink model. Use 'Delay' to 
# constraint the links timing. 
Frequency                               = 1e9

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

# Data width of the repeated link/bus
NumberBits                              = 64
# Wire layer
WireLayer                               = Global
# Wire width multiplier
WireWidthMultiplier                     = 1.0
# Wire spacing multiplier
WireSpacingMultiplier                   = 1.0

# Wire length (m)
WireLength                              = 1e-3
# Delay of the wire (may not be 1.0 / Frequency)
Delay                                   = 1e-9

