
DESIGN AND IMPLEMENTATION OF PORTABLE AND CONFIGURABLE RISC PROCESSOR ARCHITECTURE by Volodymyr Sergeyev, B.Eng, Odessa Polytechnic University, 1987 A project presented to Ryerson University , in partial fulfillment of the requirement for the degree of Master of Engineering in the Program of Electrical and Computer Engineering Toronto, Ontario, Canada, 2010 © Volodymyr Sergeyev 2010 PAOPERlYOF RYERSON UNIVERSITY LIBRARY Author's Declaration I hereby declare that I am the sole author of this project. I authorize Ryerson University to lend this project to other institutions or individuals for the purpose of scholarly research. I further authorize Ryerson University to reproduce this project by photocopying or by other means, in total or in part at the request of other institutions or individuals for the purpose of scholarly research. ., ;i IlL•• • I U • Instructions on Borrowers Ryerson University requires the signatures of all persons using or photocopying this project. Please sign below, and give address and date. Name Signature Address Date • I iii DESIGN AND IMPLEMENTATION OF PORTABLE AND CONFIGURABLE RISC PROCESSOR ARCHITECTURE Volodymyr Sergeyev Master of Engineering Department of Electrical and Computer Engineering Ryerson University, Toronto, 2010 Abstract This project presents the configurable microprocessor design based on the MIPS architecture. The level of configurability includes a choice of the pipe lined or unpipelined architecture, number of pipeline stages, data path bit-width, instruction subsetting, program and data memory size. The microprocessor design flow is supported by the set of standard and custom software tools. The wide spectrum of the microprocessor configurations provides an opportunity to optimize hardware for the specific application. The HDL design of the microprocessor is independent of the hardware platform. The portability of the design was verified on the competitive FPGA platforms and ASIC. The selected microprocessor configuration running the test application was successfully implemented and verified on the FPGA development board. The obtained implementation results were compared to the existing comm·erdal and research microprocessors and critical advantages of the presented design were outlined. v Acknowledgments It is a pleasure to thank those who made this project possible. I want to convey my deepest gratitude to my supervisor Dr. Adnan Kabbani whose assistance, encouragement and expertise significantly contributed to this work. Through the duration of project-writing period, he provided inspiration, guidance, and good advice. Work under his supervision gave me an invaluable experience. I would like to thank the many people who have taught me during my graduate studies. I am especially grateful to professors Reza Sedaghat, Fei Yuan, Gul Khan, Vadim Geurkov, and Lev Kirischian. Their devotion, professional attitude, and teaching skills had a remarkable influence on the completion of my studies. I wish to thank the Department of Electrical and Computer Engineering for providing research resources and technical facilities required for completion of this project. My special thanks to Jason Naughton whose knowledge and technical expertise helped me efficiently use the department resources. Most of all lowe my thanks to my family for their patience, support, and understanding , , during my graduate study. Especially, I am grateful to my wife Iryna whose encouragement 11 and endless love helped me finish this work. 11 I, . "I;1 vii Contents 1 INTRODUCTION ............................................................................................................................. 1 1.1 Motivation ..................................................................................................................... 1 1.2 Objectives and Contributions ........................................................................................ 3 1.3 Project Organization ...................................................................................................... 4 1 BACKGROUND ................................................................................................................................ 5 2.1 Introduction ................................................................................................................... 5 2.2 Basic MIPS Processor Architecture .............................................................................. 5 2.3 Closely Related Work .................................................................................................. 11 2.3.1 Architecture Description Languages ............................................................... 11 2.3.2 Configurable Processors .................................................................................. 13 2.4 Summary ...................................................................................................................... 19 3 CONFIGURABLE PROCESSOR PROPOSED DESIGN .......................................................... 20 3.1 Datapath Components ................................................................................................. 21 3.1.1 ALU ................................................................................................................. 21 3.1.2 Register File ..................................................................................................... 22 3.1.3 Instruction Memory ......................................................................................... 24 3.1.4 Data Memory ................................................................................................... 25 3.1.5 Program Counter ............................................................................................. 26 3.1.6 Sign Extension ................................................................................................. 27 3.2 Control Unit Design .............................: ...................................................................... 27 3.3 Pipelihed Architecture Design ..................................................................................... 28 3.3.1 Five Stages Pipe lined Processor ....................................................................... 29 3.3.2 Four Stages Pipelined Processor ..................................................................... 31 3.4 Unpipelined Architecture Design ................................................................................ 33 3.4.1 One-Cycle Processor ....................................................................................... 33 3.4.2 Multi-Cycle Processor ..................................................................................... 35 3.5 Configuration Control ................................................................................................. 37 3.6 Configurable Features ................................................................................................. 37 3.6.1 Data Path Width Parameterization .................................................................. 38 3.6.2 Instructions Set Parameterization .................................................................... 38 3.6.3 Data Memory Parameterization ....................................................................... 39 3.6.4 Instruction Memory Parameterization ............................................................. 39 3.6.5 I/O Memory Parameterization ......................................................................... 39 3.6.6 FPGA Optimization ......................................................................................... 40 ix 3.7 Input/Output Interface ................................................................................................. 42 3.8 Configuration GUI ....................................................................................................... 43 3.9 Summary ...................................................................................................................... 45 4 IMPLEMENTA TION ..................................................................................................................... 46 4.1 Hardware Components and Development Tools ........................................................ .46 4.2 Design and Implementation Flow ............................................................................... 47 4.3 FPGA Implementation ................................................................................................. 50 4.3.1 Project Files ..................................................................................................... 50 4.3.2 Architecture ..................................................................................................... 53 4.3.3 BRAM Optimization ....................................................................................... 54 4.3.4 Timing Constraints .......................................................................................... 54 4.3.5 Xilinx Platform Implementation ...................................................................... 55 4.3.6 Altera Platform Implementation ...................................................................... 57 4.4 ASIC Implementation .................................................................................................. 59 4.5 Demo Platform Design and Implementation ............................................................... 61 4.5.1 Hardware Platform Description ....................................................................... 61
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages159 Page
-
File Size-