Timing measurments

A project log for Homebrew 16 bit relay computer

Goal of the project is to develop and build a homebrew 16 bit relay computer

peterPeter 03/12/2024 at 17:230 Comments

If only the control unit was running, receiving the opcode of a command directly from the arduino which generates the clock signals, the timing of the system was very fast. A NOP command was finished within 128ms.

But the connection of a memory based on a arduino changed the situation. Now the timing is more difficult...and I tried to figure out what is happening, because the system now runs perfect with high speed and sometimes, could be after 10-20 commands, it crashes.

The following tests were made with a slower speed, the system was running very stable, without any crash.

Here you see a logic analyzer picture of Clock 1:

You see a interesting thing: the signal of Clock 1 looks not very good. The rising edge of Clock 2 for example looks much better. The signal time of Clock 1 was 26,8 ms, which is not very fast. The fastest Clock 1 time I tested (without a memory module) was 7ms. I was not sure if the signal realy looks that way or maybe the logic analyzer is showing something wrong. So I used a Oszi:

The first thing to notice: the timing measure is very accurately. The second thing: The signal does not look very good, even on the Oszi. If I reduce the signal time to 7ms no stable state will be reached. I checked another clock signal, Clock 2:

and the Oszi picture:

This Clock looks much better, in the logic analyzer and in the Oszi (Clock 2 is 10ms longer in High than Clock 1, this is correct).

The last signal I checked was the input enable of the program counter:

looks perfect in the logic analyzer. The Oszi measures:

Thats an excellent signal.

What is the result of the measurement? The relays have very different quality, and the relay generating clock 1 seems to be one of the worse relays. I will change the output relay of Clock 1 and see what happens.