gem5/ext/dsent/tech/tech_models/Photonics.model
Nilay Vaish c1aecc05e6 ext: dsent: adds a Python interface, drops C++ one
This patch extensively modifies DSENT so that it can be accessed using Python.
To access the Python interface, DSENT needs to compiled as a shared library.
For this purpose a CMakeLists.txt file has been added.  Some of the code that
is not required is being removed.
2014-10-11 16:16:00 -05:00

109 lines
6.7 KiB
Text

# Copyright (c) 2012 Massachusetts Institute of Technology
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
# This file contains the model for photonic devices/circuits
PhotonicsName = Photonics
# ALL PARAMETERS IN SI UNITS!!! (J, W, m, F, dB, A)
# -----------------------------------------------------------------------------
# Waveguide
# -----------------------------------------------------------------------------
Waveguide->LossPerMeter = 100 # dB/m
Waveguide->Pitch = 4e-6 # m
Splitter->Loss = 1.00 # dB
Coupler->Loss = 1.00 # dB
# -----------------------------------------------------------------------------
# Laser
# -----------------------------------------------------------------------------
# Continuous wave off-chip (always on) laser
Laser->CW->Efficiency = 0.25 # P_Laser/P_Electrical
Laser->CW->LaserDiodeLoss = 1.00 # Laser diode loss
Laser->CW->Area = 0
# Gated on-chip (data-dependent) laser
Laser->GatedCW->Efficiency = 0.25 # P_Laser/P_Electrical
Laser->GatedCW->LaserDiodeLoss = 1.00 # Laser diode loss
Laser->GatedCW->Area = 200e-12
# -----------------------------------------------------------------------------
# Modulators
# -----------------------------------------------------------------------------
# Ring Modulator
Modulator->Ring->SupplyBoostRatio = 1.2 # Boost the supply voltage above required reverse bias voltage by this ratio
Modulator->Ring->ParasiticRes = 100 # ohm
Modulator->Ring->ParasiticCap = 5e-15 # F
Modulator->Ring->FCPDEffect = 3e-27 # Free carrier plasma dispersion effect, delta_n/delta_c (m^-3)
Modulator->Ring->Tn = 0.01 # Transmisivity at the bottom of the notch
Modulator->Ring->NA = 3e24 # m^3, p doping
Modulator->Ring->ND = 1e24 # m^3, n doping
Modulator->Ring->ni = 1e16 # m^3, intrinsic free carriers
Modulator->Ring->JunctionRatio = 0.8 # Junction ratio to total optical length
Modulator->Ring->Height = 500e-9 # Height of the junction (m)
Modulator->Ring->Width = 500e-9 # Modulator width (m)
Modulator->Ring->ConfinementFactor = 0.3 # Modulator confinement factor
# -----------------------------------------------------------------------------
# Ring Resonator
# -----------------------------------------------------------------------------
Ring->Area = 100e-12 # m2
Ring->Lambda = 1300e-9 # Resonant wavelength range
Ring->GroupIndex = 4 # Group index
Ring->Radius = 3e-6 # Bend radius of the ring
Ring->ConfinementFactor = 0.3 # Confinement factor
Ring->ThroughLoss = 0.01 # [dB]
Ring->DropLoss = 1.0 # [dB]
Ring->MaxQualityFactor = 150e3 # Maximum quality factor
Ring->HeatingEfficiency = 100000 # Ring heating efficiency [K/W]
Ring->TuningEfficiency = 10e9 # Ring tuning efficiency [Hz/K]
Ring->LocalVariationSigma = 40e9 # Ring resonance frequency local mismatch sigma [Hz]
Ring->SystematicVariationSigma = 200e9 # Ring resonance frequency systematic mismatch sigma [Hz]
Ring->TemperatureMax = 380 # Maximum temperature that the tuning mechanism must still be able to work at [K]
Ring->TemperatureMin = 280 # Minimum temperature that the tuning mechanism must still be able to work at [K]
Ring->MaxElectricallyTunableFreq = 50e9 # Maximum electrically tunable range when allowing for electrically assisted tuning [Hz]
# -----------------------------------------------------------------------------
# Photodetector
# -----------------------------------------------------------------------------
Photodetector->Responsivity = 1.1 #(A/W)
Photodetector->Area = 10e-12 # m2
Photodetector->Cap = 0 # F
Photodetector->ParasiticCap = 5e-15 # F
Photodetector->Loss = 1.00 # dB
Photodetector->MinExtinctionRatio = 3 # dB
Photodetector->AvalancheGain = 1 # avalanche gain
# -----------------------------------------------------------------------------
# Receivers
# -----------------------------------------------------------------------------
# Sense amplifier (common to all receivers)
SenseAmp->BER = 1e-15 # Target bit error rate
SenseAmp->CMRR = 5 # Common-mode rejection ratio
SenseAmp->OffsetCompensationBits = 5 # Number of bits used for fine-tuning offset compensation
SenseAmp->OffsetRatio = 0.04 # Offset mismatch (as a fraction of VDD)
SenseAmp->SupplyNoiseRandRatio = 0.01 # Random supply noise (as a fraction VDD)
SenseAmp->SupplyNoiseDetRatio = 0.05 # Deterministic supply noise (as a fraction VDD)
SenseAmp->NoiseMargin = 0.02 # Extra noise margin
SenseAmp->JitterRatio = 0.01 # Jitter (as a fraction of Tbit)
Receiver->Int->IntegrationTimeRatio = 0.7 # Integration time (as a fraction of Tbit)