WSkinny wrote: ↑Thu Aug 05, 2021 4:52 pm
Hi Grshaw,
Firstly, to anyone saying this is impossible I must simply reply: "Do your homework!".
What you propose is definitely possible and personally I wish it gets done ASAP.
Now, let's cover a couple obstacles you "seemingly" encountered.
Regarding the 5 volts and 3.3 volts, there are chips which are voltage level shifters that address specifically this issue, basically what you do is:
- Implement a voltage regulator for the required voltage for your FPGA
- 2 add voltage level shifters to your design using the 5v on the motherboard side and the same 3.3v you have just created for the FPGA for the FPGA side of the shifter
`
And bang, job done, you can now use a different voltage IC on a older motherboard design ran on a different voltage.
Regarding size constrains, the C64 Sid re-implementation on FPGA is a pretty good example of what can be done nowadays and does prove that size is not a problem to the re-implementation of the custom ICs
Now we come to the part where I mostly disagree with you, this being once we have fully compatible FPGAs we build real ASICS (basically static chips) to sell as replacements for broken parts or to be used in new Amiga computers.
I do agree that it may be better cost wise to do so for repairs, but with this said I completely disagree that is what we should do, let me explain.
In my opinion, we should (at the start at least but once we have a 100% correct design) implement the replacements in FPGA using a cost effective FPGA to ensure that not only development is not too costly but also that Amiga users do not have to pay astronomical prices for their replacements.
Now, once that goal is achieved we should move to what I call "phoenix stage" (the name should be a dead give away). In this stage of the development we would move firstly to within the same replacement chip size constrains use the largest possible FPGA in order to have as much spare resources in the FPGA as possible and at the same time implement on all the FPGA replacements a common upgrade/communications BUS controlled by a secondary micro-controller whose purpose is to enable the system to issue updates on the fly (with the system running) to our now "morphing" enabled chip-set enabling us to add, change or remove functionalities on the go depending on what the system is doing.
Imagine if you will that you are running a text editor with the base normal functionality, nothing fancy here, but then you wish to also be decoding some newfangled video format watching some streaming service, this format was released recently and you do not have a hardware decoder to accelerate it and it would bog down your system to decode it on CPU or even GPU with the system as is, luckily the developers of the format released an opensource decoder which someone had the brilliant idea to make a hardware implementation design on a FPGA, your OS instead of using the conventional decoding process, requests the FPGA management system to change or add the required logic to your FPGA based GPU (or even your network card, decoding the stream as it arrives and passing it via DMA to the GPU frame-buffer), therefore freeing the remaining of your system resources to do what they need to for your specific task.
This is but a sample of what can be achieved with a morphing enabled architecture. One already existing Amiga OS feature that will definitely help with this kind of thing is something even modern operating systems have yet to implement, I speak of course of DataTypes! This feature can be extended to enable the OS to handle DataTypes in Hardware wherever possible. (Honestly I am amazed how that particular feature has not been implemented in any shape or form comparable to what Amiga Workbench has done decoupling file formats from the applications in such an efficient and user friendly and beneficial way).
Now, moving on with another thing that FPGAs can enable in a dramatically improved way, self-improving AI. This would enable an AI to "physically" change its neural network while also enabling the functions processed within the network to be highly optimized. If you only use an adder on this layer you need not have any other function. You can get such a system to achieve a level of optimization so far unseen on common hardware. The kind of AI research such an architecture would enable is mind blowing. We could implement a totally new OS completely based on a morphing AI.
Getting back to normal usage and to finalize.
Ignoring the AI (which can be a reason to sell a lot of hardware to Universities and research facilities), achieving a 100% compatible replacement set would be definitely great and good to every Amiga user, but instead of stopping there afterwards continuing the development as I have proposed and expanding the FPGA resources and capacities would allow us to design a new Amiga Architecture more than faithful to the original concept (distributed custom compute architecture) and build on it bringing Amiga's to a completely new high absolutely unlike any other normal computing system ever to reach the consumers.
Assuming the team will also work to upgrade Amiga OS to take advantage properly of the features and hopefully gather enough supporters and momentum to reach development steps fast enough (which I believe the existing software stack allows and has advantages over trying this on top of something like Windows, Linux or MacOS due to the astronomical size and complexity of their source code comparatively), Amiga would have a change at truly being reborn in the new Century (assuming Hyperion and buddies do not repeat the mistakes of the past like not investing in Business applications or proper Research and Development, they should even create a new OpenSource Model specifically for this use case).
Pursuing FPGA re-implementations of the Amiga chip-set has the possibility of becoming the most important and fundamental evolution the Amiga has ever seen since it's birth!
(By the way, considering Accelerator boards like PPC cards, the OS should also evolve to be not only Multi-threaded but also smartly run on diverse cores dynamically, a totally new type of multi-core compute approach enabling the OS to use the best architecture for any task)
Keeping Amiga alive is not enough! We can bring it back from the ashes to a brand new and much higher glory than it ever had!
Let's get the people teamed together!