gem5/ext/dsent/configs/electrical-mesh.cfg

82 lines
3.4 KiB
INI
Raw Normal View History

# Instance
ModelName = ElectricalMesh
# Query string used to choose what will be output by Orion
QueryString = \
Energy>>ElectricalMesh:AvgUnicast@0 \
NddPower>>ElectricalMesh:Leakage@0 \
Area>>ElectricalMesh:Active@0 \
Area>>ElectricalMesh:GlobalWire@0 \
# Injection rate (# flits per cycle per site), assuming that the network is not
# saturated and uniform random traffic
InjectionRate = 0.1
# Evaluation string
EvaluateString = \
dynamic = $(InjectionRate) * $(NumberSites) * $(Frequency) * $(Energy>>ElectricalMesh:AvgUnicast); \
leakage = $(NddPower>>ElectricalMesh:Leakage); \
total = dynamic + leakage; \
energy_per_bit = total / ($(InjectionRate) * $(Frequency) * $(NumberSites) * $(NumberBitsPerFlit)); \
active_area = $(Area>>ElectricalMesh:Active); \
global_area = $(Area>>ElectricalMesh:GlobalWire); \
print "Electrical Mesh Network:"; \
print " Dynamic power: " dynamic; \
print " Leakage power: " leakage; \
print " Total power: " total; \
print " Energy per bit: " energy_per_bit; \
print " Global Wire Area: " global_area; \
print " Active Area: " active_area; \
# Technology file (see other models in tech/models)
ElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model
###############################################################################
# Timing optimization
###############################################################################
# Individual network components already optimize for timing, no need to do it
# at the top-level
# Operating frequency (Hz)
Frequency = 1.0e9
# NOTE: If you adjust Frequency, make sure you adjust SWSR->LinkDataRate
# to make sure it is >= Frequency, since the model doesn't support serialization
# ratios < 1.
# Report timing
IsReportTiming = true
# Report timing
ReportTiming->StartNetNames = [CK]
###############################################################################
# Model specifications
###############################################################################
# Mesh Parameters
ClockFrequency = 1e9
NumberSites = 64
NumberBitsPerFlit = 64
NumberSitesPerRouter = 1
# Router-specific parameters (see dsent.cfg.router for descriptions)
Router->NumberVirtualNetworks = 3
Router->NumberVirtualChannelsPerVirtualNetwork = [1,1,1]
Router->NumberBuffersPerVirtualChannel = [4,1,1]
Router->InputPort->BufferModel = DFFRAM
Router->CrossbarModel = MultiplexerCrossbar
Router->SwitchAllocator->ArbiterModel = MatrixArbiter
Router->ClockTreeModel = BroadcastHTree
Router->ClockTree->NumberLevels = 6
Router->ClockTree->WireLayer = Intermediate
Router->ClockTree->WireWidthMultiplier = 1.0
# Electrical Link-specific parameters
Link->WireLayer = Global
Link->WireWidthMultiplier = 1.0
Link->WireSpacingMultiplier = 1.0
# Physical organization properties
# Note: This model assumes a square network layout
SitePitch = 1e-3