1 2# Instance 3ModelName = ElectricalClos 4 5# Query string used to choose what will be output by Orion 6QueryString = \ 7 Energy>>ElectricalClos:AvgUnicast@1 \ 8 NddPower>>ElectricalClos:Leakage@0 \ 9 Area>>ElectricalClos:Active@0 \ 10 Area>>ElectricalClos: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) * $(NumberInputSites) * $(Frequency) * $(Energy>>ElectricalClos:AvgUnicast); \ 18 leakage = $(NddPower>>ElectricalClos:Leakage); \ 19 total = dynamic + leakage; \ 20 energy_per_bit = total / ($(InjectionRate) * $(Frequency) * $(NumberInputSites) * $(NumberBitsPerFlit)); \ 21 active_area = $(Area>>ElectricalClos:Active); \ 22 global_area = $(Area>>ElectricalClos:GlobalWire); \ 23 print "Electrical Clos 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# Report timing 44IsReportTiming = true 45# Report timing 46ReportTiming->StartNetNames = [CK] 47 48############################################################################### 49# Model specifications 50############################################################################### 51 52# Clos Parameters 53# Number of sites that can send 54NumberInputSites = 64 55# Number of sites that can receive 56NumberOutputSites = 64 57# Bits per flit 58NumberBitsPerFlit = 64 59# Number of routers at each stage 60NumberIngressRouters = 8 61NumberMiddleRouters = 8 62NumberEgressRouters = 8 63 64# Router-specific parameters (see dsent.cfg.router for descriptions) 65Router->NumberVirtualNetworks = 3 66Router->NumberVirtualChannelsPerVirtualNetwork = [1,1,1] 67Router->NumberBuffersPerVirtualChannel = [4,1,1] 68Router->InputPort->BufferModel = DFFRAM 69Router->CrossbarModel = MultiplexerCrossbar 70Router->SwitchAllocator->ArbiterModel = MatrixArbiter 71Router->ClockTreeModel = BroadcastHTree 72Router->ClockTree->NumberLevels = 6 73Router->ClockTree->WireLayer = Intermediate 74Router->ClockTree->WireWidthMultiplier = 1.0 75 76# Electrical Link-specific parameters 77Link->WireLayer = Global 78Link->WireWidthMultiplier = 1.0 79Link->WireSpacingMultiplier = 1.0 80 81# Physical organization properties 82# Note: This model assumes a square network layout 83InputSitePitch = 1e-3 84OutputSitePitch = 1e-3