High Level Design Methodology for Reconfigurable Systems

Total Page:16

File Type:pdf, Size:1020Kb

High Level Design Methodology for Reconfigurable Systems HIGH LEVEL DESIGN METHODOLOGY FOR RECONFIGURABLE SYSTEMS A dissertation presented to the faculty of the Russ College of Engineering and Technology In partial fulfillment of the requirements for the degree Doctor of Philosophy Mingwei Ding November 2005 This dissertation entitled HIGH LEVEL DESIGN METHODOLOGY FOR RECONFIGURABLE SYSTEMS by Mingwei Ding has been approved for the School of Electrical Engineering and Computer Science and the Russ College of Engineering and Technology by Janusz Starzyk Professor of Electrical Engineering and Computer Science Dennis Irwin Dean, Russ College of Engineering and Technology Ding, Mingwei. Ph.D. November 2005. Electrical Engineering and Computer Sci- ence High Level Design Methodology for Reconfigurable Systems (147pp.) Director of Dissertation: Janusz Starzyk The rise of reconfigurable computing systems presents great challenges to tradi- tional electronic system design mainly due to the dynamic reconfigurability require- ments of these systems. At the same time, the chip capacity is growing at a faster pace than that of design productivity, bringing up the problem of a \productivity crisis." Thus, there is a strong demand in the microelectronic design industry for electronic design automation tools and design paradigms that will improve the design productivity and utilize the full power of reconfigurable architectures. This dissertation addresses these needs and includes research on high-level design methodology for reconfigurable systems and studies applications of such systems. Two ongoing projects | SOLAR and DRAW | which are dedicated to machine learning and next generation mobile station design, respectively, were selected as examples of reconfigurable system applications. First of all, a novel design methodology and design language, Unified Algorithmic Design Language (UADL), have been proposed and developed. UADL allows the designer to enter a high-level algorithmic description once and automatically gener- ate executable code in different target languages, such as Matlab and VHDL. The proposed UADL tool has been applied to the design process of both projects with about 2 to 3 times savings in code sizes of their algorithmic parts. Regarding the selected projects' needs, the following topics have been studied: optimum interconnection, reconfigurable routing, mapping of the Turbo decoder al- gorithm and dimensionality reduction. An optimum interconnection scheme has been derived and a novel pipeline structure has been devised to realize the reconfigurable routing with linear hardware costs. Dimensionality reduction is an indispensable step for an efficient learning, feature extraction, classification, and image/pattern process- ing. Two postmapping algorithms have been developed and tested against real world data. An important contribution of this dissertation is the proposed new design method- ology based on UADL. The UADL methodology provides a high-level, unified, tool- independent design interface for system designers, as Java has provided a platform independent programming language for software developers. It is my hope and desire that this design paradigm will gain such popularity as Java did. Approved: Janusz Starzyk Professor of Electrical Engineering and Computer Science To My Dear Parents Acknowledgments After five years in Athens, my doctoral study is about to end. It would be impos- sible for me to finish this task without the help from many. First of all, I would like to thank my advisor Dr. Starzyk whose guidance and supports are the key elements of this dissertation. Also I am grateful for his career advice as a friend. Secondly, I want to extend my sincere thanks to my committee members, Dr. Curtis, Dr. Dill, Dr. Matolak and Dr. Mohlenkamp for reviewing my dissertation and giving me many helpful comments. Special thanks go to Dr. Mohlenkamp who first introduced LATEX to me and financed me to overcome last difficult time of my study life. The same special gratitude goes to Mrs. Zofia Starzyk as well, who had offered many financial support to me and cooked many delicious food for our research group parties. I need to thank Steven Diehl for helping me out with the LATEX template. Also I would like to express my thanks to my group members | Haibo, Yinyin, Yue, Zhen and James. At the same time, I owe a big \thank you" to all my friends who made my stay in Athens an enjoyable one. Last but not least, I would like to thank my parents who have always been the primary source of support to me. As its best was bought only at the cost of great pain. Driven to the thorn, with no knowledge of the dying to come. But when we press the thorn to our breast, We know........ We understand..... And still......we do it. | Colleen McCullough 7 Table of Contents Abstract 3 Dedication 5 Acknowledgments 6 List of Figures 9 List of Tables 12 1 Introduction 13 1.1 Motivation . 13 1.2 Previous Works . 17 1.3 Current Projects . 19 1.3.1 SOLAR . 19 1.3.2 DRAW . 20 1.4 Objectives . 20 1.5 Outline . 22 2 Reconfigurable System Design Methodology 23 2.1 Managing System Complexity . 23 2.2 UADL Motivation . 24 2.3 UADL Structure . 28 2.4 Comparison with Other Languages . 36 2.5 FSM Examples . 37 3 SOLAR System Design | It's all about connections! 42 3.1 Introduction . 42 3.2 Input Selection and Weighting Scheme . 44 3.2.1 Random vs. Greedy . 45 3.2.2 Optimal and Binary Weighting Schemes . 47 3.2.3 Simulation Results . 51 3.3 Reconfigurable Routing Channel . 54 8 3.3.1 Pipeline Structure . 56 3.3.2 Data Flow Description . 58 3.3.3 Node Operations . 62 3.3.4 Simulation Results . 66 3.4 Application Example . 68 3.5 Contributions by UADL . 75 4 DRAW System Design 81 4.1 Introduction . 81 4.2 DRAW Structure . 82 4.3 UADL Contribution . 84 4.4 Design Example { Turbo Decoder . 91 4.4.1 Introduction . 91 4.4.2 Turbo Decoding Algorithm . 91 4.5 DRAW Implementation Cost . 95 4.6 UADL Contributions . 97 5 Dimensionality Reduction 100 5.1 Preprocessing . 100 5.2 Dimensionality Reduction and Postmapping . 101 5.3 Principles of Postmapping . 103 5.4 Linear Postmapping . 104 5.5 SVD Postmapping . 108 5.6 Example Applications . 110 5.7 Conclusion . 122 6 Conclusions and Future Work 123 6.1 Conclusions . 123 6.2 Original Contribution . 126 6.3 Future Work . 126 Bibliography 128 Appendix A UADL Construction and Visitor Pattern 140 Appendix B List of Acronyms 144 Appendix C Source Code Used in Dissertation 147 9 List of Figures 1.1 Flexibility vs. performance. 14 1.2 Widening design productivity gap. 16 2.1 A typical VLSI design flow. 26 2.2 Similarity between Java design flow and UADL design flow. 27 2.3 Traditional design flow. 28 2.4 UADL design flow. 29 2.5 EBNF specification of UADL. 30 2.6 UADL MUX code for target VHDL. 32 2.7 UADL MUX code for target Matlab. 33 2.8 Module interchanging and detailing procedures. 34 2.9 Language commonalities and differences. 35 2.10 Incompatibleness among current tools. 36 2.11 UADL framework unifies the user design platform. 37 2.12 FSM diagram of the comment filter. 39 2.13 FSM code UADL implementation. 40 2.14 Generated VHDL FSM code (partial). 41 3.1 SOLAR structure. 43 3.2 Classification rate with different selection strategies . 46 3.3 Model of weighted sum of noisy signals . 47 3.4 Pgain vs. dP in a binary weighted connection . 51 3.5 Pgain vs. dP at Pgain = 0 in a binary weighted connection . 52 3.6 Visualization of Hamming distances for noisy vectors . 53 3.7 A 31-neuron network topology . 54 3.8 Pipeline structure overview. 57 3.9 Same network with two connection configurations. 58 3.10 Column 1, cycle 0 to cycle L + Pk. 59 3.11 Column 1, cycle 2L to cycle 2L + Pk. 60 3.12 Column 1 and 2, cycle 3L to cycle 3L + Pk. 60 3.13 Timing diagram between column 1 and 2. 61 3.14 KCPSM assembly code fragment for reading. 62 3.15 Single node read/write structure. 63 10 3.16 Node implementing Lm(x) and Em(x) operations. 65 3.17 Comparison between modified sigmoid and sigmoid. 66 3.18 Node implementing Em(x) operation. 67 3.19 Single node read/write waveform. 67 3.20 Design area vs. network size. 68 3.21 4 7 array processing 4-feature Iris data. 69 3.22 4 ×7 array RTL schematic. 70 3.23 No×de RTL schematic. 71 3.24 One column RTL schematic. 72 3.25 One column RTL schematic (2). 73 3.26 4 7 array layout by Xilinx tools. 74 × 3.27 UADL code for one column design. 75 3.28 Generated VHDL code for one column design (partial). 76 3.29 Sample UADL testbench code. 78 3.30 Generated VHDL code from UADL testbench code (clock). 79 3.31 Generated VHDL code from UADL testbench code (reset). 79 3.32 Generated VHDL code from UADL testbench code (din,tin). 80 4.1 A block diagram of DRAP. 83 4.2 Crossbar implementation for 4-bit Barrel Shifter. 84 4.3 3 Stage logarithmic implementation for 7-bit Barrel Shifter. 85 4.4 UADL design flow with VHDL Matlab code auto-generation. 85 4.5 VHDL simulation results for one stage bypass/shift unit. 86 4.6 Matlab results for generated barrelshift.m code. 87 4.7 VHDL simulation results for 3-stage bypass/shift unit. 88 4.8 Matlab results for generated barrelshift3.m code. 88 4.9 Layout map for 3-stage Barrel Shifter. 90 4.10 PCCC encoder proposed by 3GPP. 92 4.11 Turbo decoder structure. 92 4.12 Datapath for α calculation. 93 4.13 Datapath for LLR (4 states).
Recommended publications
  • Implementation of Optimized CORDIC Designs
    IJIRST –International Journal for Innovative Research in Science & Technology| Volume 1 | Issue 3 | August 2014 ISSN(online) : 2349-6010 Implementation of Optimized CORDIC Designs Bibinu Jacob Reenesh Zacharia M Tech Student Assistant Professor Department of Electronics & Communication Engineering Department of Electronics & Communication Engineering Mangalam College Of Engineering, Ettumanoor Mangalam College Of Engineering, Ettumanoor Abstract CORDIC stands for COordinate Rotation DIgital Computer, which is likewise known as Volder's algorithm and digit-by-digit method. It is a simple and effective method to calculate many functions like trigonometric, hyperbolic, logarithmic etc. It performs complex multiplications using simple shifts and additions. It finds applications in robotics, digital signal processing, graphics, games, and animation. But, there isn't any optimized CORDIC designs for rotating vectors through specific angles. In this paper, optimization schemes and CORDIC circuits for fixed and known rotations are proposed. Finally an argument reduction technique to map larger angle to an angle less than 45 is discussed. The proposed CORDIC cells are simulated by Xilinx ISE Design Suite and shown that the proposed designs offer less latency and better device utilization than the reference CORDIC design for fixed and known angles of rotation. Keywords: Coordinate rotation digital computer (CORDIC), digital signal processing (DSP) chip, very large scale integration (VLSI) _______________________________________________________________________________________________________ I. INTRODUCTION The advances in the very large scale integration (VLSI) technology and the advent of electronic design automation (EDA) tools have been directing the current research in the areas of digital signal processing (DSP), communications, etc. in terms of the design of high speed VLSI architectures for real-time algorithms and systems which have applications in the above mentioned areas.
    [Show full text]
  • Master's Thesis
    Implementation of the Metal Privileged Architecture by Fatemeh Hassani A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Masters of Mathematics in Computer Science Waterloo, Ontario, Canada, 2020 c Fatemeh Hassani 2020 Author's Declaration I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract The privileged architecture of modern computer architectures is expanded through new architectural features that are implemented in hardware or through instruction set extensions. These extensions are tied to particular architecture and operating system developers are not able to customize the privileged mechanisms. As a result, they have to work around fixed abstractions provided by processor vendors to implement desired functionalities. Programmable approaches such as PALcode also remain heavily tied to the hardware and modifying the privileged architecture has to be done by the processor manufacturer. To accelerate operating system development and enable rapid prototyping of new operating system designs and features, we need to rethink the privileged architecture design. We present a new abstraction called Metal that enables extensions to the architecture by the operating system. It provides system developers with a general-purpose and easy- to-use interface to build a variety of facilities that range from performance measurements to novel privilege models. We implement a simplified version of the Alpha architecture which we call µAlpha and build a prototype of Metal on this architecture.
    [Show full text]
  • Download the Compiled Program File Onto the Chip
    International Journal of Computer Science & Information Technology (IJCSIT) Vol 4, No 2, April 2012 MPP SOCGEN: A FRAMEWORK FOR AUTOMATIC GENERATION OF MPP SOC ARCHITECTURE Emna Kallel, Yassine Aoudni, Mouna Baklouti and Mohamed Abid Electrical department, Computer Embedded System Laboratory, ENIS School, Sfax, Tunisia ABSTRACT Automatic code generation is a standard method in software engineering since it improves the code consistency and reduces the overall development time. In this context, this paper presents a design flow for automatic VHDL code generation of mppSoC (massively parallel processing System-on-Chip) configuration. Indeed, depending on the application requirements, a framework of Netbeans Platform Software Tool named MppSoCGEN was developed in order to accelerate the design process of complex mppSoC. Starting from an architecture parameters design, VHDL code will be automatically generated using parsing method. Configuration rules are proposed to have a correct and valid VHDL syntax configuration. Finally, an automatic generation of Processor Elements and network topologies models of mppSoC architecture will be done for Stratix II device family. Our framework improves its flexibility on Netbeans 5.5 version and centrino duo Core 2GHz with 22 Kbytes and 3 seconds average runtime. Experimental results for reduction algorithm validate our MppSoCGEN design flow and demonstrate the efficiency of generated architectures. KEYWORD MppSoC, Automatic code generation; mppSoC configuration;parsing ; MppSoCGEN; 1. INTRODUCTION Parallel machines are most often used in many modern applications that need regular parallel algorithms and high computing resources, such as image processing and signal processing. Massively parallel architectures, in particular Single Instruction Multiple Data (SIMD) systems, have shown to be powerful executers for data-intensive applications [1].
    [Show full text]
  • Arithmetic and Logical Unit Design for Area Optimization for Microcontroller Amrut Anilrao Purohit 1,2 , Mohammed Riyaz Ahmed 2 and R
    et International Journal on Emerging Technologies 11 (2): 668-673(2020) ISSN No. (Print): 0975-8364 ISSN No. (Online): 2249-3255 Arithmetic and Logical Unit Design for Area Optimization for Microcontroller Amrut Anilrao Purohit 1,2 , Mohammed Riyaz Ahmed 2 and R. Venkata Siva Reddy 2 1Research Scholar, VTU Belagavi (Karnataka), India. 2School of Electronics and Communication Engineering, REVA University Bengaluru, (Karnataka), India. (Corresponding author: Amrut Anilrao Purohit) (Received 04 January 2020, Revised 02 March 2020, Accepted 03 March 2020) (Published by Research Trend, Website: www.researchtrend.net) ABSTRACT: Arithmetic and Logic Unit (ALU) can be understood with basic knowledge of digital electronics and any engineer will go through the details only once. The advantage of knowing ALU in detail is two- folded: firstly, programming of the processing device can be efficient and secondly, can design a new ALU architecture as per the various constraints of the use cases. The miniaturization of digital circuits can be achieved by either reducing the size of transistor (Moore’s law) or by optimizing the gate count of the circuit. The first has been explored extensively while the latter has been ignored which deals with the application of Boolean rules and requires sound knowledge of logic design. The ultimate outcome is to have an area optimized architecture/approach that optimizes the circuit at gate level. The design of ALU is for various processing devices varies with the device/system requirements. The area optimization places a significant role in the chip design. Here in this work, we have attempted to design an ALU which is area efficient while being loaded with additional functionality necessary for microcontrollers.
    [Show full text]
  • White Paper - Investigate the High-Level HDL Chisel
    White Paper - Investigate the high-level HDL Chisel Florian Heilmann, Christian Brugger, Norbert Wehn Microelectronics Research Group, University Kaiserslautern Kaiserslautern, Germany [email protected], [email protected], [email protected] Abstract— Chisel (Constructing Hardware in a Scala designer can simply not use it. Another approach involves embedded language) is a new programming language, which using a language suited for the domain of the target application. embedded in Scala, used for hardware synthesis. It aims to Examples include Esterel [4], which has been modeled for increase productivity when creating hardware by enabling reactive programs and DIL[5], which is an intermediate designers to use features present in higher level programming programming language used to target pipelined reconfigurable languages to build complex hardware blocks. In this paper, the architectures like PipeRench. Moreover, there are languages most advertised features of Chisel are investigated and compared like BlueSpec[6] which is essentially a subset of to their VHDL counterparts, if present. Afterwards, the authors’ SystemVerilog putting emphasis on avoiding race conditions opinion if a switch to Chisel is worth considering is presented. by automatically generating scheduling and arbitration logic Additionally, results from a related case study on Chisel are from a set of “rules” which express synthesizable behavior. briefly summarized. The author concludes that, while Chisel has promising features, it is not yet ready for use in the industry. These languages are usually designed to support a specific design domain. This, however, leads to these approaches performing poorly when used outside the domain they were intended for. Keywords—Hardware design; Chisel; VHDL; HDL III.
    [Show full text]
  • The Hardware Design Toolchain Approaches and State of the Art Fredo Erxleben August 27, 2014
    The Hardware Design Toolchain Approaches and State of the Art Fredo Erxleben August 27, 2014 We will hate the tools (FCCM 1996 prediction for 2001) We will still hate the tools (FCCM 1998 prediction for 2003) We will merely dislike the tools (FCCM 2000 prediction for 2005) We [will] hate the tools more (FCCM 2007 prediction for 2012) 1 Motivation used for hardware design will be presented in an attempt to outline where weaknesses in the currently available tool-chains for hardware de- Since the introduction of integrated circuits, sign are found. Due to the sheer amount of hardware complexity has increased rapidly and different approaches made over the years and constantly. This complexity naturally is a hard tools that were developed with the intention of thing for humans to handle once it reaches a helping to improve the design process, it is not certain threshold. As a consequence, the need possible to look at them all or in more detail. for tools arises to enable the people involved in Instead, in the following, an overview over ap- the hardware design process to continue work- proaches made to create tool-chains for hard- ing on, advancing and improving the matter. ware design or single tools to be used in them, While this is a fact for any evolving branch of shall be given. It will also be outlined, what science and production, the speed, by which the their current state in productive use is. tools adapt varies greatly. Taking software de- velopment as a comparison, we find that there are often a lot of tools available for one task, 2 Criteria each one of them filling a niche or being tai- lored with a special use-case in mind.
    [Show full text]
  • Concepmon ( G ~ E Janvier
    CONCEPMONET MISE EN CE= D'UN SYST~MEDE RECONFIOURATION DYNAMIQUE PRESENTE EN VUE DE L'OBTENTION DU DIP~MEDE WSERs SCIENCES APPLIQUEES (G~EÉLE~QUE) JANVIER2000 OCynthia Cousineau, 2000. National Library Bibliothèque nationale I*I of Canada du Canada Acquisitions and Acquisitions et Bibliographie Services services bibliographiques 395 Wellington Street 395, rue Wellington OttawaON K1AON4 Ottawa ON K1A ON4 Canada Canada The author has granted a non- L'auteur a accordé une licence non exclusive licence allowing the exclusive permettant à la National Library of Canada to Bibliothèque nationale du Canada de reproduce, loan, distribute or sel1 reproduire, prêter, distribuer ou copies of this thesis in microform, vendre des copies de cette thèse sous paper or electronic formats. la forme de microfiche/film, de reproduction sur papier ou sur format électronique. The author retains ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts f?om it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation. Ce mémoire intitulé: CONCEFMONET MISE EN OEWRE D'UN SYST&MEDE RECONFIGURATION DYNAMIQUE présenté par : COUSINEAU Cvnthia en vue de l'obtention du diplôme de : Maîtrise ès sciences amliauees a été dûment accepté par le jury d'examen constitué de: M. BOIS GUY, Ph.D., président M. SAVARIA Yvon, Ph.D., membre et directeur de recherche M. SAWAN Mohamad , Ph.D., membre et codirecteur de recherche M.
    [Show full text]
  • Review of FPD's Languages, Compilers, Interpreters and Tools
    ISSN 2394-7314 International Journal of Novel Research in Computer Science and Software Engineering Vol. 3, Issue 1, pp: (140-158), Month: January-April 2016, Available at: www.noveltyjournals.com Review of FPD'S Languages, Compilers, Interpreters and Tools 1Amr Rashed, 2Bedir Yousif, 3Ahmed Shaban Samra 1Higher studies Deanship, Taif university, Taif, Saudi Arabia 2Communication and Electronics Department, Faculty of engineering, Kafrelsheikh University, Egypt 3Communication and Electronics Department, Faculty of engineering, Mansoura University, Egypt Abstract: FPGAs have achieved quick acceptance, spread and growth over the past years because they can be applied to a variety of applications. Some of these applications includes: random logic, bioinformatics, video and image processing, device controllers, communication encoding, modulation, and filtering, limited size systems with RAM blocks, and many more. For example, for video and image processing application it is very difficult and time consuming to use traditional HDL languages, so it’s obligatory to search for other efficient, synthesis tools to implement your design. The question is what is the best comparable language or tool to implement desired application. Also this research is very helpful for language developers to know strength points, weakness points, ease of use and efficiency of each tool or language. This research faced many challenges one of them is that there is no complete reference of all FPGA languages and tools, also available references and guides are few and almost not good. Searching for a simple example to learn some of these tools or languages would be a time consuming. This paper represents a review study or guide of almost all PLD's languages, interpreters and tools that can be used for programming, simulating and synthesizing PLD's for analog, digital & mixed signals and systems supported with simple examples.
    [Show full text]
  • 8-Bit Barrel Shifter That May Rotate the Data in Both Direction
    © 2018 IJRAR December 2018, Volume 5, Issue 04 www.ijrar.org (E-ISSN 2348-1269, P- ISSN 2349-5138) Performance Analysis of Low Power CMOS based 8 bit Barrel Shifter Deepti Shakya M-Tech VLSI Design SRCEM Gwalior (M.P) INDIA Shweta Agrawal Assistant Professor, Dept. Electronics & Communication Engineering SRCEM Gwalior (M.P), INDIA Abstract Barrel Shifter isimportant function to optimize the RISC processor, so it is used for rotating and transferring the data either in left or right direction. This shifter is useful in lots of signal processing ICs. The Arithmetic and the Logical Shifters additionally can be changed by the Barrel Shifter Because with the rotation of the data it also supply the utility the data right, left changeall mathemetically or logically.A purpose of this paper is to design the CMOS 8 bit barrel shifter using universal gates with the help of CMOS logic and the most important 2:1 multiplexers (MUX). CMOS based 8 bit barrel shifter has implemented in this paper and compared in terms of delay and power using 90 nm and 45nm technologies. Key Words: CMOS, Low Power, Delay,Barrel Shifter, PMOS, NMOS, Cadence. 1. Introduction In RISC processor ALU plays math and intellectual operations. Number crunching operations operate enlargement, subtraction, addition and division such as sensible operations incorporates AND, OR, NOT, NAND, NOR, XNOR and XOR. RISC processor consist ofnotice in credentials used to keep the operand in store path. The point of control unit is to give a control flag that controls the operation of the processor which tells the small scale building design which operation is done after then the time Barrel shifter is a significant element among rise operation.
    [Show full text]
  • A Lisp Oriented Architecture by John W.F
    A Lisp Oriented Architecture by John W.F. McClain Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degrees of Master of Science in Electrical Engineering and Computer Science and Bachelor of Science in Electrical Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 1994 © John W.F. McClain, 1994 The author hereby grants to MIT permission to reproduce and to distribute copies of this thesis document in whole or in part. Signature of Author ...... ;......................... .............. Department of Electrical Engineering and Computer Science August 5th, 1994 Certified by....... ......... ... ...... Th nas F. Knight Jr. Principal Research Scientist 1,,IA £ . Thesis Supervisor Accepted by ....................... 3Frederic R. Morgenthaler Chairman, Depattee, on Graduate Students J 'FROM e ;; "N MfLIT oARIES ..- A Lisp Oriented Architecture by John W.F. McClain Submitted to the Department of Electrical Engineering and Computer Science on August 5th, 1994, in partial fulfillment of the requirements for the degrees of Master of Science in Electrical Engineering and Computer Science and Bachelor of Science in Electrical Engineering Abstract In this thesis I describe LOOP, a new architecture for the efficient execution of pro- grams written in Lisp like languages. LOOP allows Lisp programs to run at high speed without sacrificing safety or ease of programming. LOOP is a 64 bit, long in- struction word architecture with support for generic arithmetic, 64 bit tagged IEEE floats, low cost fine grained read and write barriers, and fast traps. I make estimates for how much these Lisp specific features cost and how much they may speed up the execution of programs written in Lisp.
    [Show full text]
  • Pymtl As an Open-Source Python-Based Hardware Generation, Simulation, and Verification Framework
    Appears in the Proceedings of the First Workshop on Open-Source EDA Technology (WOSET’18), November 2018 An Open-Source Python-Based Hardware Generation, Simulation, and Verification Framework Shunning Jiang Christopher Torng Christopher Batten School of Electrical and Computer Engineering, Cornell University, Ithaca, NY { sj634, clt67, cbatten }@cornell.edu pytest coverage.py hypothesis ABSTRACT Host Language HDL We present an overview of previously published features and work (Python) (Verilog) in progress for PyMTL, an open-source Python-based hardware generation, simulation, and verification framework that brings com- FL DUT CL DUT pelling productivity benefits to hardware design and verification. generate Verilog synth RTL DUT PyMTL provides a natural environment for multi-level modeling DUT' using method-based interfaces, features highly parametrized static Sim FPGA/ elaboration and analysis/transform passes, supports fast simulation cosim ASIC and property-based random testing in pure Python environment, Test Bench Sim and includes seamless SystemVerilog integration. Figure 1: PyMTL’s workflow – The designer iteratively refines the hardware within the host Python language, with the help from 1 INTRODUCTION pytest, coverage.py, and hypothesis. The same test bench is later There have been multiple generations of open-source hardware reused for co-simulating the generated Verilog. FL = functional generation frameworks that attempt to mitigate the increasing level; CL = cycle level; RTL = register-transfer level; DUT = design hardware design and verification complexity. These frameworks under test; DUT’ = generated DUT; Sim = simulation. use a high-level general-purpose programming language to ex- press a hardware-oriented declarative or procedural description level (RTL), along with verification and evaluation using Python- and explicitly generate a low-level HDL implementation.
    [Show full text]
  • Application of the FPGA Technology for the Development of Multi-Version Safety-Critical NPP Instrumentation and Control Systems
    УДК 004.056(274) Doi: https://doi.org/10.32918/nrs.2020.2(86).07 Application of the FPGA Technology for the Development of Multi-Version Safety-Critical NPP Instrumentation and Control Systems Perepelitsyn A. National Aerospace University «KhAI», Kharkiv, Ukraine ORCID: https://orcid.org/0000-0002-5463-7889 Illiashenko O. National Aerospace University «KhAI», Kharkiv, Ukraine ORCID: https://orcid.org/0000-0002-4672-6400 Duzhyi V. National Aerospace University «KhAI», Kharkiv, Ukraine ORCID: https://orcid.org/0000-0002-3383-1893 Kharchenko V. National Aerospace University «KhAI», Kharkiv, Ukraine Research and Production Corporation «Radiy», Kropyvnytskyi, Ukraine ORCID: https://orcid.org/0000-0001-5352-077X The paper overviews the requirements of international standards on application of diversity in safety-critical NPP instrumentation and control (I&C) systems. The NUREG 7007 classification of version redundancy and the method for diversity assessment are described. The paper presents results from the analysis of instruments and design tools for FPGA-based embedded digital devices from leading manufacturers of programmable logics using the Xilinx and Altera (Intel) chips, which are used in NPP I&C systems, as an example. The most effective integrated development environments are analyzed and the results of comparing the functions and capabilities of using the Xilinx and Altera (Intel) tools are described. The analysis of single failures and fault tolerance using diversity in chip designs based on the SRAM technology is presented. The results from assessment of diversity metrics for RadICS platform-based multi-version I&C systems are discussed. Keywords: FPGA, diversity, safety, instrumentation and control system. © Perepelitsyn A., Illiashenko O., Duzhyi V., Kharchenko V., 2020 is becoming more complicated, their sensitivity Introduction to single failures (single-event upsets (SEUs)) due to high-energy particles generated by cosmic rays Programmable logic devices (PLD) have proved increases.
    [Show full text]