5 ms·
An 8-bit minicomputer with a fully custom architecture
- Animats 5y agoSomebody is way too into solderless breadboards. I can see building a CPU from smaller components, but not dealing with loose connections in that mess.
- sokoloff 5y agoReminds me of the old MIT 6.004 nerd kits. (Roughly a suitcase-sized briefcase with breadboards and TTL components to build a CPU with.)
- eco 5y agoBen Eater had a whole video on why he encourages building a breadboard computer. https://www.youtube.com/watch?v=fCbAafKLqC8 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 https://www.reddit.com/r/beneater
- asddubs 5y agoben eater does a little bit of wire management though. i'd hate for a wire to pop out in that rats nest
- LargoLasskhyfv 5y agoWhile the color coating of the wires can be useful, I preferred enameled copper wire/magnet winding wire of 0.3mm gauge, when I did such stuff. Maybe 0.2mm, NOT 0.1mm!(too soft) At 0.3mm they are tightly bendable, stay in place after bending them, and can touch each other. This enables building of esthetically pleasing structures, instead of the pictured mess. Imagine something like the pipes screensaver from the WinNT 4 days, but shining in copper. Also usable to wire together LED-cubes or similar structures.
- codezero 5y agoSlightly 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 entire systems.
- anyfoo 5y agoQuite 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 multiple) and configure their parameters, and where they are mapped in the address space and so on. In which case, that pretty much exists already today! Quirks aside, you can totally drag, say, soft cores for a CPU, a few 16550A serial ports, video output devices, ethernet controllers, USB controllers--whatever you can think of essentially--into a Vivado block design, attach them to an AXI bus (whose structure you can also define graphically with many bus components to chose from), configure the memory map (or accept the defaults), and have "a computer". Depending on the nature of your computer it might not even be much work to then get it to boot into Linux through U-Boot, with a device tree generated by the toolkit. But I can imagine a simpler, "dumbed down" (in a useful way) more dedicated piece of software where this could be possible without knowing much of anything about FPGAs, yeah.
- codezero 5y agoI 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 :)
- miselin 5y agoThis 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/ http://www.cburch.com/logisim/
- HappyJoy 5y agoI really enjoy when these hobby projects get posted. Tinkering for the sake of it is so much fun. Thanks for sharing
- Teknoman117 5y agoI 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.)
- DowsingSpoon 5y agoI 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.
- loup-vaillant 5y ago> IDT 7831 My favourite search engines failed to find that one (or I failed to look deep enough). Do you have a link?
- sennight 5y agohttps://www.digchip.com/datasheets/parts/datasheet/222/IDT7381.php https://www.digchip.com/datasheets/parts/datasheet/222/IDT73... https://hackaday.io/project/8121-discrete-yasep/log/28438-what-chips-for-the-alu https://hackaday.io/project/8121-discrete-yasep/log/28438-wh...
- RF_Savage 5y agoIt 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 https://github.com/pineapple-one/about 2. https://hackaday.com/2018/02/09/a-risc-v-that-the-rest-of-us-can-understand/ https://hackaday.com/2018/02/09/a-risc-v-that-the-rest-of-us...
- userbinator 5y agoThose 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.
- bullen 5y agoC64 is better in every way.
- metaphor 5y ago> Designed for 4 MHz clock speed, ~100-150k instructions/second [1] Given the scale of the breadboarded rat's nest prototype, was this actually achieved? [1] https://github.com/jdah/jdh-8/blob/c621a9980a7d4eb7aa4debc6245827628818aa19/SPEC.txt#L11 https://github.com/jdah/jdh-8/blob/c621a9980a7d4eb7aa4debc62...
- ngcc_hk 5y agoMicrocomputer??
- msla 5y agoMaybe not, if the CPU is built out of discrete components: https://en.wikipedia.org/wiki/Microcomputer https://en.wikipedia.org/wiki/Microcomputer > A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU).[2]
- tempodox 5y agoNeat! But shouldn't this rather be called a nanocomputer? Minicomputers could still fill a room at their time [1]. Our desktop machines are “microcomputers”. [1]: https://www.computerhistory.org/revolution/minicomputers/11/333 https://www.computerhistory.org/revolution/minicomputers/11/...
- hungryforcodes 5y agoAside from the RISC instruction set part, all the specs scream standard 8-bit "microcomputer" of the late 70s and early 80s.
- tempodox 5y agoFair point :)
- hungryforcodes 5y agoVery cool project anyways. Don't think I'm not suitably impressed:)