File:Crossover nand.pdf

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Crossover_nand.pdf(795 × 383 pixels, file size: 22 KB, MIME type: application/pdf)

Summary

Description
English: Crossover gadget for wires x and y, implemented as a planar circuit using ten nand gates. Using this gadget, every boolean circuit can be converted into an equivalent planar circuit, provided nand gates are allowed. Each wire is attached a colored label, corresponding to a column in a truth table. Circuitery inspired from Fig. 11 and 12 (p.14) of: Richard Kaye (Mar 2000). "Minesweeper is NP-complete". The Mathematical Intelligencer 22: 9–15.
Date
Source Own work
Author Jochen Burghardt
Other versions File:Planar SAT Crossover Gadget.png * File:Crossover xor.gif * File:Crossover nand.pdf * File:Crossover nand svg.svg
This circuit image could be re-created using vector graphics as an SVG file. This has several advantages; see Commons:Media for cleanup for more information. If an SVG form of this image is available, please upload it and afterwards replace this template with {{vector version available|new image name}}.


It is recommended to name the SVG file “Crossover nand.svg”—then the template Vector version available (or Vva) does not need the new image name parameter.
LaTeX source code
\documentclass[12pt]{article}
\setlength{\unitlength}{1mm}
\usepackage[pdftex]{color}
\usepackage[paperwidth=135\unitlength,paperheight=65\unitlength]{geometry}
\setlength{\topmargin}{-36mm}
\setlength{\textwidth}{135\unitlength}
\setlength{\textheight}{65\unitlength}
\setlength{\oddsidemargin}{-23mm}
\setlength{\parindent}{0cm}
\pagestyle{empty}
% colors
\definecolor{fWire}     {rgb}{0.40,0.40,0.40}
\definecolor{fGate}     {rgb}{0.00,0.00,0.00}
% signals
\definecolor{foIoI}     {rgb}{0.70,0.00,0.00}
\definecolor{fooII}     {rgb}{0.00,0.70,0.00}
\definecolor{fIIIo}     {rgb}{0.00,0.00,0.70}
\definecolor{fIIoI}     {rgb}{0.00,0.50,0.50}
\definecolor{fIoII}     {rgb}{0.50,0.00,0.50}
\definecolor{foIIo}     {rgb}{0.50,0.50,0.00}

\newcommand{\nand}{%
        \put(0,-5){\line(0,1){10}}%
        \put(0, 0){\oval(10,10)[r]}%
        \put(5, 0){\circle*{2}}%
        %\put(0, 3){\line(1,0){1}}%
        %\put(0,-3){\line(1,0){1}}%
}
\newcommand{\vect}[1]{%
        \textcolor{f#1}{$\scriptstyle #1$}%
}

\begin{document}
\begin{picture}(130,60)%
        %\put(0,0){\makebox(0,0){$+$}}%
        %\put(130,60){\makebox(0,0){$+$}}%
\thicklines%
% x,y input -->
\textcolor{fWire}{\put(5,15){\line(1,0){40}}}%
\textcolor{fWire}{\put(5,45){\line(1,0){40}}}%
\textcolor{fWire}{\put(20,15){\circle*{1}}}%
\textcolor{fWire}{\put(20,45){\circle*{1}}}%
\textcolor{fWire}{\put(20,15){\line(0,1){12}}}%
\textcolor{fWire}{\put(20,45){\line(0,-1){12}}}%
\textcolor{fWire}{\put(20,33){\line(1,0){ 5}}}%
\textcolor{fWire}{\put(20,27){\line(1,0){ 5}}}%
\textcolor{fWire}{\put(20,15){\line(0,-1){13}}}%
\textcolor{fWire}{\put(20,45){\line(0, 1){13}}}%
\textcolor{fWire}{\put(20, 2){\line(1,0){65}}}%
\textcolor{fWire}{\put(20,58){\line(1,0){65}}}%
% x|y -->
\textcolor{fWire}{\put(30,30){\line(1,0){5}}}%
\textcolor{fWire}{\put(35,30){\circle*{1}}}%
\textcolor{fWire}{\put(35,30){\line(0,-1){9}}}%
\textcolor{fWire}{\put(35,30){\line(0, 1){9}}}%
\textcolor{fWire}{\put(35,39){\line(1,0){10}}}%
\textcolor{fWire}{\put(35,21){\line(1,0){10}}}%
% (x|y)|y -->
\textcolor{fWire}{\put(50,18){\line(1,0){25}}}%
\textcolor{fWire}{\put(55,18){\circle*{1}}}%
\textcolor{fWire}{\put(75,18){\circle*{1}}}%
\textcolor{fWire}{\put(55,18){\line(0,1){9}}}%
\textcolor{fWire}{\put(55,27){\line(1,0){10}}}%
\textcolor{fWire}{\put(75,18){\line(0,1){3}}}%
\textcolor{fWire}{\put(75,18){\line(0,-1){10}}}%
\textcolor{fWire}{\put(75,21){\line(1,0){10}}}%
\textcolor{fWire}{\put(75,8){\line(1,0){10}}}%
% (x|y)|x -->
\textcolor{fWire}{\put(50,42){\line(1,0){25}}}%
\textcolor{fWire}{\put(55,42){\circle*{1}}}%
\textcolor{fWire}{\put(75,42){\circle*{1}}}%
\textcolor{fWire}{\put(55,42){\line(0,-1){9}}}%
\textcolor{fWire}{\put(55,33){\line(1,0){10}}}%
\textcolor{fWire}{\put(75,42){\line(0,-1){3}}}%
\textcolor{fWire}{\put(75,42){\line(0,1){10}}}%
\textcolor{fWire}{\put(75,39){\line(1,0){10}}}%
\textcolor{fWire}{\put(75,52){\line(1,0){10}}}%
% x+y -->
\textcolor{fWire}{\put(70,30){\line(1,0){5}}}%
\textcolor{fWire}{\put(75,30){\circle*{1}}}%
\textcolor{fWire}{\put(75,30){\line(0,-1){3}}}%
\textcolor{fWire}{\put(75,30){\line(0, 1){3}}}%
\textcolor{fWire}{\put(75,27){\line(1,0){10}}}%
\textcolor{fWire}{\put(75,33){\line(1,0){10}}}%
% --> nand for y
\textcolor{fWire}{\put(90,55){\line(1,0){5}}}%
\textcolor{fWire}{\put(90,36){\line(1,0){5}}}%
\textcolor{fWire}{\put(95,55){\line(0,-1){7}}}%
\textcolor{fWire}{\put(95,36){\line(0, 1){6}}}%
\textcolor{fWire}{\put(95,48){\line(1,0){10}}}%
\textcolor{fWire}{\put(95,42){\line(1,0){10}}}%
% --> nand for x
\textcolor{fWire}{\put(90, 5){\line(1,0){5}}}%
\textcolor{fWire}{\put(90,24){\line(1,0){5}}}%
\textcolor{fWire}{\put(95, 5){\line(0, 1){7}}}%
\textcolor{fWire}{\put(95,24){\line(0,-1){6}}}%
\textcolor{fWire}{\put(95,12){\line(1,0){10}}}%
\textcolor{fWire}{\put(95,18){\line(1,0){10}}}%
% --> y
\textcolor{fWire}{\put(110,45){\line(1,0){15}}}%
% --> x
\textcolor{fWire}{\put(110,15){\line(1,0){15}}}%
% inputs
\textcolor{fWire}{\put(5,15){\circle*{1}}}%
\put(3,15){\makebox(0,0)[r]{$y$}}%
\textcolor{fWire}{\put(5,45){\circle*{1}}}%
\put(3,45){\makebox(0,0)[r]{$x$}}%
%gates
\textcolor{fGate}{\put(25,30){\nand}}% x|y
%
\textcolor{fGate}{\put(45,18){\nand}}%
\textcolor{fGate}{\put(45,42){\nand}}%
%
\textcolor{fGate}{\put(65,30){\nand}}% x+y
%
\textcolor{fGate}{\put(85, 5){\nand}}%
\textcolor{fGate}{\put(85,24){\nand}}%
\textcolor{fGate}{\put(85,36){\nand}}%
\textcolor{fGate}{\put(85,55){\nand}}%
%
\textcolor{fGate}{\put(105,15){\nand}}% y out
\textcolor{fGate}{\put(105,45){\nand}}% x out
% outputs
\textcolor{fWire}{\put(125,15){\circle*{1}}}%
\put(127,15){\makebox(0,0)[l]{$x$}}%
\textcolor{fWire}{\put(125,45){\circle*{1}}}%
\put(127,45){\makebox(0,0)[l]{$y$}}%
% value vectors
\put( 19,14){\makebox(0,0)[tr]{\vect{oIoI}}}%
\put( 19,46){\makebox(0,0)[br]{\vect{ooII}}}%
\put( 36,30){\makebox(0,0)[l] {\vect{IIIo}}}%
\put( 56,17){\makebox(0,0)[tl]{\vect{IoII}}}%
\put( 56,43){\makebox(0,0)[bl]{\vect{IIoI}}}%
\put( 76,30){\makebox(0,0)[l] {\vect{oIIo}}}%
\put(96, 5){\makebox(0,0)[l] {\vect{IIIo}}}%
\put(96,24){\makebox(0,0)[l] {\vect{IIoI}}}%
\put(96,36){\makebox(0,0)[l] {\vect{IoII}}}%
\put(96,55){\makebox(0,0)[l] {\vect{IIIo}}}%
\put(124,46){\makebox(0,0)[br]{\vect{oIoI}}}%
\put(124,14){\makebox(0,0)[tr]{\vect{ooII}}}%
\end{picture}
\end{document}

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

17 December 2022

application/pdf

6a8d4d260026d2ebc054c5bf6530b685a2d19c62

22,609 byte

383 pixel

795 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current17:28, 18 December 2022Thumbnail for version as of 17:28, 18 December 2022795 × 383 (22 KB)Jochen BurghardtUploaded own work with UploadWizard
No pages on the English Wikipedia use this file (pages on other projects are not listed).

Metadata