[ Home Page ] [ Eiffel Archive ] [ Eiffel Applications ]

Arc de Triomphe clipart (2486 bytes)

DigiChip 1.0

Written by Loris Bindoni loris@europe.com.

digichip-v10.zip (260,813 bytes) source code


This is a program which allows users to create and test electronic circuit based on TTL logic. Users can create their own circuit on a 63-pits-width breadboard by choosing one or more chips and connecting them with wires. Circuits can then be tested by using the input/output tools integrated in the testing environment, which includes a clock pulse generator, a power supply, a switch, and some input and output channels.

Digichip is intended to be used by digital electronic courses in high schools and by people who want to test their circuits without having to deal with common problems of real breadboards, such as economic costs and the risk of damage to electronic components.

Digichip is also useful as a training bench where unexperienced people can improve their prototypes designing abilities.


-486 or higher CPU
-16 MB RAM
-MS Windows 9x
-16 bit color depth (65536 colors), 640x480 resolution


To start the creation of a new circuit just choose 'New' from the 'File' menu or press the "new circuit" button in the speedbar. This will clear the breadboard prompting to save changes to previous works if any.

You can then proceed by choosing a chip from the 'Chip' menu (or by pressing the "add chip" button in the speedbar and selecting the desired chip) and placing it on the board. The chip must be placed on the separation line in the middle of the board. You can place as many chips as you want on the board as long as there's space on it.

The next step is to place wires for connection. You can choose the color from the 'Wire' menu, then you must push the "add wire" button or select 'Add' from the wire menu. Now, as you move the mouse on the board the pointer will indicate that you can select the starting pit for the wire. As you click on a pit the pointer will indicate that you must pick a flex point which allows you to shape the wire as you prefer (this is a good way to optimize the arrangement of the wires). After you choose the flex point, the mouse pointer will show you that the end point for the wire can be selected.

Remember that wires are supposed to act as a one-way link, that i.e. the start point is the wire input and the end point is the wire output. Even if this may seem a limitation this connection method is implemented to reflect the principle that in a digital electronic circuit there's always the need of connecting an output of a component with an input of another one, and the direction toward which the signal propagate is always known. Also remember that you can't place a component's output in the node where another component's output has been put.

You can correct your errors by removing the misplaced component with the 'Remove' option from the menu or with the "remove component" button in the speedbar. Remember you must pick the start or end point of a wire to remove it and you must select a chip's pin to remove it.

Linking your wires with the input and output channels allows you to select different input sources during execution and to display the output signals through the indicators.

The switch button can be used to choose between two input channels: when the switch led is lit on the left side the olive (left) input channel above the led is selected and routed to the black (center) output. If you select the right position the brown (right) input channel is selected.

After you have put on your circuit you can save it to a file and/or proceed with the testing.

The process of testing a circuit is very straightforward: just press the play button or choose 'Start' from the 'Simulation' menu. You can set the clock frequency and/or activate/deactivate the input channels during the simulation. The switch position can only be set when the simulator is off. The "stop" button or 'Stop' from the 'Simulation' menu can be used to terminate the execution of the simulation.


The official reference for Digichip 1.0 can be reached at: http://www.geocities.com/lbindoni/digichip.html Visit the site for updates.


main.e: Main program
workbench.e: Simulator management and breadboard/console interface functions
breadboard.e: Breadboard logic/composition management
wire.e: Wire class definition and functions
chip.e: Chipset implementations

visit http://www.geocities.com/lbindoni/digichip.html for implementation details


You need SmallEiffel Elj-Win32 v0.4 (or better) in order to compile the program.

* Homepage:

* Download Page:

* Mirrors:


You must compile the resources first by running make_resource_file.bat, then run elj.bat to compile the program.

You can now run main.exe (or Digichip.exe if you rename it).

NOTE: The `resource.res' file (in RESOURCE folder) and main.exe, main.obj and smalleiffel.h files produced during compilation can now be deleted.

Loris Bindoni - loris@europe.com

[ Home Page ] [ Eiffel Archive ] [ Eiffel Applications ]