electrical-mesh.cfg revision 10447
110447Snilay@cs.wisc.edu 210447Snilay@cs.wisc.edu# Instance 310447Snilay@cs.wisc.eduModelName = ElectricalMesh 410447Snilay@cs.wisc.edu 510447Snilay@cs.wisc.edu# Query string used to choose what will be output by Orion 610447Snilay@cs.wisc.eduQueryString = \ 710447Snilay@cs.wisc.edu Energy>>ElectricalMesh:AvgUnicast@0 \ 810447Snilay@cs.wisc.edu NddPower>>ElectricalMesh:Leakage@0 \ 910447Snilay@cs.wisc.edu Area>>ElectricalMesh:Active@0 \ 1010447Snilay@cs.wisc.edu Area>>ElectricalMesh:GlobalWire@0 \ 1110447Snilay@cs.wisc.edu 1210447Snilay@cs.wisc.edu# Injection rate (# flits per cycle per site), assuming that the network is not 1310447Snilay@cs.wisc.edu# saturated and uniform random traffic 1410447Snilay@cs.wisc.eduInjectionRate = 0.1 1510447Snilay@cs.wisc.edu# Evaluation string 1610447Snilay@cs.wisc.eduEvaluateString = \ 1710447Snilay@cs.wisc.edu dynamic = $(InjectionRate) * $(NumberSites) * $(Frequency) * $(Energy>>ElectricalMesh:AvgUnicast); \ 1810447Snilay@cs.wisc.edu leakage = $(NddPower>>ElectricalMesh:Leakage); \ 1910447Snilay@cs.wisc.edu total = dynamic + leakage; \ 2010447Snilay@cs.wisc.edu energy_per_bit = total / ($(InjectionRate) * $(Frequency) * $(NumberSites) * $(NumberBitsPerFlit)); \ 2110447Snilay@cs.wisc.edu active_area = $(Area>>ElectricalMesh:Active); \ 2210447Snilay@cs.wisc.edu global_area = $(Area>>ElectricalMesh:GlobalWire); \ 2310447Snilay@cs.wisc.edu print "Electrical Mesh Network:"; \ 2410447Snilay@cs.wisc.edu print " Dynamic power: " dynamic; \ 2510447Snilay@cs.wisc.edu print " Leakage power: " leakage; \ 2610447Snilay@cs.wisc.edu print " Total power: " total; \ 2710447Snilay@cs.wisc.edu print " Energy per bit: " energy_per_bit; \ 2810447Snilay@cs.wisc.edu print " Global Wire Area: " global_area; \ 2910447Snilay@cs.wisc.edu print " Active Area: " active_area; \ 3010447Snilay@cs.wisc.edu 3110447Snilay@cs.wisc.edu# Technology file (see other models in tech/models) 3210447Snilay@cs.wisc.eduElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model 3310447Snilay@cs.wisc.edu 3410447Snilay@cs.wisc.edu############################################################################### 3510447Snilay@cs.wisc.edu# Timing optimization 3610447Snilay@cs.wisc.edu############################################################################### 3710447Snilay@cs.wisc.edu 3810447Snilay@cs.wisc.edu# Individual network components already optimize for timing, no need to do it 3910447Snilay@cs.wisc.edu# at the top-level 4010447Snilay@cs.wisc.edu# Operating frequency (Hz) 4110447Snilay@cs.wisc.eduFrequency = 1.0e9 4210447Snilay@cs.wisc.edu 4310447Snilay@cs.wisc.edu# NOTE: If you adjust Frequency, make sure you adjust SWSR->LinkDataRate 4410447Snilay@cs.wisc.edu# to make sure it is >= Frequency, since the model doesn't support serialization 4510447Snilay@cs.wisc.edu# ratios < 1. 4610447Snilay@cs.wisc.edu 4710447Snilay@cs.wisc.edu# Report timing 4810447Snilay@cs.wisc.eduIsReportTiming = true 4910447Snilay@cs.wisc.edu# Report timing 5010447Snilay@cs.wisc.eduReportTiming->StartNetNames = [CK] 5110447Snilay@cs.wisc.edu 5210447Snilay@cs.wisc.edu############################################################################### 5310447Snilay@cs.wisc.edu# Model specifications 5410447Snilay@cs.wisc.edu############################################################################### 5510447Snilay@cs.wisc.edu 5610447Snilay@cs.wisc.edu# Mesh Parameters 5710447Snilay@cs.wisc.eduClockFrequency = 1e9 5810447Snilay@cs.wisc.eduNumberSites = 64 5910447Snilay@cs.wisc.eduNumberBitsPerFlit = 64 6010447Snilay@cs.wisc.eduNumberSitesPerRouter = 1 6110447Snilay@cs.wisc.edu 6210447Snilay@cs.wisc.edu# Router-specific parameters (see dsent.cfg.router for descriptions) 6310447Snilay@cs.wisc.eduRouter->NumberVirtualNetworks = 3 6410447Snilay@cs.wisc.eduRouter->NumberVirtualChannelsPerVirtualNetwork = [1,1,1] 6510447Snilay@cs.wisc.eduRouter->NumberBuffersPerVirtualChannel = [4,1,1] 6610447Snilay@cs.wisc.eduRouter->InputPort->BufferModel = DFFRAM 6710447Snilay@cs.wisc.eduRouter->CrossbarModel = MultiplexerCrossbar 6810447Snilay@cs.wisc.eduRouter->SwitchAllocator->ArbiterModel = MatrixArbiter 6910447Snilay@cs.wisc.eduRouter->ClockTreeModel = BroadcastHTree 7010447Snilay@cs.wisc.eduRouter->ClockTree->NumberLevels = 6 7110447Snilay@cs.wisc.eduRouter->ClockTree->WireLayer = Intermediate 7210447Snilay@cs.wisc.eduRouter->ClockTree->WireWidthMultiplier = 1.0 7310447Snilay@cs.wisc.edu 7410447Snilay@cs.wisc.edu# Electrical Link-specific parameters 7510447Snilay@cs.wisc.eduLink->WireLayer = Global 7610447Snilay@cs.wisc.eduLink->WireWidthMultiplier = 1.0 7710447Snilay@cs.wisc.eduLink->WireSpacingMultiplier = 1.0 7810447Snilay@cs.wisc.edu 7910447Snilay@cs.wisc.edu# Physical organization properties 8010447Snilay@cs.wisc.edu# Note: This model assumes a square network layout 8110447Snilay@cs.wisc.eduSitePitch = 1e-3 82