74123 Multivibrator Test in IC-Tester (English)

Unlike many other commercial testers, the Retro Chip Tester does not yet implement a test for the 74123, a „Dual Retriggerable One-Shot with Clear and Complementary Outputs“.

In my opinion, such a device can only be tested in a meaningful way if the necessary external components are also connected, which is not always the case with these tests.

I looked at the tests of two well-known testers: BeeProg2 and TL-866. Both testers claim to be able to test this device and both testers use vectors to describe the tests:

With the BeeProg2 the test looks like this:


The TL-866 uses very similar vectors:


The 74123 contains two multivibrators, so the pinout for the first multivibrator is:

Pin 1 = A1
Pin 2 = B1
Pin 3 = CLR1
Pin 4 = /Q1
Pin 13 = Q1
Pin 14 = Cext
Pin 15 = Rext/Cext

To make it easier to identify the pins, the non-relevant information has been removed from the tests:


000H--------L0X- # deaktiviert mit clear, Q1=L, /Q1=H
110H--------L0X- # deaktiviert mit clear, Q1=L, /Q1=H
010H--------L0X- # aktiviert mit clear, Q1=L, /Q1=H
111H--------L0X- # deaktiviert, Q1=L, /Q1=H
000H--------L0X- # deaktiviert mit clear, Q1=L, /Q1=H
101H--------L0X- # deaktiviert, Q1=L, /Q1=H

Cext is GND
Rext/Cext ist undefined (MPU is switched to input mode)

The test of the TL-866 is comparable, only Rext/Cext is „open“ (and not on GND):


Cext is "open" (MPU is switched to input mode)
Rext/Cext is connected with Vcc using a pullup

The inputs A1/B1/CLR are used as enable. An impulse is triggered when A1=L, B1=H and CLR1=H… Just this exact combination is not part of the above vectors!

If we take a closer look at the test vectors, we find that either the selected A/B combination always disables the device, or in the one case where A/B could read a pulse, CLR is enabled.

An error has also crept in here, because if CLR had not already been set to „0“ in the previous step, an impulse would actually (unintentionally) be triggered, since the vectors are evaluated from left to right and after B was applied and before CLR is set to „0“, the inputs could possibly have a valid state for a pulse.

How do the testers deal with the external components? Cext would need to be connected to Rect/Cext with a capacitor, Rext with a resistor to Vcc. The Beeprog2 has Rext/Cext undefined (probably the pin on the MPU is switched to input) and connects Cext to GND, the TL-866 at least connects Rext/Cext to Vcc with a pullup and leaves Cext „open“ (pin on the MPU switched to input).

Here the TL-866 behaves correctly with regard to Rext/Cext, since a pullup is used as Rext, with regard to Cext, the BeeProg2 behaves correctly, which puts Cext to ground. If you are testing without external components, then a combination of both would be desirable, i.e. Cext to GND and Rext/Cext to „Z“, i.e. via pullup to Vcc. Only the capacitor would be missing. Due to the lack of capacitance, the pulse should then be triggered immediately (i.e. for a few ns). Definitely too fast to be able to detect him.

The main function of this IC is to trigger a pulse for a certain time. The time is determined by the capacitor and the resistor. However, the vectors above show that neither a pulse is emitted whose time can be measured, nor that the device is operated within its specification.

To put it simply: the inputs are “strummed” a bit and no combination triggers an impulse, the two outputs do not change their state with any test vector.

My conclusion: The 74123 tests implemented in these testers make no sense from a functional point of view. Comments are welcome.

Update 5.11.2021

I was made aware of the ELV tester by a user. This does not use vector-based tests, but a language similar to Pascal. Although this tester cannot reliably test the 74123 either, it at least triggers an impulse that is tested for. After that, the condition must fall back again within a certain period of time. This is not ideal, but it is much better than what the two testers mentioned above deliver as a result.


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert