Hades logoHades applet banner
Wired-AND bus demonstration

applet icon

The image above shows a thumbnail of the interactive Java applet embedded into this page. Unfortunately, your browser is not Java-aware or Java is disabled in the browser preferences. To start the applet, please enable Java and reload this page. (You might have to restart the browser.)

Circuit Description

This applet demonstrates a Wired-AND bus, another common circuit that allows connecting multiple gates to one bus signal.

The idea is to use so-called open-collector transistors as the sole connection to the bus. While the output transistor is conducting, the voltage on the bus is actively driven to a low value. As soon as the output transistor is switched off, the gate is effictively disconnected from the bus and the bus is not driven at all. Additionally, a pullup transistor or a similar device (like SCSI active terminators) is used to generate a logically well-defined but weak high voltage on the bus. Note that it does not hurt if many transistors are active at the same time, because they can only drive compatible (low) values.

This structure is also called a WIRED-AND, because the logical function is implicit in the wiring and the value on the bus in only 1 if all device outputs are 1. Naturally, the complementary structure, called wired-OR, is possible too.

Such buses are often used in practice, because the open-collector outputs are very cheap and there is no risk of short-circuits. For example, the SCSI interface bus found on many workstation and server computers is based on open-collector circuits in all devices. The two devices at both ends of the bus are configured to 'terminate' the bus, which means to activate internal circuitry that generates the weak high bus state.

Print version | Run this demo in the Hades editor (via Java WebStart)
Usage | FAQ | About | License | Feedback | Tutorial (PDF) | Referenzkarte (PDF, in German)
Impressum http://tams.informatik.uni-hamburg.de/applets/hades/webdemos/00-intro/03-stdlogic/wired-and.html