# 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