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.
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.
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.
Old presentation about this: https://riscv.org/wp-content/uploads/2015/01/riscv-rocket-ch... especially slide 6
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.
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’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.
My favourite search engines failed to find that one (or I failed to look deep enough). Do you have a link?
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...
I can see building a CPU from smaller components, but not dealing with loose connections in that mess.
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
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.Given the scale of the breadboarded rat's nest prototype, was this actually achieved?
[1] https://github.com/jdah/jdh-8/blob/c621a9980a7d4eb7aa4debc62...
[1]: https://www.computerhistory.org/revolution/minicomputers/11/...
https://en.wikipedia.org/wiki/Microcomputer
> A microcomputer is a small, relatively inexpensive computer with a microprocessor as its central processing unit (CPU).[2]