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