Lines Matching defs:modulator

139         // Update the modulator
140 Model* modulator = getSubInstance("Modulator");
141 modulator->setProperty("ExtinctionRatio", extinction_ratio);
142 modulator->setProperty("InsertionLoss", insertion_loss);
143 modulator->update();
161 // Set transition info for the modulator
162 OpticalModel* modulator = (OpticalModel*) getSubInstance("Modulator");
163 propagatePortTransitionInfo(modulator, "In", "In");
164 modulator->use();
167 const TransitionInfo& mod_out_transitions = modulator->getOpticalOutputPort("Out")->getTransitionInfo();
247 // Create modulator
248 RingModulator* modulator = new RingModulator("Modulator", getTechModel());
249 modulator->setParameter("DataRate", data_rate);
250 modulator->setParameter("InStart", 0);
251 modulator->setParameter("InEnd", number_wavelengths-1);
252 modulator->setParameter("ModStart", 0);
253 modulator->setParameter("ModEnd", number_wavelengths-1);
254 modulator->setParameter("OptimizeLoss", optimize_loss);
255 modulator->construct();
256 addSubInstances(modulator, 1.0);
257 getAreaResult("Photonic")->addSubResult(modulator->getAreaResult("Photonic"), "Modulator", 1.0);
258 addElectricalSubResults(modulator, 1.0);
261 portConnect(modulator, "In", "In");
262 // Connect modulator input, output port
263 opticalPortConnect(modulator, "In", "LaserToMod");
264 opticalPortConnect(modulator, "Out", "WaveguideSegment[0]");
266 // Add modulator energy event for all broadcast events
267 getEventResult("BroadcastFlit")->addSubResult(modulator->getEventResult("Modulate"), "Modulator", 1.0);
269 getEventResult("MulticastFlit" + (String) i)->addSubResult(modulator->getEventResult("Modulate"), "Modulator", 1.0);