Fri, 16 Jun 2023 06:40:23 -0500The big plan

mr's Preposter.us Blog

I should really be writing this with a full-sized keyboard, but you know what they say, “The best keyboard is the one you have with you.” Or whatever…

This is a bit of a rambling essay about what I see as the future of computing and the role I plan to play in it.  I’ve attempted to write more organized or better structured versions, but then the writing becomes a project of its own and I stop working on the actual projects themselves.  So I’m plopping this here, in the quickest way I can get it out of my brain so it’s at least out there and I can free up a little space in my head to make more progress on the actual work.

The goal is kind of simple: to replace the specialized chips used in current computers (CPU, GPU, device interfaces, peripheral interfaces, etc.) with a single type of general-purpose chip: the fpga.  Doing so opens a realm of possibility and solves a wide-range of social, political and environmental as well as technical problems with the way we make and use computers today.

An fpga is a special kind of chip that can be turned into almost any other kind of chip through a programming process.  This means that the same piece of hardware can become something else just by writing code.  This is in contrast to how most chips work, which are designed to do a specific thing, are manufactured using a process specialized for each specific chip, and cannot be reused once they become obsolete.

Just like how a general-purpose computer can be used for a different application by just writing code.  The fpga can do for hardware what the personal computer did for software, which has been the power behind several revolutions within my lifetime.

In addition to bringing the revolutionary power of software to hardware, this provides economic and ecological benefits by allowing the chips to be “upgraded” when their current design becomes obsolete.  It also makes it possible to harvest the chips from obsolete or broken devices and reuse them for any other application (a chip from an old phone could be reprogrammed for use in a fuel-injection system, or an oven, etc.).

It also means that chip fabrication can be more standardized as only one type of chip needs to be made, and the process doesn’t need to change each time a design change is made to the chip.  This makes smaller-scale production more practical, and allows any chip “fab” to make the chips used in any application.  This in turn can eliminate the need to ship chips great distances between their production and application, and avoids the kind of supply chain vulnerabilities experienced during the Covid-19 pandemic.

This also removes many of the security concerns around the manufacture and origin of integrated circuits.  Since the chips don’t do anything until they are programmed, there’s no opportunity for the manufacturer to “sneak” anything into the design during the manufacturing stage, and the chip can always be “wiped” and reprogrammed if there is any concern that a security vulnerability has made its way into the logic.

There is a lot more to say about this but hopefully by this point you can see how this approach to computing can solve a number of the problems we have today, and open the door for new ways of looking at how we design and use computers in the future.

But we can’t simply replace the specialized chips we use today with fpga chips programmed exactly like today’s designs (or rather we shouldn’t even if it’s technically possible).

The computers we use today are the product of an evolutionary process that began with specialized chips that were designed to be used in calculators.  Because they have evolved to encompass an exponential number of applications in a remarkably short period of time (at least from an evolutionary perspective), they are more complex, slower, more power-hungry and less reliable than they could be had they been deliberately designed for each purpose they are used for.  It’s not that we lack the knowledge or skill to do this, but economic forces shape this evolution as much (or more) than the needs and desires of the people who use them, and as a result, they are in many ways, dinosaurs.

The dynamic logic revolution that is made possible through the use of general-purpose chips gives us an opportunity to correct this, and in the process shed the cost and risk that encumbers todays computers.  To get the most out of this requires a revolution in both hardware and software.  The way to make this jump within the confines of our current environment is a problem I’ve spent the last decade thinking about, and I now have a potential solution.

Going forward I will attempt to build all of my designs around fpga chips.  From the most basic logic-driven/microcontroller-powered devices through those that would have used full-blown microprocessors and single-board computers.  The idea is to build my knowledge and experience of working with fpga along with a library of tools that I ca. share with others for increasingly sophisticated systems.  As I realize each of my own inventions, I’ll prove how this technology can replace the specialized chips we currently use, and also realize a number of new and powerful computing applications which have been difficult or impossible to realize using even the best computers we have today.

At the same time I’m going to pursue the knowledge and skills necessary to creat the fpga chips themselves, with the intention of identifying and designing a “cottage-scale” manufacturing process that can be duplicated around the world by anyone with sufficient interest.  This will allow any community to produce the computers they need and avoid the supply chain and other problems that arise from depending on gigantic companies for fundamental system components.

It’s very hard to articulate all of the advantages of this approach, but suffice it to say this essay only scratches the surface.  So if any of this sounds valuable to you understand that I’ve thought of exponentially more benefits that I simply can’t cram into a single blog post.  As I pursue this work I will share the progress on specific projects here, and if this is something that you would like to participate in or support, please get in touch.


image0.jpeg