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