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