Electronic symbols for L^{A}TEX picture mode

Adrian Johnstone^{∗}

October 11, 1992

Contents of the distribution

The files accompanying this document each contain the definition of a single electronic symbol. Currently included are nor, or, nand, and, exnor, exor, not and ot (buffer) gates; P- and N- channel transistors; transmission gates; capacitors; resistors; power supply pins and wiring T-junctions.

The symbols are defined using saveboxes because some of them (the ones with curved lines) use a lot of memory, and typically symbols appear several times in each picture. The full set of symbols is shown in the table on the next page: each symbol is available in four orientations unless it is symmetric between its inputs and outputs in which case only horizontal and vertical versions are needed.

The symbols are designed to be used with a \unitlength of 1mm. They will all scale automatically to other \unitlengths except for vsspin.mac which borrows the \bigtriangledown symbol from cmsym8. I did this because L^{A}TEX cannot draw small enough diagonal lines since the line drawing characters are 10pt long.

You should have 52 files with a filetype of .mac and names corresponding to those shown in the Figure. In addition the distribution includes both lcircuit.ps and lcircuit.dvi (the Postscript and DVI versions of this document), read.me (a copy of the announcement) and palette.pic a picture file containing all the symbols for use with TEXcad as described in the next section.

Recommended use

The symbols with curved lines make use of the bezier.sty file, so you must add the [bezier] option to your \documentstyle command. The reference point for the symbols is the lower left hand corner of the bounding box. This is less than ideal if you are constructing diagrams using the method recommended in the L^{A}TEX book (i.e. graph paper) but believe me, you will go crazy doing it that way anyway.

A much better idea is to get a copy of the TEXcad program written by Georg Horn which allows you to construct diagrams with a mouse. The symbols work well with TEXcad’s default \unitlength of 1mm and default snap grid of 1mm, since all I/O’s are on a 1mm grid. Be sure to get the latest version of TEXcad because versions prior to 2.8 dated October 1990 do not display Bezier curves.

You can use the TEXcad read macro command to pull in the symbols. However, TEXcad does not make use of saveboxes and will strip out all but the picture mode commands as it reads the macros in. As a result your resulting DVI files will probably be larger than necessary, and you are more likely to need a big TEX implementation to produce it.

To make life easier for TEXcad users I have included a picture file palette.pic which contains all the symbols in a compact grid. I suggest you start a schematic by copying

∗Department of Computer Science, Royal Holloway, University of London, Egham, Surrey, UK. Email:adrian@cs.rhbnc.ac.uk

ande.mac     andn.mac     ands.mac    andw.mac

[figure]

nande.mac    nandn.mac    nands.mac   nandw.mac

 ore.mac      orn.mac      ors.mac     orw.mac

[figure]

nore.mac     norn.mac     nors.mac    norw.mac

exore.mac    exorn.mac    exors.mac   exorw.mac

[figure]

nexore.mac   nexorn.mac   nexors.mac  nexorw.mac

[figure]

 ote.mac      otn.mac      ots.mac     otw.mac

[figure]

note.mac     notn.mac     nots.mac    notw.mac

nfete.mac    nfetn.mac    nfets.mac   nfetw.mac

[figure]

pfete.mac    pfetn.mac    pfets.mac   pfetw.mac

[figure: ▽]

tgateew.mac  tgatens.mac  vddpin.mac  vsspin.mac

capew.mac    capns.mac    resew.mac   resns.mac

[figure]

 tje.mac      tjn.mac      tjs.mac     tjw.mac

Figure 1 Electronic symbols palette.pic to a new file and running TEXcad on it. This presents you with copies of all the symbols at the top of the screen and you can then build up your schematic by copying symbols down to the working area.

Credits

Dave Whiteland drew many of the original symbols using TEXcad. He suffered mightily because the Bezier curves had to be drawn blind and then printed out, and then fixed and then. . .. He wrote an elegant program for putting symbols together which has now been made obsolete by the new Bezier-capable TEXcad. I drew most of the easy symbols (the ones with no curves) and shrunk some of Dave’s symbols down. Also I paid Dave’s salary while he did the difficult bits.

Other symbols

The reason that there are only logic and CMOS transistor symbols in the set is that I’m writing a book on CMOS VLSI design and don’t need bipolar transistors etc. However, I’d be very pleased if someone felt like spending an afternoon drawing them in a way that is compatible with my symbols, and I’ll add them to the distribution if you send them to me.

An advertisement

Probably you’re not interested in my VLSI book because there aren’t many silicon designers out there, but I bet you’d be interested in my book L^{A}TEX concisely which tells you, amongst other things, how to analyse the standard style files and how to write your own styles. It is also a complete reference to L^{A}TEX and it’s cheap. Unlike several recent L^{A}TEX books, this one is not just a subset of the Lamport’s book, it actually includes new material! Published by Ellis Horwood, and in your shops now, ISBN 0-13-524539-7.