<@U084P37UX3M> I was able to add nmos and pmos and...
# qucs-s
k
@andresmmera I was able to add nmos and pmos and make a simple inverter. It works, I mean DC calculation is ok since we do not have pulse sources. The netlist is correctly generated but once I close the file I can not open it back again because the application crashes because of
segmentation fault
. This is the basic library file:
Copy code
<Library name="IHP-Open-PDK">
    <Component name="sg13_lv_nmos" schematic_id = "M" show_name="true">
        <Description>
            low voltage nmos
        </Description>
        <Netlists>
            <NgspiceNetlist value = 'XM{PartCounter} {nets} sg13_lv_nmos w={w} l={l} ng={ng} m={m}'>
                </NgspiceNetlist>
        </Netlists>
        <Symbols>
            <Symbol id="Standard" type="external"> <!-- Defined in a separate file -->
               <File>{QUCS_S_COMPONENTS_LIBRARY}/Nonlinear_Components_Symbols/NMOS.sym</File>
           </Symbol>
        </Symbols>
        <Parameters>
            <Parameter name="w" unit="um" default_value="1.0" show="true">
                <Description>Width</Description>
            </Parameter>
            <Parameter name="l" unit="um" default_value="0.13" show="true">
                <Description>Length</Description>
            </Parameter>
            <Parameter name="ng" unit="" default_value="1" show="true">
                <Description>Number of fingers</Description>
            </Parameter>
            <Parameter name="m" unit="" default_value="1" show="true">
                <Description>Multiplier</Description>
            </Parameter>
        </Parameters>
    </Component>
    <Component name="sg13_lv_pmos" schematic_id = "M" show_name="true">
        <Description>
            low voltage nmos
        </Description>
        <Netlists>
            <NgspiceNetlist value = 'XM{PartCounter} {nets} sg13_lv_pmos w={w} l={l} ng={ng} m={m}'>
                </NgspiceNetlist>
        </Netlists>
        <Symbols>
            <Symbol id="Standard" type="external"> <!-- Defined in a separate file -->
               <File>{QUCS_S_COMPONENTS_LIBRARY}/Nonlinear_Components_Symbols/PMOS.sym</File>
           </Symbol>
        </Symbols>
        <Parameters>
            <Parameter name="w" unit="um" default_value="1.0" show="true">
                <Description>Width</Description>
            </Parameter>
            <Parameter name="l" unit="um" default_value="0.13" show="true">
                <Description>Length</Description>
            </Parameter>
            <Parameter name="ng" unit="" default_value="1" show="true">
                <Description>Number of fingers</Description>
            </Parameter>
            <Parameter name="m" unit="" default_value="1" show="true">
                <Description>Multiplier</Description>
            </Parameter>
        </Parameters>
    </Component>
    <Component name="dantenna" schematic_id = "D" show_name="true">
        <Description>
            substrate diode
        </Description>
        <Netlists>
                <NgspiceNetlist value = 'XD{PartCounter} {nets} dantenna w={w} l={l}'>
                </NgspiceNetlist>
        </Netlists>
        <Symbols>
            <Symbol id="Standard" type="external"> <!-- Defined in a separate file -->
               <File>{QUCS_S_COMPONENTS_LIBRARY}/Nonlinear_Components_Symbols/Diode.sym</File>
           </Symbol>
        </Symbols>
        <Parameters>
            <Parameter name="w" unit="um" default_value="0.78" show="true">
                <Description>Width</Description>
            </Parameter>
            <Parameter name="l" unit="um" default_value="0.78" show="true">
                <Description>Length</Description>
            </Parameter>
        </Parameters>
    </Component>
</Library>