/gem5/ext/dsent/model/optical/ |
H A D | RingDetector.cc | 130 double ring_area = getTechModel()->get("Ring->Area"); 131 double thru_loss = getTechModel()->get("Ring->ThroughLoss"); 132 double drop_loss = getTechModel()->get("Ring->DropLoss"); 133 double pd_loss = getTechModel()->get("Photodetector->Loss"); 134 double pd_responsivity = getTechModel()->get("Photodetector->Responsivity"); 165 double vdd = getTechModel()->get("Vdd"); 167 double unit_gate_cap = getTechModel()->get("Gate->MinWidth").toDouble() * getTechModel()->get("Gate->CapPerWidth").toDouble(); 168 double unit_drain_cap = getTechModel()->get("Gate->MinWidth").toDouble() * getTechModel() [all...] |
H A D | RingModulator.cc | 133 double ring_area = getTechModel()->get("Ring->Area").toDouble(); 134 double thru_loss = getTechModel()->get("Ring->ThroughLoss").toDouble(); 173 double unit_leak_0 = getTechModel()->getStdCellLib()->getStdCellCache()->get("INV_X1->Leakage->!A"); 174 double unit_leak_1 = getTechModel()->getStdCellLib()->getStdCellCache()->get("INV_X1->Leakage->A"); 206 double T = getTechModel()->get("Temperature"); 209 double lambda = getTechModel()->get("Ring->Lambda").toDouble(); 210 double n_f = getTechModel()->get("Modulator->Ring->FCPDEffect").toDouble(); 211 double NA = getTechModel()->get("Modulator->Ring->NA").toDouble(); 212 double ND = getTechModel()->get("Modulator->Ring->ND").toDouble(); 213 double ni = getTechModel() [all...] |
H A D | OpticalLinkBackendRx.cc | 107 DemuxTreeDeserializer* deserializer = new DemuxTreeDeserializer(deserializer_name, getTechModel()); 132 Multiplexer* reorder_mux = new Multiplexer(reorder_mux_name, getTechModel()); 148 BarrelShifter* barrel_shift = new BarrelShifter(barrel_shift_name, getTechModel()); 274 double R = getTechModel()->get("Ring->Radius"); 275 double n_g = getTechModel()->get("Ring->GroupIndex"); 276 double heating_efficiency = getTechModel()->get("Ring->HeatingEfficiency"); 278 double tuning_efficiency = getTechModel()->get("Ring->TuningEfficiency"); 279 double sigma_r_local = getTechModel()->get("Ring->LocalVariationSigma"); 280 double sigma_r_systematic = getTechModel()->get("Ring->SystematicVariationSigma"); 281 double T_max = getTechModel() [all...] |
H A D | OpticalLinkBackendTx.cc | 104 MuxTreeSerializer* serializer = new MuxTreeSerializer(serializer_name, getTechModel()); 135 BarrelShifter* barrel_shift = new BarrelShifter(barrel_shift_name, getTechModel()); 144 Multiplexer* reorder_mux = new Multiplexer(reorder_mux_name, getTechModel()); 263 double R = getTechModel()->get("Ring->Radius"); 264 double n_g = getTechModel()->get("Ring->GroupIndex"); 265 double heating_efficiency = getTechModel()->get("Ring->HeatingEfficiency"); 267 double tuning_efficiency = getTechModel()->get("Ring->TuningEfficiency"); 268 double sigma_r_local = getTechModel()->get("Ring->LocalVariationSigma"); 269 double sigma_r_systematic = getTechModel()->get("Ring->SystematicVariationSigma"); 270 double T_max = getTechModel() [all...] |
H A D | LaserSource.cc | 79 double laser_efficiency = getTechModel()->get("Laser->CW->Efficiency").toDouble(); 80 double laser_area = getTechModel()->get("Laser->CW->Area").toDouble(); 81 double laser_diode_loss = getTechModel()->get("Laser->CW->LaserDiodeLoss");
|
H A D | GatedLaserSource.cc | 80 double laser_efficiency = getTechModel()->get("Laser->CW->Efficiency"); 81 double laser_area = getTechModel()->get("Laser->CW->Area"); 82 double laser_diode_loss = getTechModel()->get("Laser->CW->LaserDiodeLoss");
|
H A D | OpticalTestModel.cc | 60 LaserSource* laser = new LaserSource("Laser", getTechModel()); 66 RingModulator* modulator = new RingModulator("Modulator", getTechModel()); 85 RingDetector* detector = new RingDetector("Detector-" + n, getTechModel());
|
H A D | SWSRLink.cc | 112 ElectricalModel* tx_backend = (ElectricalModel*) ModelGen::createModel("OpticalLinkBackendTx", "OpticalLinkBackendTx", getTechModel()); 121 ElectricalModel* rx_backend = (ElectricalModel*) ModelGen::createModel("OpticalLinkBackendRx", "OpticalLinkBackendRx", getTechModel()); 176 double waveguide_loss = getTechModel()->get("Waveguide->LossPerMeter").toDouble() * length; 180 double waveguide_area = length * getTechModel()->get("Waveguide->Pitch").toDouble(); 263 if (laser_type == "Throttled") laser = new ThrottledLaserSource("Laser", getTechModel()); 264 else if (laser_type == "Standard") laser = new LaserSource("Laser", getTechModel()); 294 RingModulator* modulator = new RingModulator("Modulator", getTechModel()); 324 RingDetector* detector = new RingDetector("Detector", getTechModel());
|
H A D | ThrottledLaserSource.cc | 93 double laser_efficiency = getTechModel()->get("Laser->CW->Efficiency").toDouble(); 94 double laser_area = getTechModel()->get("Laser->CW->Area").toDouble(); 95 double laser_diode_loss = getTechModel()->get("Laser->CW->LaserDiodeLoss");
|
H A D | SWMRLink.cc | 125 double segment_loss = getTechModel()->get("Waveguide->LossPerMeter").toDouble() * segment_length; 130 double waveguide_area = length * getTechModel()->get("Waveguide->Pitch").toDouble(); 205 laser = new ThrottledLaserSource("Laser", getTechModel()); 207 laser = new LaserSource("Laser", getTechModel()); 248 RingModulator* modulator = new RingModulator("Modulator", getTechModel()); 289 RingDetector* detector = new RingDetector("Detector_" + n, getTechModel());
|
/gem5/ext/dsent/model/std_cells/ |
H A D | StdCellLib.cc | 47 const TechModel* StdCellLib::getTechModel() const function in class:DSENT::StdCellLib 55 StdCell* created_cell = ModelGen::createStdCell(std_cell_name_, instance_name_, getTechModel()); 57 String driving_strength_str = getTechModel()->get("StdCell->AvailableSizes"); 101 Log::printLine("Standard cell library creation for tech model " + getTechModel()->get("Name")); 104 double nmos_eff_res = getTechModel()->get("Nmos->EffResWidth"); 105 double pmos_eff_res = getTechModel()->get("Pmos->EffResWidth"); 106 double gate_min_width = getTechModel()->get("Gate->MinWidth"); 114 double std_cell_total_height = getTechModel()->get("StdCell->Tracks").toDouble() * 115 (getTechModel()->get("Wire->Metal1->MinWidth").toDouble() + getTechModel() [all...] |
H A D | StdCellLib.h | 41 const TechModel* getTechModel() const;
|
H A D | BUF.cc | 87 Map<double>* cache = getTechModel()->getStdCellLib()->getStdCellCache(); 113 Map<double>* cache = getTechModel()->getStdCellLib()->getStdCellCache(); 130 double vdd = getTechModel()->get("Vdd"); 157 double gate_pitch = cell_lib_->getTechModel()->get("Gate->PitchContacted");
|
H A D | INV.cc | 95 Map<double>* cache = getTechModel()->getStdCellLib()->getStdCellCache(); 121 Map<double>* cache = getTechModel()->getStdCellLib()->getStdCellCache(); 138 double vdd = getTechModel()->get("Vdd"); 175 double gate_pitch = cell_lib_->getTechModel()->get("Gate->PitchContacted");
|
H A D | AND2.cc | 100 Map<double>* cache = getTechModel()->getStdCellLib()->getStdCellCache(); 128 Map<double>* cache = getTechModel()->getStdCellLib()->getStdCellCache(); 148 double vdd = getTechModel()->get("Vdd"); 209 double gate_pitch = cell_lib_->getTechModel()->get("Gate->PitchContacted");
|
/gem5/ext/dsent/model/electrical/ |
H A D | TestModel.cc | 71 StdCell* ci_reg = getTechModel()->getStdCellLib()->createStdCell("DFFQ", "DFFQ-CI"); 81 StdCell* co_reg = getTechModel()->getStdCellLib()->createStdCell("DFFQ", "DFFQ-CO"); 93 StdCell* a_reg = getTechModel()->getStdCellLib()->createStdCell("DFFQ", "DFFQ-A[" + (String) i + "]"); 103 StdCell* b_reg = getTechModel()->getStdCellLib()->createStdCell("DFFQ", "DFFQ-B[" + (String) i + "]"); 113 StdCell* s_reg = getTechModel()->getStdCellLib()->createStdCell("DFFQ", "DFFQ-S[" + (String) i + "]"); 127 ElectricalModel* ripple_adder = new RippleAdder("Adder_1", getTechModel()); 141 ElectricalModel* multiplexer = new Multiplexer("Mux_1", getTechModel()); 187 //ElectricalTimingAbstract* abstract = new ElectricalTimingAbstract("HAHAHA", getTechModel(), ripple_adder);
|
H A D | DemuxTreeDeserializer.cc | 141 StdCell* des_dff_way0 = getTechModel()->getStdCellLib()->createStdCell("DFFQ", des_dff_way0_name); 143 StdCell* des_dff_way1 = getTechModel()->getStdCellLib()->createStdCell("DFFQ", des_dff_way1_name); 145 StdCell* des_latch = getTechModel()->getStdCellLib()->createStdCell("LATQ", des_latch_name); 149 StdCell* ck_dff = getTechModel()->getStdCellLib()->createStdCell("DFFQ", ck_dff_name); 151 StdCell* ck_inv = getTechModel()->getStdCellLib()->createStdCell("INV", ck_inv_name); 205 DemuxTreeDeserializer* demux_way0 = new DemuxTreeDeserializer(demux_way0_name, getTechModel()); 212 DemuxTreeDeserializer* demux_way1 = new DemuxTreeDeserializer(demux_way1_name, getTechModel()); 243 DemuxTreeDeserializer* des_bit = new DemuxTreeDeserializer(demux_name, getTechModel()); 278 DemuxTreeDeserializer* des_bit = new DemuxTreeDeserializer(demux_name, getTechModel());
|
H A D | RepeatedLink.cc | 89 ASSERT(getTechModel()->isWireLayerExist(wire_layer), "[Error] " + getInstanceName() + 96 double wire_min_width = getTechModel()->get("Wire->" + wire_layer + "->MinWidth").toDouble(); 97 double wire_min_spacing = getTechModel()->get("Wire->" + wire_layer + "->MinSpacing").toDouble(); 102 double wire_cap_per_len = getTechModel()->calculateWireCapacitance(wire_layer, wire_width, wire_spacing, 1.0); 103 double wire_res_per_len = getTechModel()->calculateWireResistance(wire_layer, wire_width, 1.0); 140 m_repeater_ = getTechModel()->getStdCellLib()->createStdCell("INV", "Repeater");
|
H A D | DFFRAM.cc | 119 dffs[i] = getTechModel()->getStdCellLib()->createStdCell("DFFQ", dff_names[i]); 124 Decoder* dec = new Decoder(dec_name, getTechModel()); 129 Multiplexer* mux = new Multiplexer(mux_name, getTechModel()); 137 StdCell* nand2cg0 = getTechModel()->getStdCellLib()->createStdCell("NAND2", nand2cg0_name); 140 StdCell* invcg0 = getTechModel()->getStdCellLib()->createStdCell("INV", invcg0_name); 151 nand2cg1s[i] = getTechModel()->getStdCellLib()->createStdCell("NAND2", nand2cg1_names[i]); 155 invcg1s[i] = getTechModel()->getStdCellLib()->createStdCell("INV", invcg1_names[i]);
|
H A D | BroadcastHTree.cc | 101 ASSERT(getTechModel()->isWireLayerExist(wire_layer), "[Error] " + getInstanceName() + 108 double wire_min_width = getTechModel()->get("Wire->" + wire_layer + "->MinWidth").toDouble(); 109 double wire_min_spacing = getTechModel()->get("Wire->" + wire_layer + "->MinSpacing").toDouble(); 114 double wire_cap_per_len = getTechModel()->calculateWireCapacitance(wire_layer, wire_width, wire_spacing, 1.0); 115 double wire_res_per_len = getTechModel()->calculateWireResistance(wire_layer, wire_width, 1.0); 144 StdCell* repeater = getTechModel()->getStdCellLib()->createStdCell("INV", "Repeater" + (String)i); 265 m_leaf_head_driver_ = getTechModel()->getStdCellLib()->createStdCell("INV", "LeafHeadDriver"); 275 StdCell* inv = getTechModel()->getStdCellLib()->createStdCell("INV", "LeafDriver0"); 318 inv = getTechModel()->getStdCellLib()->createStdCell("INV", "LeafDriver" + (String)(curr_driver+1));
|
H A D | Decoder.cc | 96 StdCell* inv0 = getTechModel()->getStdCellLib()->createStdCell("INV", inv0_name); 127 Decoder* dec0 = new Decoder(dec0_name, getTechModel()); 131 Decoder* dec1 = new Decoder(dec1_name, getTechModel()); 139 nand2s[i] = getTechModel()->getStdCellLib()->createStdCell("NAND2", nand2_names[i]); 141 invs[i] = getTechModel()->getStdCellLib()->createStdCell("INV", inv_names[i]);
|
H A D | Multiplexer.cc | 119 Multiplexer* mux0 = new Multiplexer(mux0_name, getTechModel()); 126 Multiplexer* mux1 = new Multiplexer(mux1_name, getTechModel()); 133 StdCell* muxf = getTechModel()->getStdCellLib()->createStdCell("MUX2", muxf_name); 142 StdCell* selinv0 = getTechModel()->getStdCellLib()->createStdCell("INV", String::format("Sel%dInv0", i)); 143 StdCell* selinv1 = getTechModel()->getStdCellLib()->createStdCell("INV", String::format("Sel%dInv1", i)); 249 Multiplexer* mux = new Multiplexer(mux_name, getTechModel());
|
H A D | OR.cc | 116 OR* or0 = new OR(or0_name, getTechModel()); 122 OR* or1 = new OR(or1_name, getTechModel()); 128 StdCell* orf = getTechModel()->getStdCellLib()->createStdCell("OR2", orf_name); 180 OR* ors = new OR(or_name, getTechModel());
|
/gem5/ext/dsent/model/timing_graph/ |
H A D | ElectricalTimingOptimizer.cc | 67 StdCell* inv0 = getTechModel()->getStdCellLib()->createStdCell("INV", port_name + "Driver0"); 69 StdCell* inv1 = getTechModel()->getStdCellLib()->createStdCell("INV", port_name + "Driver1");
|
/gem5/ext/dsent/model/electrical/router/ |
H A D | RouterSwitchAllocator.cc | 121 stage1_arb_dffs[i] = getTechModel()->getStdCellLib()->createStdCell("DFFQ", stage1_arb_dff_names[i]); 125 ElectricalModel* stage1_arb = (ElectricalModel*)ModelGen::createModel(arb_model, stage1_arb_name, getTechModel()); 135 stage2_arb_dffs[i] = getTechModel()->getStdCellLib()->createStdCell("DFFQ", stage2_arb_dff_names[i]); 139 ElectricalModel* stage2_arb = (ElectricalModel*)ModelGen::createModel(arb_model, stage2_arb_name, getTechModel());
|