public MosfetGenerator() { // MOS1 Mosfets.Add(typeof(Mosfet1Model), (string name) => { var mosfet = new Mosfet1(name); return(new MosfetDetails { Mosfet = mosfet, SetModelAction = (Model model) => mosfet.Model = model.Name }); }); // MOS2 Mosfets.Add(typeof(Mosfet2Model), (string name) => { var mosfet = new Mosfet2(name); return(new MosfetDetails { Mosfet = mosfet, SetModelAction = (Model model) => mosfet.Model = model.Name }); }); // MOS3 Mosfets.Add(typeof(Mosfet3Model), (string name) => { var mosfet = new Mosfet3(name); return(new MosfetDetails { Mosfet = mosfet, SetModelAction = (Model model) => mosfet.Model = model.Name }); }); }
private Mosfet3 CreateMOS3(string name, string d, string g, string s, string b, string model) { // Create transistor var mos = new Mosfet3(name) { Model = model }; mos.Connect(d, g, s, b); return(mos); }
/// <summary> /// Create a MOS3 transistor /// </summary> /// <param name="name">Name</param> /// <param name="d">Drain</param> /// <param name="g">Gate</param> /// <param name="s">Source</param> /// <param name="b">Bulk</param> /// <param name="modelname">Model name</param> /// <param name="nmos">True for NMOS, false for PMOS</param> /// <param name="modelparams">Model parameters</param> /// <returns></returns> protected Mosfet3 CreateMOS3(Identifier name, Identifier d, Identifier g, Identifier s, Identifier b, Identifier modelname, bool nmos, string modelparams) { // Create model Mosfet3Model model = new Mosfet3Model(modelname, nmos); ApplyParameters(model, modelparams); // Create transistor Mosfet3 mos = new Mosfet3(name); mos.Connect(d, g, s, b); mos.SetModel(model); return(mos); }
/// <summary> /// Create a MOS3 transistor /// </summary> /// <param name="name">Name</param> /// <param name="d">Drain</param> /// <param name="g">Gate</param> /// <param name="s">Source</param> /// <param name="b">Bulk</param> /// <param name="modelname">Model name</param> /// <param name="nmos">True for NMOS, false for PMOS</param> /// <param name="modelparams">Model parameters</param> /// <returns></returns> protected Mosfet3 CreateMOS3(string name, string d, string g, string s, string b, string modelname, bool nmos, string modelparams) { // Create model var model = new Mosfet3Model(modelname, nmos); ApplyParameters(model, modelparams); // Create transistor var mos = new Mosfet3(name); mos.Connect(d, g, s, b); mos.SetModel(model); return(mos); }