c1aecc05e6
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.
109 lines
6.7 KiB
Text
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)
|