# Instance ModelName = ElectricalClos # Query string used to choose what will be output by Orion QueryString = \ Energy>>ElectricalClos:AvgUnicast@1 \ NddPower>>ElectricalClos:Leakage@0 \ Area>>ElectricalClos:Active@0 \ Area>>ElectricalClos: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) * $(NumberInputSites) * $(Frequency) * $(Energy>>ElectricalClos:AvgUnicast); \ leakage = $(NddPower>>ElectricalClos:Leakage); \ total = dynamic + leakage; \ energy_per_bit = total / ($(InjectionRate) * $(Frequency) * $(NumberInputSites) * $(NumberBitsPerFlit)); \ active_area = $(Area>>ElectricalClos:Active); \ global_area = $(Area>>ElectricalClos:GlobalWire); \ print "Electrical Clos 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 # Report timing IsReportTiming = true # Report timing ReportTiming->StartNetNames = [CK] ############################################################################### # Model specifications ############################################################################### # Clos Parameters # Number of sites that can send NumberInputSites = 64 # Number of sites that can receive NumberOutputSites = 64 # Bits per flit NumberBitsPerFlit = 64 # Number of routers at each stage NumberIngressRouters = 8 NumberMiddleRouters = 8 NumberEgressRouters = 8 # 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 InputSitePitch = 1e-3 OutputSitePitch = 1e-3