1 2# Name of model to be built and evaluated 3ModelName = PhotonicClos 4 5# Query string to choose what to evaluate (use '\' to enable multiline config) 6QueryString = \ 7 Energy>>PhotonicClos:AvgUnicast@1 \ 8 NddPower>>PhotonicClos:RingTuning@0 \ 9 NddPower>>PhotonicClos:Laser@0 \ 10 NddPower>>PhotonicClos:Leakage@0 \ 11 Area>>PhotonicClos:Active@0 \ 12 Area>>PhotonicClos:GlobalWire@0 \ 13 Area>>PhotonicClos:Photonic@0 \ 14 15# Injection rate (# flits per cycle per site), assuming that the network is not 16# saturated and uniform random traffic 17InjectionRate = 0.1 18# Evaluation string 19EvaluateString = \ 20 dynamic = $(InjectionRate) * $(NumberInputSites) * $(Frequency) * $(Energy>>PhotonicClos:AvgUnicast); \ 21 leakage = $(NddPower>>PhotonicClos:Leakage); \ 22 ring_heating = $(NddPower>>PhotonicClos:RingTuning); \ 23 laser = $(NddPower>>PhotonicClos:Laser); \ 24 total = dynamic + leakage + ring_heating + laser; \ 25 energy_per_bit = total / ($(InjectionRate) * $(Frequency) * $(NumberInputSites) * $(NumberBitsPerFlit)); \ 26 active_area = $(Area>>PhotonicClos:Active); \ 27 global_area = $(Area>>PhotonicClos:GlobalWire); \ 28 photonic_area = $(Area>>PhotonicClos:Photonic); \ 29 print "Photonic Clos Network:"; \ 30 print " Dynamic power: " dynamic; \ 31 print " Leakage power: " leakage; \ 32 print " Laser power: " laser; \ 33 print " Ring Heater Power: " ring_heating; \ 34 print " Total power: " total; \ 35 print " Energy per bit: " energy_per_bit; \ 36 print " Active Area: " active_area; \ 37 print " Global Wire Area: " global_area; \ 38 print " Photonic Area: " photonic_area; \ 39 40# Technology file (see other models in tech/models) 41ElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model 42PhotonicTechModelFilename = tech/tech_models/Photonics.model 43 44############################################################################### 45# Timing optimization 46############################################################################### 47 48# Individual network components already optimize for timing, no need to do it 49# at the top-level 50# Operating frequency (Hz) 51Frequency = 4e9 52 53# NOTE: If you adjust Frequency, make sure you adjust SWSR->LinkDataRate 54# to make sure it is >= Frequency, since the model doesn't support serialization 55# ratios < 1. 56 57# Report timing 58IsReportTiming = true 59# Report timing 60ReportTiming->StartNetNames = [CK] 61 62############################################################################### 63# Model specifications 64############################################################################### 65 66# Clos Parameters 67# Number of sites that can send 68NumberInputSites = 64 69# Number of sites that can receive 70NumberOutputSites = 64 71# Bits per flit 72NumberBitsPerFlit = 64 73# Number of routers at each stage 74NumberIngressRouters = 8 75NumberMiddleRouters = 8 76NumberEgressRouters = 8 77 78# Router-specific parameters (see dsent.cfg.router for descriptions) 79Router->NumberVirtualNetworks = 3 80Router->NumberVirtualChannelsPerVirtualNetwork = [1,1,1] 81Router->NumberBuffersPerVirtualChannel = [4,1,1] 82Router->InputPort->BufferModel = DFFRAM 83Router->CrossbarModel = MultiplexerCrossbar 84Router->SwitchAllocator->ArbiterModel = MatrixArbiter 85Router->ClockTreeModel = BroadcastHTree 86Router->ClockTree->NumberLevels = 6 87Router->ClockTree->WireLayer = Intermediate 88Router->ClockTree->WireWidthMultiplier = 1.0 89 90# Electrical Link-specific parameters 91Link->WireLayer = Global 92Link->WireWidthMultiplier = 1.0 93Link->WireSpacingMultiplier = 1.0 94 95# Photonic link-specfic parameters 96# Link data rate (Hz), must be >= Frequency of the network 97SWSR->LinkDataRate = 4e9 98# Optimize the laser/modulator power balance for the given utilization 99SWSR->OptUtil = 0.5 100# Type of the laser. Current valid choices are: (Standard, Throttled) 101# Note, if you change this to throttled, the laser gets lumped into dynamic 102# power, so change the Ndd power query for laser appropriately 103SWSR->LaserType = Standard 104# Ring tuning method. Current valid choices are: 105# (FullThermal, AthermalWithTrim, ThermalWithBitReshuffle, ElectricalAssistWithBitReshuffle) 106SWSR->RingTuningMethod = ThermalWithBitReshuffle 107 108# Physical organization properties 109# Note: This model assumes a square network layout 110InputSitePitch = 1e-3 111OutputSitePitch = 1e-3 112 113