Hideharu Amano Editor Principles and Structures of FPGAs Principles and Structures of FPGAs Hideharu Amano Editor Principles and Structures of FPGAs 123 Editor Hideharu Amano KeioUniversity Yokohama Japan ISBN978-981-13-0823-9 ISBN978-981-13-0824-6 (eBook) https://doi.org/10.1007/978-981-13-0824-6 LibraryofCongressControlNumber:2018943376 ©SpringerNatureSingaporePteLtd.2018 Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpart of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission orinformationstorageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilar methodologynowknownorhereafterdeveloped. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publicationdoesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfrom therelevantprotectivelawsandregulationsandthereforefreeforgeneraluse. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authorsortheeditorsgiveawarranty,expressorimplied,withrespecttothematerialcontainedhereinor for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictionalclaimsinpublishedmapsandinstitutionalaffiliations. ThisSpringerimprintispublishedbytheregisteredcompanySpringerNatureSingaporePteLtd. Theregisteredcompanyaddressis:152BeachRoad,#21-01/04GatewayEast,Singapore189721, Singapore Preface Thefield-programmablegatearray(FPGA)isoneofthemostimportantelectronic devicestoemergeinthepasttwodecades.Nowwecanusemorethan50,000-gate fullyprogrammabledigitaldevicesforonly300USDbyusingthefreeWebPACK including sophisticated high-level synthesis (HLS) design tools. FPGA has been used in most recent IT products including network controllers, consumer elec- tronics, digital TVs, set-top boxes, vehicles, and robots. It is a leading technology device for advanced semiconductors; that is, the most advanced semiconductor chipsarefabricatednotforCPUsbutforFPGAs.Recently,IntelacquiredAltera,a leading FPGA vendor, and has employed accelerators for various types of appli- cationsincloudcomputing.Especially,bigdataprocessinganddeeplearningused inartificialintelligencearekillerapplicationsofFPGAs,and“FPGAsinthecloud” has currently become an extremely popular topic in this field. ThisbookintroducesvariousaspectsofFPGA:Itshistory,programmabledevice technologies, architectures, design tools, and examples of application. Although a partofthebookisforhighschooloruniversitystudents,theadvancedpartincludes recent research results and applications so that engineers who use FPGAs in their work canbenefitfrom theinformation.To thebest ofour knowledge, itisthefirst comprehensive book on FPGA covering everything from devices to applications. Novice learners can acquire a fundamental knowledge of FPGA, including its history,fromChap.1;thefirsthalfofChap.2;andChap.4.Professionalswhoare already familiar with the device will gain a deeper understanding of the structures anddesignmethodologiesfromChaps.3to5.Chapters6–8alsoprovideadvanced techniques and cutting-edge applications and trends useful for professionals. Most of the descriptions in this volume are translated from a Japanese book published by Ohmsha, The Principle and Structure of FPGA (2016), but new material has been added. We are very grateful to Ohmsha for generously allowing this kind of publishing venture. v vi Preface The chapters are written by top-level Japanese researchers in the field. The manuscripts were thoroughly checked and corrected by Dr. Akram Ben Armed of Keio University and Dr. Doan Anh Vu of the Technical University of Munich. I express my sincere gratitude for their efforts. Yokohama, Japan Hideharu Amano April 2018 Contents 1 Basic Knowledge to Understand FPGAs. . . . . . . . . . . . . . . . . . . . . . 1 Toshinori Sueyoshi 2 What Is an FPGA?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Masahiro Iida 3 FPGA Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Motoki Amagasaki and Yuichiro Shibata 4 Design Flow and Design Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Tomonori Izumi and Yukio Mitsuyama 5 Design Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Masahiro Iida 6 Hardware Algorithms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Kentaro Sano and Hiroki Nakahara 7 Programmable Logic Devices (PLDs) in Practical Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Tsutomu Maruyama, Yoshiki Yamaguchi and Yasunori Osana 8 Advanced Devices and Architectures . . . . . . . . . . . . . . . . . . . . . . . . 207 Masato Motomura, Masanori Hariyama and Minoru Watanabe vii Contributors Motoki Amagasaki Kumamoto University, Kumamoto, Japan Masanori Hariyama Tohoku University, Sendai, Japan Masahiro Iida Kumamoto University, Kumamoto, Japan Tomonori Izumi Ritsumeikan University, Kusatsu, Japan Tsutomu Maruyama University of Tsukuba, Tsukuba, Japan Yukio Mitsuyama Kochi University of Technology, Kami, Japan Masato Motomura Hokkaido University, Sapporo, Japan Hiroki Nakahara Tokyo Institute of Technology, Tokyo, Japan Yasunori Osana University of the Ryukyus, Ryukyus, Japan Kentaro Sano RIKEN, Kobe, Japan Yuichiro Shibata Nagasaki University, Nagasaki, Japan Toshinori Sueyoshi Kumamoto University, Kumamoto, Japan Minoru Watanabe Shizuoka University, Shizuoka, Japan Yoshiki Yamaguchi University of Tsukuba, Tsukuba, Japan ix Chapter 1 Basic Knowledge to Understand FPGAs ToshinoriSueyoshi Abstract AnFPGAisawonderfuldigitaldevicewhichcanimplementmostofthe practicallyrequireddigitalcircuitswithmucheasiereffortthanothersolutions.For understandingFPGAs,fundamentaldigitaldesigntechniquessuchaslogicalgebra, combinationalcircuitsdesign,sequentialcircuitsdesign,andstatictiminganalysis arerequired.Thischapterbrieflyintroducesthemfirst.Then,thepositionofFPGA amongvariousdigitaldevicesisdiscussed.Thelatterpartofthischapterisfor40- yearhistoryofprogrammabledevices.Throughthehistory,youcanseewhySRAM styleFPGAshavebecomedominantinvarioustypesofprogrammabledevices,and how Xilinx and Altera (Intel) have grown up major FPGA vendors. Various small vendorsandtheirattractivetrialsthatarenotexistingnowarealsointroduced. · · Keywords Digitalcircuits’design Statictiminganalysis Programmablelogic · devices Field-programmablegatearray 1.1 LogicCircuits Field-programmable gatearray(FPGA)isalogicdevice thatcanimplementuser- desired logics by programming logic functions. To understand the structure and designofFPGAs,thebasisoflogiccircuitsisbrieflyintroducedin[1, 2]. 1.1.1 LogicAlgebra Inlogicalgebra,alsocalledBooleanalgebra,allvariablescantakeeitherthevalue 0or1.LogicalgebraisanalgebraicsystemdefinedbytheoperatorsAND,OR,and NOT applied to such logic values (0,1). AND, OR, and NOT are binary or unary operatorsdefinedinTable1.1.Here,weusethesymbols“·”,“+”,and“−”forthese B T.Sueyoshi ( ) KumamotoUniversity,Kumamoto,Japan e-mail:[email protected] ©SpringerNatureSingaporePteLtd.2018 1 H.Amano(ed.),PrinciplesandStructuresofFPGAs, https://doi.org/10.1007/978-981-13-0824-6_1 2 T.Sueyoshi Table1.1 Axiomsoflogicalgebra AND(·) OR(+) NOT(−) 0·0=0 0+0=0 0¯=1 0·1=0 0+1=1 1·0=0 1+0=1 1¯=0 1·1=1 1+1=1 Table1.2 Theoremsoflogicalgebra Zeroelement x·0=0,x+1=1 Neutralelement x·1=x,x+0=x Idempotentlaw x·x=x,x+x=x Complementlaw x·x¯=0,x+x¯=1 Involutionlaw x¯¯ =x Commutativelaw x·y=y·x,x+y=y+x Associativelaw (x·y)·z=x·(y·z) (x+y)+z=x+(y+z) Distributionlaw x·(y+z)=(x·y)+(x·z) x+(y·z)=(x+y)·(x+z) Absorption x+(x·y)=x x·(x+y)=x DeMorgan’slaws x+y=x¯·y¯ x·y=x¯+y¯ three logic operators, respectively. AND (x ·y) is an operation whose result is 1 whenbothxandyare1.OR(x +y)isanoperationwhoseresultis1wheneither x or y is 1. NOT (x¯) is a unary operation giving the inverse of x; that is, when x is0itsresultis1,otherwiseitsresultis0.Inlogicalgebra,thetheoremsshownin Table1.2aresatisfied.Herethesymbol“=”showsthatbothsidesarealwaysequal orequivalent.Byexchanginglogicvalue0into1,andoperationANDintoOR,the equivalentlogicsystemisformed.Thisiscalledadualsystem.Inlogicalgebra,ifa theoremistrue,itsdualisalsotrue. 1.1.2 LogicEquation A logic equation consists of an arbitrary number of logic operations, logic vari- ables, and binary constants, separated by parentheses if needed to represent the order of computation. When a logic equation is formed with n logic variables x ,x ,x ,...,x ,itsresultiseither0or1according totheprocedure represented 1 2 3 n with an equation by substituting 0 or 1 in the variables (2n in total), following
Description: