
Copyright by Terence Keith Rodrigues 2007 The Dissertation Committee for Terence Keith Rodrigues certifies that this is the approved version of the following dissertation : Adaptive CORDIC: Using Parallel Angle Recoding to Accelerate CORDIC Rotations Committee: Earl E. Swartzlander, Jr., Supervisor Anthony P. Ambler Sudhir Dhawan Mircea D. Driga. Nur A. Touba Adaptive CORDIC: Using Parallel Angle Recoding to Accelerate CORDIC Rotations by Terence Keith Rodrigues, B.E.; M.S. Dissertation Presented to the Faculty of the Graduate School of The University of Texas at Austin in Partial Fulfilment of the Requirements for the Degree of Doctor of Philosophy The University of Texas at Austin December 2007 Dedication I dedicate this dissertation to my parents Anthony and Virginia Rodrigues, to my sister Lorraine and to my grand aunt ‘Fat-Mama’. Acknowledgements As I write this acknowledgement, I am excited at the thought that I am so close to achieving what will be one of the major milestones in my life. Having come this far, it is only fitting that I pay tribute to those who have supported me on this long journey. Dr Swartzlander, thank you for being my advisor, my mentor and above all a gentleman. After having gone through the process, I can truly appreciate the adage that choosing the right guide is the single most important decision in the Ph.D. process, and in retrospect I know I made the right choice. My warmest thanks to the members of my committee for your guidance and help, and for being a part of my supporting team as I undertook this long journey towards the Ph.D. I would like to acknowledge Dr Hyuk Park for his unstinting help in setting up the power and Verilog simulations, as well as Fred Graz and Michael Amundson for answering the many questions that I had about running the simulation tools. Completing a Ph.D. while working full time is quite a strenuous undertaking and I have been lucky to have understanding managers like Gwen Bernstrom and Michael Scriber as well as technical leads like Paul Messer to help smoothen the path. Above all, I would like to acknowledge the tremendous impact that my parents Anthony and Virginia Rodrigues and my sister Lorraine have had on my life in general. I have fond memories of sitting on my dad’s knees as he helped me memorise the multiplication tables. My mum has been a guiding light and an inspiration to me throughout my entire life. I remember practising addition and subtraction on example sums that she had painstakingly typed out on sheets of paper, as I got ready to give the entrance test to the first grade at St. Vincent’s High School. When we were growing up, my caring sister Lorraine warmed up lunch for me many times, after I had become so v engrossed in my school work that I allowed the food to get cold. My grand-aunt ‘Fat- Mama’ cared for me and nurtured me during my early years and I will always feel her loving presence in my life. And so to all of you who have contributed in some measure towards this achievement, I express my heartfelt thanks. Even the word impossible says “I’m possible” vi Adaptive CORDIC: Using Parallel Angle Recoding to Accelerate CORDIC Rotations. Publication No._____________ Terence Keith Rodrigues, Ph.D. The University of Texas at Austin, 2007 Supervisor: Earl E. Swartzlander, Jr. This dissertation presents the Parallel Angle Recoding algorithm which is used to accelerate the calculation of CORDIC rotations. The CORDIC algorithm is used in the evaluation of a wide variety of elementary functions such as Sin, Cos, Tan, Log, Exp, etc. It is a simple and versatile algorithm, but its characteristic linear convergence causes it to suffer from long latency. It can be sped up by using the angle recoding algorithm which skips over certain intermediate CORDIC iterations to deliver the same precision while requiring 50% or fewer iterations. However because the selection of the angle constants is quite complex and must be performed off-line, its use has been limited to applications where the rotation angle is static and known a priori . This dissertation extends the low-latency advantage of the angle recoding method to dynamic situations too, where the incoming angle of rotation is allowed to take on any arbitrary value. The proposed method is called Parallel Angle Recoding and it makes use of a much simpler angle selection scheme to identify the angle constants needed by angle recoding. Because of its simplicity, it can be easily implemented in hardware without vii having to increase the cycle time. All the angle constants for angle recoding can be found in parallel in a single preliminary step by testing just the initial incoming rotation angle using range comparators – there is no need to perform successive CORDIC iterations in order to identify them. With increasing precision, (N= 8, 16, 24, 32, etc.) the number of comparators which are needed by this scheme increases rapidly. The parallel angle recoding method can be re-formulated to apply to smaller groups of consecutive angle constants known as ‘sections.’ This limits the number of comparators that are needed, to a reasonable amount. There is an attendant savings in area and power consumption, but at the same time the evaluation of multiple sections introduces additional overhead cycles which reduces some of the gains made in latency by the Parallel Angle Recoding method. By interleaving multiple rotations and making use of a small buffer to store intermediate results, the number of overhead cycles can be reduced drastically. The Parallel Angle Recoding technique is modelled using Verilog, synthesised and mapped to a 65 nm. cell library. The latency and area characteristics that are obtained show that the method can improve the performance of the rotation mode in CORDIC, by delivering a reduced iteration count with no increase in the cycle time, and only a modest increase in power and area. viii TABLE OF CONTENTS List of Tables ........................................................................................................ xii List of Figures...................................................................................................... xiv CHAPTER 1 INTRODUCTION 1 1.1 Elementary Functions And Their Applications .....................................1 1.2 Hardware Requirements for Evaluating Elementary Functions ............1 1.3 Classes of algorithms for Evaluating Elementary Functions.................3 1.3.1 Table – Lookup Method................................................................3 1.3.2 Polynomial Approximation:..........................................................4 1.3.3 Rational Approximations..............................................................5 1.3.4 CORDIC Method:.........................................................................6 1.3.5 Quadratic Convergence:................................................................7 1.4 Contribution of this dissertation: ...........................................................7 CHAPTER 2 ORIGINAL CORDIC 10 2.1 Origins of CORDIC .............................................................................10 2.2 Modern Applications of CORDIC.......................................................10 2.2.1 Robotics ......................................................................................11 2.2.2 3-D Computer Graphics..............................................................11 2.2.3 OFDM.........................................................................................12 2.2.4 DCT Compression ......................................................................12 2.3 Original Cordic - Rotation of a vector in a plane.................................13 2.4 Mathematical Formulation Of the Cordic Iterations............................15 CHAPTER 3 PRIOR WORK 19 3.1 A broad survey of Prior Work .............................................................19 3.2 Unified CORDIC .................................................................................21 3.2.1 Iterative Equations ......................................................................22 3.2.2 Convergence of Unified CORDIC in the Rotation Mode...........24 ix 3.3 Control Cordic .....................................................................................26 3.4 Adaptive Cordic using the Static Angle Recoding Algorithm.............29 CHAPTER 4 PARALLEL ANGLE RECODING 32 4.1 Direct Implementation of Angle Recoding In Hardware.....................32 4.2 Dynamic Angle-Constant Selection using Parallel Angle Recoding...34 4.3 Determining the Boundaries of the Contiguous Ranges......................36 CHAPTER 5 IMPROVEMENTS TO PARALLEL ANGLE RECODING 42 5.1 Using Sections to limiting the number of Range Comparators ...........42 5.2 The Effect of using Sections on the Latency .......................................45 5.3 Improving the performance of sections ...............................................49 5.3.1 Advancing the first section of the following rotation angle. ......49 5.3.2 Injecting Sections from Independent Rotation Angles into the Pipeline. ......................................................................................52 CHAPTER 6 MISCELLANEOUS 57 6.1 Scaling Factor K ..................................................................................57 6.2 Performing sign detection with comparators .......................................59 CHAPTER 7 RESULTS 63 7.1 Algorithms being evaluated .................................................................63 7.2 Obtaining the different metrics ............................................................64
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages150 Page
-
File Size-