Stack for engineer

Minecraft name: StackDoubleFlow

What’s a thing you have made which demonstrates sufficient engineering knowledge?: An 8 bit, 7 tick, 4 stage pipelined(fetch, decode, execute, writeback) cpu with 32 bytes of instruction and data cache.

What engineering work went into designing this device?: Much work went into timing and pipelining. Dealing with some of the hazards that come with pipelining was a challenge, like inserting a pipeline bubble when loading immediates and branching. It also wasn’t easy getting it to 7 ticks. The dataloop is actually 6 ticks because that’s the speed I was expecting it to be. Instruction fetch took 7 ticks though because the program counter was not in the best position. It’s definitely something I can improve in my next cpu. I think I was able to get it pretty compact too. There were also mistakes I made like using register writeback operands at the wrong stage. I was able to fix them with a shitty hack that caused me to make more shitty hacks, but it all worked out in the end.

Image/s and/or video/s of the device: Imgur: The magic of the Internet


Accepted for an interview!