docs: Adding example cell.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
This commit is contained in:
parent
6926ce51f0
commit
1fc041f575
|
@ -0,0 +1 @@
|
||||||
|
../../../libraries/sky130_fd_sc_ms/latest
|
|
@ -0,0 +1 @@
|
||||||
|
v0.0.0
|
|
@ -0,0 +1,33 @@
|
||||||
|
|
||||||
|
:cell_name:`sky130_fd_sc_ms__xor3`
|
||||||
|
==================================
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: 50 50
|
||||||
|
|
||||||
|
* - Without Power Pins
|
||||||
|
- With Power Pins
|
||||||
|
|
||||||
|
* -
|
||||||
|
.. no-license:: sky130_fd_sc_ms__xor3.blackbox.v
|
||||||
|
:language: verilog
|
||||||
|
:linenos:
|
||||||
|
|
||||||
|
-
|
||||||
|
.. no-license:: sky130_fd_sc_ms__xor3.pp.blackbox.v
|
||||||
|
:language: verilog
|
||||||
|
:linenos:
|
||||||
|
|
||||||
|
* -
|
||||||
|
.. image:: sky130_fd_sc_ms__xor3.symbol.svg
|
||||||
|
-
|
||||||
|
.. image:: sky130_fd_sc_ms__xor3.pp.symbol.svg
|
||||||
|
|
||||||
|
* - .. image:: sky130_fd_sc_ms__xor3.schematic.svg
|
||||||
|
- .. image:: sky130_fd_sc_ms__xor3.pp.schematic.svg
|
||||||
|
|
||||||
|
* - .. image:: sky130_fd_sc_ms__xor3.schematic.svg
|
||||||
|
- .. image:: sky130_fd_sc_ms__xor3.pp.schematic.svg
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_BEHAVIORAL_PP_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_BEHAVIORAL_PP_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog simulation functional model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
// Import user defined primitives.
|
||||||
|
`include "../../models/udp_pwrgood_pp_pg/sky130_fd_sc_ms__udp_pwrgood_pp_pg.v"
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
// Module ports
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
|
||||||
|
// Local signals
|
||||||
|
wire xor0_out_X ;
|
||||||
|
wire pwrgood_pp0_out_X;
|
||||||
|
|
||||||
|
// Name Output Other arguments
|
||||||
|
xor xor0 (xor0_out_X , A, B, C );
|
||||||
|
sky130_fd_sc_ms__udp_pwrgood_pp$PG pwrgood_pp0 (pwrgood_pp0_out_X, xor0_out_X, VPWR, VGND);
|
||||||
|
buf buf0 (X , pwrgood_pp0_out_X );
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_BEHAVIORAL_PP_V
|
|
@ -0,0 +1,65 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_BEHAVIORAL_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_BEHAVIORAL_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog simulation functional model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
X,
|
||||||
|
A,
|
||||||
|
B,
|
||||||
|
C
|
||||||
|
);
|
||||||
|
|
||||||
|
// Module ports
|
||||||
|
output X;
|
||||||
|
input A;
|
||||||
|
input B;
|
||||||
|
input C;
|
||||||
|
|
||||||
|
// Module supplies
|
||||||
|
supply1 VPWR;
|
||||||
|
supply0 VGND;
|
||||||
|
supply1 VPB ;
|
||||||
|
supply0 VNB ;
|
||||||
|
|
||||||
|
// Local signals
|
||||||
|
wire xor0_out_X;
|
||||||
|
|
||||||
|
// Name Output Other arguments
|
||||||
|
xor xor0 (xor0_out_X, A, B, C );
|
||||||
|
buf buf0 (X , xor0_out_X );
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_BEHAVIORAL_V
|
|
@ -0,0 +1,57 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_BLACKBOX_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_BLACKBOX_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog stub definition (black box without power pins).
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
(* blackbox *)
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
X,
|
||||||
|
A,
|
||||||
|
B,
|
||||||
|
C
|
||||||
|
);
|
||||||
|
|
||||||
|
output X;
|
||||||
|
input A;
|
||||||
|
input B;
|
||||||
|
input C;
|
||||||
|
|
||||||
|
// Voltage supply signals
|
||||||
|
supply1 VPWR;
|
||||||
|
supply0 VGND;
|
||||||
|
supply1 VPB ;
|
||||||
|
supply0 VNB ;
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_BLACKBOX_V
|
|
@ -0,0 +1,72 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_FUNCTIONAL_PP_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_FUNCTIONAL_PP_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog simulation functional model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
// Import user defined primitives.
|
||||||
|
`include "../../models/udp_pwrgood_pp_pg/sky130_fd_sc_ms__udp_pwrgood_pp_pg.v"
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
// Module ports
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
|
||||||
|
// Local signals
|
||||||
|
wire xor0_out_X ;
|
||||||
|
wire pwrgood_pp0_out_X;
|
||||||
|
|
||||||
|
// Name Output Other arguments
|
||||||
|
xor xor0 (xor0_out_X , A, B, C );
|
||||||
|
sky130_fd_sc_ms__udp_pwrgood_pp$PG pwrgood_pp0 (pwrgood_pp0_out_X, xor0_out_X, VPWR, VGND);
|
||||||
|
buf buf0 (X , pwrgood_pp0_out_X );
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_FUNCTIONAL_PP_V
|
|
@ -0,0 +1,59 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_FUNCTIONAL_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_FUNCTIONAL_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog simulation functional model.
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
X,
|
||||||
|
A,
|
||||||
|
B,
|
||||||
|
C
|
||||||
|
);
|
||||||
|
|
||||||
|
// Module ports
|
||||||
|
output X;
|
||||||
|
input A;
|
||||||
|
input B;
|
||||||
|
input C;
|
||||||
|
|
||||||
|
// Local signals
|
||||||
|
wire xor0_out_X;
|
||||||
|
|
||||||
|
// Name Output Other arguments
|
||||||
|
xor xor0 (xor0_out_X, A, B, C );
|
||||||
|
buf buf0 (X , xor0_out_X );
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_FUNCTIONAL_V
|
|
@ -0,0 +1,58 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_PP_BLACKBOX_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_PP_BLACKBOX_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog stub definition (black box with power pins).
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
(* blackbox *)
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_PP_BLACKBOX_V
|
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created by Symbolator http://kevinpt.github.io/symbolator -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xml:space="preserve"
|
||||||
|
width="191" height="295" viewBox="-25 -56 191.0 295.0" version="1.1">
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
.fnt1 { fill:#000000; font-family:Times; font-size:12pt; font-weight:normal; font-style:italic; }
|
||||||
|
.fnt2 { fill:#000000; font-family:Helvetica; font-size:12pt; font-weight:normal; font-style:normal; }
|
||||||
|
.fnt3 { fill:#000000; font-family:Helvetica; font-size:16pt; font-weight:bold; font-style:normal; }
|
||||||
|
.fnt4 { fill:#000000; font-family:Helvetica; font-size:10pt; font-style:normal; }
|
||||||
|
.label {fill:#000;
|
||||||
|
text-anchor:middle;
|
||||||
|
font-size:16pt; font-weight:bold; font-family:Sans;}
|
||||||
|
.link {fill: #0D47A1;}
|
||||||
|
.link:hover {fill: #0D47A1; text-decoration:underline;}
|
||||||
|
.link:visited {fill: #4A148C;}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
<defs>
|
||||||
|
|
||||||
|
</defs>
|
||||||
|
<rect x="-25" y="-56" width="100%" height="100%" fill="white"/><g transform="translate(0,0)">
|
||||||
|
<rect x="0" y="-21.0" width="140" height="105.0" stroke="#000000" fill="#CCFED2" stroke-width="1"/>
|
||||||
|
<text class="fnt1" x="70.0" y="-5.0" text-anchor="middle" dy="5.5">Data Signals</text>
|
||||||
|
<g transform="translate(0,19)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">A</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,41)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">B</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,63)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">C</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(140,19)">
|
||||||
|
<line x1="20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="-10" y="0" text-anchor="end" dy="5.5">X</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,105.0)">
|
||||||
|
<rect x="0" y="-21.0" width="140" height="127.0" stroke="#000000" fill="#FFBBBB" stroke-width="1"/>
|
||||||
|
<text class="fnt1" x="70.0" y="-5.0" text-anchor="middle" dy="5.5">Power</text>
|
||||||
|
<g transform="translate(0,19)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VPB</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,41)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VPWR</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,63)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VGND</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,85)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">VNB</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<rect x="1.0" y="-20.0" width="138.0" height="230.0" stroke="#000000" fill="none" stroke-width="3"/>
|
||||||
|
<text class="fnt3" x="70.0" y="-30.0" text-anchor="middle" dy="-1.0">xor3</text>
|
||||||
|
<text class="fnt4" x="70.0" y="230.0" text-anchor="middle" dy="1.0">sky130_fd_sc_ms</text>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
|
@ -0,0 +1,53 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_PP_SYMBOL_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_PP_SYMBOL_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog stub (with power pins) for graphical symbol definition
|
||||||
|
* generation.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
(* blackbox *)
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
//# {{data|Data Signals}}
|
||||||
|
input A ,
|
||||||
|
input B ,
|
||||||
|
input C ,
|
||||||
|
output X ,
|
||||||
|
|
||||||
|
//# {{power|Power}}
|
||||||
|
input VPB ,
|
||||||
|
input VPWR,
|
||||||
|
input VGND,
|
||||||
|
input VNB
|
||||||
|
);
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_PP_SYMBOL_V
|
|
@ -0,0 +1,75 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:s="https://github.com/nturley/netlistsvg" width="255" height="129">
|
||||||
|
<style>svg {
|
||||||
|
stroke:#000;
|
||||||
|
fill:none;
|
||||||
|
}
|
||||||
|
text {
|
||||||
|
fill:#000;
|
||||||
|
stroke:none;
|
||||||
|
font-size:10px;
|
||||||
|
font-weight: bold;
|
||||||
|
font-family: "Courier New", monospace;
|
||||||
|
}
|
||||||
|
.nodelabel {
|
||||||
|
text-anchor: middle;
|
||||||
|
}
|
||||||
|
.inputPortLabel {
|
||||||
|
text-anchor: end;
|
||||||
|
}
|
||||||
|
.splitjoinBody {
|
||||||
|
fill:#000;
|
||||||
|
}</style>
|
||||||
|
<g s:type="reduce_xor" transform="translate(77,27)" s:width="33" s:height="25" id="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$1">
|
||||||
|
<s:alias val="$xor"/>
|
||||||
|
<s:alias val="$reduce_xor"/>
|
||||||
|
<s:alias val="$_XOR_"/>
|
||||||
|
<path d="M3,0 A30 25 0 0 1 3,25 A30 25 0 0 0 33,12.5 A30 25 0 0 0 3,0" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$1"/>
|
||||||
|
<path d="M0,0 A30 25 0 0 1 0,25" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$1"/>
|
||||||
|
<g s:x="3" s:y="5" s:pid="A"/>
|
||||||
|
<g s:x="3" s:y="20" s:pid="B"/>
|
||||||
|
<g s:x="33" s:y="12.5" s:pid="Y"/>
|
||||||
|
</g>
|
||||||
|
<g s:type="reduce_xor" transform="translate(145,34.5)" s:width="33" s:height="25" id="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$2">
|
||||||
|
<s:alias val="$xor"/>
|
||||||
|
<s:alias val="$reduce_xor"/>
|
||||||
|
<s:alias val="$_XOR_"/>
|
||||||
|
<path d="M3,0 A30 25 0 0 1 3,25 A30 25 0 0 0 33,12.5 A30 25 0 0 0 3,0" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$2"/>
|
||||||
|
<path d="M0,0 A30 25 0 0 1 0,25" class="cell_$xor$../skywater-pdk-scratch-new/skywater-pdk/libraries/sky130_fd_sc_ms/v0.0.1/cells/xor3/sky130_fd_sc_ms__xor3.functional.v:52$2"/>
|
||||||
|
<g s:x="3" s:y="5" s:pid="A"/>
|
||||||
|
<g s:x="3" s:y="20" s:pid="B"/>
|
||||||
|
<g s:x="33" s:y="12.5" s:pid="Y"/>
|
||||||
|
</g>
|
||||||
|
<g s:type="outputExt" transform="translate(213,37)" s:width="30" s:height="20" id="cell_X">
|
||||||
|
<text x="15" y="-4" class="nodelabel cell_X" s:attribute="ref">X</text>
|
||||||
|
<s:alias val="$_outputExt_"/>
|
||||||
|
<path d="M30,0 L30,20 L15,20 L0,10 L15,0 Z" class="cell_X"/>
|
||||||
|
<g s:x="0" s:y="10" s:pid="A"/>
|
||||||
|
</g>
|
||||||
|
<g s:type="inputExt" transform="translate(12,22)" s:width="30" s:height="20" id="cell_A">
|
||||||
|
<text x="15" y="-4" class="nodelabel cell_A" s:attribute="ref">A</text>
|
||||||
|
<s:alias val="$_inputExt_"/>
|
||||||
|
<path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_A"/>
|
||||||
|
<g s:x="28" s:y="10" s:pid="Y"/>
|
||||||
|
</g>
|
||||||
|
<g s:type="inputExt" transform="translate(12,87)" s:width="30" s:height="20" id="cell_B">
|
||||||
|
<text x="15" y="-4" class="nodelabel cell_B" s:attribute="ref">B</text>
|
||||||
|
<s:alias val="$_inputExt_"/>
|
||||||
|
<path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_B"/>
|
||||||
|
<g s:x="28" s:y="10" s:pid="Y"/>
|
||||||
|
</g>
|
||||||
|
<g s:type="inputExt" transform="translate(80,97)" s:width="30" s:height="20" id="cell_C">
|
||||||
|
<text x="15" y="-4" class="nodelabel cell_C" s:attribute="ref">C</text>
|
||||||
|
<s:alias val="$_inputExt_"/>
|
||||||
|
<path d="M0,0 L0,20 L15,20 L30,10 L15,0 Z" class="cell_C"/>
|
||||||
|
<g s:x="28" s:y="10" s:pid="Y"/>
|
||||||
|
</g>
|
||||||
|
<line x1="40" x2="80" y1="32" y2="32" class="net_3"/>
|
||||||
|
<line x1="40" x2="52" y1="97" y2="97" class="net_4"/>
|
||||||
|
<line x1="52" x2="52" y1="97" y2="47" class="net_4"/>
|
||||||
|
<line x1="52" x2="80" y1="47" y2="47" class="net_4"/>
|
||||||
|
<line x1="110" x2="148" y1="39.5" y2="39.5" class="net_6"/>
|
||||||
|
<line x1="108" x2="120" y1="107" y2="107" class="net_5"/>
|
||||||
|
<line x1="120" x2="120" y1="107" y2="54.5" class="net_5"/>
|
||||||
|
<line x1="120" x2="148" y1="54.5" y2="54.5" class="net_5"/>
|
||||||
|
<line x1="178" x2="213" y1="47" y2="47" class="net_2"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
specify
|
||||||
|
if ((!B&!C)) (A +=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((!B&C)) (A -=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((B&!C)) (A -=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((B&C)) (A +=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((!A&!C)) (B +=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((!A&C)) (B -=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((A&!C)) (B -=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((A&C)) (B +=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((!A&!B)) (C +=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((!A&B)) (C -=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((A&!B)) (C -=> X) = (0:0:0,0:0:0);
|
||||||
|
if ((A&B)) (C +=> X) = (0:0:0,0:0:0);
|
||||||
|
endspecify
|
|
@ -0,0 +1,47 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created by Symbolator http://kevinpt.github.io/symbolator -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xml:space="preserve"
|
||||||
|
width="191" height="168" viewBox="-25 -56 191.0 168.0" version="1.1">
|
||||||
|
<style type="text/css">
|
||||||
|
<![CDATA[
|
||||||
|
.fnt1 { fill:#000000; font-family:Times; font-size:12pt; font-weight:normal; font-style:italic; }
|
||||||
|
.fnt2 { fill:#000000; font-family:Helvetica; font-size:12pt; font-weight:normal; font-style:normal; }
|
||||||
|
.fnt3 { fill:#000000; font-family:Helvetica; font-size:16pt; font-weight:bold; font-style:normal; }
|
||||||
|
.fnt4 { fill:#000000; font-family:Helvetica; font-size:10pt; font-style:normal; }
|
||||||
|
.label {fill:#000;
|
||||||
|
text-anchor:middle;
|
||||||
|
font-size:16pt; font-weight:bold; font-family:Sans;}
|
||||||
|
.link {fill: #0D47A1;}
|
||||||
|
.link:hover {fill: #0D47A1; text-decoration:underline;}
|
||||||
|
.link:visited {fill: #4A148C;}
|
||||||
|
]]>
|
||||||
|
</style>
|
||||||
|
<defs>
|
||||||
|
|
||||||
|
</defs>
|
||||||
|
<rect x="-25" y="-56" width="100%" height="100%" fill="white"/><g transform="translate(0,0)">
|
||||||
|
<rect x="0" y="-21.0" width="140" height="105.0" stroke="#000000" fill="#CCFED2" stroke-width="1"/>
|
||||||
|
<text class="fnt1" x="70.0" y="-5.0" text-anchor="middle" dy="5.5">Data Signals</text>
|
||||||
|
<g transform="translate(0,19)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">A</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,41)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">B</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(0,63)">
|
||||||
|
<line x1="-20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="10" y="0" text-anchor="normal" dy="5.5">C</text>
|
||||||
|
</g>
|
||||||
|
<g transform="translate(140,19)">
|
||||||
|
<line x1="20" y1="0" x2="0" y2="0" stroke="#000000" fill="none" stroke-width="1"/>
|
||||||
|
<text class="fnt2" x="-10" y="0" text-anchor="end" dy="5.5">X</text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<rect x="1.0" y="-20.0" width="138.0" height="103.0" stroke="#000000" fill="none" stroke-width="3"/>
|
||||||
|
<text class="fnt3" x="70.0" y="-30.0" text-anchor="middle" dy="-1.0">xor3</text>
|
||||||
|
<text class="fnt4" x="70.0" y="103.0" text-anchor="middle" dy="1.0">sky130_fd_sc_ms</text>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
|
@ -0,0 +1,54 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_SYMBOL_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_SYMBOL_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog stub (without power pins) for graphical symbol definition
|
||||||
|
* generation.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
(* blackbox *)
|
||||||
|
module sky130_fd_sc_ms__xor3 (
|
||||||
|
//# {{data|Data Signals}}
|
||||||
|
input A,
|
||||||
|
input B,
|
||||||
|
input C,
|
||||||
|
output X
|
||||||
|
);
|
||||||
|
|
||||||
|
// Voltage supply signals
|
||||||
|
supply1 VPWR;
|
||||||
|
supply0 VGND;
|
||||||
|
supply1 VPB ;
|
||||||
|
supply0 VNB ;
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_SYMBOL_V
|
|
@ -0,0 +1,104 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_TB_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_TB_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Autogenerated test bench.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`include "sky130_fd_sc_ms__xor3.v"
|
||||||
|
|
||||||
|
module top();
|
||||||
|
|
||||||
|
// Inputs are registered
|
||||||
|
reg A;
|
||||||
|
reg B;
|
||||||
|
reg C;
|
||||||
|
reg VPWR;
|
||||||
|
reg VGND;
|
||||||
|
reg VPB;
|
||||||
|
reg VNB;
|
||||||
|
|
||||||
|
// Outputs are wires
|
||||||
|
wire X;
|
||||||
|
|
||||||
|
initial
|
||||||
|
begin
|
||||||
|
// Initial state is x for all inputs.
|
||||||
|
A = 1'bX;
|
||||||
|
B = 1'bX;
|
||||||
|
C = 1'bX;
|
||||||
|
VGND = 1'bX;
|
||||||
|
VNB = 1'bX;
|
||||||
|
VPB = 1'bX;
|
||||||
|
VPWR = 1'bX;
|
||||||
|
|
||||||
|
#20 A = 1'b0;
|
||||||
|
#40 B = 1'b0;
|
||||||
|
#60 C = 1'b0;
|
||||||
|
#80 VGND = 1'b0;
|
||||||
|
#100 VNB = 1'b0;
|
||||||
|
#120 VPB = 1'b0;
|
||||||
|
#140 VPWR = 1'b0;
|
||||||
|
#160 A = 1'b1;
|
||||||
|
#180 B = 1'b1;
|
||||||
|
#200 C = 1'b1;
|
||||||
|
#220 VGND = 1'b1;
|
||||||
|
#240 VNB = 1'b1;
|
||||||
|
#260 VPB = 1'b1;
|
||||||
|
#280 VPWR = 1'b1;
|
||||||
|
#300 A = 1'b0;
|
||||||
|
#320 B = 1'b0;
|
||||||
|
#340 C = 1'b0;
|
||||||
|
#360 VGND = 1'b0;
|
||||||
|
#380 VNB = 1'b0;
|
||||||
|
#400 VPB = 1'b0;
|
||||||
|
#420 VPWR = 1'b0;
|
||||||
|
#440 VPWR = 1'b1;
|
||||||
|
#460 VPB = 1'b1;
|
||||||
|
#480 VNB = 1'b1;
|
||||||
|
#500 VGND = 1'b1;
|
||||||
|
#520 C = 1'b1;
|
||||||
|
#540 B = 1'b1;
|
||||||
|
#560 A = 1'b1;
|
||||||
|
#580 VPWR = 1'bx;
|
||||||
|
#600 VPB = 1'bx;
|
||||||
|
#620 VNB = 1'bx;
|
||||||
|
#640 VGND = 1'bx;
|
||||||
|
#660 C = 1'bx;
|
||||||
|
#680 B = 1'bx;
|
||||||
|
#700 A = 1'bx;
|
||||||
|
end
|
||||||
|
|
||||||
|
sky130_fd_sc_ms__xor3 dut (.A(A), .B(B), .C(C), .VPWR(VPWR), .VGND(VGND), .VPB(VPB), .VNB(VNB), .X(X));
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_TB_V
|
|
@ -0,0 +1,54 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog top module.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`ifdef USE_POWER_PINS
|
||||||
|
|
||||||
|
`ifdef FUNCTIONAL
|
||||||
|
`include "sky130_fd_sc_ms__xor3.pp.functional.v"
|
||||||
|
`else // FUNCTIONAL
|
||||||
|
`include "sky130_fd_sc_ms__xor3.pp.behavioral.v"
|
||||||
|
`endif // FUNCTIONAL
|
||||||
|
|
||||||
|
`else // USE_POWER_PINS
|
||||||
|
|
||||||
|
`ifdef FUNCTIONAL
|
||||||
|
`include "sky130_fd_sc_ms__xor3.functional.v"
|
||||||
|
`else // FUNCTIONAL
|
||||||
|
`include "sky130_fd_sc_ms__xor3.behavioral.v"
|
||||||
|
`endif // FUNCTIONAL
|
||||||
|
|
||||||
|
`endif // USE_POWER_PINS
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_V
|
|
@ -0,0 +1,119 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_1_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_1_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog wrapper for xor3 with size of 1 units.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`include "sky130_fd_sc_ms__xor3.v"
|
||||||
|
|
||||||
|
`ifdef USE_POWER_PINS
|
||||||
|
/*********************************************************/
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3_1 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
sky130_fd_sc_ms__xor3 cell (
|
||||||
|
.X(X),
|
||||||
|
.A(A),
|
||||||
|
.B(B),
|
||||||
|
.C(C),
|
||||||
|
.VPWR(VPWR),
|
||||||
|
.VGND(VGND),
|
||||||
|
.VPB(VPB),
|
||||||
|
.VNB(VNB)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
|
`else // If not USE_POWER_PINS
|
||||||
|
/*********************************************************/
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3_1 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
|
||||||
|
// Voltage supply signals
|
||||||
|
supply1 VPWR;
|
||||||
|
supply0 VGND;
|
||||||
|
supply1 VPB ;
|
||||||
|
supply0 VNB ;
|
||||||
|
|
||||||
|
sky130_fd_sc_ms__xor3 cell (
|
||||||
|
.X(X),
|
||||||
|
.A(A),
|
||||||
|
.B(B),
|
||||||
|
.C(C)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
|
`endif // USE_POWER_PINS
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_1_V
|
|
@ -0,0 +1,119 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_2_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_2_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog wrapper for xor3 with size of 2 units.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`include "sky130_fd_sc_ms__xor3.v"
|
||||||
|
|
||||||
|
`ifdef USE_POWER_PINS
|
||||||
|
/*********************************************************/
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3_2 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
sky130_fd_sc_ms__xor3 cell (
|
||||||
|
.X(X),
|
||||||
|
.A(A),
|
||||||
|
.B(B),
|
||||||
|
.C(C),
|
||||||
|
.VPWR(VPWR),
|
||||||
|
.VGND(VGND),
|
||||||
|
.VPB(VPB),
|
||||||
|
.VNB(VNB)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
|
`else // If not USE_POWER_PINS
|
||||||
|
/*********************************************************/
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3_2 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
|
||||||
|
// Voltage supply signals
|
||||||
|
supply1 VPWR;
|
||||||
|
supply0 VGND;
|
||||||
|
supply1 VPB ;
|
||||||
|
supply0 VNB ;
|
||||||
|
|
||||||
|
sky130_fd_sc_ms__xor3 cell (
|
||||||
|
.X(X),
|
||||||
|
.A(A),
|
||||||
|
.B(B),
|
||||||
|
.C(C)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
|
`endif // USE_POWER_PINS
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_2_V
|
|
@ -0,0 +1,119 @@
|
||||||
|
/**
|
||||||
|
* Copyright 2020 The SkyWater PDK Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
`ifndef SKY130_FD_SC_MS__XOR3_4_V
|
||||||
|
`define SKY130_FD_SC_MS__XOR3_4_V
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xor3: 3-input exclusive OR.
|
||||||
|
*
|
||||||
|
* X = A ^ B ^ C
|
||||||
|
*
|
||||||
|
* Verilog wrapper for xor3 with size of 4 units.
|
||||||
|
*
|
||||||
|
* WARNING: This file is autogenerated, do not modify directly!
|
||||||
|
*/
|
||||||
|
|
||||||
|
`timescale 1ns / 1ps
|
||||||
|
`default_nettype none
|
||||||
|
|
||||||
|
`include "sky130_fd_sc_ms__xor3.v"
|
||||||
|
|
||||||
|
`ifdef USE_POWER_PINS
|
||||||
|
/*********************************************************/
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3_4 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
sky130_fd_sc_ms__xor3 cell (
|
||||||
|
.X(X),
|
||||||
|
.A(A),
|
||||||
|
.B(B),
|
||||||
|
.C(C),
|
||||||
|
.VPWR(VPWR),
|
||||||
|
.VGND(VGND),
|
||||||
|
.VPB(VPB),
|
||||||
|
.VNB(VNB)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
|
`else // If not USE_POWER_PINS
|
||||||
|
/*********************************************************/
|
||||||
|
|
||||||
|
`celldefine
|
||||||
|
module sky130_fd_sc_ms__xor3_4 (
|
||||||
|
X ,
|
||||||
|
A ,
|
||||||
|
B ,
|
||||||
|
C ,
|
||||||
|
VPWR,
|
||||||
|
VGND,
|
||||||
|
VPB ,
|
||||||
|
VNB
|
||||||
|
);
|
||||||
|
|
||||||
|
output X ;
|
||||||
|
input A ;
|
||||||
|
input B ;
|
||||||
|
input C ;
|
||||||
|
input VPWR;
|
||||||
|
input VGND;
|
||||||
|
input VPB ;
|
||||||
|
input VNB ;
|
||||||
|
|
||||||
|
// Voltage supply signals
|
||||||
|
supply1 VPWR;
|
||||||
|
supply0 VGND;
|
||||||
|
supply1 VPB ;
|
||||||
|
supply0 VNB ;
|
||||||
|
|
||||||
|
sky130_fd_sc_ms__xor3 cell (
|
||||||
|
.X(X),
|
||||||
|
.A(A),
|
||||||
|
.B(B),
|
||||||
|
.C(C)
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
||||||
|
`endcelldefine
|
||||||
|
|
||||||
|
/*********************************************************/
|
||||||
|
`endif // USE_POWER_PINS
|
||||||
|
|
||||||
|
`default_nettype wire
|
||||||
|
`endif // SKY130_FD_SC_MS__XOR3_4_V
|
Loading…
Reference in New Issue