e8ed7b1d1b
This patch adds a tool called DSENT to the ext/ directory. DSENT is a tool that models power and area for on-chip networks. The next patch adds a script for using the tool.
75 lines
3.2 KiB
INI
75 lines
3.2 KiB
INI
|
|
# 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
|
|
|