BRASS Research Group

Post Placement C-slow Retiming for the Xilinx Virtex FPGA

Article by Nicholas Weaver, Yury Markovskiy, Yatish Patel, and John Wawrzynek,
In Proceedings of the Eleventh ACM International Symposium on Field-Programmable Gate Arrays (FPGA 2003), Monterey CA, Feb. 23--25, 2003.

Abstract: C-slow retiming is a process of automatically increasing the throughput of a design by enabling fine grained pipelining of problems with feedback loops. This transformation is especially appropriate when applied to FPGA designs because of the large number of available registers. To demonstrate and evaluate the benefits of C-slow retiming, we constructed an automatic tool which modifies designs targeting the Xilinx Virtex family of FPGAs. Applying our tool to three benchmarks: AES encryption, Smith/Waterman sequence matching, and the LEON 1 synthesized microprocessor core, we were able to substantially increase the total throughput. For some parameters, throughput is effectively doubled.