TTL/Discrete Serial CPU - Page 1
Forum section: electronics / projects

author: Jack70
author_rank: Newbie
timestamp: January 18, 2023, 03:19:16 pm
content: Hi,I'm working on a serial CPU and the first prototype is almost ready, just a proof of concept. Did Keep it as simple as possible for this prototype.A little bit of a back story. I love building simple logic circuits and have a passion for old computers and analog circuits. I admire the people that build discrete transistor CPU's. But repeating circuits 8, 16, or even 32 times is a bit boring. It is so boring that I never finish a whole CPU or even an 8-bit ALU. So I made some compromises, I will use some TTL chips for mostly the flip flop circuits(registers, counters, etc), those are repeated circuits and not very interesting, and it will process the data in serial instead of parallel which will make it slower. If we make an 8-bit serial CPU then an 8Mhz serial CPU would be comparable to 1Mhz parallel CPU.The purpose of this project is to make it much easier to experiment with new ALU designs, experiment with logic circuits, etc without the need to build everything else around it 8 times or more.I'm looking for some input, criticism, brainstorming, etc. (hope this is allowed in this sub-form)This is the block diagram of alpha V0.1(Clickable for a larger version)The plans for V0.2 are; 8-bit instructions and an 8-bit data bus, a bit like a 6502, Z80, etc. But therefore I'm here to discuss the plans for V0.2, so what are your thoughts and ideas.

author: rstofer
author_rank: Super Contributor
timestamp: January 20, 2023, 07:36:58 pm
content: I'm tired of breadboarding, soldering and wire-wrapping. Were it me, I would build the circuit in an FPGA. Same logic, same theory, just constructing with a keyboard.It is certainly possible, but probably not recommended, to define a component as a 1-bit adder with carry in and carry out then instantiate it as many times as necessary and provide signals to interconnect the components. Or, as shown above, shift the data along with a completely serial design.

author: SiliconWizard
author_rank: Super Contributor
timestamp: January 20, 2023, 11:13:40 pm
content: Yeah, to each their own. I wouldn't do this either these days, but some people are into that. Hey, why not.Sometimes it's really out of interest and as a hobby. Sometimes it's for making long videos and getting lots of views, if the person is a Youtuber.

author: Benta
author_rank: Super Contributor
timestamp: January 20, 2023, 11:35:04 pm
content: Are you trying to build your own MC14500?

author: Tomorokoshi
author_rank: Super Contributor
timestamp: January 21, 2023, 01:18:53 am
content: Mr. Blaauw and Mr. Brooks wrote a 2 volume book called, "Computer Architecture" that serves as a history and review of various computer systems. They were particularly interested in the early systems from the '40's, '50's, and '60's because of the wide variety of approaches that were tried as the technologies were being developed. Mr. Blaauw of course had designed the architecture of the IBM System/360, which influences most everything we use.Your project looks like it would be an interesting addition to that book.

author: Martinn
author_rank: Frequent Contributor
timestamp: January 21, 2023, 04:04:02 pm
content: With serial CPU the HP-35 comes to mind. There's a lot of information on those out there (likehttps://www.hpmuseum.org/techclas.htm), maybe some inspiration if you really go serial.You could consider modeling the whole thing in VHDL and then run it in a simulator. This probably would work best if you stick to synchronous design, as you would (need to) in an FPGA. Of course you could run it in a FPGA as well, which is a completely different thing of course.I am also working (with very low priority) on a discrete (transistor) based CPU. For the ALU, I design it in VHDL, let the synthesizer generate a gate level netlist, transfer this to transistors, auto-place and -route it and have it assembled by JLCPCB (not much fun soldering 10000 SMT resistors and transistors). Of course using TTL would massively cut down effort, but I am somehow fascinated by the IBM System/360 machines, which were completely discrete.- Martin

author: Terry Bites
author_rank: Super Contributor
timestamp: January 21, 2023, 04:51:18 pm
content: You need Usagi Electric to help.

author: tggzzz
author_rank: Super Contributor
timestamp: January 21, 2023, 05:37:11 pm
content: If you are making a serial CPU, why not make the whole computer serial?You might like to draw inspiration from commercial serial computers, e.g. the Elliott 803.

author: Jack70
author_rank: Newbie
timestamp: January 22, 2023, 11:27:47 am
content: Thanks all. I forgot to mention why there is an extra 74hc595 needed for putting data back on the databus and why I don't just connect register B to the databus, that is because I have LEDs on the outputs of the register(s), I want on every register LEDs so you can see what data is inside the registers, I like blinking LEDs. I found a "new" logic family someone can up with not so long ago, LTL, it uses LEDs instead of diodes, so all those gates have blinking LEDs, I like that. The idea is that can stand on the corner of my desk and be a nice conversation piece.@BentaNo, but I understand why you think that. It's more like a "normal CPU" but does things in serial instead of parallel internally. The prototype has a 4-bit database, and 14500 has just a 1-bit data bus. The next prototype will be probably closer to a 6502 or z80 than a 14500, 8-bit data bus, 8-bit instructions + 8-bit operand, etc. I have taken some inspiration from the 14500, I put the PC counter outside the CPU, so it's more flexible and can easily be changed or expanded in the future.@tggzzzGood question, I have already taken inspiration from those old serial computers. I want want to use normal ram and other ICs of the 8-bit era.@MartinnFPGA is out of the picture. I want to build a discrete CPU but I'm too lazy. I just build a couple of ALUs in the Circuitjs1 simulator(falstad). Using VHDL is a good tip, my final ALU's will be much simpler, I guess 30 gates, I use mostly one transistor gates so that will be at least 30 transistors and 90 resistors/diodes, but will probably closer to 40 or 50 transistors and 120 resistor/diodes. I have great respect for people that push through those discrete CPU projects of 2000+ transistors.@TomorokoshiThanks for the tip.On archive.org there are a lot of old books about computer architecture.@rstoferI wrote many emulators, all popular CPU's and many functions like flipjump, chip8, etc. I just want to build something I can touch and see dozens of LEDs blinking when it's working.@SiliconWizardYup I know what you mean, part 999 of my 8-bit CPU. 😁@Terry BitesI like that dude, but I think that I can teach him more than he can teach me.

author: tggzzz
author_rank: Super Contributor
timestamp: January 22, 2023, 11:42:12 am
content: Quote from: Jack70 on January 22, 2023, 11:27:47 amNot using mercury delay lines? Or bubble memory? Or Williams tubes? ShameMore seriously, why not have shift registers on the RAM's address and data lines, and have everything else being serial?QuoteDon't forget the loudspeaker for debugging!