Javalab
![]() |
Lars Drud Nielsen ldn@oersted.dtu.dk |
The circuit intends to be a pure diode logical gate implementing the logical function F = A·B+C·D. Each of the two AND gates consists of two diodes (left) and a pull-up resistor. The combining OR gate consists of two diodes (right) and a load (pull-down) resistor. The complete truth table should be as follows:
A B C D |
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 |
F | 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 |
Due to the passive nature of the circuit the logical gate will exhibit a rather poor performance. Even with no extra loading of the output terminal (fanout) the ordinary concepts of noise margins (VOHmin-VIHmin and VILmax-VOLmax) become meaningless.
Nevertheless, try to find resistance values to achieve the following specifications (to be fulfilled in worst cases!):
VIHmin = 3.0 V,
VOHmin = 3.0 V,
VILmax = 1.0 V,
VOLmax = 1.0 V.
Question: Would it be possible by similar pure diode logics to construct a NAND gate? - or a NOR gate?
General programming of diode switch circuits: Programming - or calculation by hand - of a diode switch circuit is in principle a matter of trial and error. Initially each switch is assumed to be either in the ON state or in the OFF state. For a given combined state of switches the circuit reduces to a simple linear circuit. After calculation of all currents and voltages it remains to be verified that the assumptions are consistent, i.e. that no switch assumed to be ON conducts a reverse current, and no switch assumed to be OFF has a forward bias exceeding VD. If inconsistencies appear a new assumption must be tried - until finally the correct solution is found.
Programming of the actual circuit: The present circuit comprises six diodes, corresponding to no less than 64 different states (not very pleasant to think of a calculation by hand!). However, the problem may be separated into a "single-input-AND" - OR problem and - for each AND gate - a subsequent very easy "distribution-to-two-inputs" problem. The main problem is thus left with only four diodes and 16 different states. One half of these states may be excluded apriori as being inconsistent with the given limitations of input voltages (restricted to the range between zero and the supply voltage). Hence, after any adjustment of signal or component values, the present applet runs through the remaining 8 possible states by brute force and comes out with the response of the single case that does not conflict with its assumptions.