1 2# Instance 3ModelName = ElectricalMesh 4 5# Query string used to choose what will be output by Orion 6QueryString = \ 7 Energy>>ElectricalMesh:AvgUnicast@0 \ 8 NddPower>>ElectricalMesh:Leakage@0 \ 9 Area>>ElectricalMesh:Active@0 \ 10 Area>>ElectricalMesh:GlobalWire@0 \ 11 12# Injection rate (# flits per cycle per site), assuming that the network is not 13# saturated and uniform random traffic 14InjectionRate = 0.1 15# Evaluation string 16EvaluateString = \ 17 dynamic = $(InjectionRate) * $(NumberSites) * $(Frequency) * $(Energy>>ElectricalMesh:AvgUnicast); \ 18 leakage = $(NddPower>>ElectricalMesh:Leakage); \ 19 total = dynamic + leakage; \ 20 energy_per_bit = total / ($(InjectionRate) * $(Frequency) * $(NumberSites) * $(NumberBitsPerFlit)); \ 21 active_area = $(Area>>ElectricalMesh:Active); \ 22 global_area = $(Area>>ElectricalMesh:GlobalWire); \ 23 print "Electrical Mesh Network:"; \ 24 print " Dynamic power: " dynamic; \ 25 print " Leakage power: " leakage; \ 26 print " Total power: " total; \ 27 print " Energy per bit: " energy_per_bit; \ 28 print " Global Wire Area: " global_area; \ 29 print " Active Area: " active_area; \ 30 31# Technology file (see other models in tech/models) 32ElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model 33 34############################################################################### 35# Timing optimization 36############################################################################### 37 38# Individual network components already optimize for timing, no need to do it 39# at the top-level 40# Operating frequency (Hz) 41Frequency = 1.0e9 42 43# NOTE: If you adjust Frequency, make sure you adjust SWSR->LinkDataRate 44# to make sure it is >= Frequency, since the model doesn't support serialization 45# ratios < 1. 46 47# Report timing 48IsReportTiming = true 49# Report timing 50ReportTiming->StartNetNames = [CK] 51 52############################################################################### 53# Model specifications 54############################################################################### 55 56# Mesh Parameters 57ClockFrequency = 1e9 58NumberSites = 64 59NumberBitsPerFlit = 64 60NumberSitesPerRouter = 1 61 62# Router-specific parameters (see dsent.cfg.router for descriptions) 63Router->NumberVirtualNetworks = 3 64Router->NumberVirtualChannelsPerVirtualNetwork = [1,1,1] 65Router->NumberBuffersPerVirtualChannel = [4,1,1] 66Router->InputPort->BufferModel = DFFRAM 67Router->CrossbarModel = MultiplexerCrossbar 68Router->SwitchAllocator->ArbiterModel = MatrixArbiter 69Router->ClockTreeModel = BroadcastHTree 70Router->ClockTree->NumberLevels = 6 71Router->ClockTree->WireLayer = Intermediate 72Router->ClockTree->WireWidthMultiplier = 1.0 73 74# Electrical Link-specific parameters 75Link->WireLayer = Global 76Link->WireWidthMultiplier = 1.0 77Link->WireSpacingMultiplier = 1.0 78 79# Physical organization properties 80# Note: This model assumes a square network layout 81SitePitch = 1e-3 82