Contents

The following Help Topics are available:

Introduction to CircuitMaker

Using CircuitMaker

Schematic Capture 	How to draw circuits

Macro Devices 	How to create new devices

Digital Simulation 	How to use the digital simulator

Analog Simulation 	How to use the analog simulator

CircuitMaker Menus

File Menu 	Saving, printing, exporting, etc.

Edit Menu 	Copy, paste, edit selected device, etc.

Macros Menu 	Macro editing utilities

Options Menu 	Special features and simulation options

View Menu 	Circuit display options

Library Menus 	List of devices

For Help on Help, Press F1


Index

A B C D E F G H I J K L M N O P Q R S T U V W X  Y Z

Symbols

%

+V

.IC

.NODESET

1K RAM

4x4 Switch

555 Timer

74XXX Devices

A

About CircuitMaker...

AC Analysis

Analog

Analog Analyses

Analog Instruments

Analog Options

Analog Simulation

Analog Simulation Example

Analysis Probe

AND Gates

Animatied Devices

Arrow Tool

Arrow/Wire

Ascii

Ascii Display

Ascii Key

Auto Designation

Auto Designation command

Auto Designation Prefix

Auto Refresh

Auto Routing

B

Battery

Bipolar Junction Transistors (BJTs)

Buffer

Building Your First Circuit

Bus Data

Bus Wires

Bus Connection Wire

Bus Wire

Using Bus Wires

C

CA 7-Seg

Capacitors

Capacitor

Polar Cap

Var Capacitor

SPICE Description

Car

Cascade Windows

CC 7-Seg

CD4XXX Devices

Circuit Display Data

Circuit Info

Close

Coax

Coil 3T

Coil 5T

Comparators

Comparator5

Comparator6

Connection Area

Connectors

Connector

DB-15

DB-25

DB-9

Input

Output

Controlled Switches

Copy

Copy Circuit

Copy Protection

Copy Waveforms

Copyright

Coupled (Mutual) Inductors

Crystal

CTTransformer

Current-Controlled Current Sources

Current-Controlled Switches

Current-Controlled Voltage Sources

Cursor Tools

Cut

D

Data Seq

Data Sequencer

DB Type Connectors

DB-15

DB-25

DB-9

DC Analysis

Default Pin #s

Default Transient Analysis

Define New Macro

Delete Tool

Dependent Sources

Designation

Device

Device Display Data...

Device List

Digital

Digital Instruments

Digital Options

Digital Simulation

Digital Simulation Example

Digital Waveforms

Digital vs. Analog

Digital/Analog Button

Diodes

Diode

LED

SPICE Description

Directories and Files...

Disclaimer

Display

Display Scale...

Display Toolbar

Displaying Waveforms

Drawing Grid...

Duplicate

E

Edit

Edit Bus Connection

Edit Bus Wire Number

Edit Data Sequencer

Edit Device Data

Edit Device Pin Data

Edit Input/Output

Edit Macro Name

Edit Macro Pin

Edit Multimeter

Edit PROM/RAM

Edit Pulser

Edit Scope Name

Edit/Select Spice Model

Edit Selected Item

Edit Signal Generator

Edit Menu

Editing Tools

Exit

Expand Macro

Exponential

Export

Export Circuit

Export Waveforms

F

File Menu

Fit Circuit To Window

FM Signal

Fuse

FW Bridge

G

Generic Logic Devices

Graphics Windows

Ground

H

Help

Help Tool

Hex

Hex Display

Hex Key

I

I Source

I->I Source

I->Switch

I->V Source

IC Statement

Import/Export Format

Independent Sources

Inductors

Inductor

Var Inductor

SPICE Description

Initial Conditions

Input

Input Devices

Installing CircuitMaker

Internal Variables

Introduction to CircuitMaker

Introduction to Macro Devices

Inverter

J

Junction Diodes

Junction Field-Effect Transistors (JFETs)

L

Label-Value

Labeling the Circuit

Lamp

LED

Library Menus

Linear Current-Controlled Current Sources

Linear Current-Controlled Voltage Sources

Linear Voltage-Controlled Current Sources

Linear Voltage-Controlled Voltage Sources

Logic Display

Logic Switch

Lossless Transmission Lines

LossLessLine

Lossy Transmission Lines

LossyLine

M

Macro Button

Macro Copier

Macro Devices

Macro Tools

Macro Utilities

Macros Menu

Manual Routing

Merge

MESFETs

Mirror Button

MOSFETs

Move

Multi-function Signal Generator

Multimeter

Multimeter Setup

N

N-JFET

N-MESFET

N-MOSFET 3T

N-MOSFET 4T

N-UJT

Naming Tool

NAND Gates

NC PushButton

New

NLI Source

NLV Source

NODESET Statement

NO PushButton

Non-linear Dependent Sources

NOR Gates

Normal Size/Position

NPN Darling1

NPN Darling2

NPN Darling3

NPN Trans

O

Offsetting Waveforms

Op Amp

Op-Amp5

Op-Amp7

Open

Operating Point Analysis

Options Menu

OptoIsolator

OR Gates

Output

Output Devices

P

P-JFET

P-MESFET

P-MOSFET 3T

P-MOSFET 4T

Package

Page Connectors

Input

Output

Passive Components

Paste

Piece-Wise...

Piezo Buzzer

Pin Tools Button

Pin Editing

Placing Devices

PNP Darling1

PNP Darling2

PNP Darling3

PNP Trans

Polar Cap

Power & Signal Sources

Preferences

Print

Print Circuit

Print Setup

Print Waveforms

Printing and Exporting Circuits

Probe Tool

PROM32

Propagation Delays

Pulse\Triangle\Sawtooth...

Pulser

Pulser Setup

PUT

Q

Quad 3-State

Quad D Flop

R

Reference3

Refresh Screen

Regulator3

Repeat On

Required Hardware/Software

Reset Button

Reset Simulation

Resistors

Resistor

Var Resistor

SPICE Description

Revert

Rocket

Rotate 90 Button

Run Simulation

Run/Stop Button

S

Save

Save As

Save Macro

Save Parts List

Save Spice Netlist

Schematic Capture

Scope Probe

SCOPE

SCR

Select All

Select Colors

Select Font

Semiconductor Devices

Set Auto Designation

Set Prop Delay(s)

Show

Show Bus Labels

Show Node Numbers

Show Page Breaks

Show Pin Dots

Show Prop Delays

Signal Gen

Simulation Tools

Sine Wave

Software License Agreement

SPDT Relay

SPDT Switch

Speaker

SPICE

Spice Data

SPICE Models

SPICE Options

Spice Prefix Character(s)

SPICE Subcircuits

SPICE's Elementary Devices

SPST Switch

Step Button

Step Simulation

Stepper

Stoplight

Subcircuits

T

Technical Support

Terminal

Text

Text Tool

Tile Windows

Title Box

Toolbar

Trace Button

Trans1

Trans2

Trans3

Transformer

Transformers

Transient Analysis

Transmission Lines

Triac

TwinLead

TwistedPair

U

U.S. Government Restricted Provisions

Undo

Uniform Distributed RC Lines (Lossy)

URC-Line

Using Bus Wires

Using the Analog Simulator

Using the Digital Simulator

V

V->I Source

V Source

V->Switch

V->V Source

Var Capacitor

Var Inductor

Var Resistor

View Menu

Voltage-Controlled Current Sources

Voltage-Controlled Switches

Voltage-Controlled Voltage Sources

W

Warranty

Waveform Cursors

Waveform Reset Button

Waveform Setup Button

Waveforms

Waveforms Button

What is CircuitMaker?

Window

Windows

Wire

Wire Tool

Wiring the Circuit

X

XOR Gates

Z

Zener Diode

Zoom Tool


Introduction to CircuitMaker

What is CircuitMaker?

Required Hardware/Software

Installing CircuitMaker

Multi-user (Project) Installations

Technical Support

Copy Protection

Copyright

Software License Agreement

Disclaimer

Warranty

U.S. Government Restricted Provisions


Schematic Capture

Building Your First Circuit

The Editing Tools

Placing Devices

Wiring the Circuit

Using Bus Wires

Labeling the Circuit

Edit Device Data

Printing and Exporting Circuits

Creating User-defined Schematic Symbols


Macro Devices

Introduction to Macro Devices

The Macro Tools

Creating a Macro Device With a Predefined Package Style

Creating a Macro Device With a User Defined Package Style

Attaching a SPICE Model or Subcircuit to a Device


Digital Simulation

One of the most important features of CircuitMaker is its ability to simulate your design, thus enabling you to detect and correct design errors prior to investing time and money in the construction of actual hardware prototypes.

Digital vs. Analog

Using the Digital Simulator

Digital Simulation Example

The Simulation Tools

Propagation Delays

The Pulser

The Data Sequencer

Digital Waveforms

Digital Options


Analog Simulation

One of the most important features of CircuitMaker is its ability to simulate your design, thus enabling you to detect and correct design errors prior to investing time and money in the construction of actual hardware prototypes.

Digital vs. Analog

Using the Analog Simulator

Analog Simulation Example

The Simulation Tools

The Graphics Windows

The Analog Analyses

Initial Conditions

SPICE's Elementary Devices

SPICE Models

SPICE Subcircuits

SPICE Options

The Multimeter

The Multi-function Signal Generator


File Menu

The File menu contains commands that enable you to open, save and print circuits and waveforms.

Click on the menu below for more information about each item.


Edit Menu

The Edit menu provides some of the tools necessary to construct and modify circuit diagrams.

Click on the menu below for more information about each item.


Macros Menu

Using commands in the Macros menu you can expand CircuitMaker to meet your exact needs. This chapter describes the commands used to create, edit and manipulate macros.  Refer to Macro Devices for a step-by-step tutorial about creating macro devices.

Click on the menu below for more information about each item.


Options Menu

The Options menu contains commands which enable you to control various editing and simulation options.

Click on the menu below for more information about each item.


View Menu

The View menu contains commands which enable you to control various display options and windows.

Many of the items in the View menu are an on/off type option.  If a check mark is shown beside an item then the item is currently enabled.  If a check mark is not shown by an item then it is currently disabled.  Just select the menu item and it will be either enabled (checked) or disabled (not checked).

Click on the menu below for more information about each item.


Library Menus

These menus are used to select devices from the device libraries DEVICE.LIB and USER.LIB.  The devices Multimeter through PROM32 are stored in the file DEVICE.LIB while all devices following PROM32 are "macro" devices which are stored in USER.LIB.  All macro devices created by the user are stored in USER.LIB.  Macro devices are indicated in the pulldown menus by a special symbol in front of each macro name.  The hollow symbol (¤) indicates a macro with no internal circuitry, while an asterisk (*) indicates that the macro contains at least one internal wire or device.

Use the mouse to select the desired device from any library menu.  Once you have selected a device it will be drawn in the center of the circuit window and will follow the mouse to any position within that window.  If the portion of the work area where you want to position the device is not currently visible, move the device to the border of the window and the circuit will automatically scroll and will continue to scroll until you either move the device away from the border or you reach the extreme edge of the work area.  To place the device click the mouse and the device will be placed at its present position.  To cancel placement of the device press any key or double-click the mouse.

The Repeat On option allows you to control whether the same device can be placed in the work area multiple times, or if you must select each device separately to place it.

See the Device List for a description of each device.  Note that some are intended for use with the analog simulator, some with the digital simulator and some with both.  Also, a few of the devices are included for schematic purposes only and do not provide any simulation data.


Device List

Buses, Connectors & Switches

Digital

Digital Instruments

Input Devices

Output Devices

Generic Logic Devices

74XXX Devices

CD4XXX Devices

Animated Devices

Miscellaneous Digital Devices

Analog

Initial Condition Devices

Analog Instruments

Power & Signal Sources

Controlled Switches

Passive Components

Semiconductor Devices

Transformers

Transmission Lines

Miscellaneous Analog Devices


Buses, Connectors & Switches

These devices can be used in both Digital and Analog simulation modes.  The switches cannot be activated while analog simulation is running.

+V 	Digital Pullup, Analog DC Voltage Supply

Ground 	Digital Pulldown, Analog Ground reference

Terminal 	Schematic Symbol

Input 	Page Connector

Output 	Page Connector

Connector 	Connector

DB-9 	9-pin DB Type Connector

DB-15 	15-pin DB Type Connector

DB-25  	25-pin DB Type Connector

SPST Switch 	Single-pole Single-throw Switch

SPDT Switch  	Single-pole Double-throw Switch

NO PushButton 	Normally Open Push-button Switch

NC PushButton  	Normally Closed Push-button Switch


Digital Instruments

The digital instruments can be placed multiple times in a single circuit.

Pulser 	Digital Pulse Generator

Data Seq 	Data Sequencer/Word Generator

SCOPE 	Digital Scope Probe


Input Devices

The input devices provide an interactive stimulus for your circuit.

Logic Switch 	Debounced Switch

4x4 Switch 	Hex Keypad Switch Matrix

Hex Key 	Hex Keypad

Ascii Key 	Keyboard


Output Devices

Many of the digital devices provide some kind of visible or audible output to help you monitor the functionality of your circuit.

Visible

Lamp	Lamp

Logic Display 	Binary Display

LED 	Light-emitting Diode

CA 7-Seg 	Common-anode 7-segment LED

CC 7-Seg  	Common-cathode 7-segment LED

Hex Display 	7-segment LED with HEX Decoder

Ascii Display 	16 x 4 ASCII Display

Stoplight 	3-color Traffic Light

Audible

Piezo Buzzer 	Piezo Buzzer

Speaker 	Speaker

See also:

Animated Devices


Generic Logic Devices

Buffer:	If the input is high, the output will be high.

Inverter:	If the input is high, the output will be low.

Quad D Flop:	Quad D Flip-Flop

Quad 3-State:	Quad 3-State Buffer

AND gates:	If all inputs are high, the output will be high.

2-Input AND

3-Input AND

4-Input AND

OR gates:	If any input is high, the output will be high.

2-Input OR

3-Input OR

4-Input OR

NAND gates:	If all inputs are high, the output will be low.

2-Input NAND

3-Input NAND

4-Input NAND

NOR gates:	If any input is high, the output will be low.

2-Input NOR

3-Input NOR

4-Input NOR

XOR gates:	If one and only one input is high, the output will be high.

2-Input XOR


Animatied Devices

The animated devices provide special visual effects to help you monitor the functionality of your circuit.

Stepper 	Stepper Motor that Rotates

Car 	Car that Travels

Rocket 	Rocket that Launches

Window 	Window that Opens/Closes


Miscellaneous Digital Devices

1K RAM 	1k x 8 Random Access Memory

PROM32 	32 x 8 Programmable Read Only Memory

SPDT Relay 	Single-pole Double-throw Relay

OptoIsolator 	NPN Optical Isolator

Resistor 	Pullup/Pulldown Resistor


Initial Condition Devices

These devices are provided to supply initial condition information to any given node.

.IC 	Set Initial Conditions

.NODESET 	Specify Initial Node Voltage Guesses


Analog Instruments

The analog instruments can be placed multiple times in a single circuit.

Multimeter 	Measure DC, AC RMS or Operating Point  --  Voltage/Current

Analysis Probe 	Reseved for future use


Power & Signal Sources

SPICE allows use of both dependent and independent sources.

Independent Sources

Signal Gen 	Multifunction Signal Generator

V Source  	DC Voltage Source

I Source  	DC Current Source

Battery 	DC Voltage Source

Dependent Sources

V->V Source 	Linear Voltage-controlled Voltage Source

V->I Source 	Linear Voltage-controlled Current Source

I->V Source 	Linear Current-controlled Voltage Source

I->I Source 	Linear Current-controlled Current Source

NLV Source 	Nonlinear Voltage Source

NLI Source 	Nonlinear Current Source


Controlled Switches

Controlled switches can be used like relays to open or close a switch when a specified threshold voltage or current is reached on the input pins.

I->Switch 	Current-controlled Switch

V->Switch 	Voltage-controlled Switch


Passive Components

These are ideal components.

Resistor 	Resistor

Var Resistor 	Variable Resistor (Potentiometer)

Capacitor 	Capacitor

Polar Cap 	Polarized Capacitor

Var Capacitor	Variable Capacitor

Inductor 	Inductor

Var Inductor	Variable Inductor

Coil 3T 	Inductor (3 turns)

Coil 5T 	Inductor (5 turns)


Semiconductor Devices

These devices are defined by SPICE models or subcircuits.

Diode 	Junction Diode

FW Bridge 	Full-wave Bridge Rectifier

Zener Diode 	Zener Diode

NPN Trans 	NPN Bipolar Junction Transistor

NPN Darling1	NPN Darlington Transistor

NPN Darling2	NPN Darlington Transistor

NPN Darling3	NPN Darlington Transistor

PNP Trans  	PNP Bipolar Junction Transistor

PNP Darling1	PNP Darlington Transistor

PNP Darling2	PNP Darlington Transistor

PNP Darling3	PNP Darlington Transistor

N-UJT	N-channel Unijunction Transistor

PUT	Programmable Unijunction Transistor

N-JFET	N-channel Junction Field-effect Transistor

P-JFET 	P-channel Junction Field-effect Transistor

N-MOSFET 3T 	N-channel 3-terminal MOSFET

N-MOSFET 4T 	N-channel 4-terminal MOSFET

P-MOSFET 3T 	P-channel 3-terminal MOSFET

P-MOSFET 4T 	P-channel 4-terminal MOSFET

N-MESFET 	N-channel MESFET (GaAsFET)

P-MESFET 	P-channel MESFET (GaAsFET)

Op Amp 	Ideal Operational Amplifier

Op-Amp5 	5-pin Operational Amplifier

Op-Amp7 	7-pin Operational Amplifier

Comparator5 	5-pin Voltage Comparator

Comparator6 	6-pin Voltage Comparator

555 Timer	Timer

Regulator3	3-pin Voltage Regulator

Reference3	3-pin Programmable Reference

SCR 	SCR (Thyristor)

Triac 	Triac

OptoIsolator 	NPN Optical Isolator


Transformers

CircuitMaker provides two different types of transformer simulation.

The first method which most closely represents the functionality of actual transformers uses subcircuits, consisting of a voltage-controlled voltage supply, a current-controlled current supply, winding resistances and leakage and magnetization inductors.  The turns ratios for these devices is determined by the voltage and current gains of the supplies.

Trans1

Trans2

Trans3

The second method uses Coupled (Mutual) Inductors.  The drawback to this method is that the impedance of the secondary winding is not reflected back into the primary.

Transformer

CTTransformer


Transmission Lines

LossLessLine 	Lossless Transmission Line

LossyLine 	Lossy Transmission Line

URC-Line 	Uniform Distributed RC Transmission Line

Coax 	Coax Cable

TwinLead 	Twin Lead Cable

TwistedPair 	Twisted Pair Cable


Miscellaneous Analog Devices

Fuse	Fuse

Lamp	Lamp

Crystal 	Crystal


What is CircuitMaker?

CircuitMaker is a powerful, yet easy to use schematic capture and circuit simulation tool developed by MicroCode Engineering.  Its schematic capabilities will enable you to draw any electronic circuit and perform live simulation on the digital portion of your circuit.  It can also perform analog simulation based on SPICE3 developed by the Department of Electrical Engineering and Computer Sciences, University of California at Berkeley.  CircuitMaker fully utilizes the Windows user interface and has no steep learning curve.  In fact, you may find that you rarely even need to open the User's Manual.


Required Hardware/Software

In order to use CircuitMaker you will need:

•	Any DOS system microcomputer with a hard disk drive and a 5-1/4" or 3-1/2" high density disk drive

•	MS-DOS 3.1 or later

•	Microsoft Windows 3.1 or later

•	VGA (or higher) resolution monitor (color preferred)

•	Optionally, any Windows compatible printer


Installing CircuitMaker

1.	If Windows 3.1 (or later) is not already running, type WIN at the DOS prompt and press ENTER.

2.	Insert the CircuitMaker Disk 1 into drive A: or B:.

3.	Click on the File menu in the Program Manager.

4.	Select Run... to display the Run dialog box.

5.	Type A:SETUP or B:SETUP and press ENTER.  You will be prompted for the path to the directory where CircuitMaker is to be installed.  The default directory path for the installation is "C:\CIRMAKER".  If you are reinstalling CircuitMaker, you may want to change this path to avoid writing over some of your existing work.

6.	When the installation is complete, a window containing a CircuitMaker icon will be displayed.  Double-click on the CircuitMaker icon to launch the program.

See also:

Multi-user (Project) Installations


Multi-user (Project) Installations

CircuitMaker can be configured to allow "Projects" for multiple users, each user having access to separate libraries and preferences.  Project installations are posible whether on a network or on a stand-alone system.  Each user must be assigned a separate directory from which the CircuitMaker preferences, libraries and circuit files can be accessed.  This same method may be used by a single user who needs to access multiple projects, each with separate libraries and preferences.

NOTICE:  A site licence is required for network installation.

To enable Multiple Projects:

1.	Install and run CircuitMaker as described under Installing CircuitMaker to initialize the default file paths, then exit.

2.	Make all of the files in the CIRMAKER directory (the directory where CircuitMaker is installed) READ ONLY.  This will allow all users to access the default libraries, while protecting them from accidental change.

3.	Create a separate directory for each user.

4.	Place a copy of the CIRMAKER.DAT file in each user's project directory.  This file contains the Preferences data which allows each user to specify their own circuit and library paths, etc.

5.	If a user will need to make modifications or additions to the Macros library, place a copy of the USER.LIB file into that user's project directory.

6.	If a user will need to make modifications or additions to the SPICE models, place a copy of the MODEL.DAT file into that user's project directory.

7.	If a user will need to make modifications or additions to the SPICE subcircuits, place a copy of the subcircuit files (*.SUB) into that user's project directory.

8.	In the Program Manager, click once on the CircuitMaker icon to select it.

9.	Select "Properties..." from the File menu.

10.	Append the word "Project" onto the string in the Command Line edit field

C:\CIRMAKER\CIRMAKER.EXE Project

and click on OK to save.  This will enable the "Select Project" dialog box (see below).

To Access a Project:

1.	Double-click on the CircuitMaker icon to launch the program.

2.	The "Select Project" dialog box will appear allowing you to find your personal project directory.  Browse  the directories to find your CIRMAKER.DAT file and click on OK.

3.	When CircuitMaker has loaded, select "Preferences..." from the File menu, then click on the "Directories and Files..." button.

4.	Change the "Circuit Directory" path to that of your project directory.  This is where your circuit files (*.CIR) will be stored.

5.	If there is a copy of the USER.LIB file in your project directory, change the "User Library File" path to that of your directory.  This allows you to make changes/additions to the Macros library.

6.	If there is a copy of the MODEL.DAT file in your project directory, change the "SPICE Model File" path to that of your directory.  This allows you to make changes/additions to the SPICE models.

7.	If there is a copy of the subcircuit files (*.SUB) in your project directory, change the "Subcircuit Directory" path to that of your directory.  This allows you to make changes/additions to the SPICE subcircuits.

8.	Each time you run CircuitMaker, you will perform steps 1 and 2 above.


Technical Support

MicroCode Engineering is dedicated to producing only the finest quality software and this means supporting the customer after the initial purchase.  If you encounter a problem while using CircuitMaker or just need general help, contact us via phone, FAX or mail and we'll provide prompt and courteous support.

Telephone:	(801) 226-4470

FAX:	(801) 226-6532

Compuserve:	73157,2672

Mail:	MicroCode Engineering

1943 North 205 West

Orem UT   84057   USA

Future versions of CircuitMaker are planned so please feel free to write and let us know what features or additions you would like to see.  Our goal is to provide a product that will meet your needs and expectations and feedback from you is essential if we are to achieve this goal.


Copy Protection

Your CircuitMaker disk is not copy protected and you should make a backup copy of your original disk before installing or using CircuitMaker.

Please note that this does not give you the right to sell, give away or trade copies of this program.  Please don't accept or distribute copies of copyrighted or other non-public domain software.  Software piracy hurts everyone, as development of future software by MicroCode Engineering or any other company depends on you respecting the rights of the copyright holder.

Special arrangements can be made for educational or corporate institutions for a site or network licence.  Please contact MicroCode Engineering for more information.


Software License Agreement

CircuitMaker is a proprietary product of MicroCode Engineering and is protected by Copyright Law.  MicroCode Engineering grants you a nonexclusive licence to use CircuitMaker subject to the terms and restrictions of this license agreement.  You are receiving a licence to use CircuitMaker; MicroCode Engineering retains title to CircuitMaker and is the sole copyright owner.  You, as an authorized end user of CircuitMaker, are permitted certain rights to use CircuitMaker as defined in this license agreement.

Read the terms of this license agreement carefully.  Use of this software indicates that you have read and accepted all the terms and conditions of this agreement.

•	You are authorized use CircuitMaker on only one (1) computer at a time.  You must obtain additional license agreements before using the software on additonal computers or on a computer network.

•	You may make backup copies of CircuitMaker for the sole purpose of protecting your investment from loss.

•	You may transfer your right to use the software to another party as long as the entire software package, including the manual and any backup copies of CircuitMaker, are transferred to the receiving party.  However, before transferring this program, the receiving party must agree to be bound by the terms and conditions of this agreement.  If you transfer the program, you must remove CircuitMaker from the computer on which it is installed and destroy any backup copies at the time of transfer.  Your licence terminates at the time of transfer.  In no case is the right granted to sell, distribute, trade or give away copies of CircuitMaker, except as stated in this paragraph.

•	You may not decompile, disassemble, reverse engineer, or in any way modify the program code without prior written consent of MicroCode Engineering.

•	This agreement is in effect until terminated.  You may terminate this agreement at any time by destroying the program, documentation, and any backup copies, or by returning the same to MicroCode Engineering.  The licence will terminate automatically if the terms of this agreement are violated.


U.S. Government Restricted Provisions

If this software is acquired by or in behalf of a unit or agency of the United States Government these provisions apply. This Software:

(a)	Was developed at private expense, and no part of it was developed with government funds,

(b)	Is a trade secret of MicroCode Engineering for all purposes of the Freedom of Information Act,

(c)	Is "commercial computer software" subject to limited utilization as provided in the contract between the vendor and the governmental entity, and

(d)	In all respects is proprietary data belonging solely to MicroCode Engineering.

For units of the Department of Defense (DOD), this software is sold only with "Restricted Rights" as that term is defined in the DOD Supplement to the Federal Acquisition Regulations, 52.227-7013 (c) (1) (ii) and:

Use, duplication or disclosure is subject to restrictions as set forth in subdivision (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at 52.227-7013.  Manufacturer: MicroCode Engineering, 1943 North 205 West, Orem, Utah 84057.

If this software was acquired under a GSA Schedule, the U.S. Government has agreed to refrain from changing or removing any insignia or lettering from the Software or the accompanying written materials that are provided or from producing copies of the manuals or disks (except one copy for backup purposes) and:

(e)	Title to and ownership of this Software and documentation and any reproductions thereof shall remain with MicroCode Engineering,

(f)	Use of this Software and documentation shall be limited to the facility for which it is acquired, and

(g)	If use of the Software is discontinued by the installation specified in the purchase/delivery order and the U.S. Government desires to use it at another location, it may do so by giving prior written notice to MicroCode Engineering, specifying the type of computer and new location site. U.S. Governmental personnel using this Software, other than under a DOD contract or GSA Schedule, are hereby on notice that use of this Software is subject to restrictions which are the same or similar to those specified above.


Copyright

The CircuitMaker software and User's Manual are Copyright © 1988-1994, MicroCode Engineering.  All rights are reserved.  No part of this publication or computer software program may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any human or computer language, in any form or by any means whatsoever, without the explicit written permission of MicroCode Engineering.


Disclaimer

MicroCode Engineering reserves the right to revise the program and/or manual from time to time without obligation of MicroCode Engineering to notify any person or organization of such change or revision.  MicroCode engineering makes no representations or warranties with respect to the program "CircuitMaker" or the manual, either express or implied, including implied warranty of merchantability or implied fitness for a particular purpose.  No liability of any form shall be assumed by MicroCode Engineering or its representatives, nor shall direct, consequential, or other damages be assumed by MicroCode Engineering even if MicroCode Engineering has been advised of such damages.  This program is supplied "As Is".  Any user of this software uses it at their own risk.  In any case, the liability of MicroCode Engineering is limited to the price the user actually paid.


Warranty

MicroCode Engineering warrants to the original purchaser of this program that the magnetic diskette on which this program is recorded is free from defects in material and workmanship, under normal use.  This limited warranty is for a period of ninety days from the date of purchase.  If during this ninety day period the diskette is found to be defective MicroCode Engineering agrees to replace the diskette.  This warranty shall be void if the defect has arisen through abuse, mistreatment or neglect.

Registered owners are eligible for an extended limited warranty.  After ninety days a replacement diskette can be obtained by contacting MicroCode Engineering via mail, FAX or telephone.


Building Your First Circuit

Constructing a circuit is as easy as pointing and clicking with the mouse.  Let's walk through a simple example by constructing the circuit shown below.

This is a very simple circuit that consists of an AND gate with the inputs connected to a Logic Switch and the output connected to a Logic Display.  Follow these steps to build the circuit:

1.	Make sure the work area is clear by selecting the New command from the File menu.

2.	Select a 2-Input AND gate from the L2 menu. Position the AND gate at about mid-screen and then click the left mouse button once.  The gate will be placed on the work area and will no longer follow the mouse.

3.	Select a Logic Switch from the L2 menu and place it to the left of the AND gate as shown above.

4.	Next, select a Logic Display from the L2 menu and place it slightly above and to the right of the AND gate.

5.	You'll now wire the circuit together.  There are two distinct wiring methods available:

Method 1--Auto Routing:

Select the Wire Tool from the Toolbar.  Place the cursor on the output pin of the AND gate.  Click and hold the left mouse button, then drag the wire to the pin of the Logic Display.  Release the mouse button to make the connection.  If Show Pin Dots is enabled (has a check mark by it) in the View menu, a small dot will be placed at each connection point to verify the connection (see circuit example above).

Now, place the cursor on one of the inputs to the AND gate, then click and hold the mouse button to start a new wire.  Drag the end of the wire to the pin on the Logic Switch and release the mouse button.  Next, connect a wire from the other input pin of the AND gate to the middle of the other wire.

Method 2--Manual Routing:

Select the Wire Tool from the Toolbar.  Place the cursor on the output pin of the AND gate.  Click and release the left mouse button, then move the mouse to the right.  The extended wiring cursor will appear as a vertical line and a wire will appear and follow the mouse.  Continue to move the mouse until the wiring cursor aligns with the pin on the Logic Display.  Click once and the wire will turn 90 degrees.  Now, move the mouse up until the wire reaches the Logic Display pin, then click once to connect the wire.  If Show Pin Dots is enabled (has a check mark by it) in the View menu, a small dot will be placed at each connection point to verify the connection (see circuit example above).

Now, place the cursor on one of the inputs to the AND gate, then click and release once to start a new wire.  Connect this wire to the pin on the Logic Switch using the same method that you used to connect the output of the AND gate to the Logic Display.  If the wire doesn't line up with the pin, turn the wire 90 degrees by clicking the mouse button once.  Next, connect a wire from the other input pin of the AND gate to the middle of the other wire, clicking once to make the 90 degree turn and clicking once on the wire to make the connection.

See also:

Placing Devices

Wiring the Circuit


The Editing Tools

The editing tools can be used to create the circuit.

Click on the buttons for a description of each.


The Arrow Tool
The Arrow Tool:

The Arrow Tool can also be selected from the Cursor Tools option in the Options menu or by pressing Alt+A.  Use the Arrow Tool to select items, move items, flip switches, select tools from the Toolbar, etc.  You can double-click (click twice with the mouse in rapid succession) with the Arrow Tool to perform many functions, such as editing specific devices, etc.

If the Arrow/Wire option is enabled, the Arrow Tool may be used to initiate a wire when you click on a device pin.


The Wire Tool
The Wire Tool:

The Wire Tool can also be selected from the Cursor Tools option in the Options menu or by pressing Alt+W.  Use the Wire Tool to place wires in the work area.  Bus wires are drawn by holding down the SHIFT key when starting to draw the wire.

See also:

Arrow/Wire

Wiring the Circuit

Using Bus Wires


The Text Tool
The Text Tool:

The Text Tool can also be selected from the Cursor Tools option in the Options menu or by pressing Alt+T.  Use the Text Tool to place text in the circuit.  Just select the tool, click in the work area and type the text.  Use the Select Font option in the Edit menu to stylize the text. You can alter the way multi-line text wraps by clicking on it with the Text Tool and resizing its enclosing rectangle.


The Delete Tool
The Delete Tool:

The Delete Tool can also be selected from the Cursor Tools option in the Options menu or by pressing Alt+D.  Use the Delete Tool to selectively delete items.  Simply select the Delete Tool and click on the item to be deleted.  The item will be immediately deleted except in the case of a wire.  For wires, if the button is held down the wire will be highlighted but not deleted until the button is released.  If you hold down the button and move the Delete Tool away from the wire the delete will be cancelled.

Any selected item can be deleted by pressing the Delete key on the keyboard.

A wire may be cut (divided) in two by holding down the SHIFT key and clicking on the wire with the Delete Tool.


The Naming Tool
The Naming Tool:

The Naming Tool can also be selected from the Cursor Tools option in the Options menu (Name Item) or by pressing Alt+N.  Use the Naming Tool to edit the name of SCOPEs, Inputs, Outputs, macro devices or their pins, bus wire numbers and bus connection wire numbers.  Just click the pointer on the item to be edited and a dialog box will appear.  Macros must be expanded to be edited.  A macro that is saved with a new name will not delete the original macro.


The Zoom Tool
The Zoom Tool:

The Zoom Tool can also be selected from the Cursor Tools option in the Options menu or by pressing Alt+Z.  This tool allows you to magnify (zoom in) and reduce (zoom out) the circuit being displayed. To zoom in, select the Zoom Tool and position it over the area that is to be enlarged.  Click the left mouse button to magnify the circuit by the selected Scale Step Size.  To zoom out, select the Zoom Tool and position it over the area that is to be reduced.  Hold down the SHIFT key and click the left mouse button to reduce the circuit by the selected Scale Step Size.

See also:

Display Scale

Normal Size/Position

Fit Circuit To Window


The Rotate 90 Button
The Rotate 90 Button:

The Rotate 90 button can also be selected from the Edit menu or by pressing Alt+R. Use the Rotate 90 button to rotate the selected device in 90 degree increments.  If a device needs to be rotated, this must be done before connecting any wires to that device as all wire connections to that device will be lost when the device is rotated.

A device may also be rotated when it is selected from the library by pressing the R key on the keyboard before placing it in the circuit.

Note: Macros with user defined packages cannot be rotated.


The Mirror Button
The Mirror Button:

The Mirror button can also be selected from the Edit menu or by pressing Alt+M. Use the Mirror button to flip the selected device horizontally.  If a device needs to be mirrored, this must be done before connecting any wires to that device as all wire connections to that device will be lost when the device is rotated.

A device may also be mirrored when it is selected from the library by pressing the M key on the keyboard before placing it in the circuit.

Note: Macros with user defined packages cannot be mirrored.


The Help Tool
The Help Tool:

The Help Tool can also be selected from the Cursor Tools option in the Options menu or by pressing Alt+H.  You can click on any item in your circuit with the Help Tool to get specific information about that item.

See also:

Help


Placing Devices

To draw a circuit diagram you simply use the mouse to select devices from the library menus.  The new device will follow the mouse around the screen until you click the left mouse button.  If you press the R or M key on the keyboard before clicking to place the device, the device will be rotated or mirrored, respectively.  If the Repeat On option is enabled in the Options menu, as soon as a device is selected from the library and placed in the work area, another identical device is automatically selected and made ready for placement.  This repeat placement process continues until you cancel it by pressing any key on the keyboard or by double-clicking the mouse.

Use the Arrow Tool to select and move devices around the work area.  If parts are to be rotated or mirrored, this should be done prior to connecting wires to them.

Refer to Library Menus for a description of the basic devices and instruments.

There are four distinct ways of selecting items already in the circuit window:

•	To select a single item click on it once with the Arrow Tool.  Click anywhere else in the work area to deselect the item.

•	To select multiple items hold down the SHIFT key and click on one or more items with the Arrow Tool.  To deselect any single item click on it a second time while still holding down the SHIFT key. To deselect all items, release the SHIFT key and click somewhere in the work area away from all items.

•	To select switches or multiple items hold down the mouse button and drag the selection rectangle around the desired items.  To deselect any single item, SHIFT-click on it.  To deselect all items click somewhere in the work area away from all items.

•	To quickly select all items use the Select All command from the Edit menu.


Wiring the Circuit

Your circuit must be correctly wired together in order to function.  The circuit will not function if you simply place devices so that device pins are touching the pins of other devices where you want connections to occur!  Instead, you must connect a wire between the pins you want connected together.  All wires must be vertical, horizontal, or combinations of these two.  It is not possible to wire at odd angles such as 45 or 60 degrees.

There are two basic methods of wiring: Auto Routing and Manual Routing.  These two methods are fully integrated; you don't have to switch between wiring modes.

The SmartWiresTM feature allows you to connect a wire to a device pin or another wire without being in exactly the right place.  A user definable connection area exists around each valid connection point (a valid connection point is any device pin or wire).  When the Wire Tool enters a connection area, a rectangle is displayed, hilighting the connection point.  The Preferences dialog box may be used to set the size of the connection area and whether or not the rectangle is displayed.

When a device is moved (dragged with the Arrow Tool) that has wires connected to it, the wires will "rubberband" (they will stretch and remain connected to the device).

Wires may be extended or joined.  To extend a wire, select the Wire Tool and place it over the END of the wire and draw a wire. To join two wires together, draw a wire from the end of the first wire to the end of the second wire. They then become the same wire.

A single wire can also be cut (divided) into two separate wires.  To cut a wire, select the Delete Tool, place it over the wire that is to be cut, hold down the SHIFT key and click the left mouse button.  The wire will be separated into two individual wires.

See also:

Using Bus Wires


Auto Routing

Auto routing has the advantage of being quick and easy to use.  Simply place the Wire Tool (or the Arrow Tool if the Arrow/Wire option is enabled) on a valid connection point (a valid connection point is any device pin or wire), then click and hold the left mouse button.  Drag the mouse to another valid connection point and release the mouse button.  The wire is automatically routed between the two points.

Auto routing requires two valid connection points.  You cannot draw a wire that does not connect to something on both ends.  Also, you cannot draw bus wires.

The auto routing can be either Simple or Intelligent, depending on what you have selected in the Preferences dialog box.

The Arrow/Wire option is especially useful for auto routing.

See also:

Manual Routing

Wiring the Circuit


Manual Routing

Manual routing has the advantage of routing wires exactly where you want them without need for readjustment after the wire is drawn.  It also allows you to place wires in your circuit which are not connected on both ends.  It must be used to draw Bus Wires.

Move the Wire Tool (or the Arrow Tool if the Arrow/Wire option is enabled) to the position where you wish to start the wire, then click and release the left mouse button.  The Wire Tool cursor will disappear until you begin to drag the mouse.  It will then be replaced by an extended wiring cursor.  The extended cursor simplifies the task of precisely aligning wires with other objects.  Click once with the left mouse button to turn 90 degrees or double-click to end the wire.  If the Single Click Connect option is enabled in the Preferences dialog box, a single click of the mouse will terminate the wire when it is at a valid connection point.  A wire can be cancelled at anytime while it is being drawn by pressing any key.

See also:

Auto Routing

Wiring the Circuit


Using Bus Wires

Bus wires are a special type of wire that contain multiple individual wires.  Each bus wire is identified by a number and each individual wire within a bus is also identified by a number. Bus wires can be easily identified in a circuit because they are drawn thicker than regular wires.

To draw a bus wire, hold down the SHIFT key and draw a regular wire using the Manual Routing method.  The SHIFT key must be down before a wire is started but it can be released before the wire is finished.  After the bus wire has been drawn, a dialog box will prompt for a bus number.  Each unique bus must have a unique bus number.  If two separate buses are given the same number, they are considered to be the same bus, even though they are not physically connected on the screen.  Bus wires can also be extended, joined, or cut, just like regular wires.  You don't need to hold down the SHIFT key when extending bus wires.

Regular wires that are connected to a bus wire are called bus connection wires.  These wires connect to the individual wires within the bus.  When the connection is made a dialog box will prompt for a wire number and the connection angle.  Each bus connection wire is assigned a number.  Each bus connection wire that is assigned the same number and is connected to the same bus wire (or another bus wire with the same bus wire number) will function as though they were connected together.

Bus wire numbers and bus connection wire numbers may be edited by clicking on them with the Naming Tool or by double-clicking on them with the Arrow Tool.

See also:

Wiring the Circuit


Labeling the Circuit

Various methods of labeling the circuit are available.  The most obvious method would be to select the Text Tool, click in the work area where you want the text to appear, and type in the text.  Text entered by this method can be multi-lined and fully stylized.  It may also be repositioned at any time and is always visible.

Each of the devices may be labeled via the Edit Device Data dialog box that appears when you double-click on the device.  Labels entered by this method may be positioned anywhere around the device by dragging them with the Arrow Tool and remain attached to the device when it is moved around the work area.

Bus labels and bus connection labels are enabled by default, but can be disabled by unchecking the "Show Bus Labels" option in the View menu.


Edit Device Data

CircuitMaker has the ability to produce a SPICE list which is fully compatible with the Berkeley SPICE3 simulation software.  CircuitMaker's analog simulation is based on the Berkeley SPICE3 software, therefore, in order to make the analog simulation work, you must supply specific information about each component in the circuit.  It can also be useful for simple schematic layout, even if you are not simulating the circuit.

The user double-clicks on a device to bring up the Edit Device Data dialog box.  This dialog box is used to enter data about the device.

Click on the dialog box for a description of each item.


Device
Edit Device Data:Device

This is a non-editable field which shows the name of the device as it appears in the library menus.  The Visible checkbox can be used to hide the name on the schematic drawing.  If visible, it will retain the same orientation as the device when rotated.  Some device names, such as "Resistor", cannot be made visible.


Label-Value
Edit Device Data:Label-Value

This field may be used to enter information about the device such as its label (1N914, 2N3904, etc.) or its value (47K, 100U, etc.), or to replace the existing Device name (make the Device not visible and the Label visible).  The Label-Value can be dragged around the device on the schematic with the mouse and will remain attached to the device when the device is dragged.

If the Visible checkbox is set to gray, the Label-Value will directly replace the Device name and retain the same orientation as the device when rotated.


Designation
Edit Device Data:Designation

This field is used to identify the device in the circuit such as U3, CR7, RLOAD, etc.  This field may also be made visible with the Visible checkbox.  This field must contain the part designation in order for netlisting to work properly.  The Designation label may also be dragged around on the schematic with the mouse.

This field will be filled in automatically when an Auto Designation is run.  When the Auto Designation is run, the previous contents of this field are lost.

See also:

Auto Designation

Set Auto Designation...

Auto Designation Prefix


Package
Edit Device Data:Package

This field is used to identify the type of package the device is in (DIP14, TO3, etc).  This field may also be made visible with the Visible checkbox.  The Package label may also be dragged around on the schematic with the mouse.


Auto Designation Prefix
Edit Device Data:Auto Designation Prefix

This field is used to specify the prefix used in the device's Designation when Set Auto Designation... is selected from the Edit menu.  The prefix may be up to 4 characters in length.

See also:

Auto Designation


Spice Prefix Character(s)
Edit Device Data:Spice Prefix Character(s)

This field is used to specify the SPICE prefix used in conjunction with the %M and %D flags described under Spice Data.  By specifying this prefix, user defined macro symbols can be linked to the proper model selections.  Valid prefixes are:

BV	Non-linear Dependent Voltage Sources

BI	Non-linear Dependent Current Sources

C	Capacitors

D	Junction Diodes

DZ	Zener Diodes

E	Linear Voltage-Controlled Voltage Sources

F	Linear Current-Controlled Current Sources

G	Linear Voltage-Controlled Current Sources

H	Linear Current-Controlled Voltage Sources

I	Independent Current Sources

JN	JFETs (N-channel)

JP	JFETs (P-channel)

K	Coupled (Mutual) Inductors

L	Inductors

MN	MOSFETs (N-channel)

MP	MOSFETs (P-channel)

O	Lossy Transmission Lines

QN	Bipolar Junction Transistors (NPN)

QP	Bipolar Junction Transistors (PNP)

R	Resistors

S	Voltage Controlled Switches

T	Lossless Transmission Lines

U	Uniform Distributed RC Lines (Lossy)

V	Independent Voltage Sources

W	Current Controlled Switches

X	Subcircuits

ZN	MESFETs (N-channel) (GaAs FETs)

ZP	MESFETs (P-channel) (GaAs FETs)


Analog Checkbox
Edit Device Data:Analog Checkbox

This checkbox identifies the device as a device which can be used with analog simulation.


Digital Checkbox
Edit Device Data:Digital Checkbox

This checkbox identifies the device as a device which can be used with digital simulation.


Bus Data
Edit Device Data:Bus Data

This field is used to specify which pins on the device are connected to the power or ground buses, since these pins are not shown on the predefined device packages.  The general format for this data is:

busname[=pinnumber[,pinnumber,...]];[busname=pinnumber[,pinnumber,...];...]

For example, on a 74LS83 the Bus Data is "VCC=5;GND=12;".  This means that the Vcc bus is connected to pin 5 and the Ground bus is connected to pin 12.  The bus data for a 74AC11190 would look like "VCC=15,16; GND=4,5,6,7;".  The order in which the buses are listed is not important.


Spice Data
Edit Device Data:Spice Data

This field is used to specify the SPICE simulation data for the device.  The analog devices provided with CircuitMaker already have default SPICE data included.  If you create your own devices to use with the analog simulation, you will need to fill in this field yourself.  The SPICE data may be entered into this field directly, or it can reference the other fields in the dialog box.  The percent sign (%) is used as a flag to tell CircuitMaker to reference the already defined fields.  Their meanings are:

%N	Name--Insert the Device Name into the SPICE data string.  This is the name found in the library menus.

%L	Label--Insert the Label-Value into the SPICE data string.  This requires the first character in the Label-Value string to be an alpha character.  The label may not exceed 8 characters.

%V	Value--Insert the Label-Value into the SPICE data string.  This requires the first character in the Label-Value string to be numeric.  The value may be an integer (12, -44), a floating point number (3.14159), either an integer or floating point number followed by an integer exponent (1e-14, 2.65e3) or either an integer or floating point number followed by one of the following scale factors:

T	= 1012	u	= 10-6

G	= 109	n	= 10-9

Meg	= 106	p	= 10-12

K	= 103	f	= 10-15

m	= 10-3

If scale factors are used, they must immediately follow the number with no spaces.  Letters immediately following a number that are not scale factors are ignored, and letters immediately following a scale factor are ignored.  Hence, 10, 10V, 10Volts, and 10Hz all represent the same number and M, MA, Msec, and MMhos all represent the same scale factor.  Note that 1000, 1000.0, 1000Hz, 1e3, 1.0e3, 1KHz, and 1K all represent the same number.

%M	Model--Insert the Label-Value into the SPICE data string.  If the first character of the Spice Prefix Character(s) does not match the first character in the label, then insert the first character of the prefix  at the beginning of the string.  The %M is also required in order to guarantee that the .MODEL data for this device will be included in the SPICE netlist file for simulation.  The Label (including prefix) may not exceed 8 characters.

%S	Subcircuit--Insert the Label-Value into the SPICE data string.  If the first character in the label is not an 'X', then insert an 'X' at the beginning of the string.  The %S is also required in order to guarantee that the .SUBCKT data for this device will be included in the SPICE netlist file for simulation.  The Label (including the 'X') may not exceed 8 characters.

%D	Designation--Insert the Designation label into the SPICE data string.  If the first character of the Spice Prefix Character(s) does not match the first character in the designation, then insert the first character of the prefix at the beginning of the string.

%P	Package--Insert the Package label into the SPICE data string.

%B	Bus Data--Insert the entire Bus Data field into the SPICE data string.

%pinorder	Node--Insert the node number for the specified pin into the SPICE data string.  Pinorder refers to the position of the pin in the Edit Device Pin Data dialog box.  For example, the pin at the top of the list is represented by %1, the next pin down is %2, etc.

The following examples show how the Spice Data field is used when creating your own devices:

If resistor R3 has a value of 27 ohms and is connected between node 5 and ground, the SPICE data for R3 could be written as "R3   5   0   27ohms".  This data may be entered directly into the Spice Data field, but it would be difficult to determine the node numbers to use.  A more universal method would be to enter the string "%D   %1   %2   %V".

If transistor Q2 is a 2N3904 with its collector connected to node 7, its base to node 4 and its emitter to node 12, the SPICE data may be written as "Q2   7   4   12   Q2N3904", but the SPICE model data may need to be entered into the netlist manually.  A more universal method would be to enter the string "%D   %1   %2   %3   %M".

If op amp U4 is an LM741 where the +input is connected to node 3, the -input is connected to node 1, the +V pin to node 5, the -V pin to node 12 and the output to node 9, the SPICE data may be written as "XU4   3   1   5   12   9   XLM741", but again, a more universal method would be to enter the string "%D   %1   %2   %3   %4   %5   %S".


Exclude From Netlist
Edit Device Data:Exclude From Netlist

This checkbox is used to exclude a device from the SPICE netlist.  Any device which is excluded from the netlist will be excluded from the analog simulation.


Exclude From Parts
Edit Device Data:Exclude From Parts

This checkbox is used to exclude a device from the parts list.


Pins...
Edit Device Data:Pins...

Clicking on the Pins... button brings up the following dialog box which allows you to edit the pin numbers of the package for the selected device and to determine whether the pin numbers will be shown on the schematic.

Click on the dialog box for a description of each item.


Pin Name/Number List
Edit Device Pin Data:Pin Name - Number List

This list shows the pin names and pin numbers for the selected device.  The pin number is the pin number on the package.  The pins are listed in the order that they were placed on the device when it was created.  Pin numbers may be edited by selecting a pin in the list and typing a pin number.  The pin names and numbers of an expanded macro may be edited with the Naming Tool.


Device Name
Edit Device Pin Data:Device Name

This is the name of the device as found in the Library Menus.


Show Names
Edit Device Pin Data:Show Names

When this box is checked, the pin names for this device, by default, will be shown on the package.


Show Numbers
Edit Device Pin Data:Show Numbers

When this box is checked, the pin numbers for this device, by default, will be shown on the package.


Default Pin #s
Edit Device Pin Data:Default Pin #s

Default pin data has already been entered for the predefined devices.  Clicking on the "Default Pin #s" button will restore the pin numbers to their original default values.  Default pin numbers may be added to a macro device by editing the pin numbers while the macro is expanded and saving the macro.


Save Device Data Defaults Button
Edit Device Data:Save...

Clicking on this button will temporarily set the default settings for this device type.  Each time a new device of this same type is pulled from the library menus, it will have these settings.  For example, if you set the resistor value to 5.6k ohms and click on the "Save..." button, each subsequent resistor pulled from the menu will have a value of 5.6k ohms.  These settings will remain the default until replaced by another save, or until you quit the program altogether.


Printing and Exporting Circuits

When you're done designing and testing your circuit, it can be printed out on any Windows compatible printer.  If your design is larger than a single sheet of paper it will automatically be printed on multiple sheets of paper.  Page breaks can be shown by enabling the Show Page Breaks option in the View menu.  Other print options are also available, including print scaling and color printing.  See Print Setup... in the File menu chapter.  Digital timing diagrams and analog waveforms can also be printed.

CircuitMaker also provides easy to use mechanisms which enable you to export both the circuit and waveforms for use in word processing, publishing, drawing, or other programs.  Export of the circuit and waveforms is done by using the Clipboard or by saving the circuit or waveforms in a device independent bitmap file or metafile.

The SPICE list generated by the Save Spice Netlist... command in the File menu is a text file which can be imported into any Berkeley SPICE3 compatible analog simulation program.

See also:

Print Circuit

Print Waveforms

Export Circuit

Export Waveforms

Copy Circuit

Copy Waveforms


Creating User-defined Schematic Symbols

CircuitMaker is fully expandable.  By creating your own schematic symbols and adding them to the User Library, you can adapt CircuitMaker to your specific needs.  Refer to Macro Devices for more information on creating both functional and nonfunctional devices.


Introduction to Macro Devices

CircuitMaker is fully expandable because it allows you to create your own completely functional devices and nonfunctional device symbols.  Any circuit, including circuits which contain other macro devices, can become a new macro device.  When you create a macro device the circuitry on the screen is encapsulated inside a package of your choice and saved in a library.  CircuitMaker provides several package styles which can be used to "house" your macro or you can design your own package and import it via the system clipboard.  Once a symbol has been imported, pins can be easily attached, the symbol named, and then saved.  User defined macro packages cannot be rotated or mirrored.

To create functional macro devices you simply attach any circuit--including circuits which have other macro devices in them--to one of the provided packages.  When you save a macro device, all circuitry is hidden in the package you chose.  The macro device can then be used in a circuit and functions according to the circuitry hidden within. Of course, you can design your own package styles and macro devices can be recalled from the library, expanded, edited, and resaved at any time.

Functional macros may contain either digital or analog devices.  All of the devices within the macro will be simulated as though they were directly visible in the circuit.

To create a nonfunctional device symbol, you simply create a macro with no internal circuitry.

See also:

Macro Devices


The Macro Tools

Two of the buttons in the Toolbar are designed specifically for use in creating and editing macro devices.

Click on the buttons for a description of each.

See also:

Macro Devices


The Macro Button
The Macro Button:

The Macro button is used to create or edit a macro device.  To create a new macro, just click on the button and the Define New Macro... dialog box will appear.  To edit an existing macro, select the macro to be edited by clicking on it once with the Arrow Tool, then click on the Macro button.  This will clear the work area and expand the macro.


The Pin Tools Button
The Pin Tools Button:

Clicking on the Pin Tools button in the Toolbar brings up a floating palette which contains the Pin Tools.  Clicking on any other Toolbar button hides the Pin Tools palette.

The Pin Tools can also be selected from the Cursor Tools option in the Options menu.  Use the Pin Tools to add pins to either a PREDEFINED or a USER DEFINED macro package.  The macro must be expanded.


Creating a Macro Device With a Predefined Package Style

CircuitMaker provides 7 dual in-line (DIP) packages in which you can package your macro device.  You can also create your own package using your favorite drawing program.  If you want to package your macro in one of the provided DIP packages then follow the steps outlined below.  If you want to package your macro in a package of your own design, refer to Creating a Macro With a User Defined Package Style.

1.	It is a good idea to make a backup copy of the file "USER.LIB" prior to creating or deleting a macro.  That way, you will always have a copy of the library to revert to in case the library is damaged or altered in any undesirable way.

2.	If your macro is to be nonfunctional or is to contain only SPICE data for analog simulation, skip to the next step.  Otherwise, construct a circuit which performs the function which your new macro device is to have.  For example, if you wanted to build a device which performs an AND-OR-Invert function you would construct something like the circuit shown below.  Refer to the Schematic Capture section if needed.

3.	Select the Define New Macro... command from the Macros menu (or click on the Macro Button in the Toolbar).  The Define New Macro dialog box will be displayed.

4.	Select one of the DIP package styles.

5.	Enter a unique name up to 14 characters in length in the "Macro Name" text edit field. The name you enter here will be placed in one of the library menus later on.

6.	If you want the macro name to be shown near the top center of the macro package then just leave the "Show Macro Name" check box selected.  If you don't want the macro name to be shown on the package then click the "Show Macro Name" check box to deselect this option.

7.	Click on the "OK" button.  The package you selected will be displayed and will follow the mouse around the work area.  Click the mouse to place the package in the work area.

8.	The pins on the macro package may be edited as desired using the Pin Tools.  Pins may be added, deleted, moved or replaced by pins with bubbles.  Pins may be named and numbered by clicking on them with the Naming Tool.

9.	Select the Wire Tool from the Toolbar and connect wires from the macro package pins to points within your circuit from which you want to be able to connect later.  Shown below is an example of a completely wired macro device.

10.	If your macro device is to have any default data associated with it, that should be added at this time.  To do this, double-click on the macro package, then click on the Netlist... button.  Any data entered in the Edit Device Data dialog box at this time will be there every time this macro is selected from the library menus.  Now is a good time to add the default Auto Designation Prefix, Spice Prefix Character(s) and Spice Data if required.

11.	If you are satisfied with your macro select the Macro Utilities... option from the Macros menu.  The Macro Utilities dialog box will then be presented.  You can specify the position in which your macro will be shown in the library menus by clicking in the list on the macro which your macro should follow.  If you don't specify the order, your macro will be put at the end of the list if it's a new macro or in its current position if it's an existing macro.  Finally, click on the Save Macro button.  This will cause the new macro to be saved in the file "USER.LIB", the library menus will be updated so that the new device appears in one of the menus in the position specified, and the work area will be cleared.  To use the new macro simply select it from the appropriate library and use it just as you would any other device.


Creating a Macro Device With a User Defined Package Style

You can create your own macro package using your favorite drawing program.  If you want to create your own macro package then follow the steps outlined below.  CircuitMaker also provides 7 dual in-line (DIP) packages in which you can package your macro device.  If you want to package your macro in one of the provided DIP packages, refer to Creating a Macro With a Predefined Package Style.

1.	It is a good idea to make a backup copy of the file "USER.LIB" prior to creating or deleting a macro.  That way, you will always have a copy of the library to revert to in case the library is damaged or altered in any undesirable way.

2.	If your macro is to be nonfunctional or is to contain only SPICE data for analog simulation, skip to the next step. Otherwise, construct a circuit which performs the function which your new macro device is to have.  For example, to build a simple amplifier you could construct a circuit similar to the one shown below.  Refer to the Schematic Capture chapter if needed.

3.	Switch to your favorite drawing program.  Now, draw the package which will house your macro circuit.  You don't have to add the pins to the package at this time, they will be added later from within CircuitMaker.  Shown below is a symbol drawn in a drawing program which will serve as the package for our example macro circuit.

4.	When you have finished drawing the package, save the drawing so that if you later need to make refinements to it, it will be available. Now copy the package to the Clipboard.

5.	Switch back to CircuitMaker.

6.	Select the Define New Macro... command from the Macros menu (or click on the Macro button in the Toolbar).  The macro package dialog box will be displayed.

7.	Select the "USER DEFINED" package style.

8.	Enter a unique name up to 14 characters in length in the "Macro Name" text edit field.  The name you enter here will be placed in one of the library menus when the macro is saved.

9.	If you want the macro name to be shown near the center of the macro package then just leave the "Show Macro Name" check box selected.  If you don't want the macro name to be shown on the package then click in the "Show Macro Name" check box to deselect this option.  Since CircuitMaker forces the position where the macro name is drawn, you may want to deselect this option and simply add any text to be displayed with the package at the time you create the package.

10.	Click on the "OK" button.  The Import/Export Format dialog box will be displayed, allowing you to select the format of the graphic coming from the clipboard.  (If you use the Paintbrush program supplied with Windows, select the Device Dependent Bitmap format.)  Select the proper format and click on the "OK" button.  A rectangular outline of the package which you placed on the Clipboard will then be displayed and will follow the mouse around the work area.  Click the mouse to place the package in the work area.

11.	The Toolbar includes Pin Tools which will enable you to easily add pins to your package.  Pins are optional: they are not required if you simply want to define a symbol which you donÕt intend to connect to wires.  Adding pins to your macro will make wiring much simpler, however, since CircuitMaker will be able to snap wires directly to the pins.  Also, pins must be used to connect internal circuitry to the macro package.

12.	Select a pin type and orientation by clicking the appropriate Pin Tool in the Pin Tools palette.  Click and hold down the left mouse button while in the work area and a pin will follow the mouse.  Position the pin where you want it and then release the button.  Now that the pin has been placed you can enter a name and number for it by selecting the Naming Tool, then clicking on the pin you wish to name.  The "Pin Name" dialog box will appear which will allow you to enter a name and number for the pin you have selected.  The pin name and number can be a maximum of 4 characters each.  Repeat this step as often as necessary to add as many pins as necessary (up to 64) to your macro device.  Shown below is an example of a "USER DEFINED" device to which 4 pins have been added.

A pin may be moved with the Arrow Tool, deleted with the Delete Tool or renamed with the Naming Tool.  To deselect a pin just click anywhere in the work area away from the pin.

13.	If your macro device is to be a nonfunctional device or is to contain only SPICE data for analog simulation, skip to the next step. Otherwise, select the Wire Tool from the Toolbar and connect wires from the macro package pins to points within your circuit to which you want to be able to connect wires.  Shown below is an example of a completely wired macro device.

14.	If your macro device is to have any default data associated with it, that should be added at this time.  To do this, double-click on the macro package, then click on the Netlist... button.  Any data entered in the Edit Device Data dialog box at this time will be there every time this macro is selected from the library menus.  Now is a good time to add the default Auto Designation Prefix, Spice Prefix Character(s) and Spice Data if required.

15.	If you are satisfied with your macro select the Macro Utilities... option from the Macros menu.  The Macro Utilities dialog box will then be presented.  You can specify the position in which your macro will be shown in the library menus by clicking in the list on the macro which your macro should follow.  If you don't specify the order, your macro will be put at the end of the list.  Finally, click on the Save Macro button.  This will cause the new macro to be saved in the file "USER.LIB", the library menus will be updated so that the new device appears in one of the menus in the position specified, and the work area will be cleared.  To use the new macro simply select it from the appropriate library and use it just as you would any other device.


Attaching a SPICE Model or Subcircuit to a Device

CircuitMaker allows you to use your own SPICE model and subcircuit libraries.  Device models and subcircuits are available from many sources.  Many component manufacturers provide SPICE information for their products.  These are typically published in engineering magazines, etc., and are available to the general public.

Note: If a macro device contains other circuitry, SPICE data that is added to the macro package will be ignored.

Adding your own SPICE models to a device that already has models associtated with it

Adding your own SPICE models to a new macro device

Adding your own SPICE subcircuits to a device that already has subcircuits associated with it

Adding your own SPICE subcircuits to a new macro device


Adding your own SPICE models to a device that already has models associtated with it

1.	Insert your models directly into the text file "MODEL.DAT" with any text editor.

2.	Enter an appropriate description of the model on the line immediately before the .MODEL line.  This line will be displayed as the description in the Model Selections dialog box.  If the device is a zener diode, be sure to type the word 'ZENER' on this line.

3.	You will now be able to select this model for use within CircuitMaker.

Example:  Add a 1N914 diode to the model library.

In the MODEL.DAT file you need:

* 1N914

* Junction Diode (BV=100V)

.MODEL D1N914 D(IS=1E-13 RS=16 CJO=2.2P

+               TT=11.7NS BV=100 IBV=1E-13)


Adding your own SPICE models to a new macro device

1.	Insert your models directly into the text file "MODEL.DAT" with any text editor.

2.	Enter an appropriate description of the model on the line immediately before the .MODEL line.  This line will be displayed as the description in the Model Selections dialog box.  If the device is a zener diode, be sure to type the word 'ZENER' on this line.

3.	In CircuitMaker, expand the macro device you wish to use by clicking on the device once with the left mouse button, then clicking on the Macro Button in the Toolbar.

4.	Double-click on the device, then click on the Netlist button to view the Edit Device Data dialog box.

5.	Make sure the Spice Prefix Character(s) specified for this device is representative of the type of device you are modeling.  For example, an NPN Bipolar Junction Transistor must have the prefix 'QN'.

6.	Enter an appropriate Auto Designation Prefix for the device.  For example, Q for transistors, D or CR for Diodes, etc.

7.	Enter the model name (excluding any Spice Prefix Characters) in the Label-Value field.  This will determine the default model used whenever this device is selected from the menu.

8.	Enter an appropriate SPICE instruction for this device into the Spice Data field.  Click on the OK button.

9.	Save the macro by selecting the Save Macro command in the Macros menu.

10.	You will now be able to select this model for use within CircuitMaker.

Example:  Create a new macro for a 1N914 diode.

In the MODEL.DAT file you need:

* 1N914

* Junction Diode (BV=100V)

.MODEL D1N914 D(IS=1E-13 RS=16 CJO=2.2P

+               TT=11.7NS BV=100 IBV=1E-13)

Enter the following information in the Edit Device Data dialog box of the expanded macro (to set the defaults for this macro device):

Label-Value:	1N914

Auto Designation Prefix:	CR

Spice Prefix Character(s):	D

Spice Data field:	%D %1 %2 %M


Adding your own SPICE subcircuits to a device that already has subcircuits associated with it

Subcircuits must be entered directly into a text file that corresponds to the name of the device (as listed in the menu), with the following exceptions.  Since file names are limited to 8 characters, the device name is truncated to 8 characters when searching for a match.  All spaces are removed.  If the last 1 or 2 characters of a truncated device name are numbers, those numbers replace the last characters in the file name.  Examples: The subcircuits for "Op Amp 5" (5-pin operational amplifiers) would be found in the file "OPAMP5.SUB" and the subcircuits for device "Comparator 4" would be found in the file "COMPARA4.SUB".

1.	Add your subcircuit to the .SUB file that corresponds to the name of the device.

2.	The name of each subcircuit must begin with the letter 'X'.  For example, the subcircuit for an LM317 must begin as .SUBCKT XLM317 and end as .ENDS XLM317.

3.	Enter an appropriate description of the subcircuit on the line immediately before the .SUBCKT line.  This line will be displayed as the description in the Subcircuit Selections dialog box.

4.	You will now be able to select this subcircuit for use within CircuitMaker.

Example:  Add a 4N25 opto isolator to the subcircuit library.

In the OPTOISOL.SUB file you need:

* 4N25

* Optical Isolator

.SUBCKT X4N25 1 2 4 5

  VM  1 12 DC 0

  D1 12  2 LED

  R1 10 11 450

  C1 11  0 1000PF

  H1 10  0 VM 3.33E-3

  G1  5  6 11  0 1.0

  Q1  5  6  4 QNPN

.MODEL LED D(IS=25E-13 RS=750M CJO=35P N=2)

.MODEL QNPN NPN(IS=3.33E-11 NF=1.35 CJC=47.4P

+      CJE=167P TF=923P TR=148N BF=150 BR=10

+      IKF=.1 VAF=100)

.ENDS X4N25


Adding your own SPICE subcircuits to a new macro device

Subcircuits must be entered directly into a text file that corresponds to the name of the device (as listed in the menu), with the following exceptions.  Since file names are limited to 8 characters, the device name is truncated to 8 characters when searching for a match.  All spaces are removed.  If the last 1 or 2 characters of a truncated device name are numbers, those numbers replace the last characters in the file name.  Examples: The subcircuits for "Op Amp 5" (5-pin operational amplifiers) would be found in the file "OPAMP5.SUB" and the subcircuits for device "Comparator 4" would be found in the file "COMPARA4.SUB".

1.	Create a new .SUB file that corresponds to the name of the new macro device and enter your subcircuit into this file using any text editor.

2.	The name of each subcircuit must begin with the letter 'X'.  For example, the subcircuit for an LM317 must begin as .SUBCKT XLM317 and end as .ENDS XLM317.

3.	Enter an appropriate description of the subcircuit on the line immediately before the .SUBCKT line.  This line will be displayed as the description in the Subcircuit Selections dialog box.

4.	In CircuitMaker, expand the macro device mentioned in step 1 by clicking on the device once with the left mouse button, then clicking on the Macro Button in the Toolbar.

5.	Double-click on the device, then click on the Netlist button to view the Edit Device Data dialog box.

6.	Set the Spice Prefix Character(s) to 'X'.

7.	Enter an appropriate Auto Designation Prefix for the device.  For example, U or IC for integrated circuits, etc.

8.	Enter the subcircuit name (excluding any Spice Prefix Characters) in the Label-Value field.  This will determine the default subcircuit used whenever this device is selected from the menu.

9.	Place an appropriate SPICE instruction for this device into the Spice Data field.  Click on the OK button.

10.	Save the macro by selecting the Save Macro command in the Macros menu.

11.	You will now be able to select this subcircuit for use within CircuitMaker.

Example:  Create a new macro for a 4N25 opto isolator.

In the OPTOISOL.SUB file you need:

* 4N25

* Optical Isolator

.SUBCKT X4N25 1 2 4 5

  VM  1 12 DC 0

  D1 12  2 LED

  R1 10 11 450

  C1 11  0 1000PF

  H1 10  0 VM 3.33E-3

  G1  5  6 11  0 1.0

  Q1  5  6  4 QNPN

.MODEL LED D(IS=25E-13 RS=750M CJO=35P N=2)

.MODEL QNPN NPN(IS=3.33E-11 NF=1.35 CJC=47.4P

+      CJE=167P TF=923P TR=148N BF=150 BR=10

+      IKF=.1 VAF=100)

.ENDS X4N25

Enter the following information in the Edit Device Data dialog box of the expanded macro (to set the defaults for this macro device):

Label-Value:	4N25

Auto Designation Prefix:	OP

Spice Prefix Character(s):	X

Spice Data field:	%D %1 %2 %3 %4 %S


Help
File Menu:Help...

CircuitMaker's extensive on-line help file (CIRMAKER.HLP) can be accessed in different ways.

Select Help from the File menu:

Contents:	Contents help will be displayed.

Index:	An index into the Help file will be displayed.

Search for Help on...:	A dialog box will be displayed allowing you to select a help topic.

How to Use Help:	Help on Help will be displayed.

Press the F1 key on the keyboard:

-	If the circuit window is the active window, Contents help will be displayed.

-	If a dialog box is open, help for that dialog box will be displayed.

-	If the Help file is active, Help on Help will be displayed.

Select the Help Tool in the Toolbar:

The cursor will be changed to the Help Tool.  You may click on any item in the circuit to get information about that item.


About CircuitMaker...
File Menu:About CircuitMaker...

This dialog box contains version and registration information for your copy of CircuitMaker.


New
File Menu:New

Select the "New" command to clear the current circuit from the work area and begin a new circuit.

If an unsaved circuit is present in the work area when you select this command you will be asked if you want to save the circuit first.


Open...
File Menu:Open...

Choose the "Open..." command to abandon the current circuit and load a new circuit into the work area.  If an unsaved circuit is present in the work area when you select this command you will be asked if you want to save the circuit first.  A file selector dialog will then be displayed allowing you to choose the circuit to load into the work area.


Close
File Menu:Close

Use the "Close" command to close the open windows.  If changes have been made to the current circuit you will be asked if you want to save the circuit before closing.


Revert...
File Menu:Revert...

Choose the "Revert..." command to abandon any changes made since last saving the circuit to disk and to load the last saved version back into the work area.  CircuitMaker will then display a dialog box asking you to confirm that you want to revert to the last saved version.


Merge...
File Menu:Merge...

The "Merge..." command enables you to add a circuit saved on disk to the circuit in the work area.  This command is useful because it enables you to save commonly used circuits or portions of circuits to disk and then reuse them as often as desired without having to rebuild them from scratch each time.

To use this command, first use the scroll bars to position the work area so that the area where you want the circuit to be merged into is at the top left side of the screen.  Then select the "Merge..." command and choose the circuit to be added to the work area.  The circuit will be placed starting at the top left corner of the screen.


Save
File Menu:Save

Choose the "Save" command to save the current circuit in the work area to disk using the name shown in the title bar of the circuit window.  When you save a circuit whose title is "UNTITLED.CIR", a file selector dialog will be displayed allowing you to save it under a different name.


Save As...
File Menu:Save As...

Choose the "Save As..." command to save the current circuit to disk using a file name that is different than the one shown in the title bar.

CircuitMaker will display a file selector dialog allowing you to choose the disk and file name you want to use.


Import/Export Format...
File Menu:Import/Export Format...

The "Import/Export Format..." option allows you to specify the format used when transferring graphics to or from the clipboard or when exporting a graphic to a file.

Windows Metafile:  Windows format for vector graphics.

Device independent bitmap:  Pixel-by-pixel representation of a graphic.  Looks good at any resolution.

Device dependent bitmap:  Pixel-by-pixel representation of a graphic.  Looks good at original resolution only.  (This format is required for transferring graphics to and from the Paintbrush application that comes with Windows.)


Export Circuit...
File Menu:Export Circuit...

The "Export Circuit..." command allows you to save the circuit on disk in one of three file formats--Windows Metafile, Device Independent Bitmap or Device Dependent Bitmap--depending on the selected Import/Export Format....  When you choose this command a dialog box will be presented enabling you to select the name of the file where the circuit will be saved.

See also:

Printing and Exporting Circuits


Export Waveforms...
File Menu:Export Waveforms...

The "Export Waveforms..." command allows you to save the waveforms for the current circuit on disk in one of three file formats--Windows Metafile, Device Independent Bitmap or Device Dependent Bitmap--depending on the selected Import/Export Format....  Only the information currently displayed in the active Waveforms or Analysis window will be saved.  When you choose this command a dialog box will be presented enabling you to select the name of the file where the waveforms will be saved.

See also:

Printing and Exporting Circuits


Print Setup...
File Menu:Print Setup...

The "Print Setup..." command allows the desired printer and page orientation to be selected before printing.  This is done through two dialog boxes.  The first dialog box is the normal Windows Print Setup dialog.  The second box, shown here, allows you to scale the output to the printer 10% to 2000% and Black&White or Color to be selected.


Print Circuit...
File Menu:Print Circuit...

Choose the "Print Circuit..." command to print hte current circuit to a printer or to sve it to a print file.  A Printer dialog box will be displayed allowing you to select the desired output.  If the circuit is too large to fit onto a single page it will automatically be divided into page size blocks as it is printed.  All printers and printer options which can be selected from the Printer dialog are supported.  Printer setups will vary depending on the device you are printing to, but typically such items as page orientation and reduction factor are available.

See also:

Print Setup...

Show Page Breaks

Printing and Exporting Circuits


Print Waveforms...
File Menu:Print Waveforms...

Choose the "Print Waveforms..." command to print the waveforms to a printer or to save it to a print file.  Only the information currently displayed in the active Waveforms or Analysis window will be printed.

See also:

Print Setup...

Printing and Exporting Circuits


Save Spice Netlist...
File Menu:Save Spice Netlist...

Choose the "Save Spice Netlist..." command to create a SPICE text file describing your circuit and write it to disk.  This text file can be imported into other Berkeley SPICE3 compatible simulation programs.


Save Parts List...
File Menu:Save Parts List...

Choose the "Save Parts List..." command to create a parts list file and write it to disk.  This file contains information about how many and which kinds of parts are used in your circuit.

Example:

Parts list for Circuit: C:\CIRMAKER\BP.CIR

R1 (1) 39.8k

RF (1) 159k

R2 (1) 401.9

C2,C1 (2) .02uf

IC1 (1) UA741


Preferences
File Menu:Preferences...

Choose the "Preferences..." command to change the default settings of CircuitMaker.  The following dialog box will be displayed.  The items in the Program Defaults section are used no matter what circuit is loaded.  The items in the Circuit Defaults section are saved with each individual circuit.

Click on the dialog box for a description of each item.


Device/Plot Font

This option lets you specify the default font used in CircuitMaker.  This font is used on all device labels, wire labels, pin names, key caps, ascii displays and in the plot windows.  A TrueType mono-spaced font is recommended.

The Default Font button sets CircuitMaker's default font to Courier New.  This is a TrueType (scalable/rotatable), mono-spaced font that comes with Windows 3.1.


Single Click Connect

This option, set in the Preferences dialog box, is used for Manual Routing of wires.  When enabled, you can terminate a wire by a single mouse click on any valid connection point.  You can still terminate a wire at any location with a double-click, even if the end of the wire is not at a valid connection point.

When this option is disabled, you must double-click to end the wire when Manual Routing.  This allows you to turn the wire very close to other wires or pins without connecting to them.


Connection Area

The connection area, set in the Preferences dialog box, defines a rectangle around a valid connection point (a valid connection point is any device pin or wire).  The SmartWiresTM feature allows you to connect a wire to a valid connection point, even if your cursor is not exactly on that point.

By setting the X and Y values, you specify within how many pixels you must be of the connection point before the wire will snap to that point.  By default, the cursor must be within 3 pixels of the connection point.

When the Sound On option is enabled, the system will beep through the PC's speaker each time the cursor enters a connection area.

When the Show Box option is enabled, a rectangle will be drawn around the connection area each time the cursor enters that area.

See also:

Wiring the Circuit


Auto Wire Routing

Auto routing can be either Simple or Intelligent, depending on what you have selected in the Preferences dialog box.

Simple routing draws only one or two wire segments, horizontal and/or vertical, making the shortest path without regard for devices that might be in the way.

Intelligent routing tries to find a path which does not cross directly over any devices.  If no reasonable path can be found, the simple method is used.

See also:

Auto Routing


Default Transient Analysis

This section allows you to control the parameters supplied to the Transient Analysis when the Default Setups button is pressed in the Analog Analyses dialog box.  These values are only used in circuits which contain one or more Signal Generators.

Cycles Displayed:	Determines the number of cycles of the lowest frequency Signal Generator to be analysed.

Points Per Cycle:	Determines the resolution of the analysis.


Directories and Files...

The default directories and files used by CircuitMaker are user definable.  The following dialog box shows the factory defaults.

Circuit Directory	The path to where your circuit (.CIR) files are located.

Subcircuit Directory	The path to where your SPICE subcircuit (.SUB) files are located.

SPICE Model File	The path and file name of your SPICE model file.

User Library File	The path and file name of your User Library file.

Device Library File	The path and file name of your Device Library file.


Factory Settings

Click on this button to reset all the Preferences to their factory default settings.


Exit
File Menu:Exit

Choose the "Exit" command to exit CircuitMaker and return to Windows.  If there are unsaved changes, you will be asked if you want to save them.


Undo
Edit Menu:Undo

Many of CircuitMaker's editing commands can be undone.  Edit operations which can be undone are Cut, Paste, Delete and Move.  Only the most recent edit can be undone and many commands will void the ability to undo.  Commands which will void the ability to undo include Run, Single Step, Reset, Define New Macro, Expand Macro and Delete Macro.


Cut
Edit Menu:Cut

The "Cut" command will remove all selected items and place them in the paste buffer and on the system clipboard.


Copy
Edit Menu:Copy

The "Copy" command will place all selected items in the paste buffer and on the system clipboard.


Paste
Edit Menu:Paste

The "Paste" command will display the contents of the paste buffer in the work area and the displayed items will follow the mouse around the screen.  The cursor is replaced by the paste cursor, indicating the top left corner of the paste area.  When the items are positioned at the desired location, click the mouse to finalize the paste. To cancel the paste, press any key or double-click the mouse.


Move
Edit Menu:Move

The "Move" command performs both a "Cut" and a "Paste".  This provides a quick way to move an entire circuit or portion of a circuit to a new position on the screen.


Delete Items
Edit Menu:Delete Items

The "Delete Items" command removes all selected items from the work area.

See also:

The Delete Tool


Duplicate
Edit Menu:Duplicate

Choose the "Duplicate" command to make a copy of all selected items. When this command is selected the duplicated items will follow the mouse around the screen.  The cursor is replaced by the paste cursor, indicating the top left corner of the paste area.  When the items are positioned at the desired location click the mouse to finalize the duplication. To cancel the duplication press any key or double-click the mouse.


Select All
Edit Menu:Select All

This command selects all items in the work area.  It's handy if you want to cut, copy or move the entire circuit.


Copy Circuit
Edit Menu:Copy Circuit

The "Copy Circuit" command allows you to copy the entire circuit to the system clipboard in one of three formats--Windows Metafile, Device Independent Bitmap or Device Dependent Bitmap--depending on the format selected in the Import/Export Format... option in the File menu.  You can then paste the contents of the clipboard into another application.  When this command has been executed, an alert box will appear informing you that the circuit has been copied to the clipboard.

It should be noted that you cannot paste items into the work area which were copied using this command, it is designed only to copy the circuit to the system clipboard.

See also:

Printing and Exporting Circuits


Copy Waveforms
Edit Menu:Copy Waveforms

The "Copy Waveforms" command allows you to copy the contents of the Waveforms window to the system clipboard in one of three formats--Windows Metafile, Device Independent Bitmap or Device Dependent Bitmap--depending on the format selected in the Import/Export Format... option in the File menu.   You can then paste the contents of the clipboard into another application.  When this command has been executed, an alert box will be displayed informing you that the waveforms have been copied to the Clipboard.

Only the information currently displayed in the active Waveforms or Analysis window will be copied to the Clipboard.

See also:

Printing and Exporting Circuits


Refresh Screen
Edit Menu:Refresh Screen

Choose the "Refresh Screen" command to redraw the entire circuit.  Redrawing may be desirable following a command or operation which causes parts of the screen to become "dirty".

See also:

Auto Refresh


Set Prop Delay(s)...
Edit Menu:Set Prop Delay(s)...

This command allows you to alter the propagation delay of all selected devices.  The delay of a device determines how many simulation ticks it takes for a signal to propagate from the input to the output of the device.  The default delay for all devices is one,  but by using the "Set Prop Delay(s)..." command this value can be changed to any integer from 1 to 14.  The units assigned to delay are arbitrary and it is left to the user to determine what they are.  The concept is that if one device has a delay on one and another a delay of three then in the real world the second device would have a propagation delay three times larger than the first device.

To invoke this command first select at least one device, then select the "Set Prop Delay(s)..." command from the Edit menu.  The following dialog box will then be displayed allowing you to enter a new value for the delay or to cancel the command.

Use the "Show Prop Delays" command in the View menu to display the propagation delay of all devices in the circuit.  The delay values will be shown within a rounded rectangle located near the center of each device.  Some devices (Pulsers, LEDs, macro devices, etc.) do not have a delay so the delay value won't be shown on them.  In the case of macro devices, the delay is determined by the individual delay setting of each device contained within the macro.


Set Auto Designation...
Edit Menu:Set Auto Designation...

Use this command to automatically generate the designations (R1, C3, Q2, etc.) for each device in the circuit.  If any of the devices in the circuit already have a designation, that designation will be replaced.  The designation prefix for each device can be set in the Edit Device Data dialog box.  Each device must have a unique designation in order for analog simulation to work.

See also:

Auto Designation Prefix


Edit Selected Item
Edit Menu:Edit Selected Item

This sub-menu allows performs the same functions as double-clicking on an item in the circuit.  It is included here as a reference to the various functions.  Select a single item in the circuit, then select the proper command from this menu.

Edit Bus Connection...

Edit Bus Wire Number...

Edit Device Data...

Edit/Select Spice Model...

Edit PROM/RAM...

Edit Pulser...

Edit Multimeter...

Edit Scope Name...

Edit Input/Output...

Edit Data Sequencer...

Edit Signal Generator...


Edit Bus Connection...
Edit Menu:Edit Selected Item:Edit Bus Connection...

This feature allows the number associated with an existing bus connection wire to be changed. It also allows the angle on the connecting wire to be selected.  Select the wire (connected to a bus) to be edited by clicking on it once, then select the "Edit Bus Connection..." command and enter a new number or angle.  Alternately, click on the wire with the Naming Tool or double-click on it with the Arrow Tool and enter a new number or angle.

See also:

Using Bus Wires

Edit Bus Wire Number...


Edit Bus Wire Number...
Edit Menu:Edit Selected Item:Edit Bus Wire Number...

This feature allows the number associated with an existing bus wire to be changed.  Select the bus wire to be edited by clicking on it once, then select the "Edit Bus Wire Number..." command and type in a new number.  Alternately, click on the bus wire with the Naming Tool or double-click on it with the Arrow Tool and enter a new number.

See also:

Using Bus Wires

Edit Bus Connection...


Edit Device Data...
Edit Menu:Edit Selected Item:Edit Device Data...

Choose the "Edit Device Data..." command to change device labels, values, SPICE data, etc. in the Edit Device Data dialog box.


Edit/Select Spice Model...
Edit Menu:Edit Selected Item:Edit/Select Spice Model...

Choose the "Edit/Select Spice Model..." command to change the SPICE model for the selected device.

See also:

SPICE Models


Edit PROM/RAM
Edit Menu:Edit Selected Item:Edit PROM/RAM

Use the "Edit PROM/RAM..." command to program the 32 x 8 PROM or the 1k x 8 RAM.  Once a PROM is programmed it retains its contents until reprogrammed.  When a circuit containing a PROM is saved to disk the contents of the PROM are also saved.  For debugging purposes, the contents of the RAM can be viewed and edited, but the data will not be saved with the circuit.

To invoke this command, click on a single PROM or RAM to select it, then select the "Edit PROM/RAM..." command (or just double-click on the PROM or RAM with the Arrow Tool).  The following dialog box will then appear allowing you to enter either hexadecimal or binary numbers.

Click on the dialog box for a description of each item.


Address Data List

This list shows the data that is programmed into each address.


Hex/Binary Data

This allows you to select whether the data is entered/displayed in Hexadecimal or Binary.


Netlist... Button

 Clicking on this button brings up the Edit Device Data dialog box.


Edit Pulser...
Edit Menu:Edit Selected Item:Edit Pulser...

Choose the "Edit Pulser..." command to change the programmed settings of a Pulser.  The pulse format, time high, time low, and trigger mode are individually programmable for each Pulser in the circuit.

See also:

The Pulser


Edit Multimeter...
Edit Menu:Edit Selected Item:Edit Multimeter...

This feature allows you to change the function of the selected meter (voltmeter or ammeter).  Select the Multimeter to be changed by clicking on it once, then select the "Edit Multimeter..." command.  Alternately, double-click on it with the Arrow Tool.

See also:

The Multimeter


Edit Scope Name...
Edit Menu:Edit Selected Item:Edit Scope Name...

This feature allows an existing SCOPE name to be changed.  Select the SCOPE to be changed by clicking on it once, then select the "Edit Scope Name..." command  and type in a new name.  Alternately, click on the scope with the Naming Tool or double-click on it with the Arrow Tool and enter a new name.

See also:

Digital Waveforms


Edit Input/Output...
Edit Menu:Edit Selected Item:Edit Input/Output...

This feature allows the name associated with an Input or Output device to be edited. Select the Input (or Output) device to be modified by clicking on it once, then select the "Edit Input/Output..." command and type in a new name.  Alternately, click on the Input (or Output) device with the Naming Tool or double-click on it with the Arrow Tool and enter a new name.


Edit Data Sequencer...
Edit Menu:Edit Selected Item:Edit Data Sequencer...

Choose the "Edit Data Sequencer..." command to change the programmed settings of a Data Sequencer.  This device allows the user to specify up to 1024 bytes which can be output in a defined sequence.  To edit this data, select the Data Sequencer to be modified by clicking on it once, then select the "Edit Data Sequencer..." command (or just double-click on the Data Sequencer with the Arrow Tool).

See also:

The Data Sequencer


Edit Signal Generator...
Edit Menu:Edit Selected Item:Edit Signal Generator...

Choose the "Edit Signal Generator..." command to change the programmed settings of the selected Signal Gen.

See also:

The Multi-function Signal Generator


Select Font...
Edit Menu:Select Font...

Choose the "Select Font..." command from the Edit menu to change the font attributes of any selected, free-floating text field, or the default font for new text.


Define New Macro...
Macros Menu:Define New Macro...

Select the "Define New Macro..." command to make the circuit currently in the work area into a macro device.  Macros are saved in a disk file called "USER.LIB" and once created are available to use in any circuit or in another macro device.  Through this feature you can expand CircuitMaker to fit your exact needs.

See also:

The Macro Button


Edit Macro Name...
Macros Menu:Edit Macro Name...

Select the "Edit Macro Name..." command to change the name of an expanded macro or to change whether or not the macro name is visible on the package.  Alternately, click on the macro package with the Naming Tool or double-click on it with the Arrow Tool.  If an existing macro is expanded and saved with a new name, it is saved as a new macro and does not replace the existing macro.  The following dialog box will be presented upon executing this command.

A macro that is expanded, renamed and saved will not overwrite the old macro.  If neither a newly defined macro or an expanded macro is present in the work area then this menu item will be dimmed indicating that it is not available.


Edit Macro Pin...
Macros Menu:Edit Macro Pin...

Select the "Edit Macro Pin..." command to change the name or number of a macro pin.  This is done by selecting an expanded macro's pin (or a newly defined macro pin) then selecting the  "Edit Macro Pin..." command.  Alternately, click on the pin with the Naming Tool or double-click on it with the Arrow Tool.  The following dialog box will then be presented.

If neither a newly defined macro nor an expanded macro is present in the work area then this menu item will be dimmed indicating that it is not available.


Save Macro
Macros Menu:Save Macro

The "Save Macro" command enables you to save or resave a macro device.  An existing macro saved in this manner will be placed in its original position in the library while a new macro will be placed at the end of the library.  To save in a different position, use the Save Macro button in the Macro Utilities dialog box.  To save under a different name, refer to Edit Macro Name....  Macro devices are stored in the file USER.LIB.


Expand Macro
Macros Menu:Expand Macro

The "Expand Macro" command enables you to edit a previously saved macro device.  Expanding a macro device means that the black box containing the macro's circuitry is opened up and all internal circuitry made visible.

To invoke this command click on a single macro device to select it and then choose the "Expand Macro" command.  An alert box will then be presented warning that following expansion of the macro the only thing in the work area will be the expanded macro.  If you haven't saved the present work area then click on the "Cancel" button to abort the expansion, then save the current work area and then reselect the "Expand Macro" command.  If you don't need to save the work area click on the "OK" button to complete the expansion of the macro.

To make changes to an expanded macro just use any of the available editing commands.  When you have finished making changes to the macro select the Save Macro command.


Macro Utilities...
Macros Menu:Macro Utilities...

Selecting this option will bring up the following dialog box which enables you to expand, save or delete a macro.

Click on the dialog box for a description of each item.

See also:

Save Macro

Expand Macro


Macro List

All of the macro devices contained in the USER.LIB file are listed here.  Select a macro in this list to expand, insert after or delete.


Expand Macro Button

To expand a macro, click on a macro in the list to select it and then click the Expand Macro button.


Save Macro Button

This button enables you to save or resave a macro device.  If neither an expanded macro nor a newly defined macro is present in the work area this button will be dimmed.

To save a macro, click on the name in the list which the macro in the work area should be saved after and then click the "Save Macro" button.  The macro will then be saved and the work area will be cleared.  If you don't specify the order in which the current macro should be saved in the library it will be put at the end of library if it's a new macro or it will be put in its old position if the macro already exists in "USER.LIB".

See also:

Save Macro menu command


Delete Macro Button

This button enables you to delete a macro device from "USER.LIB".  To delete a macro click on a macro in the list to select it and then click the "Delete Macro" button.  Remember to save anything in the work area prior to executing this command because following deletion of a macro the work area will be cleared!  It is also a good idea to make a backup of "USER.LIB" before creating or deleting macros in case something goes wrong and you want to restore the original library.

Warning: You cannot open a circuit which uses a macro that has been deleted from the library unless you first create a new macro with the same name.


Macro Copier...
Macros Menu:Macro Copier...

The Macro Copier is used to copy macros from one USER.LIB file to another.

Example:

Macro Copier


Macro Copier

The following steps illustrate how you would use "Macro Copier..." to copy your macros into a new version of USER.LIB.

1.	Make a copy of the user library you wish to copy macros from.  Make sure it is named something other than "USER.LIB".  Copy this file to the directory which contains CircuitMaker and the "USER.LIB" file you want to copy macros into.

2.	Choose the "Macro Copier..." command from the Macros menu.  The Macro Copier dialog box will appear.

3.	Click on the "Open..." button on the left side of the dialog to display the "Open" dialog box.  Select the file from which macros will be copied.  This will be the library file which has your macros in it.

4.	Click on the "Open..." or  "New" button on the right side of the dialog to display the "Open" or "Save As..." dialog box.  Select the file to which macros will be copied. This would normally be "USER.LIB".

5.	Select a macro to copy from the left hand file list.

6.	If you want to position the macro in a certain location in the output file, click on the macro in the right hand list which the copied macro should be saved after.  If you don't specify the order, the copied macro will be saved at the end of the file.   If a macro already exists with the same name, the existing macro will be deleted.

7.	Click on the >>>Copy>>> button.

8.	Repeat steps 5-7 as needed.


Circuit Info...
Options Menu:Circuit Info...

Choose the "Circuit Info..." command to see how many items are currently present in the work area and to find out how much free memory is available.  The following dialog box will appear showing you this information.


Repeat On
Options Menu:Repeat On

This option enables you to control how devices are selected from the library.  With "Repeat On" checked, as soon as a device is selected from the library and placed, another identical device is automatically selected and made ready for placement.  This repeat placement process continues until you cancel it by pressing any key on the keyboard or by double-clicking the mouse.  With "Repeat On" not checked, you must select and place each device separately.


Auto Refresh
Options Menu:Auto Refresh

This option enables you to control the refresh mode.  When Auto Refresh is enabled, the screen will refresh automatically as the circuit is edited.  When it is disabled, the screen must be refreshed manually while editing.  This option will  allow you to work more quickly on a slower computer system.

See also:

Refresh Screen


Auto Designation
Options Menu:Auto Designation

When this option is enabled, the Set Auto Designation command will be executed automatically each time you run an analog simulation.  This option must be disabled if you want to use your own device designations.


Display Toolbar
Options Menu:Display Toolbar

The "Display Toolbar" command shows or hides the Toolbar at the top of the CircuitMaker window.

Click on the the Toolbar for a description of each item.


Scope Probe
Options Menu:Scope Probe

This option, when checked, causes the logic levels detected by the Probe Tool to be displayed in the digital Waveforms window while running digital simulation.


Arrow/Wire
Options Menu:Arrow/Wire

This option, when checked, allows you to initiate a wire with the Arrow Tool.  You can only use the Arrow Tool to initiate a wire on a device pin or to extend an existing wire.  You cannot initiate a wire from the middle of another wire using the Arrow Tool like you can with the Wire Tool.  This can be used for both auto routing and manual routing.

See also:

Wiring the Circuit


Cursor Tools
Options Menu:Cursor Tools

This submenu provides an alternate method of selecting the Arrow, Wire, Text, Delete, Naming, Zoom, Probe, Help and Pin Tools.


Digital/Analog Mode
Options Menu:Digital/Analog Mode

This works just like the Digital/Analog button in the Toolbar which is described in the Digital Simulation chapter.  The name that is displayed in the menu is the simulation mode that is currently selected.


Reset Simulation
Options Menu:Reset Simulation

This works just like the Reset button in the Toolbar.


Step Simulation
Options Menu:Step Simulation

This works just like the Step button in the Toolbar.


Run Simulation
Options Menu:Run Simulation

This works just like the Run button in the Toolbar.


Trace On
Options Menu:Trace On

This works just like the Trace button in the Toolbar.


Waveforms
Options Menu:Waveforms

This works just like the Waveforms button in the Toolbar.


OM:Digital Options
Options Menu:Digital Options

This dialog box is used to control the size of a step when running the simulation in single step mode, to set the conditions for break points and to set the simulation speed.

See also:

Digital Options


Analog Options...
Options Menu:Analog Options...

This dialog box is used to control the SPICE simulation options such as temperature and tolerances.

See also:

SPICE Options


Analog Analyses...
Options Menu:Analog Analyses...

This dialog box is used to set up the SPICE analyses to be performed.

See also:

The Analog Analyses


Select Colors...
View Menu:Select Colors...

This feature allows the user to select the color associated with several functions (i.e. low level, high level) and items (i.e. Logic Display color, Hex and Ascii Key Cap color).  The color of individual LEDs can be changed by first selecting one or more LEDs, choosing the "Select Colors..." command and changing the SELECTED LEDs color.  The selected LED color will be the default color for all new LEDs.  Logic Display colors can be changed by double-clicking on them.  You can also individually select the color of 7-segment displays, analog waveforms, etc.

Choose "All Items" to set everything (except the background) to the same color.  Press the "Defaults" button to restore everything to its original color.  Press the "Save Selections" button to save the selected colors even after quitting CircuitMaker.


Display Scale...
View Menu:Display Scale...

This feature allows the scale at which a circuit will be displayed to be selected by the user. It also allows the Scale Step Size used by the Zoom Tool to be selected.


Normal Size/Position
View Menu:Normal Size/Position

This feature changes the circuit display scale to 100% and moves the horizontal and vertical scroll bar to their home positions.


Fit Circuit To Window
View Menu:Fit Circuit To Window

This feature will reduce or enlarge the circuit being displayed (by changing the Display Scale and scroll bar positions) so the entire circuit can be displayed within the circuit window.


Show Pin Dots
View Menu:Show Pin Dots

This option enables you to control how connections between wires and devices are drawn.  With "Show Pin Dots" checked, connections between wires and devices will be shown by drawing a small dot where the connection occurs.  If "Show Pin Dots" is not checked, the connecting dots will not be drawn.  Dots showing where wires connect to other wires are always displayed.


Show Bus Labels
View Menu:Show Bus Labels

This option enables you to view the bus labels (numbers) by putting a small box at the end of each bus wire with the number of the bus in the box, and also showing the number of each bus connection wire next to the bus connection.


Show Page Breaks
View Menu:Show Page Breaks

This option allows you to see on the screen where a multi-page circuit will be divided into individual pages when it is sent to the printer.  The page breaks option is also useful when trying to position a circuit on a single page.  The page breaks you see on your screen are based on the printer selection, paper size and scaling factor.


Show Node Numbers
View Menu:Show Node Numbers

This option allows you to view the node number for each node in your circuit.  The number is shown at the center of the longest wire segment of each node.  The node numbers are determined by CircuitMaker and are used for simulation purposes.  They correspond to the variable names used in the analog analyses' graphs and can be used as a reference when viewing the graphs.


Show Prop Delays
View Menu:Show Prop Delays

This option allows you to choose whether or not the propagation delay for each device is shown.  With "Show Prop Delays" checked, the delay for each device will be shown within a rounded rectangle at the center of each device.  If "Show Prop Delays" is not checked all devices will be drawn in normal form without the delay value being visible.  Some devices such as Pulsers, LEDs and Macros do not have a delay so no value will be drawn for these devices.

See also:

Set Prop Delay(s)...


Device Display Data...
View Menu:Device Display Data...

This dialog box allows you to quickly change the settings of the "Visible" checkboxes in the Edit Device Data dialog box for all the selected devices.  If the item is visible on some of the selected devices, but not on others, the checkbox will be gray.


Circuit Display Data...
View Menu:Circuit Display Data...

This dialog box allows you to temporarily override the "Visible" checkboxes in the Edit Device Data dialog box for every device in the entire circuit.  The button at the top of each column will quickly change the settings for the entire column or you can change individual items by clicking on the radio buttons.  The Default setting tells CircuitMaker to use the "Visible" settings.


Drawing Grid...
View Menu:Drawing Grid...

Select "Drawing Grid..." to turn the alignment grid in the circuit window on or off.  The grid is useful as an aid in precisely aligning objects.  Snap-To-Grid allows new devices (devices not already in a circuit) to be placed according to the specified grid. It also allows old devices (devices already in the circuit) to be moved according to the selected grid, relative to their original position.


Title Box...
View Menu:Title Box...

Choose the "Title Box..." command to add a title box to the lower right position of the page.  When  you select the Title Box feature, the following dialog box will appear.

By selecting the desired check box you can specify if you want a Title Box to appear on every page, only the first or not at all.


Cascade Windows
View Menu:Cascade Windows

This command will arrange all open windows in a cascaded (stacked) order.


Tile Windows
View Menu:Tile Windows

This command will arrange all open windows in a tiled (adjacent) order.


Windows
View Menu:Windows

Each window that is open (or can be opened with the available simulation data) is listed here in the menu.  Selecting a window from this menu will open it and bring it to the front.


.IC

The .IC (Set Initial Conditions) device is connected to a node that requires an initial bias condition in order for SPICE to converge on a solution in a bistable or astable circuit.

See also:

.IC Statement

Initial Conditions

Example circuit:

555.CIR


.NODESET

The .NODESET device is connected to a node to help the program find the initial transient solution by specifying an initial guess at the node voltage.

See also:

.NODESET Statement

Initial Conditions


Multimeter
Multimeter	Analog

Multimeters can be wired directly into the circuit to measure voltage or current in DC or AC RMS modes if Transient Analysis is enabled, or to display OP data if Operating Point Analysis is enabled.  Multiple multimeters may be individually programmed.

See also:

The Multimeter

Example circuit:

SWITCHES.CIR


Analysis Probe
Analysis Probe	Analog

The analysis probe is used to associate a name with a specific node.  It is intended for use in future versions of CircuitMaker.


V Source
V Source	Analog

This is an independent DC voltage source.  Enter the voltage in the Label-Value field.

See also:

Independent Sources

Example circuit:

741.CIR


I Source
I Source	Analog

This is an independent DC current source.  Enter the current in the Label-Value field.

See also:

Independent Sources

Example circuit:

741.CIR


NLV Source
NLV Source	Analog

This is a nonlinear voltage source.

See also:

Non-linear Dependent Sources

Example circuit:

741.CIR


NLI Source
NLI Source	Analog

This is a nonlinear current source.

See also:

Non-linear Dependent Sources

Example circuit:

741.CIR


V->V Source
V->V Source	Analog

This is a linear voltage-controlled voltage source.  The voltage on the output (right-hand side) is controlled by the voltage on the input (left-hand side).

See also:

Linear Voltage-Controlled Voltage Sources


V->I Source
V->I Source	Analog

This is a linear voltage-controlled current source.  The current on the output (right-hand side) is controlled by the voltage on the input (left-hand side).

See also:

Linear Voltage-Controlled Current Sources

Example circuit:

741.CIR


I->V Source
I->V Source	Analog

This is a linear current-controlled voltage source.  The voltage on the output (right-hand side) is controlled by the current on the input (left-hand side).

See also:

Linear Current-Controlled Voltage Sources

Example circuit:

741.CIR


I->I Source
I->I Source	Analog

This is a linear current-controlled current source.  The current on the output (right-hand side) is controlled by the current on the input (left-hand side).

See also:

Linear Current-Controlled Current Sources


Signal Gen
Signal Gen	Analog

This is a fully programmable, multifunction analog signal generator which offers a variety of output waveforms.  Multiple generators may be individually programmed.  The minimum and maximum amplitudes of the waveform are stored in the Label-Value field and by default are displayed above the device symbol.

See also:

The Multi-function Signal Generator

Example circuit:

ANALOG.CIR


Stepper
Stepper	Digital

This device simulates an eight position stepper motor.  It can be connected in unipolar or bipolar mode and can be driven in full or half steps.  The tables show how the motor is driven in unipolar mode with the A and B terminals connected to a logic high.

Example circuit:

STEPPER.CIR


Car
Car	Digital

This is an animated device with a start input, a finish output and a reset button.  Multiple cars may be placed in the circuit.  The number of simulation ticks it takes for a car to reach the finish is random for each car.  A new random number is generated each time the Reset button in the Toolbar is pressed.  The reset button on the car returns the car to its starting position.  Double-click on the car to program the travel distance (up to 1000 units).  Different colors can be selected for each car.

Example circuit:

CARS.CIR


Stoplight
Stoplight	Digital

This device has 3 lights--red, yellow and green--with one input for each light.  The light will be on when its associated pin is in the high state and off when its pin is in the low state.

Example circuit:

DISPLAY.CIR


Rocket
Rocket	Digital

This is an animated device similar to the Car, but with + and - input pins.  When a high state is placed on the + input and a low state is placed on the - input, the rocket will fire.  The reset button on the rocket returns the rocket to its starting position.  Double-click on the rocket to program the travel distance (up to 1000 units).  Different colors can be selected for each rocket.

Example circuit:

ROCKET.CIR


Window device
Window	Digital

This is an animated device which simulates the opening and closing of a window.  It has a single input (OC) which opens the window when high and closes it when low, or, it can be opened or closed by clicking on the window pane with the mouse.  It also contains a single-pole double-throw switch that is activated when the window is opened or closed.

Example circuit:

ALARM.CIR


+V
+V	Analog/Digital

In analog simulation mode, this device provides a fully programmable DC power supply.  It can be programmed for either a positive or negative voltage.  It always uses the ground node as a reference.  In digital simulation mode it provides a fixed High state.

See also:

V Source

Battery

Independent Sources

Example circuits:

LOCK.CIR

ANALOG.CIR


Ground
Ground	Analog/Digital

In analog simulation mode, this device provides a ground reference node for the circuit.  Every analog circuit must have a ground reference.  In digital simulation mode it provides a fixed Low state.


Terminal
Terminal	Schematic

This is a schematic symbol of a generic connector terminal point.  It has no effect on simulations.


Input
Input	Analog/Digital

This is a schematic symbol of a connector that goes into a circuit.  All Input and Output devices that have the same name will operate as though they were connected together.  Double-click on the device to edit the name.

See also:

Output

Example circuit:

INOUTPUT.CIR


Output
Output	Analog/Digital

This is a schematic symbol of a connector that goes out of a circuit.  All Input and Output devices that have the same name will operate as though they were connected together.  Double-click on the device to edit the name.

See also:

Input

Example circuit:

INOUTPUT.CIR


Logic Display
Logic Display	Digital

This is a simple logic state indicator.  It has only one pin and indicates whether the state is low (display off) or high (display on).  Double-click on the Logic Display to change its color.

Example circuit:

LED.CIR


LED
LED	Digital

This is a Light Emitting Diode. It will "light" when a low level is applied to its cathode and a high level is applied to its anode.  Different colors can be selected for each LED.

Example circuit:

OPTO.CIR


CA 7-Seg
CA 7-Seg	Digital

This is a Common-anode 7-Segment Display.  It will display each of 7 segments plus the decimal point, corresponding to the input pins as they are pulled low.  Different colors can be selected for each display.  If the Prop Delay for this device is set to greater than 1, the display will remain visible even when power is removed.  This allows the display to be multiplexed without causing a flash each time the display is addressed.  This allows the display to better simulate real-time operation.  In a real circuit the flashes are not usually noticeable because of the high repetition rate of the multiplexing circuit.

See also:

CC 7-Seg

Hex Display

Example circuit:

DISPLAY.CIR


CC 7-Seg
CC 7-Seg	Digital

This is a Common-cathode 7-Segment Display.  It will display each of 7 segments plus the decimal point, corresponding to the input pins as they are pulled high.  Different colors can be selected for each display.  If the Prop Delay for this device is set to greater than 1, the display will remain visible even when power is removed.  This allows the display to be multiplexed without causing a flash each time the display is addressed.  This allows the display to better simulate real-time operation.  In a real circuit the flashes are not usually noticeable because of the high repetition rate of the multiplexing circuit.

See also:

CA 7-Seg

Hex Display

Example circuit:

DISPLAY.CIR


Hex Display
Hex Display	Digital

This is a Hexadecimal 7-Segment Display with a built in decoder.  It will display a hexadecimal number (0-9 and A-F) based on the binary code applied to the pins 1-4.  Different colors can be selected for each display.

See also:

CA 7-Seg

CC 7-Seg

Example circuit:

SIM.CIR


Ascii Display
Ascii Display	Digital

This represents a 16X4 LCD display.  Up to 4 lines of 16 ASCII characters per line can be displayed on this device.  The character, determined by the binary code applied to pins 1-7, is sent to the display when the level on the CP pin changes from high to low.

NOTE: <RETURN> will start a new line, <BACK-SPACE> will delete a previously entered character, CTRL+G (bell) will send a beep to the PC's speaker, and CTRL+L (form-feed) will clear the display.  The background color of the display can be changed.  The text is always the Device Text color.

Example circuit:

DISPLAY.CIR


OptoIsolator
OptoIsolator	Analog/Digital

This is an NPN optical isolator.  In digital mode, the LED in this device operates exactly like a regular LED.  When the LED is "on", the logic level applied to the NPN transistor's emitter will appear on its collector.  When the LED is "off", a 3-state level will appear on the transistor's collector.  In analog mode, the LED does not light, but the SPICE subcircuit information will be used for simulation.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuits:

OPTO.CIR

STEPPER.CIR


Piezo Buzzer
Piezo Buzzer	Digital

In digital simulation mode, the piezo buzzer will send a continuous stream of beeps to the PC's speaker when a low level is applied to its - terminal and a high level is applied to its + terminal.

Example circuit:

SOUND.CIR


Speaker
Speaker	Analog/Digital

In digital simulation mode, the speaker will send a single beep to the PC's speaker when a low level is applied to one of its terminals and a high level is applied to its other terminal.  It will also send a single beep each time the high and low level are reversed or removed and then applied.  It contains SPICE data for use in analog mode as a resistor.

See also:

Resistors

Example circuit:

SOUND.CIR


Logic Switch
Logic Switch	Digital

This is a special switch which allows you to provide either a Low or a High state.  A single click on the switch will cause it's output to change states.  To move a switch to a new location you must first drag over the switch to select it.

Example circuit:

SIM.CIR


SPST Switch
SPST Switch	Analog/Digital

This is a functional Single-Pole Single-Throw switch.  To move a switch to a new location you must first drag over the switch to select it.  If you try to activate the switch while running an analog simulation, CircuitMaker will ask if you want to rerun the simulation with the switch in the new position.

See also:

SPDT Switch

Example circuit:

ALARM.CIR


SPDT Switch
SPDT Switch	Analog/Digital

This is a functional Single-Pole Double-Throw switch.  To move a switch to a new location you must first drag over the switch to select it.  If you try to activate the switch while running an analog simulation, CircuitMaker will ask if you want to rerun the simulation with the switch in the new position.

See also:

SPST Switch


SPDT Relay
SPDT Relay	Digital

This is a Single-Pole Double-Throw relay. It switches the contact connections when a low level is applied to one terminal of the coil and a high level is applied to the other terminal.

Example circuit:

ALARM.CIR


NO PushButton
NO PushButton	Analog/Digital

This is a Normally-Open Push-button switch.  While digital simulation is running, the switch may be closed by clicking on it with the left mouse button and will remain closed as long as the mouse button is held down.  The switch cannot be activated while running an analog simulation, but simply acts as an open.

Example circuit:

CARS.CIR


NC PushButton
NC PushButton	Analog/Digital

This is a Normally-Closed Push-button switch.  While digital simulation is running, the switch may be opened by clicking on it with the left mouse button and will remain open as long as the mouse button is held down.  The switch cannot be activated while running an analog simulation, but simply acts as a short.


Hex Key
Hex Key	Digital

This is a hexadecimal key. It will generate the binary code associated with the hexadecimal number displayed on the key.  After the hex key has been selected (single click on the hex number shown in the middle of the device), the hex number displayed can be changed in two ways: 1) click on the number displayed to increment it, or 2) press a hexadecimal key (0-9 and A-F) on the keyboard.  Multiple Keys may be used in a circuit; only the selected key will accept input from the keyboard.

Example circuit:

LOCK.CIR


Ascii Key
Ascii Key	Digital

The ASCII Key operates like the Hex Key with one addition: A strobe pulse (low, high, low level) is generated and appears on the pin labeled S.  The binary code for any ASCII character can be generated by this device.  This device simulates a keyboard.

Example circuit:

DISPLAY.CIR


4x4 Switch
4x4 Switch	Analog/Digital

This is a 4x4 switch matrix.  Clicking on one of the buttons closes a switch which connects one of the horizontal pins to one of the vertical pins.  The switch remains closed until another button is clicked.  If you try to activate the switch while running an analog simulation, CircuitMaker will ask if you want to rerun the simulation with the switch in the new position.

Example circuit:

4X4.CIR


Pulser
Pulser	Digital

The Pulser is a programmable pulse generator.  Multiple Pulsers may be individually programmed.

See also:

The Pulser

Example circuit:

SIM.CIR


Data Seq
Data Seq	Digital

The Data Sequencer allows the user to specify up to 1024 bytes which can be output in a defined sequence.  Multiple Data Sequencers may be individually programmed.

See also:

The Data Sequencer

Example circuit:

INOUTPUT.CIR


SCOPE
SCOPE	Digital

A "SCOPE" is actually a tool which allows you to look at simulation waveforms as they are charted in the Waveforms window.  Connect a scope (each scope must have a unique name) at each point in the circuit where you wish to see the states charted.  Double-click on the device to edit the name.

See also:

Digital Waveforms

Scope Probe

Example circuit:

SCOPE.CIR


74XXX Devices
74XXX Devices	Digital

CircuitMaker provides a comprehensive library of commonly used TTL devices for use in digital simulations.  They are based on the 74LS family as defined by Philips Semiconductors, an international manufacturer of integrated circuits.

74LS42	BCD-to-Decimal Decoder (1-of-10)

74LS47	BCD-to-Seven-Segment Decoder/Driver (O.C.)

74LS48	BCD-to-Seven-Segment Decoder/Driver w/Pullups

74LS73	Dual J-K Flip-Flop

74LS74	Dual D Flip-Flop

74LS75	Quad Bistable Latch

74LS76	Dual J-K Flip-Flop

74LS83	4-Bit Full Adder

74LS85	4-Bit Magnitude Comparator

74LS90	Decade Counter

74LS92	Divide-by-Twelve Counter

74LS93	4-Bit Binary Ripple Counter

74LS95	4-Bit Shift Register

74LS96	5-Bit Shift Register

74LS107	Dual J-K Flip-Flop

74LS109	Dual J-K Positive Edge-Trigger Flip-Flop

74LS112	Dual J-K Edge-Triggered Flip-Flop

74LS113	Dual J-K Edge-Triggered Flip-Flop

74LS125	Quad Buffer (3-State)

74LS126	Quad Buffer (3-State)

74S133	13-Input NAND Gate

74LS138	1-of-8 Decoder/Demultiplexer

74LS139	Dual 1-of-4 Decoder/Demultiplexer

74LS151	8-Input Multiplexer

74LS153	Dual 4-Line to 1-Line Multiplexer

74LS154	1-of-16 Decoder/Demultiplexer

74LS155	Dual 2-Line to 4-Line Decoder/Demultiplexer

74LS157	Quad 2-Input Data Selector/Multiplexer

74LS158	Quad 2-Input Data Selector/Multiplexer (Inverting)

74LS160	BCD Decade Counter

74LS161	4-Bit Binary Counter

74LS162	BCD Decade Counter

74LS163	4-Bit Binary Counter

74LS164	8-Bit Serial-In Parallel-Out Shift Register

74LS165	8-Bit Serial/Parallel-In, Serial-Out Shift Register

74LS166	8-Bit Serial/Parallel-In, Serial-Out Shift Register

74LS168	Synchronous BCD Decade Up/Down Counter

74LS169	Synchronous 4-Bit Binary Up/Down Counter

74LS173	Quad D Flip-Flop (3-State)

74LS174	Hex D Flip-Flop

74LS175	Quad D Flip-Flop

74LS181	4-Bit Arithmetic Logic Unit

74S182	Lookahead Carry Generator

74LS190	Presettable BCD/Decade Up/Down Counter

74LS191	Presettable 4-Bit Binary Up/Down Counter

74LS192	Presettable BCD/Decade Up/Down Counter

74LS193	Presettable 4-Bit Binary Up/Down Counter

74LS194	4-Bit Bidirectional Universal Shift Register

74LS195	4-Bit Parallel Access Shift Register

74LS197	Presettable 4-Bit Binary Ripple Counter

74LS199	8-Bit Parallel Access Shift Register

74LS240	Octal Inverter Buffer (3-State)

74LS241	Octal Buffer (3-State)

74LS242	Quad Inverting Transceiver (3-State)

74LS243	Quad Bus Transceiver (3-State)

74LS244	Octal Buffer (3-State)

74LS245	Octal Bus Transceiver (3-State)

74LS247	BCD-to-Seven-Segment Decoder/Driver (O.C.)

74LS248	BCD-to-Seven-Segment Decoder/Driver w/Pullups

74LS251	8-Input Multiplexer (3-State)

74LS253	Dual 4-Input Multiplexer (3-State)

74LS256	Dual 4-Bit Addressable Latch

74LS257	Quad 2-Line to 1-Line Data Selector/Multiplexer (3-State)

74LS258	Quad 2-Line to 1-Line Data Selector/Multiplexer (3-State)

74LS259	8-Bit Addressable Latch

74LS273	Octal D Flip-Flop

74LS280	9-Bit Odd/Even Parity Generator/Checker

74LS283	4-Bit Full Adder with Fast Carry

74LS290	BCD Decade Counter

74LS293	4-Bit Binary Ripple Counter

74LS298	Quad 2-Port Register

74LS352	Dual 4-Line to 1-Line Multiplexer

74LS353	Dual 4-Input Multiplexer (3-State)

74LS373	Octal Transparent Latch (3-State)

74LS374	Octal D Flip-Flop (3-State)

74LS375	Quad Bistable Latch

74LS377	Octal D Flip-Flop with Clock Enable

74LS378	Hex D Flip-Flop with Clock Enable

74LS568	BCD Decade Up/Down Synchronous Counter (3-State)

74LS569	4-Bit Binary Up/Down Synchronous Counter (3-State)


CD4XXX Devices
CD4XXX Devices	Digital

CD4022	4-Stage Divide-by-8 Johnson Counter

CD4512	8-Input Multiplexer (3-State)

CD4520	Dual 4-Bit Binary Counter


1K RAM
1K RAM	Digital

This is a 1024 x 8 Random Access Memory.  Multiple RAM chips may be used in a single circuit or macro, however,  RAM data is not saved with the circuit or macro.  Both the CS and WE pins must be pulled low to write into the RAM.  To read from the RAM, keep the WE pin high and pull the CS pin low.  For debugging purposes, double-click on the device to view or edit the contents of the RAM.

See also:

Edit PROM/RAM...


PROM32
PROM32	Digital

This is a 32 x 8 PROM.  Multiple PROMs may be individually programmed.  Double-click on the device to view or edit the contents of the PROM.  PROM data is saved with the circuit and in macros.

See also:

Edit PROM/RAM...

Example circuit:

STEPPER.CIR


Reference3
Reference3	Analog

This device includes the SPICE data for simulating a 3-terminal Programmable Reference.  References may be selected from a list of available subcircuits (i.e. TL431) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


Regulator3
Regulator3	Analog

This device includes the SPICE data for simulating a 3-terminal Voltage Regulator.  Regulators may be selected from a list of available subcircuits (i.e. LM317) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


NPN Darling1
NPN Darling1	Analog

This device includes the SPICE data for simulating an NPN Darlington Transistor.  Transistors may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


NPN Darling2
NPN Darling2	Analog

This device includes the SPICE data for simulating an NPN Darlington transistor pair with internal diode protection.  Transistors may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


NPN Darling3
NPN Darling3	Analog

This device includes the SPICE data for simulating an NPN Darlington transistor pair with internal diode protection and biasing resistors.  Transistors may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


PNP Darling1
PNP Darling1	Analog

This device includes the SPICE data for simulating a PNP Darlington transistor pair.  Transistors may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


PNP Darling2
PNP Darling2	Analog

This device includes the SPICE data for simulating a PNP Darlington transistor pair with internal diode protection.  Transistors may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


PNP Darling3
PNP Darling3	Analog

This device includes the SPICE data for simulating a PNP Darlington transistor pair with internal diode protection and biasing resistors.  Transistors may be selected from a list of available subcircuits (i.e. 2N6040) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


Fuse
Fuse	Schematic

This device is included for schematic purposes only at this time.


Lamp
Lamp	Analog/Digital

This device includes the SPICE data for simulating a resistor in analog mode.  The value of the resistor is specified in the Label/Value field.

In digital simulation mode, the lamp will light when one terminal is high and the other terminal is low.

Each lamp may be a different color.

See also:

Resistors


N-UJT
N-UJT	Analog

This device includes the SPICE data for simulating an N-channel unijunction transistor.  Transistors may be selected from a list of available subcircuits (i.e. 2N2646) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


PUT

This device includes the SPICE data for simulating a programmable unijunction transistor.  PUTs may be selected from a list of available subcircuits (i.e. 2N6027) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

PUT.CIR


LossLessLine
LossLessLine	Analog

This device includes the SPICE data for simulating a lossless transmission line.  Characteristic impedance is specified in the Label/Value field.  Time delay or frequency/normalized length are specified in the Spice Data field.

See also:

Lossless Transmission Lines

Transmission Lines

Example circuit:

LLTRAN.CIR


LossyLine
LossyLine	Analog

This device includes the SPICE data for simulating a lossy transmission line.  Specific models may be added by the user.

See also:

Lossy Transmission Lines

Transmission Lines


URC-Line
URC-Line	Analog

This device includes the SPICE data for simulating a Uniform Distributed RC line.  Specific models may be added by the user.

See also:

Uniform Distributed RC Lines (Lossy)

Transmission Lines


Coax
Coax	Schematic

This device is included for schematic purposes.  SPICE data may be added by the user to simulate the lossless, lossy or URC transmission lines.

See also:

Transmission Lines


TwinLead
TwinLead	Schematic

This device is included for schematic purposes.  SPICE data may be added by the user to simulate the lossless, lossy or URC transmission lines.

See also:

Transmission Lines


TwistedPair
TwistedPair	Schematic

This device is included for schematic purposes.  SPICE data may be added by the user to simulate the lossless, lossy or URC transmission lines.

See also:

Transmission Lines


I->Switch
I->Switch	Analog

This device includes the SPICE data for simulating a current-controlled switch.  Specific models may be added by the user.

See also:

Current Controlled Switches

Example circuit:

SWITCHES.CIR


V->Switch
V->Switch	Analog

This device includes the SPICE data for simulating a voltage-controlled switch.  Specific models may be added by the user.

See also:

Voltage Controlled Switches

Example circuit:

SWITCHES.CIR


Op Amp
Op Amp	Analog

This device is primarily intended for schematic purposes, but it includes SPICE data for simulating an ideal operational amplifier.

See also:

Linear Voltage-Controlled Voltage Sources


Op-Amp5
Op-Amp5	Analog

This device includes the SPICE data for simulating a 5-pin operational amplifier.  Op amps may be selected from a list of available subcircuits (i.e. UA741) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

ANALOG.CIR


Op-Amp7
Op-Amp7	Analog

This device includes the SPICE data for simulating a 7-pin operational amplifier.  Op amps may be selected from a list of available subcircuits (i.e. LM301A) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


555 Timer

This device includes the SPICE data for simulating a 555 Timer.  Timers may be selected from a list of available subcircuits (i.e. NE555) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


Comparator5

This device includes the SPICE data for simulating a 5-pin voltage comparator.  Comparators may be selected from a list of available subcircuits (i.e. LM339) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


Comparator6
Comparator6	Analog

This device includes the SPICE data for simulating a 6-pin voltage comparator.  Comparators may be selected from a list of available subcircuits (i.e. LM111) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


NPN Trans
NPN Trans	Analog

This device includes the SPICE data for simulating an NPN bipolar junction transistor.  Transistors may be selected from a list of available models (i.e. 2N3904) or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

Bipolar Junction Transistors (BJTs)

Example circuit:

CEAMP.CIR


PNP Trans
PNP Trans	Analog

This device includes the SPICE data for simulating an PNP bipolar junction transistor.  Transistors may be selected from a list of available models (i.e. 2N3906) or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

Bipolar Junction Transistors (BJTs)


N-JFET
N-JFET	Analog

This device includes the SPICE data for simulating an N-channel junction field-effect transistor.  JFETs may be selected from a list of available models (i.e. 2N4393) or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

Junction Field Effect Transistors (JFETs)

Example circuit:

CSJFAMP.CIR


P-JFET
P-JFET	Analog

This device includes the SPICE data for simulating a P-channel junction field-effect transistor.  JFETs may be selected from a list of available models (i.e. 2N5460) or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

Junction Field Effect Transistors (JFETs)


N-MOSFET 3T
N-MOSFET 3T	Analog

This device includes the SPICE data for simulating a 3-terminal N-channel MOSFET.  MOSFETs may be selected from a list of available models or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

MOSFETs

N-MOSFET 4T


P-MOSFET 3T
P-MOSFET 3T	Analog

This device includes the SPICE data for simulating a 3-terminal P-channel MOSFET.  MOSFETs may be selected from a list of available models or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

MOSFETsP-MOSFET 3T


N-MOSFET 4T
N-MOSFET 4T	Analog

This device includes the SPICE data for simulating a 4-terminal N-channel MOSFET.  MOSFETs may be selected from a list of available models or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

MOSFETsN-MOSFET 3T


P-MOSFET 4T
P-MOSFET 4T	Analog

This device includes the SPICE data for simulating a 4-terminal P-channel MOSFET.  MOSFETs may be selected from a list of available models or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

MOSFETsP-MOSFET 3T


N-MESFET
N-MESFET	Analog

This device includes the SPICE data for simulating an N-channel MESFET (GaAsFET).  MESFETs may be selected from a list of available models or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

MESFETs


P-MESFET
P-MESFET	Analog

This device includes the SPICE data for simulating a P-channel MESFET (GaAsFET).  MESFETs may be selected from a list of available models or new models may be added by the user.  Double-click on the device to select the desired model.

See also:

MESFETs


Resistor
Resistor	Analog/Digital

This device includes the SPICE data for simulating a resistor in analog mode.  The value of the resistor is specified in the Label/Value field.  When analog simulation is running, you may click on the pin of any resistor in the circuit to view the current through that resistor in the Value Window.

In digital simulation mode, when connected directly to a +V or Ground, it acts like a standard pull-up or pull-down resistor.  Otherwise, it acts as an open in digital simulation mode.

See also:

Var Resistor

Resistors

Example circuits:

ROCKET.CIR	(Digital)

ANALOG.CIR	(Analog)


Var Resistor
Var Resistor	Analog

This device includes the SPICE data for simulating two fixed resistors by setting the following default

Label/Value:	10k	(Total resistance = 10k ohms)

Spice Data:	%DA %1 %2 4k	(Resistor A = 4k ohms)

%DB %2 %3 6k	(Resistor B = 6k ohms)

where the total resistance is 4k + 6k = 10k.  These values may be adjusted as required by the user.

See also:

Resistor

Resistors


Capacitor
Capacitor	Analog

This device includes the SPICE data for simulating a capacitor.  The value of the capacitor is specified in the Label/Value field.

See also:

Polar Cap

Var Capacitor

Capacitors


Polar Cap
Polar Cap	Analog

This device includes the SPICE data for simulating a capacitor.  The value of the capacitor is specified in the Label/Value field.  The flat side of the capacitor is Positive.

See also:

Capacitor

Var Capacitor

Capacitors


Var Capacitor
Var Capacitor	Analog

This device includes the SPICE data for simulating a capacitor.  The value of the capacitor is specified in the Label/Value field.  It is drawn as a variable capacitor for schematic purposes only.

See also:

Capacitor

Polar Cap

Capacitors


Inductor
Inductor	Analog

This device includes the SPICE data for simulating an inductor.  The inductance of the coil is specified in the Label/Value field.

See also:

Var Inductor

Coil 3T

Coil 5T

Inductors

Coupled (Mutual) Inductors


Var Inductor

This device includes the SPICE data for simulating an inductor.  The inductance of the coil is specified in the Label/Value field.  It is drawn as a variable inductor for schematic purposes only.

See also:

Inductor

Coil 3T

Coil 5T

Inductors

Coupled (Mutual) Inductors


Coil 3T
Coil 3T	Analog

This device includes the SPICE data for simulating an inductor.  The inductance of the coil is specified in the Label/Value field.

See also:

Inductor

Var Inductor

Coil 5T

Inductors

Coupled (Mutual) Inductors


Coil 5T
Coil 5T	Analog

This device includes the SPICE data for simulating an inductor.  The inductance of the coil is specified in the Label/Value field.

See also:

Inductor

Var Inductor

Coil 3T

Inductors

Coupled (Mutual) Inductors


Diode
Diode	Analog

This device includes the SPICE data for simulating a junction diode.  Diodes may be selected from a list of available models or new models (i.e. 1N914) may be added by the user.  Double-click on the device to select the desired model.

See also:

Zener Diode

Junction Diodes


Zener Diode
Zener Diode	Analog

This device includes the SPICE data for simulating a zener diode.  Diodes may be selected from a list of available models (i.e. 1N750) or new models may be added by the user.  Double-click on the device to select the desired model.

Note: when adding new zener diode models, be sure to include the word 'ZENER' in the description line of the model so CircuitMaker can distinguish it from standard diode models.

See also:

Diode

Junction Diodes


SCR
SCR	Analog

This device includes the SPICE data for simulating an SCR (Thyristor).  SCRs may be selected from a list of available subcircuits (i.e. 2N2326) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

SCR.CIR


Triac
Triac	Schematic

This device is included for schematic purposes.


FW Bridge
FW Bridge	Analog

This device includes the SPICE data for simulating a full-wave bridge rectifier.  Bridges may be selected from a list of available subcircuits (i.e. MDA2500) or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

PS1.CIR


Crystal
Crystal	Analog

This device includes the SPICE data for simulating a crystal.  Crystals may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

XTAL_OSC.CIR


Battery
Battery	Analog

This device includes the SPICE data for simulating a DC voltage source.  The voltage is specified in the Label/Value field.

See also:

+V

V Source

Independent Sources


Trans1
Trans1	Analog

This device includes the SPICE data for simulating a transformer.  Transformers may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits


Trans2
Trans2	Analog

This device includes the SPICE data for simulating a transformer.  Transformers may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

PS1.CIR


Trans3
Trans3	Analog

This device includes the SPICE data for simulating a transformer.  Transformers may be selected from a list of available subcircuits or new subcircuits may be added by the user.  Double-click on the device to select the desired subcircuit.

See also:

Subcircuits

Example circuit:

PS2.CIR


Transformer
Transformer	Analog

This device includes the SPICE data for simulating a pair of coupled inductors.

See also:

Coupled (Mutual) Inductors


CTTransformer
CTTransformer	Analog

This device includes the SPICE data for simulating 3 coupled inductors.

See also:

Coupled (Mutual) Inductors


Connector
Connector	Analog/Digital

This device has an internal wire that connects the two sides, so it behaves just like a wire during simulation.


DB-9
DB-9	Schematic

This device is included for schematic purposes.

Bus wires may be added internally to the macro to connect two of them together for simulation.  Be sure to use a unique bus wire number for each pair of connectors.

Example circuit:

DB9.CIR


DB-15
DB-15	Schematic

This device is included for schematic purposes.  Bus wires may be added internally to the macro to connect two of them together for simulation.  Be sure to use a unique bus wire number for each pair of connectors.


DB-25
DB-25	Schematic

This device is included for schematic purposes.  Bus wires may be added internally to the macro to connect two of them together for simulation.  Be sure to use a unique bus wire number for each pair of connectors.


Predefined Macro

This is a macro device that has been enclosed in a predefined macro package.  This type of macro package can be rotated and mirrored.


Device Independent Bitmap Macro

This is a macro device that has been enclosed in a user-defined bitmap package.  This type of macro package cannot be rotated or mirrored.


Device Dependent Bitmap Macro

This is a macro device that has been enclosed in a user-defined bitmap package.  This type of macro package cannot be rotated or mirrored.


Metafile Macro

This is a macro device that has been enclosed in a user-defined metafile package.  This type of macro package cannot be rotated or mirrored.


Digital vs. Analog

CircuitMaker is capable of running two different types of simulations and it is important to understand the differences.  The Digital/Analog button in the Toolbar indicates which simulation mode is selected.

Digital electronics is the world of the computer.  The binary 1's and 0's of the computer are actually the high and low voltage levels of tiny electronic devices known as integrated circuits.  Digital simulation, then, becomes a relatively simple task because of the limited number of digital states that must be represented.  The digital devices and instruments in the libraries--gates, 74xxx devices, Data Sequencer, etc.--are intended to be used with the digital simulator only.  The digital simulator is quick and fully interactive, meaning that you can flip switches, altering the circuit with the simulation free running and immediately see the response of the circuit.

Analog is the classic world of electronics.  There are no logic state restrictions as in digital electronics; the voltage level of any given circuit node is not limited to a high or low.  Analog simulation, therefore, is much more complex.  CircuitMaker's analog simulation is based on Berkeley SPICE3 which provides the simulation model for a wide variety of analog devices, including both passive and active devices.  The analog devices and instruments in the libraries--capacitors, transistors, Signal Generator, etc.--are intended to be used with the analog simulator only.  The analog simulator generates a data set based on the analysis parameters selected by the user.  This data can then be analyzed in the graphics windows.

Refer to Library Menus for a description of each device.


Using the Digital Simulator

Digital simulation is completely interactive meaning that the circuit responds immediately to changes from input stimulus and the operation of the circuit is shown as it happens right on the screen.  Operation of the circuit can be observed in several ways:

•	With Trace enabled, the state of every node in the circuit is shown simultaneously as the simulation runs.  In this mode wires at a logic one are shown as red, wires at a logic zero as blue, and wires at an unknown or  tri-state as green (these colors may be changed with the Select Colors... command).

•	Any number of SCOPEs can be connected to any nodes in the circuit thus causing the timing diagrams for those nodes to be shown in a separate Waveforms window.  The timing information is updated continuously to show changes as they happen.

•	Circuit operation can be observed by connecting any of a variety of displays and then noting the conditions shown on them.

•	You can use the Probe Tool to probe any wire in the circuit either while the simulation is running or after it has been stopped.  The logic states seen by the Probe Tool can also be charted in the Waveforms window by enabling the Scope Probe option.

See also:

Digital Simulation


Digital Simulation Example

The best way to see how the digital simulation works is to load an example circuit from the disk and try some of the available commands.  To experiment with a pre-built circuit, follow these steps:

1.	Select the Open... command from the File menu.

2.	Select the file SIM.CIR from the list of available circuits.  This circuit contains several mini-circuits and is useful for demonstrating CircuitMaker's digital simulation features.

3.	Click on the Run button in the Toolbar to start the simulation.  The fact that the simulation is running will be evident because you will see a Hex Display displaying a count sequence.

4.	Select the Probe Tool from the Toolbar and touch its tip to the wire just to the left of the label "Probe Wire To the Left".  If the Probe Tool shows a small triangle pointing down, the wire is at a zero state, if it shows a triangle pointing up, the wire is at a one state, and if the probe indicator is empty, this would indicate an unknown or tri-state.

5.	Move the tip of the Probe Tool to the Logic Switch labeled "Toggle Switch" and click near its center.  The Logic Display connected to the output of this mini-circuit should then start to toggle on and off rapidly.

6.	Click on the Waveforms button in the Toolbar to open the digital Waveforms window.  Each node in the circuit that has a SCOPE attached is charted in this window.

7.	Select Scope Probe from the Options menu.  A new waveform titled "Probe" will be displayed in the Waveforms window.  Watch what happens to this waveform as you move the Probe Tool around the circuit.

8.	Click on the Trace button in the Toolbar to see the state of every wire in the circuit as it changes.

9.	Click on the Stop button in the Toolbar to stop the simulation.


The Simulation Tools

Several buttons in the Toolbar are used specifically for simulation.

Click on the buttons for a description of each.


The Digital/Analog Button
The Digital/Analog Button:

Click on the Digital/Analog button to choose the type of simulation you want to run.  When the AND gate icon is displayed, digital simulation is enabled; when the transistor icon is displayed, analog simulation is enabled.

See also:

Digital vs. Analog


The Reset Button
The Reset Button:

Click on the Reset button to initialize the simulation and generate node numbers for the circuit.  This would be important if you want to save a SPICE list to a file or view the node numbers on the schematic without running the simulation.  In digital simulation mode, all unknown outputs are set to an initial unknown state.  Reset can also be selected from the Options menu or by pressing Ctrl+Q.


The Step Button
The Step Button:

The Step button is used for digital simulation only.  Click on the Step button to run the simulation for one step.  This can also be selected in the Options menu or by pressing F9.  The size of a step is determined by the settings of the Digital Options... dialog box.  When this tool is clicked the simulation runs for one step and then stops.  This command is handy for debugging a circuit, especially when used in conjunction with the Trace option.


The Run/Stop Button
The Run/Stop Button:

Run simulation can also be selected from the Options menu or by pressing F10.  Click on the Run button to start the simulation. The icon will then change to a Stop Sign.  You can't edit the circuit while the simulation is running.

Digital mode:  Press the Stop button at any time to stop the simulation and return to editing mode.

Analog mode:  When you start the simulation, a SPICE netlist will be generated and written to disk in a file called "filename.NET" where filename is the name of the circuit file.  The Berkeley SPICE3 program will run the analysis on the netlist file and store its data in a file called "filename.RAW".  This is all done automatically, without user interaction, but an icon will be displayed indicating when the Berkeley SPICE3 program is executing.  The amount of time it takes to complete is based on the analyses that are enabled and their sweep ranges, the complexity of the circuit, and the speed of your computer.  Finally, a graph window will be displayed for each of the selected analyses.

Once the data collection sequence has ended and the analysis windows are displayed, pressing the Stop button will stop the simulation, closing all analysis windows and return to editing mode.

If you press the Run button again, without editing the circuit, the analysis windows will open immediately without rerunning the Berkeley SPICE3 program.


The Probe Tool
The Probe Tool:

The Probe Tool can also be selected from the Options menu or by pressing Alt+P.

Digital mode:  Use the Probe Tool to monitor the state of any wire in the circuit or to inject a state into a wire.  To see the state of any node in the circuit either while the simulation is running or after it has stopped, touch the Probe Tool's tip on a wire.  If the small triangle in the head of the Probe Tool points up the wire is at a one state.  If it points down it is at a zero state.  If the triangle doesn't appear, the wire is at an unknown or tri-state.

If the Scope Probe option is enabled, the states seen by the Probe Tool will be charted in the Waveforms window.

To inject a state into a wire touch the tip of the Probe Tool on a wire an click.  The state of the wire will then be changed to be opposite of what is was (a one becomes a zero and a zero becomes a one).  Remember, if the wire is driven by some other device the state change will be immediately overridden because the device will drive the wire back to its original state.

The Probe Tool can also be used to flip switches while the simulation is running.

Analog mode:  By clicking with the Probe Tool on a wire or power supply pin a DC, AC or Operating Point value will be displayed in the Value window and a waveform will be plotted only in the active analysis window.  SHIFT-click will allow you to select or deselect multiple items.  CTRL-click will set the Probe Tool's voltage reference node (the default voltage reference is ground) only for the active analysis window.  The variable names shown in the analysis window are also shown on the circuit.  The DC, AC or Operating Point voltage or current of the last selected variable will always be displayed in the Value window.


The Trace Button
The Trace Button:

The Trace button is used for digital simulation only.  Click on the Trace button to turn the trace feature on or off.  Trace can also be selected from the Options menu or by pressing F11.  With trace on, the states of all nodes within the circuit are monitored as the circuit runs.  CircuitMaker does this by drawing the wires in different colors to show what state each wire is at.  A wire at a one state will be shown as red, a wire at a zero state will be shown as blue, and a tri-state wire will be shown as green (these colors may be changed with the Select Colors... command).  This feature can be used to debug your circuit or to simply provide a convenient way of observing operation of the circuit.

Since the wires in the circuit will be redrawn each time they change states, turning this option on may slow down the speed at which the simulation runs.


The Waveforms Button
The Waveforms Button:

This can also be selected in the Options menu or by pressing Ctrl+W.

Digital mode:  Click on the Waveforms button to open or close the digital Waveforms window.

Analog mode:  Click on the Waveforms button to open all of the analysis windows for which there is data in the .RAW file for this circuit.  This allows you to view the graphs for this circuit without rerunning the simulation (this is only available if the circuit has not been modified since the .RAW file was created).  If you click the button back out, all the waveform analysis windows will close.  Closing all the windows also stops the simulation (just like clicking on the Stop button) and allows you to edit the circuit.  These graph windows can also be opened individually from the View menu.

Note:  The primary difference between the Waveforms button and the Run/Stop button in analog mode is that pressing this button will not actually run the simulation.


Propagation Delays

The propagation delay of a device determines how many simulation ticks it takes for a signal to propagate from the input to the output of that device.  The default delay for all devices is 1,  but this value can be changed to any value from 1 to 14.  It is left to the user to determine the real-time value of each tick.  The concept is that if one device has a delay of one and another a delay of three then in the real world the second device would have a propagation delay three times larger than the first device.

Some devices (Pulsers, Logic Displays, macro devices, etc.) do not have a delay associated with them.  In the case of macro devices, the delay is determined by the individual delay setting of each device contained within the macro.

See also:

Set Prop Delay(s)...

Show Prop Delays


The Pulser

The Pulser is a digital pulse generator which provides a continuous stream of highs and lows.  The pulse format, time high, time low, and trigger mode are individually programmable for each Pulser in the circuit.

To edit the Pulser settings, double-click on the Pulser with the Arrow Tool.  The following dialog box will then appear allowing you to change the number of simulation ticks for which the pulse will stay high and low, the format of the pulse (normal or inverted), and whether the pulser is in free run or external trigger mode.

The External Trigger allows the Pulser to be used as a programmable one-shot.  In this mode, the CP1 and CP2 inputs serve as rising and falling edge trigger inputs respectively.  If either pin receives a trigger pulse then the outputs of the Pulser will go active on the next simulation tick and remain active for "Pulse High" ticks.  The Pulser can be retriggered in this mode so additional trigger pulses occurring before the completion of the cycle will cause the active time to be extended for another cycle.

See also:

Edit Pulser...


The Data Sequencer

Also known as a Data or Word Generator, this device allows the user to specify up to 1024 8-bit words which can be output in a defined sequence.  To edit this data, double-click on the Data Sequencer with the Arrow Tool.  This will cause the following dialog box to be displayed.

The Start Address number indicates the address of the data that will output first when the circuit has been reset.  The Stop Address indicates the address of the data that will be output before the sequence repeats.  The Present Address indicates the address of the data that will be output next if the circuit is not reset or modified.  The Tick Increment specifies how many simulation ticks will occur before the output is advanced to the next address in free run mode.

When External Trigger is enabled, the CP1 and CP2 inputs serve as rising and falling edge trigger inputs, respectively.  If either pin receives a trigger pulse, the Data Sequencer will advance to the next address on the next simulation tick.


Digital Waveforms

By attaching SCOPEs to points of interest in the circuit, the states of these nodes can be graphed over time as the simulation runs.  Choose Waveforms in the Options menu or click on the Waveforms button in the Toolbar to display or hide the digital Waveforms window.  An example of what the window looks like is shown below.

Before you can view timing waveforms for any node in your circuit, you must connect a SCOPE to each node to be monitored, or, if you have enabled the Scope Probe option, you can monitor the states see by the Probe Tool in the Waveforms window.

The order in which the waveforms are displayed can be changed.  Simply use the mouse to point at any of the scope labels in the window, then press and continue to hold down the left mouse button.  A rectangle will be drawn around the label indicating that it is selected and you can then move it to the desired position.  Once you have moved a label to the desired position release the mouse button and the waveforms will be automatically reordered in the window.  You can repeat this process as often as desired in order to position the waveforms in any order.  When you save a circuit to disk the order of the waveforms is saved also, so upon opening the circuit later the waveform ordering is retained.

The digital Waveforms window is used in conjunction with the Digital Options to set break points in a circuit.  To set a break point, click in the small square to the left of a SCOPE's label in the Waveforms window.  Clicking once will fill the bottom portion of the square indicating a break on zero condition.  Clicking a second time will fill the top portion of the square indicating a break on one condition.  Clicking a third time will return the square to its empty state indicating no break condition.


Digital Options

The Digital Options dialog box is used to control the size of a step when running the simulation in single step mode, to set the conditions for break points and to set the simulation speed.  The following dialog box will appear when you choose Digital Options... from the Options menu.

Step size can be measured in either ticks or cycles.  A cycle always consists of 10 ticks.  A tick is the smallest unit of delay for the digital simulator.  It takes one tick to perform a single step of the simulation for all devices.

The simulation speed text edit field enables you to determine how fast the simulation runs.  An example of when this would be useful is if the simulation is running too fast to view the states of a seven-segment display.  By setting this field to a lower number the simulation would be slowed down thus enabling you to view the changes of the display.  Another method of slowing the simulation would be to run it in single step mode or set breakpoints.

The break options are used in conjunction with the waveforms window to set breakpoints.  When set for Level - AND, all break conditions must be met before the simulation will stop.  When set for Level - OR, if any one of the break conditions are met the simulation will stop.  When set for Edge - AND the simulation will stop when the proper edge occurs on all of the specified waveforms.  When set for Edge - OR the simulation will stop if a transition to any of the specified conditions occurs.


Using the Analog Simulator

In order to do Analog simulation there must be SPICE information for each device in the circuit.  Only those devices listed as analog compatible in the Library Menus chapter have SPICE data associated with them.  Other devices may be used in the circuit, but the SPICE information for those devices must be provided by the user.  SPICE information can be added in the Spice Data field of the Edit Device Data dialog box (double-click on the device to open the dialog box).

Analog simulation mode is selected when the transistor icon is displayed on the Digital/Analog button in the Toolbar.

The analog analyses are set up in the Analog Analyses dialog box.  If no analyses are enabled no data will be generated when you run the simulation.  In this case CircuitMaker will warn you and ask if you want to do transient analysis using default setup conditions.

Once the circuit has been created and the netlist data is in place, run the simulation by clicking on the Run button in the Toolbar.  When the SPICE data collection process has completed, a graph window will be displayed for each of the selected analyses.

See also:

Analog Simulation


Analog Simulation Example

The best way to get acquainted with CircuitMaker's analog simulation is to build a simple circuit, set up the analyses, and run the simulation.

Creating the Circuit

To begin, we will create a simple 10X amplifier circuit using a UA741 Op Amp.  In this configuration:

voltage gain = RF/RI

1.	Select New from the File menu.  An Untitled circuit window will be opened.

2.	Select Analog simulation mode.  The transistor icon should be visible in the Toolbar, not the AND gate icon.  If the AND gate icon is displayed on the Digital/Analog button, click on the button.

3.	Disable the Auto Designation option in the Options menu (so there is no checkmark by it).  This allows us to specify our own designation for each device (e.g., Vcc, U1, RF, etc.)

4.	Draw the circuit as shown (don't worry about the values), using the following devices. From the L1 menu, select: 1 Signal Gen (Vin on the schematic), 2 +V  devices (Vcc and Vee) and 2 Grounds (every node in an analog circuit must have a DC path to ground).  From the L7 menu, select: 3 Resistors (RI, RF and RL).  From the L8 menu, select: 1 Op-Amp5 (U1).  Devices can be rotated in 90 degree increments by selecting the device with the mouse and clicking on the Rotate 90 button in the Toolbar.  Use this method to rotate the -12V supply and RL.  Use the Wire Tool to wire the circuit together.  Use the Arrow Tool to drag the devices and wires to make the circuit look nice.

5.	Select the Arrow Tool from the Toolbar and double-click on the Op Amp.  Select UA741 from the list of available subcircuits (it's near the bottom of the list) and click on the Select button.  Now click on the Netlist... button.  Set the Designation field to "U1" and visible.  Click on the OK button, then the Exit button.

6.	Double-click on the TOP +V device.  Set the Label-Value field to "+12V" and visible.  Set the Designation field to "Vcc" and visible.  Set the Device field to NOT visible.  Click on the OK button.

7.	Double-click on the BOTTOM +V device.  Set the Label-Value field to "-12V" and visible.  Set the Designation field to "Vee" and visible.  Set the Device field to NOT visible.  Click on the OK button.  Click and drag the labels so they are positioned as shown on the schematic.

8.	Double-click on each resistor to change both its Label-Value and its Designation and make them visible.  Set them up as follows (refer to the circuit diagram):

Resistor	Label-Value	Designation

 	Input	10k	RI

 	Feedback	100k	RF

 	Load	25k	RL

9.	Double-click on the Signal Generator.  Set the Peak Amplitude to 0.1V and the frequency to 10kHz.  Click on the Wave... button.  Enable the Source checkbox for AC Analysis.  Set Magnitude to -0.1V and Phase to 0.  Click on the OK button.  The Signal Generator can now be used as a reference for the AC analysis.  Click on the Netlist... button.  Set the Designation field to "Vin" and visible.  Note that the Label-Value field contains "-1/1V" which represents the minimum and maximum programmed voltage swings, respectively before you double-clicked on the Signal Generator.  Click on the OK button.  Again, click on the OK button to exit.

Setting up the Analyses

Once the circuit has been created, we will set up the analyses.  When we run the simulation, the results will be based on the setup conditions provided here.

1.	Select Analog Analyses... from the Options menu.

2.	Click on the Default Setup button for default transient analysis setups.  This will provide simulation for 5 cycles of the input signal with 200 data points.  For best reliability, Max Step should be the same size as Step Time.

3.	Select DC in the Operating Point section.  This sets the initial display mode of the Value Window to DC.  Transient Analysis must be enabled in order to obtain DC or AC values.  Operating Point must be enabled in order to use the Value Window.

4.	Enable the DC Analysis.  Set it up as follows:

Source Name	Start	Stop	Step

Primary	Vin	-1.5V	-.7V	0.01V

Secondary	Vcc	10V	14V	1V

This setup will allow us to sweep the voltage of Vin over the specified range at each of 5 different Vcc levels.

5.	Enable the AC Analysis.  Set it up as follows:

Start Frequency	Stop Frequency 	Test Points	Sweep

1 Hz	1MegHz	100	Linear

This setup will allow us to plot the frequency response of the circuit.

6.	Click on the Ok button to save the settings.

7.	Select Save As... from the File menu.  Save the circuit as "MYAMP.CIR".  The Analysis setups will be saved with the circuit.

Running the Simulation

When you run the simulation, an icon will be displayed at the bottom of your screen indicating when the Berkeley SPICE3 program is executing.  The amount of time it takes to finish is based on the analyses that are enabled and their setup values, the complexity of the circuit, and the speed of your computer.

1.	Click on the Run button in the Toolbar to start the simulation.  When the SPICE data collection process has completed, the analysis windows will be displayed.

2.	Select the Fit Circuit to Window command (press F4) to make the entire circuit visible.

3.	Click on the Value window to select it (it's in the upper left hand corner of the screen).  Click on any wire in the circuit (except a wire connected to ground) with the Probe Tool.  The DC voltage at that node will be displayed in the Value window.  SPICE data is not collected for the Ground node in the circuit; it is always at zero volts.

4.	Click on the "pin" of the +12V power supply (click above the pin dot, very close to the circle, otherwise you may get the wire instead of the pin).  The DC current through that supply will be displayed in the OP window (if you clicked too close to the wire, the voltage for this node will be shown).  Current can also be measured this way on the Signal Generator and on the Resistors (current measured through the resistors with the Probe Tool cannot be plotted in the graphics windows).  Note: SPICE sees the current flowing into the positive terminal of a power supply, Multimeter or Signal Generator as positive current.

5.	Double-click inside the Value Window and change the setting to AC RMS.  Click on the OK button.  Now when you click on the wires in the circuit the AC voltage or current will be displayed.

6.	Click in the Transient Analysis window to select it, then click on the wire connected to the output of the Signal Generator with the Probe Tool.  A green waveform will be displayed in the Transient Analysis window, similar to what would be seen on an oscilloscope.

7.	Hold down the SHIFT key and click on wire connected to the output of the Op Amp.  A second (yellow) waveform will be displayed in the Transient Analysis window.  A quick comparison of the two waveforms will confirm that the amplitude at the output of the amplifier is much greater than the amplitude at the input.

8.	Click on the 'a' cursor at the far right of the Transient Analysis window (not the one at the top) and drag it to the top peak of the output waveform (the yellow one).  Click on the 'b' cursor and drag it to the top peak of the input waveform (the green one).  The actual peak voltages are displayed at top of the graph as 'Ya' and 'Yb'.  As you can see from the 'Ya' and 'Yb' values, the peak voltage at the output of the amplifier is 10 times the peak voltage at the input of the amplifier.  The difference between the two Y cursors is shown as 'a-b'.

9.	Click on the 'b' cursor at the TOP of the Transient Analysis graph and drag it to the top peak of the first cycle of the output waveform.  Click on the 'a' cursor and drag it to the top peak of the second cycle of the output waveform.  The period (period = 1/frequency) of the signal is shown as the difference between the two X cursors as 'a-b'.

10.	Click and drag a selection rectangle around a portion of the waveforms in the Transient Analysis window.  The view will zoom in on the portion of the waveform selected.  To restore the original view, click on the Reset button in the graph window.

11.	Click on the DC Analysis window to select it, then click on any wire in the circuit.  A DC analysis waveform will be displayed in the window, similar to what would be seen on a curve tracer.  The cursors can be used to get measurements from the waveforms.

12.	Click on the AC Analysis window to select it, then click on the wire at the output of the Op Amp.  An AC analysis waveform will be displayed in the window.  Click on the Setup button (the left button) in the upper left hand corner of the AC Analysis window.  Select "Log" scale for the X Grid, select "Decibels" for the Y Axis and enable the "Show Wave Grid" checkbox.  Click on the Ok button.  The waveform will now show the response of the circuit over the specified frequency.  The cursors can be used to get measurements from the waveforms.

13.	Click on the Stop button in the Toolbar to stop the simulation and return to editing mode.


The Graphics Windows

When a simulation is run, a separate window is displayed for each type of analysis that is enabled.  An example of the graph window is shown below.

Displaying Waveforms

Offsetting Waveforms

The Cursors

The Setup Button

The Reset Button


Displaying Waveforms

To plot a variable in the graph window, click on a wire or supply pin with the Probe Tool.  Clicking on another wire will replace the variable with a different one.  Holding down the SHIFT key while clicking allows you to plot multiple variables simultaneously.  A subcircuit's internal variables can also be displayed.  Branch currents can be displayed on some devices (such as power supplies and transistors) by clicking on the device pins with the Probe Tool.  Branch currents through resistors can be displayed in the Value Window only.  Branch currents can be plotted for any branch in the circuit by inserting a Multimeter or 0V  V Source in the branch, then clicking on its pin with the Probe Tool.

You can change the color of any waveform by double-clicking on its variable name in the variable list.

If you click and drag a selection rectangle around a portion of the graph, that portion of the graph is zoomed to fill the entire graph window.  Since the graph window itself can also be sized, it is easy to make any portion of a waveform fill almost the entire screen.


Offsetting Waveforms

A waveform is selected by clicking on its variable name--for example: V(8)--in the variable list.  The waveform can then be repositioned on the graph, altering its x and y offsets, either by dragging the waveform itself or by pressing the arrow keys on the keyboard.  The offset values for the selected waveform are shown at the top of the graph.


The Waveform Cursors
The Cursors

The cursors are the heart of the waveform analysis.  There are four cursors, two on the x axis and two on the y axis.  Each cursor may be turned ON or OFF by double-clicking on the cursor label.  A cursor may be repositioned either by dragging its label or by selecting it and pressing the arrow keys on the keyboard.  The value at each cursor's position is displayed at the top of the graph as well as the difference in value for each pair of cursors.


The Wave Setup Button
The Setup Button

The Setup button brings up the following dialog box which is used to control the X (horizontal) and Y (vertical) axes of the graph.

By default, the X axis represents time for the Transient Analysis and frequency for the AC Analysis.  For DC it represents the sweep of the primary source.  These defaults, however, can be changed to any variable name available in the pull-down edit box.  The Decibels and Phase options apply to AC Analysis only.


The Waveform Reset Button
The Reset Button

Clicking on the Reset button in the graphics window returns all of the waveform offsets to zero and restores the graph to its unzoomed state.  It does not change the axes.


The Analog Analyses

Several types of analog analyses are available in CircuitMaker.  Selecting Analog Analyses... from the Options menu brings up the dialog box shown below.

Click on the dialog box for a description of each section.


Operating Point Analysis

Operating Point Analysis generates data similar to the readings of a DC multimeter.  It  determines the DC bias of the entire circuit with inductors shorted and capacitors opened and determines linearized, small-signal models for all of the nonlinear devices in the circuit.  It does not take into account the existence of any AC source.  It must be enabled, however, if you want to use the Probe Tool as a multimeter to view the DC, AC RMS or Operating Point values of the circuit or to view OP values with the Multimeters.  (Viewing the DC or AC values also requires that Transient Analysis be enabled.)  When the Default Setup button is pressed, Operating Point Analysis is enabled.


DC Analysis

DC Analysis generates output resembling that of a curve tracer.  It performs an OP analysis to determine the DC bias of the circuit, then defines a DC transfer curve, identifying the power source and sweep range.  Source Name is the name of an independent power source (either a fixed voltage or current supply or a signal generator) within the circuit.  The start, stop and step values define the sweep range and resolution.  The primary source is required while the secondary source is optional.  If a secondary source is specified, the primary source is swept over its entire range for each value of the secondary source.  The DC voltage at each node and the DC current through each power source can be graphed in the DC Analysis window.


AC Analysis

AC Analysis generates output resembling that of a Bode plotter.  It computes the small-signal AC output variables as a function of frequency.  It performs an operating point analysis to determine the DC bias of the circuit, replaces the signal source with a fixed amplitude sine wave generator and analyzes the circuit over the user-specified frequency range (Start Frequency must be greater than zero and Stop Frequency must be greater than Start Frequency).  The desired output of an AC small-signal analysis is usually a transfer function (voltage gain, transimpedance, etc).  In order to do an AC Analysis, at least one signal generator must be connected to the circuit and enabled as an AC Analysis source.  When linear sweep is selected, Test Points is the total number of test points in the sweep.  When decade is selected, Test Points is the number of test points per decade.  When octave is selected, Test Points is the number of test points per octave.  The voltage gain at each node can be graphed in the AC Analysis window.


Transient Analysis

Transient Analysis generates output resembling that of an oscilloscope.  It computes the transient output variables (voltage or current) as a function of time over the user-specified time interval.  The start, stop and step times define the display range and resolution for the output.  The transient analysis always begins at time zero.  In the time interval between zero and Start Time, the circuit is analyzed (to reach a steady state), but not displayed.  Max. Step limits the varying size of the time step that SPICE is allowed to use when calculating the transient data; for default, the program chooses either Step Time or (Stop Time - Start Time)/50, whichever is smaller.  When the UIC (use initial conditions) option is enabled, the transient analysis begins from an initial condition rather than from an operating point analyzed condition.  This would be useful for viewing the charging of capacitors, etc.

When the Default Setup button is pressed, Transient Analysis is enabled, Start Time is set to zero and Stop Time is set so as to display 5 cycles of the lowest frequency Signal Generator in the circuit with a resolution of 200 data points.  These default values are user definable using the Preferences... command.

The voltage at each node and the current through each power source can be graphed in the Transient Analysis window.


Initial Conditions

.NODESET Statement

.IC Statement


.NODESET Statement

General Form:

.NODESET V(NODNUM)=VAL V(NODNUM)=VAL ...

Example:

.NODESET V(10)=3.33 V(7)=1.4

The Nodeset line helps the program find the dc or initial transient solution by making a preliminary pass with the specified nodes held to the given voltages.  The restriction is then released and the iteration continues to the true solution.  The .NODESET line may be necessary for convergence on bistable or astable circuits.  In general, this line should not be necessary.

See also:

.NODESET

Initial Conditions


.IC Statement

General Form:

.IC V(NODNUM)=VAL V(NODNUM)=VAL ...

Example:

.IC V(3)=-2 V(6)=1.5 V(9)=5

The IC line is for setting transient initial conditions.  It has two different interpretations, depending on whether the UIC parameter is enabled in the Transient Analysis.  Also, one should not confuse this line with the .NODESET line.  The .NODESET line is only to help dc convergence, and does not affect final bias solution (except for multi-stable circuits).  The two interpretations of this line are as follows:

1.  When the UIC parameter is enabled in the Transient Analysis, then the node voltages specified on the .IC control line are used to compute the capacitor, diode, BJT, JFET and MOSFET initial conditions.  This is equivalent to specifying th IC=... parameter on each device line, but is much more convenient.  The IC=... parameter can still be specified and takes precedence over the .IC values.  Since no dc bias (initial transient) solution is computed before the transient analysis, one should take care to specify all dc source voltages on the .IC control line if they are to be used to compute device initial conditions.

2.  When the UIC parameter is not enabled in the Transient Analysis, the dc bias (initial transient) solution is computed before the transient analysis.  In this case, the node voltages specified on the .IC control line is forced to the desired initial values during the bias solution.  During transient analysis, the constraint on these node voltages is removed.  This is the preferred method since it allows SPICE to compute a consistant dc solution.

See also:

.IC

Initial Conditions

Example circuit:

555.CIR


SPICE's Elementary Devices

Each device used in a circuit requires certain information in order for the SPICE simulation to run.  This section describes each type of device and information that each requires.  CircuitMaker can provide this information to the SPICE netlist based on the circuit if properly drawn and labeled by the user.

This information is provided here to help the user better understand how each of the components affects the simulation of the circuit.  Parameters that are enclosed in '<>' symbols are optional.  Refer to SPICE Models for more information about the models mentioned in this section.

Resistors

Capacitors

Inductors

Coupled (Mutual) Inductors

Voltage/Current Controlled Switches

Independent Sources

Linear Voltage-Controlled Current Sources

Linear Voltage-Controlled Voltage Sources

Linear Current-Controlled Current Sources

Linear Current-Controlled Voltage Sources

Non-linear Dependent Sources

Lossless Transmission Lines

Lossy Transmission Lines

Uniform Distributed RC Lines (Lossy)

Junction Diodes

Bipolar Junction Transistors (BJTs)

Junction Field-Effect Transistors (JFETs)

MOSFETs

MESFETs

Subcircuits


SPICE Models

CircuitMaker includes a library of SPICE models for various analog devices.  When you double-click on a device that has models in the library the following dialog box will appear.

The currently selected model will be hilighted in the list.  You may select a different model by clicking on it with the mouse, then clicking on the Select button.  If a macro device contains internal circuitry as well as model information, the model information will be ignored.

See also:

Editing SPICE Model Parameters

Attaching a SPICE Model or Subcircuit to a Device


Editing SPICE Model Parameters

To edit an existing model, click on it with the mouse, then click on the Edit... button in the Model Selections dialog box.  The following dialog box will appear.

The model parameters displayed are the SPICE model parameters and must not be confused with actual data book parameters.  Unless you are familiar with SPICE modeling, it is recommended that you do not attempt to modify the SPICE model library.

The values listed for each parameter represent values defined for that specific device type.  If the value is followed by and asterisk (*), that value is a default value, representative of the DEFAULT model, not necessarily the correct value for this specific device.  To change the value of a SPICE parameter, select the parameter and type the new value into the Value edit field and press Enter.  If you want to set a specific parameter to equal that of the DEFAULT model, type an asterisk in the Value edit field and press Enter.

To save the model under a new name, type the new name into the Name field and click on the OK button.

To remove an existing model from the model library, select it by clicking on it with the mouse, then click on the Delete button.

To bring up the Edit Device Data dialog box, click on the Netlist... button.

Model data is stored in a text file called MODEL.DAT which, for convenience, can be edited directly with any text editor.


SPICE Subcircuits

CircuitMaker includes a library of SPICE subcircuits for various analog devices.  When you double-click on a device that has subcircuits in the library the following dialog box will appear.

The currently selected subcircuit will be hilighted in the list.  You may select a different subcircuit by clicking on it with the mouse, then clicking on the Select button.  If a macro device contains internal circuitry as well as subcircuit information, the subcircuit information will be ignored.

Subcircuit information is stored in a text file having the same name as the selected device, with the following exceptions.  Since file names are limited to 8 characters, the device name is truncated to 8 characters when searching for a match.  All spaces are removed.  If the last 1 or 2 characters of a truncated device name are numbers, those numbers replace the last characters in the file name.  Examples: The subcircuits for Op Amp 5 (5-pin operational amplifiers) would be found in the file OPAMP5.SUB and the subcircuits for device Comparator 4 would be found in the file COMPARA4.SUB.  These subcircuit files can be edited directly with any text editor.  In CircuitMaker, all subcircuit names must begin with an 'X'.

See also:

Subcircuits

Attaching a SPICE Model or Subcircuit to a Device


SPICE Options

SPICE allows you to control certain aspects of its simulation such as iteration limits, temperature, etc.  When you select Analog Options from the Options menu the following dialog box will appear.

Default values for each option are identified by an asterisk (*).  To change the value of a SPICE option, select the parameter and type the new value into the Value edit field.  If you want to set a specific option to its default value, type an asterisk in the Value edit field.


The Multimeter

CircuitMaker includes a Multimeter for measuring AC RMS, DC or Operating Point analyzed voltage or current.  You may place as many Multimeters into your circuit as you would like.  When you run the simulation, the measured value will be displayed on the meter.  Remember, when measuring voltage, connect the meter in parallel with the circuit; when measuring current, connect it in series.  Note: SPICE sees the current flowing into the positive terminal of a power supply, Multimeter or Signal Generator as positive current.

Select a Multimeter from the library and place it in your circuit.  Double-click on the Multimeter with the Arrow Tool.  The following dialog box will appear showing the settings for the selected Multimeter.  Note: Transient Analysis must be enabled in order to obtain AC or DC values.  Likewise, OP Analysis must be enabled in order to obtain OP values.

The resistance of a voltmeter is high and the resistance of an ammeter is low so it will have little effect on the circuit it is measuring.  When measuring voltage on a high resistance circuit it may be desirable to increase the resistance of the voltmeter.  When measuring current through a low resistance circuit it may be desirable to decrease the resistance of the ammeter.


The Multi-function Signal Generator

CircuitMaker includes a multi-function signal generator.  You may place as many signal generators in your circuit as you would like.  Waveform functions include Sinusoidal, Single-Frequency FM, Exponential, Pulse (including Triangle and Sawtooth), and Piece-Wise Linear.  The settings for each of these functions are edited through separate dialog boxes.

Select "Signal Gen" from the library and place it in your circuit.  Double-click on the signal generator with the Arrow Tool.  A dialog box will appear showing the settings for the currently selected waveform function (the default is Sine Wave).

Each of the waveform dialog boxes has a Wave... button which, when pressed, brings up the following dialog box, allowing you to select the waveform function for this generator.

Click on the dialog box for more information about each item.


Resistors

General Form:

RXXXXXXX N1 N2 VALUE

Example:

R1 1 2 10K

N1 and N2 are the two element nodes.  Value is the resistance (in ohms) and may be positive or negative, but not zero.

See also:

Resistor

Var Resistor

Example circuit:

ANALOG.CIR


Capacitors

General Form:

CXXXXXXX N+ N- VALUE <IC=INCOND>

Example:

C2 13 0 0.1UF

C5 7 0 10UF IC=3V

N+ and N- are the positive and negative elements nodes, respectively.  VALUE is the capacitance in Farads.  The initial condition is the initial (time-zero) value of the capacitor voltage.  Initial conditions only apply if the UIC option is enabled for the Transient Analysis.

See also:

Capacitor

Polar Cap

Var Capacitor

Initial Conditions

Example circuit:

741.CIR


Inductors

General Form:

LYYYYYYY N+ N- VALUE <IC=INCOND>

Example:

L3 12 9 1UH

L4 5 0 100UH  IC=12.3MA

N+ and N- are the positive and negative elements nodes, respectively.  VALUE is the inductance in Henries.  The initial condition is the initial (time-zero) value of the inductor current.  Initial conditions only apply if the UIC option is enabled for the Transient Analysis.

See also:

Inductor

Var Inductor

Coil 3T

Coil 5T


Coupled (Mutual) Inductors

General Form:

KXXXXXXX LYYYYYYY LZZZZZZZ VALUE

Examples:

K12 L4 L3 0.999

KXFRMR L1 L2 0.87

LYYYYYYY and LZZZZZZZ are the names of two coupled inductors, and VALUE is the coefficient of coupling, K, which must be greater than 0 and less than or equal to 1.  Using the 'dot' convention, place a 'dot' on the first node of each inductor, indicating that the voltages at these node are in phase (the voltages go up and down together).

If more than two inductors are being coupled, SPICE data must be provided for each coupling.  For example, a transformer with one primary coil (L1) and two secondary coils (L2 and L3) might be expressed as follows:

L1 5 0 10MH

L2 6 7 1MH

L3 8 9 1MH

K12 L1 L2 0.93

K13 L1 L3 0.93

K23 L2 L3 0.97

The turns ratio for a given pair of windings can be determined by the following formula where LS and LP are the inductance of the primary and secondary windings, respectively:

Turns Ratio = sqrt(LS/LP)

See also:

Transformers


Voltage/Current Controlled Switches

General Form:

SXXXXXXX N+ N- NC+ NC- MODEL <ON><OFF>

WXXXXXXX N+ N- VNAM MODEL <ON><OFF>

Examples:

S1 1 2 3 4 SVS1	(V->Switch)

S2 5 6 3 0 SVS2 ON	(V->Switch)

W1 1 2 VS1 WIS1	(I->Switch)

Nodes 1 and 2 are the nodes between which the switch terminals are connected.  ON/OFF indicates the initial condition of the switch.  For the voltage controlled switch nodes 3 and 4 are the positive and negative controlling nodes, respectively.  For the current controlled switch the controlling current is that through the specified voltage source.  The direction of positive controlling current flow is from the positive node, through the source, to the negative node.

See also:

I->Switch

V->Switch

Example circuit:

SWITCHES.CIR


Independent Sources

General Form:

VXXXXXXX N+ N- <<DC> VALUE> <AC <MAG <PHASE>>>

IYYYYYYY N+ N- <<DC> VALUE> <AC <MAG <PHASE>>>

Examples:

VCC 10 0 DC 6	(V Source)

ISRC 1 2 AC .3 45 SIN(0 1 1MEG)	(Signal Gen)

VMEAS 12 9	(Ammeter)

N+ and N- are the positive and negative nodes, respectively.  Voltage sources need not be grounded.  Positive current is assumed to flow from the positive node, through the source, to the negative node.  A current source of positive value forces current to flow out of the N+ node, through the source, and into the N- node.  Voltage sources, in addition to being used for circuit excitation, are the "ammeters" for SPICE, that is, zero valued voltage sources may be inserted into the circuit for the purpose of measuring current.  They, of course, have no effect on circuit operation since they represent short-circuits.

VALUE is the DC (operating point) value or offset of the source.  If the source value is zero it may be omitted.  If the source is time-invariant (e.g., a power supply), then the value may optionally be preceded by the letters DC.

The letters AC indicated a small-signal AC source.  MAG (AC magnitude) and PHASE (AC phase) are used for AC analysis only.  If MAG is omitted following the keyword AC, a value of 1 is assumed.  If PHASE is omitted, a value of 0 is assumed.

Any independent source can be assigned a time-dependent value for transient analysis.  If a source is assigned a time-dependent value, the time-zero value is used for DC (operating point) analysis.  There are five independent source functions: pulse, exponential, sinusoidal, piece-wise linear, and single-frequency FM.  These are discussed in the Multi-function Signal Generator section.

See also:

+V

V Source

I Source

Battery

Signal Gen

Example circuit:

741.CIR


Linear Voltage-Controlled Current Sources

General Form:

GXXXXXXX N+ N- NC+ NC- VALUE

Example:

G1 2 0 5 0 0.1MMHO

N+ and N- are the positive and negative nodes, respectively.  Current flow is from the positive node, through the source, to the negative node.  NC+ and NC- are the positive and negative controlling nodes, respectively.  VALUE is the transconductance (in mhos).

See also:

V->I Source

Example circuit:

741.CIR


Linear Voltage-Controlled Voltage Sources

General Form:

EXXXXXXX N+ N- NC+ NC- VALUE

Example:

E1 2 3 14 1 2.0

N+ is the positive node and N- is the negative node.  Current flow is from the positive node, through the source, to the negative node.  VALUE is voltage gain.

See also:

V->V Source


Linear Current-Controlled Current Sources

General Form:

FXXXXXXX N+ N- VNAM VALUE

Example:

F1 5 17 VS2 0.5K

N+ and N- are the positive and negative nodes, respectively.  Current flow is from the positive node, through the source, to the negative node.  VNAM is the name of a voltage source through which the controlling current flows.  The direction of positive controlling current flow is from the positive node, through the source, to the negative node of VNAM.  VALUE is the current gain.

See also:

I->I Source


Linear Current-Controlled Voltage Sources

General Form:

HXXXXXXX N+ N- VNAM VALUE

Example:

H1 5 17 VS2 0.5K

N+ and N- are the positive and negative nodes, respectively.  VNAM is the name of a voltage source through which the controlling current flows.  The direction of positive controlling current flow is from the positive node, through the source, to the negative node of VNAM.  VALUE is the transresistance (in ohms).

See also:

I->V Source

Example circuit:

741.CIR


Non-linear Dependent Sources

General Form:

BXXXXXXX N+ N- <I=EXPR> <V=EXPR>

Examples:

BSO1 0 1 I=COS(V(1))+SIN(V(2))

BVS1 0 1 V=LN(COS(LOG(V(1,2)^2)))-V(3)^4+V(2)^V(1)

N+ is the positive node, N- is the negative node.  The values of the V and I parameters determine the voltages and currents across and through the device, respectively.  If I is given then the device is a current source, and if V is given the device is a voltage source.  One and only one of these parameters must be specified for each source.

The expressions given for V and I may be any function of voltages and currents through voltages sources in the system (e.g., V(1) indicates the DC voltage at node 2 referenced to ground,  V(3,4) indicates the voltage difference between nodes 3 and 4, and  I(VS2) indicates the DC current through the voltage supply VS2).  The following functions of real variables are defined:

abs	acos	acosh	asin	asinh	atan

atanh 	cos	cosh	exp	ln	log

sin	sinh	sqrt	tan

In addition, the following standard operators are defined:

+	-	*	/	^	unary -

Older versions of SPICE used a POLY function to describe nonlinear sources.  For example, the following statements are all equivalent:

E1 19 0 POLY(2) 7 4 2 0 3 .1 .5	(Spice2)

E1 19 0 POLY(2) (7,4) (2,0) 3 .1 .5	(Spice2)

B1 19 0 V = 3 + .1*V(7,4) + .5*V(2,0)	(Spice3)

B1 19 0 V = 3 + .1*V(7,4) + .5*V(2)	(Spice3)

where each statement indicates that the voltage at node 19 will equal 3 volts plus .1 times the voltage across nodes 7 and 4 plus .5 times the voltage at node 2, using ground (node 0) as a reference.  Many existing SPICE subcircuits contain this type of nonlinear source.  CircuitMaker automatically converts them to the SPICE3 format each time you run a simulation.

See also:

NLV Source

NLI Source

Example circuit:

741.CIR


Lossless Transmission Lines

General Form:

TXXXXXXX N1 N2 N3 N4 Z0=VALUE <TD=VALUE>

+	 <F=FREQ <NL=NRMLEN>> <IC=V1,I1,V2,I2>

Example:

T1 3 0 2 0 Z0=50 TD=20NS

N1 and N2 are the nodes at port1; N3 and N4 are the nodes at port 2.  Z0 is the characteristic impedance.  The length of the line may be expressed in either of two forms (one form must be specified).  The transmission delay, TD, may be specified directly (as TD=10NS, for example).  Alternately, a frequency F may be given, together with NL (the normalized electrical length of the transmission line with respect to the wavelength in the line at the frequency F).  If a frequency is specified but NL is omitted, 0.25 is assumed (that is, the frequency is assumed to be the quarter-wave frequency).

The initial condition specification consists of the voltage and current at each of the transmission line ports.  Initial conditions only apply if the UIC option is enabled for the Transient Analysis.

Note:  The lossy transmission line with zero loss may be more accurate than the lossless transmission line due to implementation details.

See also:

LossLessLine

Transmission Lines

Example circuit:

LLTRAN.CIR


Lossy Transmission Lines

General Form:

OXXXXXXX N1 N2 N3 N4 MNAME

Example:

O2 3 0 2 0 OXLINE

This is a two-port convolution model for single-conductor lossy transmission lines.  N1 and N2 are the nodes at port1; N3 and N4 are the nodes at port 2.  Note that a lossy transmission line with zero loss may be more accurate than the lossless transmission line due to implementation details.

See also:

LossyLine

Transmission Lines


Uniform Distributed RC Lines (Lossy)

General Form:

UXXXXXXX N1 N2 N3 MNAME L=LEN

Example:

U1 1 2 0 UXLINE L=50UM

N1 and N2 are the two element nodes the RC line connects, while N3 is the node to which the capacitances are connected.  MNAME is the model name, LEN is the length of the RC line in meters.

See also:

URC-Line

Transmission Lines


Junction Diodes

General Form:

DXXXXXXX N+ N- MNAME <OFF> <IC=VD> <TEMP=T>

Example:

D3 2 10 D1N914

D5 7 12 D1N4001 IC=0.2

N+ and N- are the positive and negative nodes, respectively.  MNAME is the model name and OFF indicates an optional starting condition on the device for DC analysis.  The initial condition specification using IC=VD only applies if the UIC option is enabled for the Transient Analysis.  The TEMP value is the temperature at which this device is to operate, and overrides the temperature specification in the Analog Options dialog.

See also:

Diode

Zener Diode

Initial Conditions


Bipolar Junction Transistors (BJTs)

General Form:

QXXXXXXX NC NB NE MNAME <OFF> <IC=VBE, VCE> <TEMP=T>

Example:

Q5 11 26 4 Q2N3904

Q3 5 2 6 Q2N2222 IC=0.6, 5.0

NC, NB and NE are the collector, base and emitter nodes, respectively.  MNAME is the model name and OFF indicates an optional starting condition on the device for DC analysis.  The initial condition specification using IC=VBE, VCE only applies if the UIC option is enabled for the Transient Analysis.  The TEMP value is the temperature at which this device is to operate, and overrides the temperature specification in the Analog Options dialog.

See also:

NPN Trans

PNP Trans

Initial Conditions

Example circuit:

CEAMP.CIR


Junction Field-Effect Transistors (JFETs)

General Form:

JXXXXXXX ND NG NS MNAME <OFF> <IC=VDS, VGS> <TEMP=T>

Example:

J2 6 3 21 J2N3819 OFF

ND, NG and NS are the drain, gate and source nodes, respectively.  MNAME is the model name and OFF indicates an optional starting condition on the device for DC analysis.  The initial condition specification using IC=VDS, VGS only applies if the UIC option is enabled for the Transient Analysis.  The TEMP value is the temperature at which this device is to operate, and overrides the temperature specification in the Analog Options dialog.

See also:

N-JFET

P-JFET

Initial Conditions

Example circuit:

CSJFAMP.CIR


MOSFETs

General Form:

MXXXXX ND NG NS NB MNAM <OFF> <IC=VDS,VGS,VBS> <TEMP=T>

Example:

M6 23 16 0 17 MRF150

ND, NG, NS and NB are the drain, gate, source and bulk (substrate) nodes, respectively.  MNAM is the model name. and OFF indicates an optional starting condition on the device for DC analysis.  The initial condition specification using IC=VDS, VGS, VBS only applies if the UIC option is enabled for the Transient Analysis.  The TEMP value is the temperature at which this device is to operate, and overrides the temperature specification in the Analog Options dialog.

See also:

N-MOSFET 3T

N-MOSFET 4T

P-MOSFET 3T

P-MOSFET 4T

Initial Conditions


MESFETs

General Form:

ZXXXXXXX ND NG NS MNAME <OFF> <IC=VDS, VGS>

Example:

Z1 3 5 6 ZM2

ND, NG and NS are the drain, gate and source nodes, respectively.  MNAME is the model name and OFF indicates an optional starting condition on the device for DC analysis.  The initial condition specification using IC=VDS, VGS only applies if the UIC option is enabled for the Transient Analysis.

See also:

N-MESFET

P-MESFET


Subcircuits

General Form:

XYYYYYYY N1 <N2 N3 ...> SUBNAM

Example:

XU1 7 5 6 12 3 XLM741

Subcircuits are used in SPICE by specifying the device designation beginning with the letter 'X', followed by the circuit nodes to be used in expanding the subcircuit, followed by the subcircuit name.

See also:

SPICE Subcircuits


Sine Wave...

The following dialog box is used to set the parameters of the sinusoidal waveform.

The waveform is described by the following formula:

V(t0 to tSD)	=	VO

V(tSD to tSTOP)	=	VO + VA sin(2 pi F (t-SD)) e^-(t-SD)THETA

where t=instance of time, VO=DC Offset, VA=Peak Amplitude, F=Frequency, SD=Start Delay and THETA=Damping Factor.


DC Offset Field
DC Offset

Used to adjust the DC bias of the signal generator with respect to the negative terminal (usually ground), measured in volts or amps.


Peak Amplitude Field
Peak Amplitude

Maximum amplitude of the output swing, excluding the DC Offset, measured in volts or amps.


Frequency Field
Frequency

Frequency of the output in hertz.

frequency = 1/period


Start Delay Field
Start Delay

Provides a phase shift of the output by delaying the start of the sine wave.


Damping Factor Field
Damping Factor

A positive value results in an exponentially decreasing amplitude; a negative value results in an exponentially increasing amplitude.


MFSG Output
Output

Allows you to select whether this is a voltage or current source.


Wave... Button

This button returns you to the main Multi-function Signal Generator dialog box, allowing you to change the type of waveform function or to edit the AC source data for the selected Signal Gen.


Carrier Frequency Field
Carrier Frequency

Frequency of the unmodulated output in hertz.


Modulation Index Field
Modulation Index

Value corresponding to a function of amplitude of the modulating signal indicating the level of modulation.

modulation index = (frequency deviation) / (signal frequency)


Signal Frequency Field
Signal Frequency

Frequency of the modulating signal in hertz.


Initial Amplitude Field
Initial Amplitude

Initial amplitude of the output with respect to the negative terminal (usually ground), measured in volts or amps.


Pulse Amplitude Field
Pulse Amplitude

Maximum amplitude of the output swing, measured in volts or amps.


Rise Time Delay Field
Rise Time Delay

The point in time, from t0, when the output begins to rise.  This provides a phase shift of the output by delaying the start of the exponential waveform.


Rise Time Constant Field
Rise Time Constant

Standard RC charging time constant.


Fall Time Delay Field
Fall Time Delay

The point in time, from t0, when the output begins to fall.


Fall Time Constant Field
Fall Time Constant

Standard RC discharging time constant.


Period Field
Period

Duration of one complete cycle of the output.

period = 1 / frequency


Pulse Width Field
Pulse Width

Duration that the output remains at Pulse Amplitude before beginning to ramp toward Initial Amplitude.


Rise Time Field
Rise Time

Duration of the ramp from Initial Amplitude to Pulse Amplitude.


Fall Time Field
Fall Time

Duration of the ramp from Pulse Amplitude to Initial Amplitude.


Delay to Start Field

Duration that the output remains at Initial Amplitude before beginning to ramp toward Pulse Amplitude the first time.


FM Signal...

The following dialog box is used to set the parameters of the single-frequency FM waveform.

Click on the dialog box for more information about each item.

The waveform is described by the following formula:

V(t) =	VO + VA sin(2 pi Fc t + MDI sin(2 pi Fs t))

where t=instance of time, VO=DC Offset, VA=Peak Amplitude, Fc=Carrier Frequency, MDI=Modulation Index and Fs=Signal Frequency.


Exponential...

The following dialog box is used to set the parameters of the exponential waveform.

Click on the dialog box for more information about each item.

The waveform is described by the following formulas where t = instance of time:

V(t0 to tRD)	=	VI

V(tRD to tFD)	=	VI + (VP - VI) (1 - e^-(t-tRD)/tRT)

V(tFD to tSTOP)	=	VI + (VP - VI) (-e^-(t-tRD)/tRT) +

(VI - VP) (1 - e^-(t-tFD)/tFT)

where t=instance of time, VI=Initial Amplitude, VP=Pulse Amplitude, RD=Rise Time Delay, RT=Rise Time Constant, FD=Fall Time Delay and FT=Fall Time constant.


Pulse\Triangle\Sawtooth...

The following dialog box is used to set the parameters of the pulse waveform.

Click on the dialog box for more information about each item.

The waveform is described as follows:

V(t0)	= VI

V(tSD)	= VI

V(tSD+tTR)	= VP

V(tSD+tTR+tPW)	= VP

V(tSD+tTR+tPW+tTF)	= VI

V(tSTOP)	= VI

where t=instance of time, SD=Delay to Start, TR=Rise Time, TF=Fall Time and PW=Pulse Width.  Intermediate points are determined by linear interpolation.


Piece-Wise...

The following dialog box is used to set the parameters of the piece-wise linear waveform.

Click on the dialog box for more information about each item.

The waveform is described by a set of up to 8 points defined by the user.  Intermediate points are determined by linear interpolation.


PW Data Points
Data Points

The time specified for each successive point must be more positive than its predecessor.  If not, the cycle will end, excluding that and all successive points.


MFSG AC Analysis
AC Analysis

This section allow you to specify this generator's effect when running AC Analysis.  AC Analysis temporarily replaces each AC source with a sinusoidal wave of a fixed magnitude and phase.  The Source checkbox allows you to specify whether this generator will be used as an AC source in the AC Analysis.  The Magnitude and Phase edit fields allow you to specify the fixed values that will be used.


Inverter
Inverter	Digital

If the input is high, the output will be low.


Buffer
Buffer	Digital

If the input is high, the output will be high.


2-Input AND
2-Input AND	Digital

If both inputs are high, the output will be high.


2-Input OR
2-Input OR	Digital

If either input is high, the output will be high.


2-Input NAND
2-Input NAND	Digital

If both inputs are high, the output will be low.


2-Input NOR
2-Input NOR	Digital

If either input is high, the output will be low.


2-Input XOR
2-Input XOR	Digital

If one and only one input is high, the output will be high.


3-Input AND
3-Input AND	Digital

If all the inputs are high, the output will be high.


3-Input OR
3-Input OR	Digital

If any input is high, the output will be high.


3-Input NAND
3-Input NAND	Digital

If all the inputs are high, the output will be low.


3-Input NOR
3-Input NOR	Digital

If any input is high, the output will be low.


4-Input AND
4-Input AND	Digital

If all the inputs are high, the output will be high.


4-Input OR
4-Input OR	Digital

If any input is high, the output will be high.


4-Input NAND
4-Input NAND	Digital

If all the inputs are high, the output will be low.


4-Input NOR
4-Input NOR	Digital

If any input is high, the output will be low.


Quad D Flop
Quad D Flop	Digital

Generic Quad D Flip-Flop


Quad 3-State
Quad 3-State	Digital

Generic Quad 3-State Buffer


74LS42
74LS42	Digital

BCD-to-Decimal Decoder (1-of-10)


74LS47
74LS47	Digital

BCD-to-Seven-Segment Decoder/Driver (O.C.)


74LS48
74LS48	Digital

BCD-to-Seven-Segment Decoder/Driver w/Pullups


74LS73
74LS73	Digital

Dual J-K Flip-Flop


74LS74
74LS74	Digital

Dual D Flip-Flop


74LS75
74LS75	Digital

Quad Bistable Latch


74LS76
74LS76	Digital

Dual J-K Flip-Flop


74LS83
74LS83	Digital

4-Bit Full Adder


74LS85
74LS85	Digital

4-Bit Magnitude Comparator


74LS90
74LS90	Digital

Decade Counter


74LS92
74LS92	Digital

Divide-by-Twelve Counter


74LS93
74LS93	Digital

4-Bit Binary Ripple Counter


74LS95
74LS95	Digital

4-Bit Shift Register


74LS96
74LS96	Digital

5-Bit Shift Register


74LS107
74LS107	Digital

Dual J-K Flip-Flop


74LS109
74LS109	Digital

Dual J-K Positive Edge-Trigger Flip-Flop


74LS112
74LS112	Digital

Dual J-K Edge-Triggered Flip-Flop


74LS113
74LS113	Digital

Dual J-K Edge-Triggered Flip-Flop


74LS125
74LS125	Digital

Quad Buffer (3-State)


74LS126
74LS126	Digital

Quad Buffer (3-State)


74S133
74S133	Digital

13-Input NAND Gate


74LS138
74LS138	Digital

1-of-8 Decoder/Demultiplexer


74LS139
74LS139	Digital

Dual 1-of-4 Decoder/Demultiplexer


74LS151
74LS151	Digital

8-Input Multiplexer


74LS153
74LS153	Digital

Dual 4-Line to 1-Line Multiplexer


74LS154
74LS154	Digital

1-of-16 Decoder/Demultiplexer


74LS155
74LS155	Digital

Dual 2-Line to 4-Line Decoder/Demultiplexer


74LS157
74LS157	Digital

Quad 2-Input Data Selector/Multiplexer


74LS158
74LS158	Digital

Quad 2-Input Data Selector/Multiplexer (Inverting)


74LS160
74LS160	Digital

BCD Decade Counter


74LS161
74LS161	Digital

4-Bit Binary Counter


74LS162
74LS162	Digital

BCD Decade Counter


74LS163
74LS163	Digital

4-Bit Binary Counter


74LS164
74LS164	Digital

8-Bit Serial-In Parallel-Out Shift Register


74LS165
74LS165	Digital

8-Bit Serial/Parallel-In, Serial-Out Shift Register


74LS166
74LS166	Digital

8-Bit Serial/Parallel-In, Serial-Out Shift Register


74LS168
74LS168	Digital

Synchronous BCD Decade Up/Down Counter


74LS169
74LS169	Digital

Synchronous 4-Bit Binary Up/Down Counter


74LS173
74LS173	Digital

Quad D Flip-Flop (3-State)


74LS174
74LS174	Digital

Hex D Flip-Flop


74LS175
74LS175	Digital

Quad D Flip-Flop


74LS181
74LS181	Digital

4-Bit Arithmetic Logic Unit


74S182
74S182	Digital

Lookahead Carry Generator


74LS190
74LS190	Digital

Presettable BCD/Decade Up/Down Counter


74LS191
74LS191	Digital

Presettable 4-Bit Binary Up/Down Counter


74LS192
74LS192	Digital

Presettable BCD/Decade Up/Down Counter


74LS193
74LS193	Digital

Presettable 4-Bit Binary Up/Down Counter


74LS194
74LS194	Digital

4-Bit Bidirectional Universal Shift Register


74LS195
74LS195	Digital

4-Bit Parallel Access Shift Register


74LS197
74LS197	Digital

Presettable 4-Bit Binary Ripple Counter


74LS199
74LS199	Digital

8-Bit Parallel Access Shift Register


74LS240
74LS240	Digital

Octal Inverter Buffer (3-State)


74LS241
74LS241	Digital

Octal Buffer (3-State)


74LS242
74LS242	Digital

Quad Inverting Transceiver (3-State)


74LS243
74LS243	Digital

Quad Bus Transceiver (3-State)


74LS244
74LS244	Digital

Octal Buffer (3-State)


74LS245
74LS245	Digital

Octal Bus Transceiver (3-State)


74LS247
74LS247	Digital

BCD-to-Seven-Segment Decoder/Driver (O.C.)


74LS248
74LS248	Digital

BCD-to-Seven-Segment Decoder/Driver w/Pullups


74LS251
74LS251	Digital

8-Input Multiplexer (3-State)


74LS253
74LS253	Digital

Dual 4-Input Multiplexer (3-State)


74LS256
74LS256	Digital

Dual 4-Bit Addressable Latch


74LS257
74LS257	Digital

Quad 2-Line to 1-Line Data Selector/Multiplexer (3-State)


74LS258
74LS258	Digital

Quad 2-Line to 1-Line Data Selector/Multiplexer (3-State)


74LS259
74LS259	Digital

8-Bit Addressable Latch


74LS273
74LS273	Digital

Octal D Flip-Flop


74LS280
74LS280	Digital

9-Bit Odd/Even Parity Generator/Checker


74LS283
74LS283	Digital

4-Bit Full Adder with Fast Carry


74LS290
74LS290	Digital

BCD Decade Counter


74LS293
74LS293	Digital

4-Bit Binary Ripple Counter


74LS298
74LS298	Digital

Quad 2-Port Register


74LS352
74LS352	Digital

Dual 4-Line to 1-Line Multiplexer


74LS353
74LS353	Digital

Dual 4-Input Multiplexer (3-State)


74LS373
74LS373	Digital

Octal Transparent Latch (3-State)


74LS374
74LS374	Digital

Octal D Flip-Flop (3-State)


74LS375
74LS375	Digital

Quad Bistable Latch


74LS377
74LS377	Digital

Octal D Flip-Flop with Clock Enable


74LS378
74LS378	Digital

Hex D Flip-Flop with Clock Enable


74LS568
74LS568	Digital

BCD Decade Up/Down Synchronous Counter (3-State)


74LS569
74LS569	Digital

4-Bit Binary Up/Down Synchronous Counter (3-State)


CD4022
CD4022	Digital

4-Stage Divide-by-8 Johnson Counter


CD4512
CD4512	Digital

8-Input Multiplexer (3-State)


CD4520
CD4520	Digital

Dual 4-Bit Binary Counter


Bus Wire

Bus wires are a special type of wire that contain multiple individual wires.  Each bus wire is identified by a number and each individual wire within a bus is also identified by a number. Bus wires can be easily identified in a circuit because they are drawn thicker than regular wires.  Bus wires are drawn by selecting the Wire Tool and holding down the SHIFT key while drawing a wire using the Manual Routing method.

Bus wire numbers may be edited by clicking on them with the Naming Tool or by double-clicking on them with the Arrow Tool.

See also:

Bus Connection Wire

Using Bus Wires


Bus Connection Wire

Regular wires that are connected to a bus wire are called bus connection wires.  These wires connect to the individual wires within the bus.  When the connection is made a dialog box will prompt for a wire number and the connection angle.  Each bus connection wire is assigned a number.  Each bus connection wire that is assigned the same number and is connected to the same bus wire (or another bus wire with the same bus wire number) will function as though they were connected together.

Bus connection wire numbers may be edited by clicking on them with the Naming Tool or by double-clicking on them with the Arrow Tool.

See also:

Bus Wire

Using Bus Wires


Wire

You must connect a wire between the pins of the devices you want connected together in order for a circuit to function.  The circuit will not function if you simply place devices so that device pins are touching the pins of other devices where you want connections to occur!

See also:

Wiring the Circuit


Text

Text entered using the Text Tool can be multi-lined, fully stylized and edited at any time.  It may also be repositioned by dragging it with the Arrow Tool.  You can alter the way multi-line text wraps by clicking on it with the Text Tool and resizing its enclosing rectangle.


Edit Travel Distance

Double-click on the Car or the Rocket to bring up this dialog box, allowing you to program the travel distance (up to 1000 units).


Value Window

Double-click on the Value Window to bring up this dialog box, allowing you to select the type of measurement to be displayed by the Probe Tool meter.  Initial setup of the value window is done in the Operating Point section of the Analog Analyses dialog box.

Operating Point Analysis must be enabled in order to use the Probe Tool meter.  Transient Analysis must be enabled in order to select DC or AC RMS measurement types.


Internal Variables

The internal variables of a subcircuit may be examined during simulation by clicking on the subcircuit device with the Probe Tool.  The following dialog will appear, allowing you to select a variable from within the subcircuit.  You can still select multiple waveforms by holding down the SHIFT key when you click on the subcircuit device.