Drudgery continues as I try to complete the Utopium instruction set. Current progress:
So some 38 instructions to go. The speed has now dropped to 26MIPS and the gate count is now up to 17000 (woot! sigh).I did something stupid in spreading the instruction data to the different units (instruction length decoder, data memory controller and ALU …), instead of having a single block decoding the instruction and controling them all, as now I have the same decode logic repeated in 3 places. This isn’t a huge overhead but but it does mean that I end up writing a lot more code. Just waiting till I complete the instruction set before I start inserting the half buffers. Still to come are the stack operations (push, pop, call and ret). The rest is external so that can wait.