NAME

maj3 from sky130_fd_sc_lp

DESCRIPTION

3-input majority vote.

FUNCTION

VERILOG

"sky130_fd_sc_lp__maj3"
/*
*/


`ifndef SKY130_FD_SC_LP__MAJ3_FUNCTIONAL_V
`define SKY130_FD_SC_LP__MAJ3_FUNCTIONAL_V

/**

`timescale 1ns / 1ps
`default_nettype none

`celldefine
module sky130_fd_sc_lp__maj3 (
    X,
    A,
    B,
    C
);

    // Module ports
    output X;
    input  A;
    input  B;
    input  C;

    // Local signals
    wire or0_out  ;
    wire and0_out ;
    wire and1_out ;
    wire or1_out_X;

    //  Name  Output     Other arguments
    or  or0  (or0_out  , B, A              );
    and and0 (and0_out , or0_out, C        );
    and and1 (and1_out , A, B              );
    or  or1  (or1_out_X, and1_out, and0_out);
    buf buf0 (X        , or1_out_X         );

endmodule
`endcelldefine

`default_nettype wire
`endif  // SKY130_FD_SC_LP__MAJ3_FUNCTIONAL_V

SPICE

LAYOUT

sky130_fd_sc_lp__maj3_m

not to scale



.subckt sky130_fd_sc_lp__maj3_m A B C VGND VNB VPB VPWR X
X0 a_34_57# C a_121_425# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X1 a_285_425# B a_34_57# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X2 a_34_57# B a_449_425# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X3 a_449_425# C VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X4 a_121_425# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X5 a_285_57# B a_34_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X6 VPWR a_34_57# X VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X7 a_34_57# C a_121_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X8 VPWR A a_285_425# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X9 a_34_57# B a_449_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X10 a_121_57# A VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X11 VGND A a_285_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X12 a_449_57# C VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X13 VGND a_34_57# X VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
.ends

LAYOUT

sky130_fd_sc_lp__maj3_0

not to scale



.subckt sky130_fd_sc_lp__maj3_0 A B C VGND VNB VPB VPWR X
X0 a_477_57# C VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X1 VGND a_28_431# X VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X2 a_313_57# B a_28_431# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X3 VPWR A a_319_431# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X4 a_28_431# C a_149_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X5 a_28_431# B a_477_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X6 a_149_57# A VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X7 a_28_431# B a_477_431# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X8 a_477_431# C VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X9 a_319_431# B a_28_431# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X10 VPWR a_28_431# X VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X11 VGND A a_313_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X12 a_115_431# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X13 a_28_431# C a_115_431# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
.ends

LAYOUT

sky130_fd_sc_lp__maj3_1

not to scale



.subckt sky130_fd_sc_lp__maj3_1 A B C VGND VNB VPB VPWR X
X0 VPWR A a_275_391# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X1 a_275_391# B a_30_57# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X2 a_30_57# B a_479_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X3 VGND A a_315_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X4 a_117_57# A VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X5 VGND a_30_57# X VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X6 a_30_57# B a_479_389# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X7 a_479_57# C VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X8 VPWR a_30_57# X VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X9 a_117_391# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X10 a_479_389# C VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X11 a_315_57# B a_30_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X12 a_30_57# C a_117_391# VPB sky130_fd_pr__pfet_01v8_hvt w=420000u l=150000u
X13 a_30_57# C a_117_57# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
.ends

sky130_fd_sc_lp__maj3_2

not to scale


.subckt sky130_fd_sc_lp__maj3_2 A B C VGND VNB VPB VPWR X
X0 VPWR A a_310_491# VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X1 a_59_491# C a_154_49# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X2 a_318_49# B a_59_491# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X3 a_59_491# B a_482_49# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X4 X a_59_491# VGND VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X5 a_474_491# C VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X6 VPWR a_59_491# X VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X7 a_310_491# B a_59_491# VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X8 VGND A a_318_49# VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X9 X a_59_491# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X10 a_59_491# B a_474_491# VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X11 a_59_491# C a_146_491# VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X12 a_154_49# A VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X13 a_146_491# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=640000u l=150000u
X14 a_482_49# C VGND VNB sky130_fd_pr__nfet_01v8 w=420000u l=150000u
X15 VGND a_59_491# X VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
.ends

sky130_fd_sc_lp__maj3_4

not to scale


.subckt sky130_fd_sc_lp__maj3_4 A B C VGND VNB VPB VPWR X
X0 a_65_367# C a_154_367# VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X1 VPWR A a_318_367# VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X2 a_65_367# C a_154_47# VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X3 a_318_47# B a_65_367# VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X4 a_65_367# B a_482_47# VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X5 VPWR a_65_367# X VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X6 X a_65_367# VGND VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X7 a_482_367# C VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X8 VGND A a_318_47# VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X9 a_154_367# A VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X10 X a_65_367# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X11 VGND a_65_367# X VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X12 a_318_367# B a_65_367# VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X13 VGND a_65_367# X VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X14 VPWR a_65_367# X VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X15 a_154_47# A VGND VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X16 a_482_47# C VGND VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X17 a_65_367# B a_482_367# VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
X18 X a_65_367# VGND VNB sky130_fd_pr__nfet_01v8 w=840000u l=150000u
X19 X a_65_367# VPWR VPB sky130_fd_pr__pfet_01v8_hvt w=1.26e+06u l=150000u
.ends