microelectronics activities

Upload: irjohn

Post on 04-Apr-2018

253 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 Microelectronics Activities

    1/36

    Activities Compilation

    (Computer Aided Design of ICs)

    ECE241 / COM

    September 08, 2012

    Instructor

  • 7/31/2019 Microelectronics Activities

    2/36

    Page 2 of 36

    Electric and WinSpice Activities

    oInverter Static CharacteristicsoCMOS Gates Dynamic Characterisitcs (Schematics

    and Layout)

    InverterNANDNORANDOR

  • 7/31/2019 Microelectronics Activities

    3/36

    Page 3 of 36

    CMOS Inverter Static Characteristics

    Inverter Schematic Diagram

    Plot ofVout and Vin

    At 3.3 V

    Wn W VOH VOL VIL VIH VTH0.80 m 3.20 m 3.3000 V 0.29229 V 1.6860 V 2.4250 V 1.9360 V

    0.80 m 1.60 m 3.3000 V 0.14086 V 1.2900 V 2.0210 V 1.6410 V

    0.80 m 0.80 m 3.3000 V 0.06804 V 0.7420 V 1.5260 V 1.2710 V

    At 5 V

    Wn Wp VOH VOL VIL VIH VTH0.80 m 3.20 m 5.0000 V 4.78162 V 2.8840 V 4.1100 V 3.2240 V

    0.80 m 1.60 m 5.0000 V 2.13984 V 2.2310 V 3.4090 V 2.7230 V

    0.80 m 0.80 m 5.0000 V 0.86859 V 1.2610 V 2.4880 V 2.0580 V

  • 7/31/2019 Microelectronics Activities

    4/36

    Page 4 of 36

    CMOS Gates Dynamic Characteristics

    Inverter Gate Schematic Diagram Inverter Gate Layout Diagram

    Inverter Gate Circuit Test Schematic Diagram

  • 7/31/2019 Microelectronics Activities

    5/36

    Page 5 of 36

    Plot ofVout and Vin of the Inverter Gate at Transient Analysis

    Propagation Delay of the Inverter Gate.

    Note: Same measurement were obtained on both pre and post layout simulation.

    CL= 100fFarad

    CL=500fFarad

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 0.6950 ns 0.3050 ns

    1.2150 ns 0.5600 ns 0.5000 ns

    0.80 m 1.60 m 0.6500 ns 0.5350 ns

    1.2250 ns 0.8900 ns 0.5925 ns

    0.80 m 0.80 m 0.6200 ns 1.0400 ns

    1.2350 ns 1.8700 ns

    0.8300 ns

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 2.7900 ns 0.9500 ns

    5.6150 ns 1.7750 ns 1.8700 ns

    0.80 m 1.60 m 2.7600 ns 1.8750 ns

    5.6050 ns 3.7500 ns 2.3175 ns

    0.80 m 0.80 m 2.7450 ns 4.3400 ns

    5.5950 ns 9.1450 ns

    3.5425 ns

  • 7/31/2019 Microelectronics Activities

    6/36

    Page 6 of 36

    NAND Gate Schematic Diagram NAND Gate Layout Diagram

    NAND Gate Circuit Test Schematic Diagram

  • 7/31/2019 Microelectronics Activities

    7/36

    Page 7 of 36

    Plot of inputsa andb, and outputfout of the NAND Gate at Transient Analysis

    Propagation Delay of the NAND Gate.

    Note: Same measurement were obtained on both pre and post layout simulation.

    CL= 100fFarad

    CL=500fFarad

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 1.0800 ns 0.2950 ns 1.9600 ns 0.5650 ns 0.6875 ns

    0.80 m 1.60 m 1.0200 ns 0.5250 ns 1.9350 ns 0.8950 ns 0.7725 ns

    0.80 m 0.80 m 0.9750 ns 1.0300 ns 1.9350 ns 1.8700 ns 1.0025 ns

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 4.4000 ns 0.9450 ns 9.4500 ns 1.7800 ns 2.6725 ns

    0.80 m 1.60 m 4.3500 ns 1.8750 ns 9.4200 ns 3.7550 ns 3.1125 ns

    0.80 m 0.80 m 4.3200 ns 4.3350 ns 9.4050 ns 9.1450 ns 4.3275 ns

  • 7/31/2019 Microelectronics Activities

    8/36

    Page 8 of 36

    NOR Gate Schematic Diagram NOR Gate Layout Diagram

    NOR Gate Circuit Test Schematic Diagram

  • 7/31/2019 Microelectronics Activities

    9/36

    Page 9 of 36

    Plot of inputsa andb, and outputfout of the NOR Gate at Transient Analysis

    Propagation Delay of the NOR Gate.

    Note: Same measurement were obtained on both pre and post layout simulation.

    CL= 100fFarad

    CL=500fFarad

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 0.3700 ns 0.4000 ns 0.7350 ns 0.7850 ns 0.3850 ns

    0.80 m 1.60 m 0.3500 ns 0.7700 ns 0.7450 ns 1.4900 ns 0.5525 ns

    0.80 m 0.80 m 0.3150 ns 1.7050 ns 0.7450 ns 3.4800 ns 1.0100 ns

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 1.4300 ns 1.5450 ns 2.8200 ns 3.2600 ns 1.4875 ns

    0.80 m 1.60 m 1.4100 ns 3.2700 na 2.8250 ns 7.0070 ns 2.3400 ns

    0.80 m 0.80 m 1.4000 ns 7.8450 ns 2.8200 ns 17.235 ns 4.6225 ns

  • 7/31/2019 Microelectronics Activities

    10/36

    Page 10 of 36

    AND Gate Schematic Diagram AND Gate Layout Diagram

    AND Gate Circuit Test Schematic Diagram

  • 7/31/2019 Microelectronics Activities

    11/36

    Page 11 of 36

    Plot of inputsa andb, and outputfout of the AND Gate at Transient Analysis.

    Propagation Delay of the AND Gate.

    Note: Same measurement were obtained on both pre and post layout simulation.

    CL= 100fFarad

    CL=500fFarad

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 0.5450 ns 0.5200 ns 1.1550 ns 0.3900 ns 0.5325 ns0.80 m 1.60 m 0.6100 ns 0.6150 ns 1.1450 ns 0.7700 ns 0.6125 ns

    0.80 m 0.80 m 0.7200 ns 1.0050 ns 1.1350 ns 1.8450 ns 0.8625 ns

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 2.6800 ns 1.1450 ns 5.6200 ns 1.7370 ns 1.9125 ns

    0.80 m 1.60 m 2.7450 ns 1.9750 ns 5.6050 ns 3.7750 ns 2.3600 ns

    0.80 m 0.80 m 2.8600 ns 4.3350 ns 5.6000 ns 9.1450 ns 3.5975 ns

  • 7/31/2019 Microelectronics Activities

    12/36

    Page 12 of 36

    OR Gate Schematic Diagram OR Gate Layout Diagram

    OR Gate Circuit Test Schematic Diagram.

  • 7/31/2019 Microelectronics Activities

    13/36

    Page 13 of 36

    Plot of inputsa andb, and outputfout of the OR Gate at Transient Analysis.

    Propagation Delay of the OR Gate.

    Note: Same measurement were obtained on both pre and post layout simulation.

    CL= 100fFarad

    CL=500fFarad

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 0.6250 ns 0.2050 ns 1.1450 ns 0.3700 ns 0.4150 ns

    0.80 m 1.60 m 0.7050 ns 0.2750 ns 1.1400 ns 0.7700 ns 0.4900 ns

    0.80 m 0.80 m 0.8300 ns 0.6750 ns 1.1300 ns 1.8400 ns 0.7525 ns

    Wn Wp PHL PLH fall rise P

    0.80 m 3.20 m 2.7650 ns 0.8350 ns 5.6000 ns 1.7300 ns 1.8000 ns

    0.80 m 1.60 m 2.8450 ns 1.6400 ns 5.5950 ns 3.7500 ns 2.2425 ns

    0.80 m 0.80 m 2.9700 ns 4.0050 ns 5.5950 ns 9.1400 ns 3.4875 ns

  • 7/31/2019 Microelectronics Activities

    14/36

    Page 14 of 36

    VHDL Activities

    oCounter (Tutorial)oAdditionoArithmeticoGray Code to Binary and Binary to Gray CodeoCount Oneso

    BCD to Decimal and Decimal to BCDoCalculator (ALU)

  • 7/31/2019 Microelectronics Activities

    15/36

    Page 15 of 36

    Counter (Tutorial)

    Device Diagram:

    Device Description:

    The device will have a decremental output (COUNT_OUT) when the DIRECTION is

    low (0) and will have an incremental output when the DIRECTION is high (1).

    VHDL Code:

    ----------------------------------------------------------------------------------

    -- Company:

    -- Engineer:--

    -- Create Date: 20:30:41 08/23/2012

    -- Design Name:

    -- Module Name: counter - Behavioral-- Project Name:

    -- Target Devices:-- Tool versions:

    -- Description:--

    -- Dependencies:

    ---- Revision:

    -- Revision 0.01 - File Created

    -- Additional Comments:

    ------------------------------------------------------------------------------------

    library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    ---- Uncomment the following library declaration if instantiating

    ---- any Xilinx primitives in this code.

    --library UNISIM;

    COUNT_OUT

    DIRECTION

    CLOCK

    COUNTER

    1 bit

    1 bit

    1 bit

  • 7/31/2019 Microelectronics Activities

    16/36

    Page 16 of 36

    --use UNISIM.VComponents.all;

    entity counter is

    Port ( CLOCK : in STD_LOGIC;

    DIRECTION : in STD_LOGIC;

    COUNT_OUT : out STD_LOGIC_VECTOR (3 downto 0));end counter;

    architecture Behavioral of counter issignal count_int : std_logic_vector (3 downto 0) := "0000";

    begin

    process (CLOCK)begin

    if CLOCK='1' and CLOCK'event then

    if DIRECTION='1' then

    count_int

  • 7/31/2019 Microelectronics Activities

    17/36

    Page 17 of 36

    Addition

    Device Diagram:

    Device Description:

    The device will sum two inputs (INA and INB) with 8 bits each. Overflow (OUTB=

    1) will happen when the summation is greater than 255 due to OUTA is limited to 8 bits only.

    VHDL Code:

    ----------------------------------------------------------------------------------

    -- Company:-- Engineer:

    --

    -- Create Date: 20:58:29 08/22/2012

    -- Design Name:-- Module Name: Addition - Behavioral

    -- Project Name:-- Target Devices:

    -- Tool versions:-- Description:

    --

    -- Dependencies:--

    -- Revision:

    -- Revision 0.01 - File Created

    -- Additional Comments:--

    ----------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;

    use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    ---- Uncomment the following library declaration if instantiating

    ---- any Xilinx primitives in this code.

    ADDITION

    INA 8 bits

    CLK1 bit

    OUTA8 bits

    INB8 bits

    OUTB1 bit

    (OVERFLOW)

  • 7/31/2019 Microelectronics Activities

    18/36

    Page 18 of 36

    --library UNISIM;

    --use UNISIM.VComponents.all;

    entity Addition is

    Port ( INA : in STD_LOGIC_VECTOR (7 downto 0);

    INB : in STD_LOGIC_VECTOR (7 downto 0);CLK : in STD_LOGIC;

    OUTA : out STD_LOGIC_VECTOR (7 downto 0);

    OUTB : out STD_LOGIC);end Addition;

    architecture Behavioral of Addition is

    begin

    process (CLK)

    begin if CLK='1' AND CLK'event then

    if INA < "1111111"-INB then

    OUTA

  • 7/31/2019 Microelectronics Activities

    19/36

    Page 19 of 36

    Arithmetic

    Device Diagram:

    Device Description:

    The device has a function of addition, subtraction, division and modulo division.

    Elaboration of the OPER input:00ADD (INA + INB) 01SUB (INAINB)

    10DIV (INA / INB) 11MODULO DIV (INA mod INB)

    OVERFLOW will happen in addition if the sum is greater than 255, in subtraction has a negative

    value, in division and modulo division if divisor is 0.

    VHDL Code:

    ------------------------------------------------------------------------------------ Company:

    -- Engineer:--

    -- Create Date: 21:16:33 08/22/2012-- Design Name:

    -- Module Name: Arithmetic - Behavioral

    -- Project Name:-- Target Devices:

    -- Tool versions:

    -- Description:

    ---- Dependencies:

    ---- Revision:-- Revision 0.01 - File Created

    -- Additional Comments:

    ------------------------------------------------------------------------------------

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;

    ARITHMETIC

    INA 8 bits

    CLK1 bit

    OUTA8 bits

    INB8 bits

    OUTB1 bit

    (OVERFLOW)

    OPER2 bits

  • 7/31/2019 Microelectronics Activities

    20/36

    Page 20 of 36

    use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    ---- Uncomment the following library declaration if instantiating

    ---- any Xilinx primitives in this code.

    --library UNISIM;--use UNISIM.VComponents.all;

    entity Arithmetic isPort ( INA : in STD_LOGIC_VECTOR (7 downto 0);

    INB : in STD_LOGIC_VECTOR (7 downto 0);

    OPER : in STD_LOGIC_VECTOR (1 downto 0);

    CLK : in STD_LOGIC;OUTA : out STD_LOGIC_VECTOR (7 downto 0);

    OUTB : out STD_LOGIC);

    end Arithmetic;

    architecture Behavioral of Arithmetic is

    beginprocess (CLK)

    variable innA, innB, outtA : integer;

    begin

    if CLK='1' AND CLK'event theninnA := conv_integer(INA);

    innB := conv_integer(INB);

    if OPER="00" thenif (INA

  • 7/31/2019 Microelectronics Activities

    21/36

    Page 21 of 36

    end if;

    elsif OPER="11" thenif (INB > 0) then

    OUTA

  • 7/31/2019 Microelectronics Activities

    22/36

    Page 22 of 36

    Gray Code to Binary and Binary to Gray Code

    Device Diagram:

    Device Description:

    The device has a capability to convert from gray code to binary (OPER=1) or binary to gray

    code (OPER=0).

    VHDL Code:

    ------------------------------------------------------------------------------------ Company:

    -- Engineer:

    ---- Create Date: 20:53:42 08/23/2012

    -- Design Name:

    -- Module Name: Gray_to_Binary - Behavioral

    -- Project Name:-- Target Devices:

    -- Tool versions:-- Description:

    ---- Dependencies:

    --

    -- Revision:-- Revision 0.01 - File Created

    -- Additional Comments:

    --

    ----------------------------------------------------------------------------------library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

    ---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.

    --library UNISIM;

    --use UNISIM.VComponents.all;

    GRAY CODE

    / BINARY

    INA16 bits

    CLK1 bit

    OUTA16 bits

    OPER1 bit

  • 7/31/2019 Microelectronics Activities

    23/36

    Page 23 of 36

    entity Gray_to_Binary isPort ( INA : in STD_LOGIC_VECTOR (15 downto 0);

    OPER : in STD_LOGIC;

    CLK : in STD_LOGIC;

    OUTA : out STD_LOGIC_VECTOR (15 downto 0));end Gray_to_Binary;

    architecture Behavioral of Gray_to_Binary is

    begin

    process (CLK)

    variable outtA : std_logic_vector (15 downto 0);begin

    if CLK='1' and CLK'event then

    OUTA(15)

  • 7/31/2019 Microelectronics Activities

    24/36

    Page 24 of 36

    Count Ones

    Device Diagram:

    Device Description:

    The device has a capability to count 1 in INA input.

    VHDL Code:

    ------------------------------------------------------------------------------------ Company:

    -- Engineer:

    ---- Create Date: 21:33:02 08/23/2012

    -- Design Name:

    -- Module Name: count_ones - Behavioral

    -- Project Name:-- Target Devices:

    -- Tool versions:-- Description:

    ---- Dependencies:

    --

    -- Revision:-- Revision 0.01 - File Created

    -- Additional Comments:

    --

    ----------------------------------------------------------------------------------library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

    ---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.

    --library UNISIM;

    --use UNISIM.VComponents.all;

    COUNT

    ONES

    INA 32 bits

    CLK1 bit

    OUTA6 bits

  • 7/31/2019 Microelectronics Activities

    25/36

    Page 25 of 36

    entity count_ones isPort ( INA : in STD_LOGIC_VECTOR (31 downto 0);

    CLK : in STD_LOGIC;

    OUTA : out STD_LOGIC_VECTOR (5 downto 0));

    end count_ones;

    architecture Behavioral of count_ones is

    begin

    process (CLK)

    variable count_ones : integer;begin

    if CLK='1' and CLK'event then

    count_ones := 0;

    for i in 0 to 31 loopif INA(i)='1' then

    count_ones := count_ones + 1;

    end if;end loop;

    OUTA

  • 7/31/2019 Microelectronics Activities

    26/36

    Page 26 of 36

    BCD Code to Decimal and Decimal to BCD Code

    Device Diagram:

    Device Description:

    The device has capability to convert BCD code to Decimal and Decimal to BCD code.

    Elaboration of the OPER input:

    OPER0 BCD to DECIMAL*ERR_FLAG =1 if input is invalid

    OPER1 DECIMAL to BCD

    *ERR_FLAG=1 if input is greater than 999.

    VHDL Code:

    ----------------------------------------------------------------------------------

    -- Company:

    -- Engineer:--

    -- Create Date: 22:21:28 08/23/2012-- Design Name:

    -- Module Name: BCD_Decimal - Behavioral-- Project Name:

    -- Target Devices:

    -- Tool versions:-- Description:

    --

    -- Dependencies:

    ---- Revision:

    -- Revision 0.01 - File Created-- Additional Comments:--

    ----------------------------------------------------------------------------------

    library IEEE;use IEEE.STD_LOGIC_1164.ALL;

    use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    BCD /

    DECIMAL

    INA12 bits

    CLK1 bit

    OUTA12 bits

    ERR_FLAG1 bit

    OPER1 bit

  • 7/31/2019 Microelectronics Activities

    27/36

    Page 27 of 36

    ---- Uncomment the following library declaration if instantiating---- any Xilinx primitives in this code.

    --library UNISIM;

    --use UNISIM.VComponents.all;

    entity BCD_Decimal is

    Port ( INA : in STD_LOGIC_VECTOR (11 downto 0);

    OPER : in STD_LOGIC;CLK : in STD_LOGIC;

    OUTA : out STD_LOGIC_VECTOR (11 downto 0);

    ERR_FLAG : out STD_LOGIC);

    end BCD_Decimal;

    architecture Behavioral of BCD_Decimal is

    begin

    process (CLK)

    variable hundreds, tens, ones, inna : integer;variable inv_hundreds, inv_tens, inv_ones : std_logic_vector (11 downto 0);

    begin

    if CLK='1' and CLK'event then

    inna := conv_integer(INA);if OPER='0' then

    hundreds := conv_integer(INA(11 downto 8))*100;

    tens :=conv_integer(INA(7 downto 4))*10;ones := conv_integer(INA(3 downto 0));

    if hundreds < 1000 AND tens < 100 AND ones < 10 then

    OUTA

  • 7/31/2019 Microelectronics Activities

    28/36

    Page 28 of 36

    end process;

    end Behavioral;

    Sample Simulation:

    Note: To easily check the BCD code to Decimal conversion, INA is in hexadecimal mode while

    OUTA is in decimal (unsigned) mode. Please see the dash-dot rectangular box in color

    maroon.

    Note: To easily check the Decimal to BCD code conversion, INA is in decimal (unsigned) mode

    while OUTA is in hexadecimal mode. Please see the dash-dot rectangular box in color

    maroon.

  • 7/31/2019 Microelectronics Activities

    29/36

    Page 29 of 36

    Calculator (Simple ALU)

    Device Diagram:

    Device Description:

    The device has a functionality of a calculator (simple ALU).

    Elaboration of the OPER (0 to 13) input:0 INA + INB

    1 INA INB

    2 INB INA

    3 INA / INB

    4 INB / INA

    5 INA mod INB

    6 INB mod INA

    7 INA INB

    8 INA + INB

    9 INA + INB

    10 INA INB

    11 INA + INB

    12 INA

    13 INB

    Error If:- Divide by zero- Output is more than 16 bits- Output is negative

    VHDL Code:----------------------------------------------------------------------------------

    -- Company:

    -- Engineer:

    ---- Create Date: 17:01:15 08/25/2012

    -- Design Name:

    -- Module Name: Calculator - Behavioral

    -- Project Name:-- Target Devices:

    -- Tool versions:

    -- Description:--

    -- Dependencies:

    --

    -- Revision:

    ALU

    INA 16 bits

    CLK1 bit

    OUTA16 bits

    INB16 bits

    ERROR_INDICATOR1 bitOPER

    4 bits

  • 7/31/2019 Microelectronics Activities

    30/36

    Page 30 of 36

    -- Revision 0.01 - File Created

    -- Additional Comments:--

    ----------------------------------------------------------------------------------

    library IEEE;

    use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;

    use IEEE.STD_LOGIC_UNSIGNED.ALL;

    ---- Uncomment the following library declaration if instantiating

    ---- any Xilinx primitives in this code.

    --library UNISIM;

    --use UNISIM.VComponents.all;

    entity Calculator is

    Port ( INA : in STD_LOGIC_VECTOR (15 downto 0);

    INB : in STD_LOGIC_VECTOR (15 downto 0);OPER : in STD_LOGIC_VECTOR (4 downto 0);

    CLK : in STD_LOGIC;

    OUTA : out STD_LOGIC_VECTOR (15 downto 0);ERROR_INDICATOR : out STD_LOGIC);

    end Calculator;

    architecture Behavioral of Calculator is

    begin

    process (CLK)

    variable ina_int, inb_int : integer;

    beginif CLK='1' and CLK'event then

    ina_int := conv_integer(INA);

    inb_int := conv_integer(INB);

    if OPER="0000" then

    if (INA

  • 7/31/2019 Microelectronics Activities

    31/36

    Page 31 of 36

    ERROR_INDICATOR

  • 7/31/2019 Microelectronics Activities

    32/36

    Page 32 of 36

    OUTA

  • 7/31/2019 Microelectronics Activities

    33/36

    Page 33 of 36

    OPER 11 to 13 are some of the logical part and sample simulation showed the validity of each

    data. Error_indicator happened at OPER 14 and 15 due to it did have neither an arithmetic nor

    logical operation.

  • 7/31/2019 Microelectronics Activities

    34/36

    Page 34 of 36

    TSPICE Activities

    oInverteroNAND

  • 7/31/2019 Microelectronics Activities

    35/36

    Page 35 of 36

    Inverter

    Netlist:

    Input and Output Waveform:

    * Inverter

    .model mn nmos (level=1 vto=0.8 kp=50u lambda=0)

    .model mp pmos (level=1 vto=-0.9 kp=20u lambda=0)

    vdd 1 0 dc 3.3

    vin 2 0 dc 3.3

    m1 1 2 3 1 mp l=0.35u w=1.6u

    m2 3 2 0 0 mn l=0.35u w=0.8u

    .dc vin 0 3.3 0.01

    .print v(3) v(2)

    .end

    Input

    Output

  • 7/31/2019 Microelectronics Activities

    36/36

    NAND

    Netlist:

    Input and Output Waveform:

    *NAND

    .model mn nmos (level=1 vto=0.8 kp=50u lambda=0)

    .model mp pmos (level=1 vto=-0.9 kp=20u lambda=0)

    M1 D1 INA 0 0 mn l=0.35u w=0.8u

    M2 OUT INB D1 0 mn l=0.35u w=0.8u

    M3 OUT INA VDD VDD mp l=0.35u w=1.60uM4 OUT INB VDD VDD mp l=0.35u w=1.60u

    C1 OUT 0 100f

    VDD VDD 0 DC 3.3

    VINA INA 0 PULSE(0 3.3 0 1n 1n 50n 100n)

    VINB INB 0 PULSE(0 3.3 0 1n 1n 25n 50n)

    .tran 5p 100n

    .print v(INA) v(INB) v(OUT)