Early soft-processor designs, targeting SRAM-based Field Programmable Gate Arrays (FPGAs), were heavily constrained by the logic capacities and functionality of the FPGAs of their time. Today, where FPGAs have logic capacities in the millions of Look-Up Tables (LUTs), resource minimization no longer needs to be the guiding factor in soft-processor design. Furthermore, beyond capacity improvements, the FPGA fabric has grown more complex with wider LUTs, LUTRAMs, new memory blocks, and Digital Signal Processing (DSPs) blocks. However, soft-processor architectures have not changed significantly in this time. As such, we believe it is time to revisit soft-processor design for FPGAs, leveraging today's FPGA fabric with a new focus on both performance and resource usage efficiency. In this work, we explore multiple aspects of soft-processor design for SRAM-based FPGAs, from L1 caches to integer division. As a platform for this research, and to open new research areas for soft-processors, we developed an open-source processor called Taiga. In designing the processor, we revisited older computer architecture concepts and re-evaluated how they can map to today's FPGA fabric. With a parallel execution unit design, and through heavily leveraging the LUTRAMs in modern FPGAs, this design was able to achieve up to a 42% increase in Instructions Per Cycle (IPC) over a basic fixed-pipeline design. Furthermore, when scaling by LUT usage, Taiga is up to 28% more performance efficient than a basic fixed-pipeline design. In a resource efficiency focused examination of L1 cache design, we found that a pseudo-random replacement policy provided the best resource efficiency. Through exploring varying trade-offs in different writeback mechanisms we developed a new, commit-buffer based design, providing a further 6% increase in performance over our initial design. Finally, we explored an integer divider design for soft-processors, achieving 6.8x the performance of a radix-2 divider while increasing performance efficiency by 6.1x. Today, Taiga is ready to support new research into computer architecture on FPGAs, providing a more flexible and performant design than other existing soft-processors.
Copyright is held by the author(s).
This thesis may be printed or downloaded for non-commercial research and scholarly purposes.
Supervisor or Senior Supervisor
Thesis advisor: Shannon, Lesley
Member of collection