NAME

maj3 from sky130_fd_sc_ms

DESCRIPTION

3-input majority vote.

FUNCTION

VERILOG

"sky130_fd_sc_ms__maj3"
/*
*/


`ifndef SKY130_FD_SC_MS__MAJ3_FUNCTIONAL_V
`define SKY130_FD_SC_MS__MAJ3_FUNCTIONAL_V

/**

`timescale 1ns / 1ps
`default_nettype none

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

SPICE

LAYOUT

sky130_fd_sc_ms__maj3_1

not to scale



.subckt sky130_fd_sc_ms__maj3_1 A B C VGND VNB VPB VPWR X
X0 a_223_120# B a_84_74# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X1 VPWR A a_229_384# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X2 a_84_74# B a_409_384# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X3 a_229_384# B a_84_74# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X4 a_409_384# C VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X5 X a_84_74# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X6 X a_84_74# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X7 VGND A a_223_120# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X8 a_403_136# C VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X9 VPWR A a_601_384# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X10 a_595_136# C a_84_74# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X11 a_601_384# C a_84_74# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X12 VGND A a_595_136# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X13 a_84_74# B a_403_136# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
.ends

sky130_fd_sc_ms__maj3_2

not to scale


.subckt sky130_fd_sc_ms__maj3_2 A B C VGND VNB VPB VPWR X
X0 a_793_368# C a_87_264# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X1 a_87_264# B a_587_347# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X2 a_587_347# C VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X3 a_87_264# B a_577_74# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X4 VPWR A a_793_368# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X5 a_413_74# B a_87_264# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X6 a_793_74# C a_87_264# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X7 X a_87_264# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X8 VGND a_87_264# X VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X9 VGND A a_413_74# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X10 VGND A a_793_74# VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X11 VPWR A a_396_368# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X12 a_396_368# B a_87_264# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X13 a_577_74# C VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X14 X a_87_264# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X15 VPWR a_87_264# X VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
.ends

sky130_fd_sc_ms__maj3_4

not to scale


.subckt sky130_fd_sc_ms__maj3_4 A B C VGND VNB VPB VPWR X
X0 VPWR a_222_392# X VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X1 a_504_392# B a_222_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X2 VPWR a_222_392# X VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X3 VGND A a_906_78# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X4 a_222_392# B a_122_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X5 VGND a_222_392# X VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X6 VPWR A a_908_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X7 a_222_392# B a_114_125# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X8 a_222_392# B a_504_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X9 VPWR A a_122_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X10 a_908_392# A VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X11 a_504_125# C VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X12 X a_222_392# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X13 a_114_125# A VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X14 a_504_392# C VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X15 X a_222_392# VGND VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X16 VPWR C a_504_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X17 X a_222_392# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X18 a_906_78# C a_222_392# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X19 a_222_392# C a_906_78# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X20 a_122_392# B a_222_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X21 VGND a_222_392# X VNB sky130_fd_pr__nfet_01v8_lvt w=740000u l=150000u
X22 X a_222_392# VPWR VPB sky130_fd_pr__pfet_01v8 w=1.12e+06u l=180000u
X23 VGND A a_114_125# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X24 a_122_392# A VPWR VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X25 a_908_392# C a_222_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X26 VGND C a_504_125# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X27 a_114_125# B a_222_392# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X28 a_222_392# C a_908_392# VPB sky130_fd_pr__pfet_01v8 w=1e+06u l=180000u
X29 a_222_392# B a_504_125# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X30 a_504_125# B a_222_392# VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
X31 a_906_78# A VGND VNB sky130_fd_pr__nfet_01v8_lvt w=640000u l=150000u
.ends