Close

Register File building start

A project log for ECM-16/TTL homebrew computer

16 bit Computer made from ttl logic chips

pavelPavel 04/08/2021 at 17:543 Comments

This entry is just an announcement of start of building the Register File component (previously described here). It should serve as the statement of commitment.

The Register File will have eight 16-bit registers, and their selection logic.

Here is how I envision its boards arrangement: there would be just 3 big boards ( two 8-to-1 multiplexer boards: selector for Src1 and selector for Src2, and one "RF backplane" board, which will have a handful of chips on it and 8 slots for small register boards), and 8 small boards each having two 74HC273 chips and LEDs indicating content and selection status. The individual small register boards are to be connected to "RF backplane" through pin header connectors.

I am not sure if I need single interface board similar to one I've done for ALU

Overview schematic of Register File to be built:

Discussions

zpekic wrote 04/11/2021 at 03:28 point

Hi! Cool project, 16-bit CPUs can be powerful! Did you consider using the venerable 7489 chips? With the same amount (8) you could have a dual output 16*16 register file. If your design uses 8 regs, you can have A3 select fast one "bank" or the other (similar to Z80 "EXX"). 8 are needed for the old trick of be able to simultaneously read 2 registers: Read: each block gets own read address (DOUT is separated), Write: both block gets same write address and DIN is the same. 

The other idea is to combine ALU + reg into single board, and then 4 of those make the complete CPU. 74181 + 2 7489 + some MUXs are equivalent to home-brew "4-bit slice" - such slice can then be reused for other projects too.

  Are you sure? yes | no

Pavel wrote 04/29/2026 at 07:57 point

It is fairly late reply, but here are my reasons:

- first and foremost, these chips (the HC family version) simply just not available on AliExpress, so, it precludes their usage from the get-go.

- second, regarding the 7489 RAM, although they seem to provide dual output, it doesn't matter, because it is just the same output, just reversed, they both come from the same address. I need a proper register file, which needs 3 addresses, 2 for different reads, and 3rd for write, all available at the same time, which is impossible with the 7489, due to it having just a single address bus.

- third, and last, although the 74181 seems to be nice and ready solution, I from the start wanted to try to fully design my own ALU, with some capabilities that go beyond of what this chip has to offer (and frankly, at the time I was not aware of such chip existing). Also it seems more fun having all the ALU internals out in the open, with all the subsystems available to inspection and tweaks, than just plopping in the pre-made magic black box.

  Are you sure? yes | no

zpekic wrote 05/01/2026 at 07:35 point

You are right of course, if you need 2 reads and 1 write simultaneously, 7489 won't help. Only 74 series I know that could do that would be 74LS170 (or 670) but doubled (with write address and data input connected to both pairs to ensure same data is written to same place in both copies), and read addresses and read data buses separate for each copy. This is an interesting problem to pull it off with least possible number of TTL chips.

  Are you sure? yes | no