I want to say zero instructions because I am envisioning a rather limited design that is essentially a calculator using a multiply followed by an add with little in the way of operations to specify. Essentially data will need to be steered into the device and data will need to be collected, so a stack seems optimal.
Implemented in an FPGA with dedicated DSP elements, the MAC would be of value. So every operation would be of the form
A <= B * C + D
There would be some steering of data, so TOS goes to C and D with the option of zeroing out either one. NOS goes to B muxed with input data from the various sensors.
I'm thinking of making the output register on the DSP unit the TOS with a block RAM stack for NOS. I believe this provides a path from A to D to make it a MAC rather than just an adder. The number representation is fixed point, most likely with no integer component minimizing normalization on multiplies. Adds will require normalization by one bit.
What does come into play is selecting the many constants required for the calculations. Some sensors have more simple calcs with offset and scale adjustment. Others have much more complex math with divides and square roots and many, many intermediates.
I recall on the GA144 one of the "tricks" that can be done with the stack is to treat the lower 8 items as a circular file, so they could be constants or even data on a conveyor belt. I'll need to detail the calculations to see if a similar approach could be used.
No real instructions, but data addressing may not be so simple.
--
Rick C.
- Get 1,000 miles of free Supercharging
- Tesla referral code -
https://ts.la/richard11209