The Design and Verification of a Sorter Core
We show how the Lava system is used to design and analyse fast sorting circuits for implementation on Field Programmable Gate Arrays (FPGAs). We present both recursive and periodic sorting networks, based on recursive merging networks such as Batcher’s bitonic and odd-even mergers. We show how a design style that concentrates on capturing connection patterns gives elegant generic circuit descriptions. This style aids circuit analysis and also gives the user fine control of the final layout on the FPGA. We demonstrate this by analysing andd implementing four sorters on a Xilinx Virtex-II™ FPGA. Performance figures are presented.
KeywordsField Programmable Gate Array Connection Pattern Input List Sorting Network Wiring Pattern
- 1.K.E. Batcher. Sorting networks and their applications. In AFIPS Spring Joint Computing Conference, volume 32, 1969.Google Scholar
- 3.Koen Claessen and Mary Sheeran. A tutorial on Lava: A hardware description and verification system. Available from http://www.cs.chalmers.se/~koen/Lava, 2000.
- 5.Geraint Jones and Mary Sheeran. The study of butterflies. In Graham Birtwistle, editor, Proc. 4th Banff Workshop on Higher Order. Springer Workshops in Computing, 1991.Google Scholar
- 6.Simon Peyton Jones, John Hughes, (editors), Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hu-dak, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, and Philip Wadler. Report on the Programming Language Haskell 98, a Non-strict, Purely Functional Language. Available from http://haskell.org, February 1999.
- 7.D.E. Knuth. Sorting and Searching, vol. 3 of The Art of Computer Programming. Addison-Wesley, 1973.Google Scholar
- 9.Mary Sheeran. Sorts of butterflies. In Graham Birtwistle, editor, Proc. 4th Banff Workshop on Higher Order. Springer Workshops in Computing, 1991.Google Scholar
- 10.Mary Sheeran. Puzzling permutations. In Proc. Glasgow Functional Programming Workshop, 1996.Google Scholar