NAME

fa from sky130_fd_sc_ms

DESCRIPTION

Full adder.

FUNCTION

VERILOG

"sky130_fd_sc_ms__fa"
/*
*/


`ifndef SKY130_FD_SC_MS__FA_FUNCTIONAL_V
`define SKY130_FD_SC_MS__FA_FUNCTIONAL_V

/**

`timescale 1ns / 1ps
`default_nettype none

`celldefine
module sky130_fd_sc_ms__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_MS__FA_FUNCTIONAL_V

SPICE

LAYOUT

sky130_fd_sc_ms__fa_1

not to scale



.subckt sky130_fd_sc_ms__fa_1 A B CIN VGND VNB VPB VPWR COUT SUM
X0 VGND a_465_249# COUT VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X1 a_512_347# B VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X2 VGND A a_936_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X3 a_315_75# CIN a_69_260# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X4 VPWR A a_512_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X5 a_512_347# CIN VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X6 a_237_75# B a_315_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X7 a_1110_347# A VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X8 VPWR a_465_249# COUT VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X9 a_69_260# a_465_249# a_501_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X10 VPWR B a_1110_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X11 a_69_260# a_465_249# a_512_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X12 VGND B a_1100_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X13 VPWR A a_919_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X14 a_465_249# CIN a_1100_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X15 a_919_347# B a_465_249# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X16 a_465_249# CIN a_1110_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X17 VGND A a_237_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X18 a_220_368# B a_321_389# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X19 VPWR A a_220_368# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X20 a_1100_75# A VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X21 a_321_389# CIN a_69_260# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X22 a_501_75# B VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X23 a_936_75# B a_465_249# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X24 a_501_75# CIN VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X25 VGND A a_501_75# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X26 SUM a_69_260# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X27 SUM a_69_260# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
.ends

sky130_fd_sc_ms__fa_2

not to scale


.subckt sky130_fd_sc_ms__fa_2 A B CIN VGND VNB VPB VPWR COUT SUM
X0 a_487_347# A VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X1 a_27_79# A VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X2 VGND CIN a_701_79# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X3 a_1097_347# B a_1205_368# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X4 VGND A a_701_79# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X5 a_686_347# B VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X6 SUM a_995_347# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X7 VGND a_339_347# COUT VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X8 a_27_378# A VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X9 a_701_79# a_339_347# a_995_347# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X10 a_995_347# CIN a_1097_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X11 VPWR B a_27_378# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X12 VGND B a_27_79# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X13 a_686_347# a_339_347# a_995_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X14 VPWR CIN a_686_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X15 COUT a_339_347# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X16 VGND a_995_347# SUM VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X17 a_995_347# CIN a_1119_79# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X18 a_487_79# A VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X19 a_339_347# B a_487_79# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X20 VPWR a_995_347# SUM VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X21 a_1205_79# A VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X22 a_1205_368# A VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X23 a_1119_79# B a_1205_79# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X24 SUM a_995_347# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X25 VPWR a_339_347# COUT VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X26 a_27_79# CIN a_339_347# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X27 a_339_347# B a_487_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X28 VPWR A a_686_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X29 a_27_378# CIN a_339_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X30 COUT a_339_347# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X31 a_701_79# B VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
.ends

sky130_fd_sc_ms__fa_4

not to scale


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