Live data from Hacker News

An 8-bit minicomputer with a fully custom architecture

github.com

11–20 of 33 posts

Re: An 8-bit minicomputer with a fully custom architecture

#11
Those register names seem to be 8008-inspired:

    A (0): GP register/arg 0
    B (1): GP register/arg 1
    C (2): GP register/arg 2
    D (3): GP register/arg 3
    L (4): GP register/(L)ow index register
    H (5): GP register/(H)igh index register
It claims to be a "RISC architecture" but the instructions are 1-3 bytes variable length, which is also more similar to the 8008 and other early 8-bit CPUs.

Re: An 8-bit minicomputer with a fully custom architecture

#12

I kind of want to try to make a "74 series logic" RISC V CPU at some point so I can inherit the compiler. It's rough building the larger systems though. All the early logic is still around for the most part, but most of the "medium integration" parts have disappeared. Things like register files and bitslice ALUs. (74x181, etc.)

I build “74 series logic” computers as a hobby. It’s a lot of fun!

It’s not difficult to buy old 74x181 and 74x182 ICs on eBay. You can even get sixteen-bit ALUs like the IDT 7831 for decent prices.

Build a register file from a bank of registers. For example, use a 74x138 and a few 74x377.

Alternatively, either use a true dual port SRAM to build a three port register file, or build your own from a time-multiplexed SRAM and some bus transceivers.

Complex combinational logic can be implemented in an EEPROM truth table pretty easily.

Sometimes, part of the fun is figuring out how to build a complex device from a very limited palette of parts.

Re: An 8-bit minicomputer with a fully custom architecture

#13

I kind of want to try to make a "74 series logic" RISC V CPU at some point so I can inherit the compiler. It's rough building the larger systems though. All the early logic is still around for the most part, but most of the "medium integration" parts have disappeared. Things like register files and bitslice ALUs. (74x181, etc.)

It has been done previously[1] so it is definitely doable. Especially when there's some nice room for improvement, as the linked cpu runs at 500kHz.

There's also an additional project[2], but it seems stalled with no progress during the past few years.

1. https://github.com/pineapple-one/about

2. https://hackaday.com/2018/02/09/a-risc-v-that-the-rest-of-us...

Re: An 8-bit minicomputer with a fully custom architecture

#14
post #3

Slightly off topic, but I'm looking forward to FPGA tooling improving to the point where I can build a fantasy personal computer based on dragging and dropping architectural components into a design that compiles to hardware. I'm definitely too lazy to design from scratch or build by hand, and there's already so much out there designed for FPGAs, so just hoping one day it may be plug and play like the Mister is for e…

I used such a program, I think from Altair, in 2000 to design and simulate an 8-bit CPU not all dissimilar from the one in the article as part of an undergrad computer architecture course. It was all drag & drop from a logic gate level. You could build your own components out of gates (or include others). IIRC, we had a module for registers supplied to us, for example.

It was pretty slick. It included a simulator as well. I imagine it probably used verilog or vhdl under the hood (but I wouldn't learn Verilog proper until 3 years after). I think there was functionality to work with an FPGA, but we didn't use it for the class.

It was definitely the sort of project that really got me excited in college and I knew for sure I was on the right track with what I wanted to study.

Re: An 8-bit minicomputer with a fully custom architecture

#15
post #6
post #3

Slightly off topic, but I'm looking forward to FPGA tooling improving to the point where I can build a fantasy personal computer based on dragging and dropping architectural components into a design that compiles to hardware. I'm definitely too lazy to design from scratch or build by hand, and there's already so much out there designed for FPGAs, so just hoping one day it may be plug and play like the Mister is for e…

Quite possibly I misunderstand on what level you mean that, but I think the devil is in the details, and "drag and drop your computer architecture" seems as unrealistic in practice as "drag and drop your application" turned out to be. Unless you mean "architectural components" at such a high level that you don't mean to define (say) a CPU architecture, but basically just adding "device" soft cores to a common bus (or…

I don’t have anything particular in mind, just excited about hard stuff getting easier and seeing a lot of different hardware components as essentially input/output devices. With the right duct tape, they may be stuck together by someone more clever than I. Totally on the I can imagine side here :)

Re: An 8-bit minicomputer with a fully custom architecture

#16
post #8
post #3

Slightly off topic, but I'm looking forward to FPGA tooling improving to the point where I can build a fantasy personal computer based on dragging and dropping architectural components into a design that compiles to hardware. I'm definitely too lazy to design from scratch or build by hand, and there's already so much out there designed for FPGAs, so just hoping one day it may be plug and play like the Mister is for e…

This would be wonderful - I hacked on a CPU architecture and brought it to an FPGA by manually converting a Logisim [1] schematic to VHDL. It's still terribly buggy. Maybe it'd be possible to write an integration for the (unmaintained) Logisim to export the schematic to a HDL of some sort to get close. [1] http://www.cburch.com/logisim/

> Maybe it'd be possible to write an integration for the (unmaintained) Logisim to export the schematic to a HDL of some sort to get close.

No need, Digital (https://github.com/hneemann/Digital) already does this:

> A circuit can be exported to VHDL or Verilog. There is also direct support for the BASYS3 Board and the TinyFPGA BX board. See the documentation for details. The examples folder contains a variant of the example CPU, which runs on a BASYS3 board.

Re: An 8-bit minicomputer with a fully custom architecture

#17
post #9
post #2

Somebody is way too into solderless breadboards. I can see building a CPU from smaller components, but not dealing with loose connections in that mess.

Ben Eater had a whole video on why he encourages building a breadboard computer. https://www.youtube.com/watch?v=fCbAafKLqC8 A lot of people have taken what they've learned and moved on to designing their own PCB versions. You can see some of them here: https://www.reddit.com/r/beneater

ben eater does a little bit of wire management though. i'd hate for a wire to pop out in that rats nest

Re: An 8-bit minicomputer with a fully custom architecture

#20
post #3

Slightly off topic, but I'm looking forward to FPGA tooling improving to the point where I can build a fantasy personal computer based on dragging and dropping architectural components into a design that compiles to hardware. I'm definitely too lazy to design from scratch or build by hand, and there's already so much out there designed for FPGAs, so just hoping one day it may be plug and play like the Mister is for e…

That's sort of (if you squint a great deal) what you get with Chisel and RISC-V Rocket Chip. It's not drag and drop but you can customize the design to a certain extent just by editing some parameters in a file. It only applies to the cores and close components like the cache and off-chip links. There isn't a good integrated range of open source peripherals.

Old presentation about this: https://riscv.org/wp-content/uploads/2015/01/riscv-rocket-ch... especially slide 6

Post reply on HN