Design Of Interconnection Networks For Programmable Logic by David Lewis & Guy Lemieux