The SuperSmall Soft Processor



How small can you make a usable soft processor? That's what the supersmall soft processor is all about: take an easily-targetable 32-bit mostly MIPS-I compliant soft processor, and shrink it as far as you possibly can.

And how do you do that? Serialize. For example, need to add two 32-bit numbers? Well, you can do that in one of two ways: make a 32-bit adder that does all 32 additions at once, or make a 1-bit adder, and run it 32 times. The same technique applies to multiplexers: the more wires you're multiplexing, the more logic hardware it takes to implement. By doing everything one bit at a time, you significantly reduce the amount of hardware required.

Of course, this also makes the processor significantly slower. But if you cared about speed, you'd be doing it in hardware anyway, right?



So, if that's caught your interest, download it, check out the documentation, read about the hardware design, and use it whenever you need to add a supersmall soft processor to your FPGA designs.