summaryrefslogtreecommitdiff
path: root/ext/dsent/configs/photonic-link.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dsent/configs/photonic-link.cfg')
-rw-r--r--ext/dsent/configs/photonic-link.cfg75
1 files changed, 75 insertions, 0 deletions
diff --git a/ext/dsent/configs/photonic-link.cfg b/ext/dsent/configs/photonic-link.cfg
new file mode 100644
index 000000000..755e38bbc
--- /dev/null
+++ b/ext/dsent/configs/photonic-link.cfg
@@ -0,0 +1,75 @@
+
+# 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
+