NAME

fa from sky130_fd_sc_ls

DESCRIPTION

Full adder.

FUNCTION

VERILOG

"sky130_fd_sc_ls__fa"
/*
*/


`ifndef SKY130_FD_SC_LS__FA_FUNCTIONAL_V
`define SKY130_FD_SC_LS__FA_FUNCTIONAL_V

/**

`timescale 1ns / 1ps
`default_nettype none

`celldefine
module sky130_fd_sc_ls__fa (
    COUT,
    SUM ,
    A   ,
    B   ,
    CIN
);

    // Module ports
    output COUT;
    output SUM ;
    input  A   ;
    input  B   ;
    input  CIN ;

    // Local signals
    wire or0_out     ;
    wire and0_out    ;
    wire and1_out    ;
    wire and2_out    ;
    wire nor0_out    ;
    wire nor1_out    ;
    wire or1_out_COUT;
    wire or2_out_SUM ;

    //  Name  Output        Other arguments
    or  or0  (or0_out     , CIN, B            );
    and and0 (and0_out    , or0_out, A        );
    and and1 (and1_out    , B, CIN            );
    or  or1  (or1_out_COUT, and1_out, and0_out);
    buf buf0 (COUT        , or1_out_COUT      );
    and and2 (and2_out    , CIN, A, B         );
    nor nor0 (nor0_out    , A, or0_out        );
    nor nor1 (nor1_out    , nor0_out, COUT    );
    or  or2  (or2_out_SUM , nor1_out, and2_out);
    buf buf1 (SUM         , or2_out_SUM       );

endmodule
`endcelldefine

`default_nettype wire
`endif  // SKY130_FD_SC_LS__FA_FUNCTIONAL_V

SPICE

LAYOUT

sky130_fd_sc_ls__fa_1

not to scale



.subckt sky130_fd_sc_ls__fa_1 A B CIN VGND VNB VPB VPWR COUT SUM
X0 VPWR A a_916_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X1 a_318_389# CIN a_69_260# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X2 a_217_368# B a_318_389# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X3 a_1107_347# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X4 VPWR A a_509_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X5 VPWR a_465_249# COUT VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X6 a_916_347# B a_465_249# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X7 a_465_249# CIN a_1100_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X8 a_315_75# CIN a_69_260# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X9 VGND A a_501_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X10 SUM a_69_260# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X11 a_69_260# a_465_249# a_501_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X12 a_465_249# CIN a_1107_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X13 VPWR B a_1107_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X14 a_69_260# a_465_249# a_509_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X15 a_509_347# CIN VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X16 a_501_75# B VGND VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X17 a_509_347# B VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X18 VGND A a_237_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X19 VGND A a_936_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X20 VPWR A a_217_368# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X21 a_501_75# CIN VGND VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X22 a_237_75# B a_315_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X23 a_936_75# B a_465_249# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X24 SUM a_69_260# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X25 VGND B a_1100_75# VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X26 a_1100_75# A VGND VNB sky130_fd_pr__nfet_01v8 w=640000u l=150000u
X27 VGND a_465_249# COUT VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
.ends

sky130_fd_sc_ls__fa_2

not to scale


.subckt sky130_fd_sc_ls__fa_2 A B CIN VGND VNB VPB VPWR COUT SUM
X0 VPWR A a_683_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X1 VGND a_992_347# SUM VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X2 a_1205_79# A VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X3 SUM a_992_347# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X4 VPWR CIN a_683_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X5 VGND a_336_347# COUT VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X6 a_701_79# a_336_347# a_992_347# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X7 COUT a_336_347# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X8 a_27_378# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X9 a_683_347# B VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X10 VPWR B a_27_378# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X11 a_27_79# A VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X12 a_27_79# CIN a_336_347# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X13 VPWR a_992_347# SUM VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X14 a_992_347# CIN a_1119_79# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X15 a_1119_79# B a_1205_79# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X16 a_1202_368# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X17 a_683_347# a_336_347# a_992_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X18 VGND B a_27_79# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X19 a_992_347# CIN a_1094_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X20 a_484_347# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X21 a_487_79# A VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X22 a_1094_347# B a_1202_368# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X23 COUT a_336_347# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X24 VGND CIN a_701_79# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X25 a_27_378# CIN a_336_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X26 a_336_347# B a_484_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X27 SUM a_992_347# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X28 VGND A a_701_79# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X29 VPWR a_336_347# COUT VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X30 a_336_347# B a_487_79# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X31 a_701_79# B VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
.ends

sky130_fd_sc_ls__fa_4

not to scale


.subckt sky130_fd_sc_ls__fa_4 A B CIN VGND VNB VPB VPWR COUT SUM
X0 a_734_74# a_418_74# a_1024_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X1 COUT a_418_74# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X2 SUM a_1024_74# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X3 a_418_74# B a_535_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X4 VPWR a_1024_74# SUM VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X5 a_1160_74# B a_1238_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X6 COUT a_418_74# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X7 VPWR B a_27_392# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X8 VGND B a_27_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X9 a_1024_74# CIN a_1160_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X10 COUT a_418_74# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X11 VGND CIN a_734_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X12 a_1141_347# B a_1235_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X13 VPWR a_1024_74# SUM VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X14 a_535_347# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X15 a_1235_347# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X16 a_737_347# a_418_74# a_1024_74# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X17 SUM a_1024_74# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X18 VGND A a_734_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X19 a_737_347# B VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X20 VPWR A a_737_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X21 a_418_74# B a_532_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X22 a_27_392# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X23 a_27_392# CIN a_418_74# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X24 VPWR CIN a_737_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X25 a_532_74# A VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X26 COUT a_418_74# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X27 a_1024_74# CIN a_1141_347# VPB sky130_fd_pr__pfet_01v8_hvt w=1e+06u l=150000u
X28 VGND a_418_74# COUT VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X29 VPWR a_418_74# COUT VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X30 VGND a_1024_74# SUM VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X31 a_27_74# A VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X32 a_734_74# B VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X33 VGND a_1024_74# SUM VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X34 SUM a_1024_74# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X35 SUM a_1024_74# VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X36 VPWR a_418_74# COUT VPB sky130_fd_pr__pfet_01v8_hvt w=1.12e+06u l=150000u
X37 VGND a_418_74# COUT VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X38 a_27_74# CIN a_418_74# VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
X39 a_1238_74# A VGND VNB sky130_fd_pr__nfet_01v8 w=740000u l=150000u
.ends