| |
| # Name of model to be built and evaluated |
| ModelName = SWSRLink |
| |
| # Query string to choose what to evaluate (use '\' to enable multiline config) |
| QueryString = \ |
| Energy>>SWSRLink:Send@1 \ |
| NddPower>>SWSRLink:Leakage@0 \ |
| NddPower>>SWSRLink:RingTuning@0 \ |
| NddPower>>SWSRLink:Laser@0 \ |
| Area>>SWSRLink:Active@0 \ |
| Area>>SWSRLink:Photonic@0 \ |
| |
| # Injection rate (# words per core cycle) |
| InjectionRate = 1.0 |
| # Evaluation string |
| EvaluateString = \ |
| dynamic = $(InjectionRate) * $(CoreDataRate) * $(Energy>>SWSRLink:Send); \ |
| leakage = $(NddPower>>SWSRLink:Leakage); \ |
| ring_heating = $(NddPower>>SWSRLink:RingTuning); \ |
| laser = $(NddPower>>SWSRLink:Laser); \ |
| total = dynamic + leakage + ring_heating + laser; \ |
| energy_per_bit = total / ($(InjectionRate) * $(CoreDataRate) * $(NumberBits)); \ |
| active_area = $(Area>>SWSRLink:Active); \ |
| photonic_area = $(Area>>SWSRLink:Photonic); \ |
| print "Photonic Clos Network:"; \ |
| print " Dynamic power: " dynamic; \ |
| print " Leakage power: " leakage; \ |
| print " Laser power: " laser; \ |
| print " Ring Heater Power: " ring_heating; \ |
| print " Total power: " total; \ |
| print " Energy per bit: " energy_per_bit; \ |
| print " Active Area: " active_area; \ |
| print " Photonic Area: " photonic_area; \ |
| |
| # Technology file (see other models in tech/models) |
| ElectricalTechModelFilename = tech/tech_models/Bulk45LVT.model |
| PhotonicTechModelFilename = tech/tech_models/Photonics.model |
| |
| ############################################################################### |
| # Model specifications |
| ############################################################################### |
| |
| # Clos Parameters |
| # Number of bits the link is responsible for delivering |
| NumberBits = 64 |
| # Core data rate |
| CoreDataRate = 1e9 |
| # Link data rate, if link data-rate > core data rate, SerDes will be applied |
| LinkDataRate = 1e9 |
| |
| # Optimization parameters |
| # Whether link specs will be optimized for power |
| OptimizeLoss = true |
| # Optimize the laser/modulator power balance for the given link utilization, |
| # ignored if optimize loss is set to false |
| OptUtil = 0.5 |
| # Insertion loss and extinction ratio (in dB), ignored if optimize loss is set |
| # to true |
| InsertionLoss = 2.0 |
| ExtinctionRatio = 6.0 |
| |
| # Technology-based parameters |
| # Type of the laser. Current valid choices are: (Standard, Throttled) |
| # Note, if you change this to throttled, the laser gets lumped into dynamic |
| # power, so change the Ndd power query for laser appropriately |
| LaserType = Standard |
| # Ring tuning method. Current valid choices are: |
| # (FullThermal, AthermalWithTrim, ThermalWithBitReshuffle, ElectricalAssistWithBitReshuffle) |
| RingTuningMethod = ThermalWithBitReshuffle |
| |
| # Physical organization properties |
| # Length of the link (in meters) |
| Length = 10e-3 |
| |