FPGA-based Implementation of Signal Processing Systems
Roger Woods Queen’s University, Belfast, UK
John McAllister Queen’s University, Belfast, UK
Gaye Lightbody University of Ulster, UK
Ying Yi University of Edinburgh, UK
A John Wiley and Sons, Ltd., Publication FPGA-based Implementation of Signal Processing Systems
FPGA-based Implementation of Signal Processing Systems
Roger Woods Queen’s University, Belfast, UK
John McAllister Queen’s University, Belfast, UK
Gaye Lightbody University of Ulster, UK
Ying Yi University of Edinburgh, UK
A John Wiley and Sons, Ltd., Publication This edition first published 2008 2008 John Wiley & Sons, Ltd
Registered office John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, United Kingdom
For details of our global editorial offices, for customer services and for information about how to apply for permission to reuse the copyright material in this book please see our website at www.wiley.com.
The right of the author to be identified as the author of this work has been asserted in accordance with the Copyright, Designs and Patents Act 1988.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by the UK Copyright, Designs and Patents Act 1988, without the prior permission of the publisher.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.
Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. The publisher is not associated with any product or vendor mentioned in this book. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought.
Library of Congress Cataloging-in-Publication Data
Wood, Roger. FPGA-based implementation of complex signal processing systems / Roger Wood ... [et al.]. p. cm. Includes bibliographical references and index. ISBN 978-0-470-03009-7 (cloth) 1. Signal processing–Digital techniques. I. Title. TK5102.5.W68 2008 621.382 2–dc22 2008035242
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library.
ISBN: 978-0-470-03009-7
Typeset by Laserwords Private Limited, Chennai, India Printed and bound in Great Britain by Antony Rowe Ltd, Chippenham, Wiltshire To Rose and Paddy
Contents
About the Authors xv
Preface xvii
1 Introduction to Field-programmable Gate Arrays 1 1.1 Introduction 1 1.1.1 Field-programmable Gate Arrays 1 1.1.2 Programmability and DSP 3 1.2 A Short History of the Microchip 4 1.2.1 Technology Offerings 6 1.3 Influence of Programmability 7 1.4 Challenges of FPGAs 9 References 10
2 DSP Fundamentals 11 2.1 Introduction 11 2.2 DSP System Basics 12 2.3 DSP System Definitions 12 2.3.1 Sampling Rate 14 2.3.2 Latency and Pipelining 15 2.4 DSP Transforms 16 2.4.1 Fast Fourier Transform 16 2.4.2 Discrete Cosine Transform (DCT) 18 2.4.3 Wavelet Transform 19 2.4.4 Discrete Wavelet Transform 19 2.5 Filter Structures 20 2.5.1 Finite Impulse Response Filter 20 2.5.2 Correlation 23 2.5.3 Infinite Impulse Response Filter 23 2.5.4 Wave Digital Filters 24 2.6 Adaptive Filtering 27 2.7 Basics of Adaptive Filtering 27 2.7.1 Applications of Adaptive Filters 28 2.7.2 Adaptive Algorithms 30 viii Contents
2.7.3 LMS Algorithm 31 2.7.4 RLS Algorithm 32 2.8 Conclusions 35 References 35
3 Arithmetic Basics 37 3.1 Introduction 37 3.2 Number Systems 38 3.2.1 Number Representations 38 3.3 Fixed-point and Floating-point 41 3.3.1 Floating-point Representations 41 3.4 Arithmetic Operations 43 3.4.1 Adders and Subtracters 43 3.4.2 Multipliers 45 3.4.3 Division 47 3.4.4 Square Root 48 3.5 Fixed-point versus Floating-point 52 3.6 Conclusions 55 References 55
4 Technology Review 57 4.1 Introduction 57 4.2 Architecture and Programmability 58 4.3 DSP Functionality Characteristics 59 4.4 Processor Classification 61 4.5 Microprocessors 62 4.5.1 The ARM Microprocessor Architecture Family 63 4.6 DSP Microprocessors (DSPµs) 64 4.6.1 DSP Micro-operation 66 4.7 Parallel Machines 67 4.7.1 Systolic Arrays 67 4.7.2 SIMD Architectures 69 4.7.3 MIMD Architectures 73 4.8 Dedicated ASIC and FPGA Solutions 74 4.9 Conclusions 75 References 76
5 Current FPGA Technologies 77 5.1 Introduction 77 5.2 Toward FPGAs 78 5.2.1 Early FPGA Architectures 80 5.3 Altera FPGA Technologies 81 5.3.1 MAX r 7000 FPGA Technology 83 5.3.2 Stratix