Hacker News new | ask | show | jobs
by anyfoo 1653 days ago
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 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.

1 comments

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 :)