Author Topic: TTL/Discrete Serial CPU  (Read 1155 times)

0 Members and 1 Guest are viewing this topic.

Offline Jack70Topic starter

  • Newbie
  • Posts: 6
  • Country: nl
TTL/Discrete Serial CPU
« on: January 18, 2023, 03:19:16 pm »
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.

 

Offline rstofer

  • Super Contributor
  • ***
  • Posts: 9928
  • Country: us
Re: TTL/Discrete Serial CPU
« Reply #1 on: January 20, 2023, 07:36:58 pm »
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.


 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15172
  • Country: fr
Re: TTL/Discrete Serial CPU
« Reply #2 on: January 20, 2023, 11:13:40 pm »
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. :popcorn:
 

Offline Benta

  • Super Contributor
  • ***
  • Posts: 6164
  • Country: de
Re: TTL/Discrete Serial CPU
« Reply #3 on: January 20, 2023, 11:35:04 pm »
Are you trying to build your own MC14500?
 

Offline Tomorokoshi

  • Super Contributor
  • ***
  • Posts: 1212
  • Country: us
Re: TTL/Discrete Serial CPU
« Reply #4 on: January 21, 2023, 01:18:53 am »
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.
 

Offline Martinn

  • Frequent Contributor
  • **
  • Posts: 328
  • Country: ch
Re: TTL/Discrete Serial CPU
« Reply #5 on: January 21, 2023, 04:04:02 pm »
With serial CPU the HP-35 comes to mind. There's a lot of information on those out there (like https://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
 

Offline Terry Bites

  • Super Contributor
  • ***
  • Posts: 2496
  • Country: gb
  • Recovering Electrical Engineer
Re: TTL/Discrete Serial CPU
« Reply #6 on: January 21, 2023, 04:51:18 pm »
You need Usagi Electric to help.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 20350
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: TTL/Discrete Serial CPU
« Reply #7 on: January 21, 2023, 05:37:11 pm »
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.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 

Offline Jack70Topic starter

  • Newbie
  • Posts: 6
  • Country: nl
Re: TTL/Discrete Serial CPU
« Reply #8 on: January 22, 2023, 11:27:47 am »
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.

@Benta
No, 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.

@tggzzz
Good 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.

@Martinn
FPGA 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.

@Tomorokoshi
Thanks for the tip.
On archive.org there are a lot of old books about computer architecture.

@rstofer
I 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.


@SiliconWizard
Yup I know what you mean, part 999 of my 8-bit CPU.  😁

@Terry Bites
I like that dude, but I think that I can teach him more than he can teach me.
 

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 20350
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: TTL/Discrete Serial CPU
« Reply #9 on: January 22, 2023, 11:42:12 am »
@tggzzz
Good 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.

Not using mercury delay lines? Or bubble memory? Or Williams tubes? Shame :)

More seriously, why not have shift registers on the RAM's address and data lines, and have everything else being serial?

Quote
@rstofer
I 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.

Don't forget the loudspeaker for debugging!
« Last Edit: January 22, 2023, 11:44:01 am by tggzzz »
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf