Ejemplo n.º 1
0
        //NETLIST_START(otheric_lib)
        public static void netlist_otheric_lib(netlist.nlparse_t setup)
        {
            netlist.helper h = new netlist.helper();

            h.NETLIST_START(setup);

            h.TRUTHTABLE_ENTRY("MC14584B_GATE", netlist_MC14584B_GATE);

            h.LOCAL_LIB_ENTRY("MC14584B_DIP", netlist_MC14584B_DIP);
            h.LOCAL_LIB_ENTRY("NE566_DIP", netlist_NE566_DIP);
            h.LOCAL_LIB_ENTRY("NE555_DIP", netlist_NE555_DIP);
            h.LOCAL_LIB_ENTRY("MC1455P_DIP", netlist_MC1455P_DIP);

            h.NETLIST_END();
        }
Ejemplo n.º 2
0
        //NETLIST_START(roms_lib)
        public static void netlist_roms_lib(netlist.nlparse_t setup)
        {
            netlist.helper h = new netlist.helper();

            h.NETLIST_START(setup);

            h.LOCAL_LIB_ENTRY("PROM_82S123_DIP", netlist_PROM_82S123_DIP);
            h.LOCAL_LIB_ENTRY("PROM_82S126_DIP", netlist_PROM_82S126_DIP);
            h.LOCAL_LIB_ENTRY("PROM_74S287_DIP", netlist_PROM_74S287_DIP);
            h.LOCAL_LIB_ENTRY("EPROM_2716_DIP", netlist_EPROM_2716_DIP);
            h.LOCAL_LIB_ENTRY("TTL_82S16_DIP", netlist_TTL_82S16_DIP);
            h.LOCAL_LIB_ENTRY("PROM_82S115_DIP", netlist_PROM_82S115_DIP);
            h.LOCAL_LIB_ENTRY("PROM_MK28000_DIP", netlist_PROM_MK28000_DIP);
            h.LOCAL_LIB_ENTRY("ROM_MCM14524_DIP", netlist_ROM_MCM14524_DIP);
            h.LOCAL_LIB_ENTRY("RAM_2102A_DIP", netlist_RAM_2102A_DIP);
            h.LOCAL_LIB_ENTRY("ROM_TMS4800_DIP", netlist_ROM_TMS4800_DIP);

            h.NETLIST_END();
        }
Ejemplo n.º 3
0
        //NETLIST_START(cd4xxx_lib)
        public static void netlist_cd4xxx_lib(netlist.nlparse_t setup)
        {
            netlist.helper h = new netlist.helper();

            h.NETLIST_START(setup);

            h.TRUTHTABLE_ENTRY("CD4001_GATE", netlist_CD4001_GATE);
            h.TRUTHTABLE_ENTRY("CD4011_GATE", netlist_CD4011_GATE);
            h.TRUTHTABLE_ENTRY("CD4030_GATE", netlist_CD4030_GATE);
            h.TRUTHTABLE_ENTRY("CD4049_GATE", netlist_CD4049_GATE);
            h.TRUTHTABLE_ENTRY("CD4069_GATE", netlist_CD4069_GATE);
            h.TRUTHTABLE_ENTRY("CD4070_GATE", netlist_CD4070_GATE);
            h.TRUTHTABLE_ENTRY("CD4071_GATE", netlist_CD4071_GATE);
            h.TRUTHTABLE_ENTRY("CD4081_GATE", netlist_CD4081_GATE);

            h.LOCAL_LIB_ENTRY("CD4001_DIP", netlist_CD4001_DIP);
            h.LOCAL_LIB_ENTRY("CD4011_DIP", netlist_CD4011_DIP);
            h.LOCAL_LIB_ENTRY("CD4030_DIP", netlist_CD4030_DIP);
            h.LOCAL_LIB_ENTRY("CD4049_DIP", netlist_CD4049_DIP);
            h.LOCAL_LIB_ENTRY("CD4069_DIP", netlist_CD4069_DIP);
            h.LOCAL_LIB_ENTRY("CD4070_DIP", netlist_CD4070_DIP);
            h.LOCAL_LIB_ENTRY("CD4071_DIP", netlist_CD4071_DIP);
            h.LOCAL_LIB_ENTRY("CD4081_DIP", netlist_CD4081_DIP);

            /* DIP ONLY */
            h.LOCAL_LIB_ENTRY("CD4006_DIP", netlist_CD4006_DIP);
            h.LOCAL_LIB_ENTRY("CD4013_DIP", netlist_CD4013_DIP);
            h.LOCAL_LIB_ENTRY("CD4017_DIP", netlist_CD4017_DIP);
            h.LOCAL_LIB_ENTRY("CD4022_DIP", netlist_CD4022_DIP);
            h.LOCAL_LIB_ENTRY("CD4020_DIP", netlist_CD4020_DIP);
            h.LOCAL_LIB_ENTRY("CD4024_DIP", netlist_CD4024_DIP);
            h.LOCAL_LIB_ENTRY("CD4029_DIP", netlist_CD4029_DIP);
            h.LOCAL_LIB_ENTRY("CD4042_DIP", netlist_CD4042_DIP);
            h.LOCAL_LIB_ENTRY("CD4053_DIP", netlist_CD4053_DIP);
            h.LOCAL_LIB_ENTRY("CD4066_DIP", netlist_CD4066_DIP);
            h.LOCAL_LIB_ENTRY("CD4016_DIP", netlist_CD4016_DIP);
            h.LOCAL_LIB_ENTRY("CD4076_DIP", netlist_CD4076_DIP);
            h.LOCAL_LIB_ENTRY("CD4316_DIP", netlist_CD4316_DIP);
            h.LOCAL_LIB_ENTRY("CD4538_DIP", netlist_CD4538_DIP);

            h.LOCAL_LIB_ENTRY("MM5837_DIP", netlist_MM5837_DIP);

            h.NETLIST_END();
        }
Ejemplo n.º 4
0
        //NETLIST_START(opamp_lib)
        public static void netlist_opamp_lib(netlist.nlparse_t setup)
        {
            netlist.helper h = new netlist.helper();

            h.NETLIST_START(setup);

            h.LOCAL_LIB_ENTRY("opamp_layout_4_4_11", netlist_opamp_layout_4_4_11);
            h.LOCAL_LIB_ENTRY("opamp_layout_2_8_4", netlist_opamp_layout_2_8_4);
            h.LOCAL_LIB_ENTRY("opamp_layout_2_13_9_4", netlist_opamp_layout_2_13_9_4);
            h.LOCAL_LIB_ENTRY("opamp_layout_1_7_4", netlist_opamp_layout_1_7_4);
            h.LOCAL_LIB_ENTRY("opamp_layout_1_8_5", netlist_opamp_layout_1_8_5);
            h.LOCAL_LIB_ENTRY("opamp_layout_1_11_6", netlist_opamp_layout_1_11_6);

            // FIXME: JFET Opamp may need better model
            // VLL and VHH for +-6V  RI=10^12 (for numerical stability 10^9 is used below
            // RO from data sheet
            h.NET_MODEL("TL084       OPAMP(TYPE=3 VLH=0.75 VLL=0.75 FPF=10 UGF=3000k SLEW=13M RI=1000M RO=192 DAB=0.0014)");

            h.NET_MODEL("LM324       OPAMP(TYPE=3 VLH=2.0 VLL=0.2 FPF=5 UGF=500k SLEW=0.3M RI=1000k RO=50 DAB=0.00075)");
            h.NET_MODEL("LM358       OPAMP(TYPE=3 VLH=2.0 VLL=0.2 FPF=5 UGF=500k SLEW=0.3M RI=1000k RO=50 DAB=0.001)");
            h.NET_MODEL("MB3614      OPAMP(TYPE=3 VLH=1.4 VLL=0.02 FPF=3 UGF=1000k SLEW=0.6M RI=1000k RO=100 DAB=0.002)");
            h.NET_MODEL("UA741       OPAMP(TYPE=3 VLH=1.0 VLL=1.0 FPF=5 UGF=1000k SLEW=0.5M RI=2000k RO=75 DAB=0.0017)");
            h.NET_MODEL("LM747       OPAMP(TYPE=3 VLH=1.0 VLL=1.0 FPF=5 UGF=1000k SLEW=0.5M RI=2000k RO=50 DAB=0.0017)");
            h.NET_MODEL("LM747A      OPAMP(TYPE=3 VLH=2.0 VLL=2.0 FPF=5 UGF=1000k SLEW=0.7M RI=6000k RO=50 DAB=0.0015)");
            h.NET_MODEL("LM748       OPAMP(TYPE=3 VLH=2.0 VLL=2.0 FPF=5 UGF=800k SLEW=0.7M RI=800k RO=60 DAB=0.001)");
            // TI and Motorola Datasheets differ - below are Motorola values, SLEW is average of LH and HL
            h.NET_MODEL("LM3900      OPAMP(TYPE=3 VLH=1.0 VLL=0.03 FPF=2k UGF=4M SLEW=10M RI=10M RO=2k DAB=0.0015)");

            h.NET_MODEL("AN6551      OPAMP(TYPE=3 VLH=1.0 VLL=0.03 FPF=20 UGF=2M SLEW=1M RI=10M RO=200 DAB=0.0015)");

#if USE_LM3900_MODEL_1
            NET_MODEL("LM3900_NPN1 NPN(IS=1E-14 BF=150 TF=1E-9 CJC=1E-12 CJE=1E-12 VAF=150 RB=100 RE=5 IKF=0.002)")
            NET_MODEL("LM3900_PNP1 PNP(IS=1E-14 BF=40 TF=1E-7 CJC=1E-12 CJE=1E-12 VAF=150 RB=100 RE=5)")
#endif
            h.LOCAL_LIB_ENTRY("MB3614_DIP", netlist_MB3614_DIP);
            h.LOCAL_LIB_ENTRY("MC3340_DIP", netlist_MC3340_DIP);
            h.LOCAL_LIB_ENTRY("TL081_DIP", netlist_TL081_DIP);
            h.LOCAL_LIB_ENTRY("TL082_DIP", netlist_TL082_DIP);
            h.LOCAL_LIB_ENTRY("TL084_DIP", netlist_TL084_DIP);
            h.LOCAL_LIB_ENTRY("LM324_DIP", netlist_LM324_DIP);
            h.LOCAL_LIB_ENTRY("LM348_DIP", netlist_LM348_DIP);
            h.LOCAL_LIB_ENTRY("LM358_DIP", netlist_LM358_DIP);
            h.LOCAL_LIB_ENTRY("LM2902_DIP", netlist_LM2902_DIP);
            h.LOCAL_LIB_ENTRY("UA741_DIP8", netlist_UA741_DIP8);
            h.LOCAL_LIB_ENTRY("UA741_DIP10", netlist_UA741_DIP10);
            h.LOCAL_LIB_ENTRY("UA741_DIP14", netlist_UA741_DIP14);
            h.LOCAL_LIB_ENTRY("MC1558_DIP", netlist_MC1558_DIP);
            h.LOCAL_LIB_ENTRY("LM747_DIP", netlist_LM747_DIP);
            h.LOCAL_LIB_ENTRY("LM747A_DIP", netlist_LM747A_DIP);
            h.LOCAL_LIB_ENTRY("LM3900", netlist_LM3900);
            h.LOCAL_LIB_ENTRY("AN6551_SIL", netlist_AN6551_SIL);

            h.NETLIST_END();
        }