Пример #1
0
def PartCached(library, symbol, footprint, dest):
    #kicad_lib = SchLib(library, tool=KICAD)       # Open a KiCad library.
    sklib = 'templates/' + library + '_' + symbol
    template = None

    if isfile('%s_sklib.py' % sklib):
        skidl_lib = SchLib(
            sklib,
            tool=SKIDL)  # Create a SKiDL library object from the new file.
        template = Part(
            skidl_lib, symbol, footprint=footprint, dest=dest
        )  # Instantiate a diode from the SKiDL library.    if dest == TEMPLATE:
    else:
        template = Part(
            library, symbol, dest=dest
        )  # Instantiate a diode from the SKiDL library.    if dest == TEMPLATE:
        template_lib = SchLib(tool=SKIDL).add_parts(*[template])
        template_lib.export('templates/' + library + '_' + symbol)
        template = Part(
            library, symbol, footprint=footprint, dest=dest
        )  # Instantiate a diode from the SKiDL library.    if dest == TEMPLATE:

    template.lib = library

    return template
def generate_esp():
    """Generate ESP-module code to circuit"""
    subcircuit_label('esp')
    global U1
    U1 = Part('RF_Module', 'ESP-12E', footprint='RF_Module:ESP-12E')

    U1['VCC'] += Net.fetch('+3V3')
    U1['GND'] += Net.fetch('GND')
    U1['EN'] & R('10k') & Net.fetch('+3V3')
    U1['GPIO15'] & R('4k7') & Net.fetch('GND')

    @subcircuit
    def generate_power_led():
        """Generate led connected to ESP GPI0 that is on after boot"""
        subcircuit_label('power_led')
        led = Part('Device', 'LED', footprint='LED_SMD:LED_1206_3216Metric')
        U1['GPIO0'] & (R('1k') & led & Net.fetch('+3V3'))

    generate_power_led()

    # Generate button for pulling ESP RST pin to low (e.g. reset)

    sw_reset = Part('Switch',
                    'SW_Push',
                    footprint="Button_Switch_SMD:SW_SPST_B3U-1000P")
    sw_reset[1] += Net.fetch('RST')
    sw_reset[2] += Net.fetch('GND')

    # Generate ESP serial networks

    U1['TX'] += Net.fetch('tx')
    U1['RX'] += Net.fetch('rx')
Пример #3
0
    def cad(self) -> Subcircuit:
        """
        Generate a physical circuit for use in a CAD netlist.

        :returns: Subcircuit instance with pins [vin, vout, gnd]
        """
        self.r = Part(
            "Device",
            "R",
            value="{}".format(self.rval),
            footprint=resistor_footprint(self.rval),
        )
        self.c = Part(
            "Device",
            "C",
            value="{}".format(self.cval),
            footprint=capacitor_footprint(self.cval),
        )
        self.rbase = Part("device",
                          "R",
                          value="100",
                          footprint=resistor_footprint(100))
        self.d = Part("Diode", "1N4001")
        # TODO should use a more "intelligent" selection process
        self.npn = Part("Transistor_BJT", "2STN1550")
        self._connect_components()
        return Subcircuit(pins=[self.r[1], self.transistor[3], self.c[2]])
Пример #4
0
    def spice(self, use_parasitics: bool = True) -> Subcircuit:
        """
        Generate a spice netlist for simulation.

        :param use_parasitics: Use non-ideal, parasitic models for
            resistors and capacitors.

        :returns: [in1, in2, out, gnd]
        """
        self.low_threshold = self.vdd / 2 - 0.5
        self.high_threshold = self.vdd / 2 + 0.5

        if use_parasitics:
            self.r = resistor_equiv(value=self.rval)
            self.c = capacitor_equiv(value=self.cval)
        else:
            self.r = Part("pyspice", "R", value=self.rval)
            self.c = Part("pyspice", "C", value=self.cval)

        self.adc_model = XspiceModel(
            "adc",
            "adc_bridge",
            in_low=self.low_threshold,
            in_high=self.high_threshold,
            rise_delay=1e-12,
            fall_delay=1e-12,
        )
        self.adc = Part("pyspice",
                        "A",
                        io=["anlg_in[]", "dig_out[]"],
                        model=self.adc_model)
        self.dac = Part(
            "pyspice",
            "A",
            io=["dig_in[]", "anlg_out[]"],
            model=XspiceModel("dac",
                              "dac_bridge",
                              out_low=0.0,
                              out_high=self.vdd),
        )
        self.xor = Part(
            "pyspice",
            "A",
            io=["in[]", "out"],
            model=XspiceModel(
                "xor",
                "d_xor",
                rise_delay=1e-12,
                fall_delay=1e-12,
                input_load=1e-12,
            ),
        )
        self._connect_components()
        return Subcircuit(pins=[
            self.adc["anlg_in"][0],
            self.adc["anlg_in"][1],
            self.c[1],
            self.c[2],
        ])
def generate_mcp73831():
    """Generate MCP73831 battery management IC"""
    subcircuit_label('mcp73831')
    BATTERYMANAGER = Part('Battery_Management',
                          'MCP73831-2-OT',
                          footprint='Package_TO_SOT_SMD:SOT-23-5')

    BM_LED = Part('Device', 'LED', footprint='LED_SMD:LED_1206_3216Metric')
    BATTERYMANAGER['STAT'] & R('1k') & BM_LED & Net.fetch('+VBus')

    BATTERYMANAGER['VSS'] += Net.fetch('GND')
    Net.fetch('GND') & R('2k') & BATTERYMANAGER['PROG']
    Net.fetch('+VLipo') & C('10uF') & Net.fetch('GND')
Пример #6
0
 def spice(self) -> Subcircuit:
     """
     :returns: [in, out, vp, vm, gnd]
     """
     self.amp = Part(self.amp_name, self.amp_name)
     self.r1 = Part("pyspice", "R", value=self.r1_val)
     self.r2 = Part("pyspice", "R", value=self.r2_val)
     self._connect_components()
     return Subcircuit(pins=[
         self.r1["p"],
         self.r2["p"],
         self.amp["3"],
         self.amp["4"],
         self.amp["1"],
     ])
def subcircuit_label(name):
    """Creates subcircuit label footprint"""
    Part('./library/Skimibowi.lib',
         'Label',
         ref=" ",
         value=name,
         footprint=f"Skimibowi:label{len(name)}")
def generate_cp2104():
    """Generate CP2104 usb uart circuitry"""
    subcircuit_label('cp2104')
    cp2104 = Part(
        'Interface_USB',
        'CP2104',
        footprint="Package_DFN_QFN:QFN-24-1EP_4x4mm_P0.5mm_EP2.6x2.6mm")
    cp2104['VIO'] += Net.fetch('+3V3')
    cp2104['VDD'] += Net.fetch('+3V3')
    cp2104['REGIN'] += Net.fetch('+3V3')

    Net.fetch('GND') & C('10uF') & (cp2104['VIO'] | cp2104['VDD']
                                    | cp2104['REGIN'])

    cp2104['GND'] += Net.fetch('GND')
    cp2104['VBUS'] += Net.fetch('+VBus')
    cp2104['D+'] += Net.fetch('USBD+')
    cp2104['D-'] += Net.fetch('USBD-')
    cp2104['TXD'] & R('470') & Net.fetch('rx')
    cp2104['RXD'] & R('470') & Net.fetch('tx')
    cp2104['DTR'] += Net.fetch('DTR')
    cp2104['RTS'] += Net.fetch('RTS')

    # Support ROM programming
    cp2104['VPP'] & C('4.7uF') & Net.fetch('GND')

    # Optional, improves stability
    cp2104['RST'] & R('4k7') & Net.fetch('+3V3')
def generate_esp_uart_reset():
    """Generate reset circuitry for ESP"""
    subcircuit_label('esp_uart_reset')
    Q1 = Part('Device',
              'Q_NPN_BEC',
              value='mmbt2222',
              footprint='Package_TO_SOT_SMD:SOT-23')
    Q2 = Part('Device',
              'Q_NPN_BEC',
              value='mmbt2222',
              footprint='Package_TO_SOT_SMD:SOT-23')
    Net.fetch('DTR') & R('10k') & Q1['B']
    Net.fetch('RTS') & R('10k') & Q2['B']
    Net.fetch('DTR') & Q2['E']
    Net.fetch('RTS') & Q1['E']
    Q1['C'] & Net.fetch('RST')
    Q2['C'] & Net.fetch('GPIO0')
Пример #10
0
def generate_wemos_d1_mini():
    """Generate Wemos D1 footprint"""
    subcircuit_label('wemos_d1_mini')
    global U1
    U1 = Part('MCU_Module',
              'WeMOs_D1_mini',
              footprint='Module:WEMOS_D1_mini_light')
    U1['5V'] += Net.fetch('+VBatt')
    U1['GND'] += Net.fetch('GND')
Пример #11
0
    def part_template(self):
        part = Part('Switch',
                    'SW_DPST',
                    footprint=self.footprint,
                    dest=TEMPLATE)

        part.set_pin_alias('ip', 1)
        part.set_pin_alias('in', 3)
        part.set_pin_alias('op', 2)
        part.set_pin_alias('on', 4)

        return part
Пример #12
0
 def construct(
     self,
     n1: Net = None,
     n2: Net = None,
 ):
     """
     :param n1: Net tied to node 1 of the resistor.  If left as
         None, this will have to be set later.
     :param n2: Net tied to node 2 of the resistor.  If left as
         None, this will have to be set later.
     """
     self.cad = Part("Device", "R", footprint=self.footprint.to_skidl())
Пример #13
0
def capacitor_equiv(
    value: float,
    rp: float = 500e6,
    rs: float = 50e-3,
    l: float = None,
    srf: float = 100e6,
) -> Subcircuit:
    """
    Non-ideal capacitor equivalent circuit for use in a SPICE
    simulation.

    Args:
        value: capacitance value (farads)
        rp: parallel (insulation) resistance (ohms)
        rs: ESR (ohms)
        l: series inductance (henrys)

    Returns:
        Subcircuit consisting of attachment pins.
    """

    if l is None:
        if srf is None:
            raise ValueError(
                "Must either specify inductance or self-resonant frequency "
                "for parasitic capacitor.")
        l = 1 / (((2 * np.pi * srf)**2) * value)

    # ============================= parts ============================
    rseries = Part("pyspice", "R", value=rs)
    rparallel = Part("pyspice", "R", value=rp)
    lseries = Part("pyspice", "L", value=l)
    cseries = Part("pyspice", "C", value=value)

    # ========================== connections =========================
    rseries[1] += rparallel[1]
    rseries[2] += lseries[1]
    lseries[2] += cseries[1]
    cseries[2] += rparallel[2]
    return Subcircuit(pins=[rseries[1], cseries[2]])
Пример #14
0
    def spice(self, use_parasitics: bool = True) -> Subcircuit:
        """
        Generate a spice netlist for simulation.

        :param use_parasitics: Use non-ideal, parasitic models for
            resistors and capacitors.
        """
        if use_parasitics:
            self.r = resistor_equiv(value=self.rval)
            self.c = capacitor_equiv(value=self.cval)
            # self.rbase = resistor_equiv(value=100)
        else:
            self.r = Part("pyspice", "R", value=self.rval)
            self.c = Part("pyspice", "C", value=self.cval)
            self.rbase = Part("pyspice", "R", value=100)

        self.d = Part("pyspice", "D", model="1N4001")
        lib_search_paths[SPICE].append("/home/matt/src/spicelib")
        # self.transistor = Part("FQD13N06", "FQD13N06")
        self.transistor = Part("pyspice", "Q", model="2N2222A")
        self._connect_components()
        return Subcircuit(pins=[self.r[1], self.transistor[3], self.c[2]])
Пример #15
0
def resistor_equiv(value: float,
                   c: float = 0.4e-12,
                   l: float = 2e-9) -> Subcircuit:
    """
    Non-ideal resistor equivalent circuit for use in a SPICE
    simulation.

    Args:
        value: resistance (ohms)
        c: parallel capacitance (farads)
        l: series inductance (henrys)

    Returns:
        Subcircuit consisting of attachment pins.
    """
    # ============================= parts ============================
    rseries = Part("pyspice", "R", value=value)
    cparallel = Part("pyspice", "C", value=c)
    lseries = Part("pyspice", "L", value=l)

    # ========================== connections =========================
    rseries[1] += cparallel[1], lseries[2]
    rseries[2] += cparallel[2]
    return Subcircuit(pins=[lseries[1], rseries[2]])
Пример #16
0
def generate_esp():
    """Generate ESP-module code to circuit"""
    global U1
    U1 = Part('RF_Module', 'ESP-12E', footprint='RF_Module:ESP-12E')

    U1['VCC'] += Net.fetch('+VBatt')
    U1['GND'] += Net.fetch('GND')
    U1['EN'] & R('10k') & Net.fetch('+VBatt')
    U1['GPIO15'] & R('4k7') & Net.fetch('GND')

    U1['RST'] += Net.fetch('RST')
    U1['GPIO16'] += Net.fetch('RST')

    @subcircuit
    def generate_power_led():
        """Generate led connected to ESP GPI0 that is on after boot"""
        led = Part('Device', 'LED', footprint='LED_SMD:LED_1206_3216Metric')
        U1['GPIO0'] & (R('1k') & led & Net.fetch('+VBatt'))

    generate_power_led()

    # Generate button for pulling ESP RST pin to low (e.g. reset)

    sw_reset = Part('Switch',
                    'SW_Push',
                    footprint="Button_Switch_SMD:SW_SPST_B3U-1000P")
    sw_reset[1] += Net.fetch('RST')
    sw_reset[2] += Net.fetch('GND')

    # Generate button for pulling pulling ESP GPIO0 low (e.g. flash mode when booting)

    sw_flash = Part('Switch',
                    'SW_Push',
                    footprint="Button_Switch_SMD:SW_SPST_B3U-1000P")
    sw_flash[1] += U1['GPIO0']
    sw_flash[2] += Net.fetch('GND')
Пример #17
0
def generate_esp():
    """Generate ESP-module code to circuit"""
    global U1
    U1 = Part('RF_Module', 'ESP-12E', footprint='RF_Module:ESP-12E')

    U1['VCC'] += Net.fetch('+VBatt')
    U1['GND'] += Net.fetch('GND')
    U1['EN'] & R('10k') & Net.fetch('+VBatt')
    U1['GPIO15'] & R('4k7') & Net.fetch('GND')

    @subcircuit
    def generate_power_led():
        """Generate led connected to ESP GPI0 that is on after boot"""
        led = Part('Device', 'LED', footprint='LED_SMD:LED_1206_3216Metric')
        U1['GPIO0'] & (R('1k') & led & Net.fetch('+VBatt'))

    generate_power_led()
Пример #18
0
def R(value):
    """Creates default resistor footprint"""
    return Part('Device',
                'R',
                value=value,
                footprint='Resistor_SMD:R_1206_3216Metric')
Пример #19
0
from skidl import SKIDL, TEMPLATE, Part, Pin, SchLib

SKIDL_lib_version = '0.0.1'

pspice = SchLib(tool=SKIDL).add_parts(*[
    Part(name='0', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='CAP', dest=TEMPLATE, tool=SKIDL, do_erc=True, aliases=['C']),
    Part(name='DIODE', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='INDUCTOR', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='ISOURCE', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='QNPN', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='QPNP', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='R',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='R DEV',
         description='Resistance',
         ref_prefix='R',
         num_units=1,
         do_erc=True,
         pins=[
             Pin(num='1', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='2', name='~', func=Pin.PASSIVE, do_erc=True)
         ]),
    Part(name='VSOURCE', dest=TEMPLATE, tool=SKIDL, do_erc=True)
])
Пример #20
0
 Part(name='AK5392VS',
      dest=TEMPLATE,
      tool=SKIDL,
      keywords='24bit Sigma Delta Audio ADC 2ch',
      description=
      'AK5392-VS, Enhanced Audio ADC, 2 channels Sigma Delta, 24bit, SO28',
      ref_prefix='U',
      num_units=1,
      fplist=['SO*'],
      do_erc=True,
      pins=[
          Pin(num='1', name='VREFL', func=Pin.OUTPUT, do_erc=True),
          Pin(num='2', name='GNDL', func=Pin.PWRIN, do_erc=True),
          Pin(num='3', name='VCOML', func=Pin.OUTPUT, do_erc=True),
          Pin(num='4', name='AINL+', do_erc=True),
          Pin(num='5', name='AINL-', do_erc=True),
          Pin(num='6', name='ZCAL', do_erc=True),
          Pin(num='7', name='VD', func=Pin.PWRIN, do_erc=True),
          Pin(num='8', name='DGND', func=Pin.PWRIN, do_erc=True),
          Pin(num='9', name='CAL', func=Pin.OUTPUT, do_erc=True),
          Pin(num='10', name='~RST~', do_erc=True),
          Pin(num='20', name='TEST', do_erc=True),
          Pin(num='11', name='SMODE2', do_erc=True),
          Pin(num='21', name='BGND', func=Pin.PWRIN, do_erc=True),
          Pin(num='12', name='SMODE1', do_erc=True),
          Pin(num='22', name='AGND', func=Pin.PWRIN, do_erc=True),
          Pin(num='13', name='LRCK', func=Pin.BIDIR, do_erc=True),
          Pin(num='23', name='VA', func=Pin.PWRIN, do_erc=True),
          Pin(num='14', name='SCLK', func=Pin.BIDIR, do_erc=True),
          Pin(num='24', name='AINR-', do_erc=True),
          Pin(num='15', name='SDATA', func=Pin.OUTPUT, do_erc=True),
          Pin(num='25', name='AINR+', do_erc=True),
          Pin(num='16', name='FSYNC', func=Pin.BIDIR, do_erc=True),
          Pin(num='26', name='VCOMR', func=Pin.OUTPUT, do_erc=True),
          Pin(num='17', name='CLK', do_erc=True),
          Pin(num='27', name='GNDR', func=Pin.OUTPUT, do_erc=True),
          Pin(num='18', name='CMODE', do_erc=True),
          Pin(num='28', name='VREFR', func=Pin.OUTPUT, do_erc=True),
          Pin(num='19', name='HPFE', do_erc=True)
      ]),
Пример #21
0
 Part(name='DSP96002',dest=TEMPLATE,tool=SKIDL,keywords='DSP 32bit Dual Port Processor',description='32-bit General Purpose Floating-point DSP, Dual Port, PGA-223',ref_prefix='U',num_units=1,fplist=['PGA-223*'],do_erc=True,pins=[
     Pin(num='A1',name='B.A23',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B1',name='B.A20',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C1',name='B.A17',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D1',name='B.A15',func=Pin.TRISTATE,do_erc=True),
     Pin(num='E1',name='B.A13',func=Pin.TRISTATE,do_erc=True),
     Pin(num='F1',name='B.A12',func=Pin.TRISTATE,do_erc=True),
     Pin(num='G1',name='B.A9',func=Pin.TRISTATE,do_erc=True),
     Pin(num='H1',name='B.A8',func=Pin.TRISTATE,do_erc=True),
     Pin(num='J1',name='A.TACK',do_erc=True),
     Pin(num='K1',name='B.A4',func=Pin.TRISTATE,do_erc=True),
     Pin(num='L1',name='B.A3',func=Pin.TRISTATE,do_erc=True),
     Pin(num='M1',name='B.A0',func=Pin.TRISTATE,do_erc=True),
     Pin(num='N1',name='B.AENB',do_erc=True),
     Pin(num='P1',name='B.R/W',func=Pin.TRISTATE,do_erc=True),
     Pin(num='R1',name='B.BUS_STR',func=Pin.OUTPUT,do_erc=True),
     Pin(num='T1',name='B.BG',do_erc=True),
     Pin(num='U1',name='B.HOSTREQ',func=Pin.OUTPUT,do_erc=True),
     Pin(num='V1',name='DSO',func=Pin.OUTPUT,do_erc=True),
     Pin(num='A2',name='B.A27',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B2',name='B.A25',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C2',name='B.A21',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D2',name='B.A18',func=Pin.TRISTATE,do_erc=True),
     Pin(num='E2',name='B.A16',func=Pin.TRISTATE,do_erc=True),
     Pin(num='F2',name='B.A14',func=Pin.TRISTATE,do_erc=True),
     Pin(num='G2',name='B.A10',func=Pin.TRISTATE,do_erc=True),
     Pin(num='H2',name='CLK',do_erc=True),
     Pin(num='J2',name='B.TACK',do_erc=True),
     Pin(num='K2',name='B.A5',func=Pin.TRISTATE,do_erc=True),
     Pin(num='L2',name='B.A1',func=Pin.TRISTATE,do_erc=True),
     Pin(num='M2',name='B.S1',func=Pin.TRISTATE,do_erc=True),
     Pin(num='P2',name='B.T_STROBE',func=Pin.TRISTATE,do_erc=True),
     Pin(num='R2',name='B.BR',func=Pin.OUTPUT,do_erc=True),
     Pin(num='T2',name='B.BA',func=Pin.OPENCOLL,do_erc=True),
     Pin(num='U2',name='DSCK/OS1',func=Pin.BIDIR,do_erc=True),
     Pin(num='V2',name='DSI/OS0',func=Pin.BIDIR,do_erc=True),
     Pin(num='A3',name='B.A29',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B3',name='B.A28',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C3',name='B.A26',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D3',name='B.A24',func=Pin.TRISTATE,do_erc=True),
     Pin(num='E3',name='B.A22',func=Pin.TRISTATE,do_erc=True),
     Pin(num='F3',name='B.A19',func=Pin.TRISTATE,do_erc=True),
     Pin(num='G3',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='H3',name='B.A11',func=Pin.TRISTATE,do_erc=True),
     Pin(num='J3',name='B.A7',func=Pin.TRISTATE,do_erc=True),
     Pin(num='K3',name='B.A6',func=Pin.TRISTATE,do_erc=True),
     Pin(num='L3',name='B.A2',func=Pin.TRISTATE,do_erc=True),
     Pin(num='M3',name='B.S0',func=Pin.TRISTATE,do_erc=True),
     Pin(num='P3',name='B.BUS_LOCK',func=Pin.OUTPUT,do_erc=True),
     Pin(num='R3',name='B.BB',do_erc=True),
     Pin(num='T3',name='A.HOSTREQ',func=Pin.OUTPUT,do_erc=True),
     Pin(num='V3',name='B.HOSTACK',do_erc=True),
     Pin(num='A4',name='B.A31',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B4',name='B.A30',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='E4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='F4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='G4',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='H4',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='J4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='K4',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='L4',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='M4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='N4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='P4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R4',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T4',name='DEBUGREQ',do_erc=True),
     Pin(num='U4',name='A.HOSTACK',do_erc=True),
     Pin(num='V4',name='B.HOSTSEL',do_erc=True),
     Pin(num='A5',name='MODA/IRQA',do_erc=True),
     Pin(num='B5',name='MODB/IRQB',do_erc=True),
     Pin(num='C5',name='MODC/IRQC',do_erc=True),
     Pin(num='D5',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R5',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T5',name='A.HOSTSEL',do_erc=True),
     Pin(num='U5',name='B.DENB',do_erc=True),
     Pin(num='V5',name='B.D30',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A6',name='A.BB',do_erc=True),
     Pin(num='B6',name='A.BG',do_erc=True),
     Pin(num='C6',name='RESET',do_erc=True),
     Pin(num='D6',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R6',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T6',name='B.D31',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U6',name='B.D29',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V6',name='B.D28',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A7',name='A.BR',func=Pin.OUTPUT,do_erc=True),
     Pin(num='B7',name='A.BA',func=Pin.OPENCOLL,do_erc=True),
     Pin(num='C7',name='A.BUS_LOCK',func=Pin.OUTPUT,do_erc=True),
     Pin(num='D7',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R7',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='T7',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='U7',name='B.D27',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V7',name='B.D25',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B8',name='B.T_TYPE',func=Pin.OUTPUT,do_erc=True),
     Pin(num='C8',name='A.T_TYPE',func=Pin.OUTPUT,do_erc=True),
     Pin(num='D8',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='R8',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T8',name='B.D26',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U8',name='B.D24',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V8',name='B.D23',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A9',name='A.R/W',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B9',name='A.S1',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D9',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='R9',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='T9',name='B.D22',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U9',name='B.D21',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V9',name='B.D20',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A10',name='A.S0',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B10',name='A.BUS_STR',func=Pin.OUTPUT,do_erc=True),
     Pin(num='C10',name='A.A1',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D10',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='R10',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='T10',name='B.D17',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U10',name='B.D18',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V10',name='B.D19',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A11',name='A.T_STROBE',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B11',name='A.A0',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C11',name='A.A5',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D11',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R11',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='T11',name='B.D14',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U11',name='B.D15',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V11',name='B.D16',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A12',name='A.AENB',do_erc=True),
     Pin(num='B12',name='A.A3',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C12',name='A.A8',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D12',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='R12',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T12',name='B.D11',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U12',name='B.D12',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V12',name='B.D13',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A13',name='A.A2',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B13',name='A.A6',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C13',name='A.A12',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D13',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R13',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T13',name='B.D7',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U13',name='B.D9',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V13',name='B.D10',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A14',name='A.A4',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B14',name='A.A9',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C14',name='A.A15',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D14',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R14',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T14',name='B.D4',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U14',name='B.D6',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V14',name='B.D8',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A15',name='A.A7',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B15',name='A.A11',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C15',name='A.A17',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='E15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='F15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='G15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='H15',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='J15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='K15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='L15',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='M15',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='N15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='P15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='R15',name='GND',func=Pin.PWRIN,do_erc=True),
     Pin(num='T15',name='B.D1',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U15',name='B.D3',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V15',name='B.D5',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A16',name='A.A10',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B16',name='A.A14',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C16',name='A.A19',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D16',name='A.A22',func=Pin.TRISTATE,do_erc=True),
     Pin(num='E16',name='A.A24',func=Pin.TRISTATE,do_erc=True),
     Pin(num='F16',name='A.A27',func=Pin.TRISTATE,do_erc=True),
     Pin(num='G16',name='A.A31',func=Pin.TRISTATE,do_erc=True),
     Pin(num='H16',name='A.D28',func=Pin.TRISTATE,do_erc=True),
     Pin(num='J16',name='A.D24',func=Pin.TRISTATE,do_erc=True),
     Pin(num='K16',name='A.D20',func=Pin.TRISTATE,do_erc=True),
     Pin(num='L16',name='A.D16',func=Pin.TRISTATE,do_erc=True),
     Pin(num='M16',name='VCC',func=Pin.PWRIN,do_erc=True),
     Pin(num='N16',name='A.D11',func=Pin.TRISTATE,do_erc=True),
     Pin(num='P16',name='A.D7',func=Pin.TRISTATE,do_erc=True),
     Pin(num='R16',name='A.D5',func=Pin.TRISTATE,do_erc=True),
     Pin(num='T16',name='A.D2',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U16',name='B.D0',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V16',name='B.D2',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A17',name='A.A13',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B17',name='A.A18',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C17',name='A.A21',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D17',name='A.A25',func=Pin.TRISTATE,do_erc=True),
     Pin(num='E17',name='A.A28',func=Pin.TRISTATE,do_erc=True),
     Pin(num='F17',name='A.A30',func=Pin.TRISTATE,do_erc=True),
     Pin(num='G17',name='A.D30',func=Pin.TRISTATE,do_erc=True),
     Pin(num='H17',name='A.D27',func=Pin.TRISTATE,do_erc=True),
     Pin(num='J17',name='A.D25',func=Pin.TRISTATE,do_erc=True),
     Pin(num='K17',name='A.D21',func=Pin.TRISTATE,do_erc=True),
     Pin(num='L17',name='A.D18',func=Pin.TRISTATE,do_erc=True),
     Pin(num='M17',name='A.DENB',do_erc=True),
     Pin(num='N17',name='A.D14',func=Pin.TRISTATE,do_erc=True),
     Pin(num='P17',name='A.D12',func=Pin.TRISTATE,do_erc=True),
     Pin(num='R17',name='A.D9',func=Pin.TRISTATE,do_erc=True),
     Pin(num='T17',name='A.D6',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U17',name='A.D3',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V17',name='A.D0',func=Pin.TRISTATE,do_erc=True),
     Pin(num='A18',name='A.A16',func=Pin.TRISTATE,do_erc=True),
     Pin(num='B18',name='A.A20',func=Pin.TRISTATE,do_erc=True),
     Pin(num='C18',name='A.A23',func=Pin.TRISTATE,do_erc=True),
     Pin(num='D18',name='A.A26',func=Pin.TRISTATE,do_erc=True),
     Pin(num='E18',name='A.A29',func=Pin.TRISTATE,do_erc=True),
     Pin(num='F18',name='A.D31',func=Pin.TRISTATE,do_erc=True),
     Pin(num='G18',name='A.D29',func=Pin.TRISTATE,do_erc=True),
     Pin(num='H18',name='A.D26',func=Pin.TRISTATE,do_erc=True),
     Pin(num='J18',name='A.D23',func=Pin.TRISTATE,do_erc=True),
     Pin(num='K18',name='A.D22',func=Pin.TRISTATE,do_erc=True),
     Pin(num='L18',name='A.D19',func=Pin.TRISTATE,do_erc=True),
     Pin(num='M18',name='A.D17',func=Pin.TRISTATE,do_erc=True),
     Pin(num='N18',name='A.D15',func=Pin.TRISTATE,do_erc=True),
     Pin(num='P18',name='A.D13',func=Pin.TRISTATE,do_erc=True),
     Pin(num='R18',name='A.D10',func=Pin.TRISTATE,do_erc=True),
     Pin(num='T18',name='A.D8',func=Pin.TRISTATE,do_erc=True),
     Pin(num='U18',name='A.D4',func=Pin.TRISTATE,do_erc=True),
     Pin(num='V18',name='A.D1',func=Pin.TRISTATE,do_erc=True)]),
Пример #22
0
from skidl import SKIDL, TEMPLATE, Part, Pin, SchLib

SKIDL_lib_version = '0.0.1'

Lattice = SchLib(tool=SKIDL).add_parts(*[
        Part(name='GAL16V8',dest=TEMPLATE,tool=SKIDL,keywords='GAL PLD 16V8',description='Programmable Logic Array, DIP-20/SOIC-20/PLCC-20',ref_prefix='U',num_units=1,fplist=['DIP*', 'PDIP*', 'SOIC*', 'SO*', 'PLCC*'],do_erc=True,pins=[
            Pin(num='10',name='GND',func=Pin.PWRIN,do_erc=True),
            Pin(num='20',name='VCC',func=Pin.PWRIN,do_erc=True),
            Pin(num='1',name='I1/CLK',do_erc=True),
            Pin(num='2',name='I2',do_erc=True),
            Pin(num='3',name='I3',do_erc=True),
            Pin(num='4',name='I4',do_erc=True),
            Pin(num='5',name='I5',do_erc=True),
            Pin(num='6',name='I6',do_erc=True),
            Pin(num='7',name='I7',do_erc=True),
            Pin(num='8',name='I8',do_erc=True),
            Pin(num='9',name='I9',do_erc=True),
            Pin(num='11',name='I10/~OE~',do_erc=True),
            Pin(num='12',name='IO8',func=Pin.TRISTATE,do_erc=True),
            Pin(num='13',name='IO7',func=Pin.TRISTATE,do_erc=True),
            Pin(num='14',name='IO6',func=Pin.TRISTATE,do_erc=True),
            Pin(num='15',name='IO5',func=Pin.TRISTATE,do_erc=True),
            Pin(num='16',name='IO4',func=Pin.TRISTATE,do_erc=True),
            Pin(num='17',name='I03',func=Pin.TRISTATE,do_erc=True),
            Pin(num='18',name='IO2',func=Pin.TRISTATE,do_erc=True),
            Pin(num='19',name='IO1',func=Pin.TRISTATE,do_erc=True)]),
        Part(name='PAL16L8',dest=TEMPLATE,tool=SKIDL,keywords='PAL PLD 16L8',description='Programmable Logic Array, DIP-20',ref_prefix='U',num_units=1,fplist=['DIP*', 'PDIP*'],do_erc=True,pins=[
            Pin(num='10',name='GND',func=Pin.PWRIN,do_erc=True),
            Pin(num='20',name='VCC',func=Pin.PWRIN,do_erc=True),
            Pin(num='1',name='I1',do_erc=True),
            Pin(num='2',name='I2',do_erc=True),
Пример #23
0
from skidl import Pin, Part, SchLib, SKIDL, TEMPLATE

SKIDL_lib_version = '0.0.1'

motors = SchLib(tool=SKIDL).add_parts(*[
    Part(name='Fan',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='Fan Motor',
         description='Fan',
         ref_prefix='M',
         num_units=1,
         fplist=[
             'Pin_Headers:Pin_Header_Straight_1x02', 'Connect:bornier2',
             'TerminalBlock*2pol'
         ],
         do_erc=True,
         pins=[
             Pin(num='1', name='+', func=Pin.PASSIVE, do_erc=True),
             Pin(num='2', name='-', func=Pin.PASSIVE, do_erc=True)
         ]),
    Part(name='Fan_ALT',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='Fan Motor',
         description='Fan without PWM or tach, alternative symbol',
         ref_prefix='M',
         num_units=1,
         fplist=[
             'Pin_Headers:Pin_Header_Straight_1x02', 'Connect:bornier2',
             'TerminalBlock*2pol'
Пример #24
0
from skidl import SKIDL, TEMPLATE, Part, Pin, SchLib

SKIDL_lib_version = '0.0.1'

cmos_ieee = SchLib(tool=SKIDL).add_parts(*[
    Part(name='4001', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4002', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4006', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4008', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4009', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4010', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40104', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(
        name='40106', dest=TEMPLATE, tool=SKIDL, do_erc=True, aliases=['4584'
                                                                       ]),
    Part(name='4011', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40110', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4012', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4013', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4014', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4015', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4016', dest=TEMPLATE, tool=SKIDL, do_erc=True, aliases=['4066'
                                                                       ]),
    Part(name='4017', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40174', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40175', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4018', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='4019', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40192', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40193', dest=TEMPLATE, tool=SKIDL, do_erc=True),
    Part(name='40194', dest=TEMPLATE, tool=SKIDL, do_erc=True),
Пример #25
0
SKIDL_lib_version = '0.0.1'

powerint = SchLib(tool=SKIDL).add_parts(*[
    Part(name='CAP002DG',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='CapZero Automatic Capacitor Discarger 1000V 5000nF',
         description=
         'CapZero Automatic Capacitor Discarger, Vdss 1000V, Cmax 5000nF, SO8',
         ref_prefix='U',
         num_units=1,
         fplist=['SO-8*'],
         do_erc=True,
         aliases=[
             'CAP003DG', 'CAP004DG', 'CAP005DG', 'CAP006DG', 'CAP007DG',
             'CAP008DG', 'CAP009DG', 'CAP012DG', 'CAP013DG', 'CAP014DG',
             'CAP015DG', 'CAP016DG', 'CAP017DG', 'CAP018DG', 'CAP019DG'
         ],
         pins=[
             Pin(num='1', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='2', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='3', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='4', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='5', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='6', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='7', name='~', func=Pin.PASSIVE, do_erc=True),
             Pin(num='8', name='~', func=Pin.PASSIVE, do_erc=True)
         ]),
    Part(name='LNK302D',
         dest=TEMPLATE,
         tool=SKIDL,
Пример #26
0
from skidl import SKIDL, TEMPLATE, Part, Pin, SchLib

SKIDL_lib_version = '0.0.1'

diode = SchLib(tool=SKIDL).add_parts(*[
    Part(name='1N4001',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='diode',
         description='1000V 1A Fast recovery Rectifier Diode, DO-41',
         ref_prefix='D',
         num_units=1,
         fplist=['D*DO?41*', 'D*DO?204AL*', 'D*SOD81*'],
         do_erc=True,
         aliases=[
             '1N4002', '1N4003', '1N4004', '1N4005', '1N4006', '1N4007',
             'BA157', 'BA158', 'BA159'
         ],
         pins=[
             Pin(num='1', name='K', func=Pin.PASSIVE, do_erc=True),
             Pin(num='2', name='A', func=Pin.PASSIVE, do_erc=True)
         ]),
    Part(name='1N4148',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='diode',
         description='20V 0.115A Very Fast Switching Diode, DO-35',
         ref_prefix='D',
         num_units=1,
         fplist=['D*DO?35*', 'D*SOD27*'],
         do_erc=True,
Пример #27
0
from skidl import Pin, Part, SchLib, SKIDL, TEMPLATE

SKIDL_lib_version = '0.0.1'

zetex = SchLib(tool=SKIDL).add_parts(*[
    Part(name='ZXGD3001E6',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='gate driver',
         description='8A (peak) Gate driver, 40V, 1ns delay',
         ref_prefix='U',
         num_units=1,
         fplist=['SOT?23-*'],
         do_erc=True,
         aliases=['ZXGD3004E6', 'ZXGD3002E6', 'ZXGD3003E6'],
         pins=[
             Pin(num='1', name='VCC', func=Pin.PWRIN, do_erc=True),
             Pin(num='2', name='IN1', do_erc=True),
             Pin(num='3', name='GND', func=Pin.PWRIN, do_erc=True),
             Pin(num='4', name='SINK', func=Pin.OPENCOLL, do_erc=True),
             Pin(num='5', name='IN2', do_erc=True),
             Pin(num='6', name='SOURCE', func=Pin.OPENEMIT, do_erc=True)
         ])
])
Пример #28
0
 def generate_power_led():
     """Generate led connected to ESP GPI0 that is on after boot"""
     led = Part('Device', 'LED', footprint='LED_SMD:LED_1206_3216Metric')
     U1['GPIO0'] & (R('1k') & led & Net.fetch('+VBatt'))
Пример #29
0
from skidl import Pin, Part, SchLib, SKIDL, TEMPLATE

SKIDL_lib_version = '0.0.1'

Power_Management = SchLib(tool=SKIDL).add_parts(*[
    Part(name='FAN7842',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='gate driver',
         description='High and Low Side Gate Driver',
         ref_prefix='U',
         num_units=1,
         fplist=['SOIC*3.9x4.9mm*Pitch1.27mm*'],
         do_erc=True,
         pins=[
             Pin(num='1', name='VCC', func=Pin.PWRIN, do_erc=True),
             Pin(num='2', name='HIN', do_erc=True),
             Pin(num='3', name='LIN', do_erc=True),
             Pin(num='4', name='COM', func=Pin.PWRIN, do_erc=True),
             Pin(num='5', name='LO', func=Pin.OUTPUT, do_erc=True),
             Pin(num='6', name='VS', func=Pin.OUTPUT, do_erc=True),
             Pin(num='7', name='HO', func=Pin.OUTPUT, do_erc=True),
             Pin(num='8', name='VB', func=Pin.PWRIN, do_erc=True)
         ]),
    Part(name='LM5051',
         dest=TEMPLATE,
         tool=SKIDL,
         keywords='negative low-side or-ing ideal-diode',
         description='Low side OR-ing FET controller, -6V to -100V operation',
         ref_prefix='U',
         num_units=1,
Пример #30
0
from skidl import SKIDL, TEMPLATE, Part, Pin, SchLib

SKIDL_lib_version = '0.0.1'

microchip_pic12mcu = SchLib(tool=SKIDL).add_parts(*[
        Part(name='PIC12(L)F1501-I/P',dest=TEMPLATE,tool=SKIDL,do_erc=True,aliases=['PIC12(L)F1501-I/SN', 'PIC12(L)F1501-I/MS', 'PIC12(L)F1501-I/MC']),
        Part(name='PIC12(L)F1822-I/P',dest=TEMPLATE,tool=SKIDL,do_erc=True,aliases=['PIC12(L)F1822-I/SN', 'PIC12(L)F1822-I/MC']),
        Part(name='PIC12(L)F1840-I/P',dest=TEMPLATE,tool=SKIDL,do_erc=True,aliases=['PIC12(L)F1840-I/SN', 'PIC12(L)F1840-I/MC']),
        Part(name='PIC12C508-I/P',dest=TEMPLATE,tool=SKIDL,keywords='8-Bit CMOS Microcontroller',description='PIC12C508, 512W EPROM, 25B SRAM, SO8 Wide',ref_prefix='U',num_units=1,do_erc=True,aliases=['PIC12C508-I/SM', 'PIC12C508-I/JW'],pins=[
            Pin(num='1',name='VDD',func=Pin.PWRIN,do_erc=True),
            Pin(num='2',name='CLKIN/OSC1/GP5',func=Pin.BIDIR,do_erc=True),
            Pin(num='3',name='OSC2/GP4',func=Pin.BIDIR,do_erc=True),
            Pin(num='4',name='Vpp/~MCLR~/GP3',do_erc=True),
            Pin(num='5',name='T0CKI/GP2',func=Pin.BIDIR,do_erc=True),
            Pin(num='6',name='ICSPCLK/GP1',func=Pin.BIDIR,do_erc=True),
            Pin(num='7',name='ICSPDAT/GP0',func=Pin.BIDIR,do_erc=True),
            Pin(num='8',name='VSS',func=Pin.PWRIN,do_erc=True)]),
        Part(name='PIC12C508A-I/P',dest=TEMPLATE,tool=SKIDL,keywords='8-Bit CMOS Microcontroller',description='PIC12C508A, 512W EPROM, 25B SRAM, SO8',ref_prefix='U',num_units=1,do_erc=True,aliases=['PIC12C508A-I/SN', 'PIC12C508A-I/SM', 'PIC12C508A-I/JW'],pins=[
            Pin(num='1',name='VDD',func=Pin.PWRIN,do_erc=True),
            Pin(num='2',name='CLKIN/OSC1/GP5',func=Pin.BIDIR,do_erc=True),
            Pin(num='3',name='OSC2/GP4',func=Pin.BIDIR,do_erc=True),
            Pin(num='4',name='Vpp/~MCLR~/GP3',do_erc=True),
            Pin(num='5',name='T0CKI/GP2',func=Pin.BIDIR,do_erc=True),
            Pin(num='6',name='ICSPCLK/GP1',func=Pin.BIDIR,do_erc=True),
            Pin(num='7',name='ICSPDAT/GP0',func=Pin.BIDIR,do_erc=True),
            Pin(num='8',name='VSS',func=Pin.PWRIN,do_erc=True)]),
        Part(name='PIC12C509-I/P',dest=TEMPLATE,tool=SKIDL,keywords='8-Bit CMOS Microcontroller',description='PIC12C509, 1024W EPROM, 41B SRAM, SO8 Wide',ref_prefix='U',num_units=1,do_erc=True,aliases=['PIC12C509-I/SM', 'PIC12C509-I/JW'],pins=[
            Pin(num='1',name='VDD',func=Pin.PWRIN,do_erc=True),
            Pin(num='2',name='CLKIN/OSC1/GP5',func=Pin.BIDIR,do_erc=True),
            Pin(num='3',name='OSC2/GP4',func=Pin.BIDIR,do_erc=True),
            Pin(num='4',name='Vpp/~MCLR~/GP3',do_erc=True),