| |
| # 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 |