Design and Development of Soft Core Microprocessor Using Open-Source EDA Tools

Total Page:16

File Type:pdf, Size:1020Kb

Design and Development of Soft Core Microprocessor Using Open-Source EDA Tools Journal of Xi'an University of Architecture & Technology ISSN No : 1006-7930 Design and Development of Soft Core Microprocessor using Open-Source EDA tools Taha Bilal Iqbal Abdul Wasay Mudasser Dept. of ECE, Lords Institute Dept. of ECE, Lords Institute Dept. of ECE, Lords institute of Engineering & Technology, of Engineering & Technology, of Engineering & Technology, Hyderabad, India, Hyderabad, India Hyderabad, India, e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] Abstract- This paper discusses about the But the biggest problem that will arise due to designing of a custom soft- core this is that there will no or very less software microprocessor along with various support among different manufacturers. Here architectures that can be considered while come the EDA tools in the picture. Xilinx have designing one. A discussion on the pros and their own set of EDA tools like Xilinx Vivado, cons of using custom architecture is PetaLinux and so on, Similarly, Intel too has its presented. In this paper, a simple 16-bit own software tool called Intel Quartus Prime. MIPS microprocessor has been implemented in VHDL and is simulated Imagine a large number of companies using GHDL and testbench waveforms having their own set of tools for their own verified using GTKWave. The pros and cons FPGAs, issues like inter-compatibility and of using these tools are also discussed. pricing will arise. So, to prevent such problems as well as to promote the open-source tools and Keywords- Microprocessor, ISA, VHDL, FPGA technology in the academic and GHDL, GTKWave, Open-Source research institutes, especially those who have less monetary budget and are under-privileged, INTRODUCTION the promise of open-source software Soft core microprocessor is quite different guarantees equal freedom and opportunity. from a typical microprocessor, referred as a This paper promotes the existing open-source hard-core microprocessor. Instead of physical EDA tools like GHDL (a VHDL simulator) and layout and connections, a soft-core GTKWave (a waveform monitor) by microprocessor is designed using Hardware implementing a simple 16-bit soft core Descriptive Languages or HDLs. Currently the microprocessor and discusses briefly the pros most commonly used HDLs in the industry are and cons of using these tools. SystemVerilog and VHDL. A soft-core microprocessor is designed by simply writing This paper is divided into two parts, Part-I a script in the HDL. They can be implemented discusses about the pros and cons of designing physically by downloading the code in an a custom architecture. Part-II has a brief FPGA. The biggest vendors of FPGAs are introduction about the open-source tools used Xilinx and Intel. Due to the stagnation of followed by simulating a simple 16-bit MIPS Moore’s law the focus of industry has shifted architecture soft core microprocessor. from smaller and faster microprocessor, to application specific and custom architecture. PART I: DESIGNING A SOFT-CORE One can design their own architecture or use MICROPROCESSOR OF CUSTOM ARCHITECTURE one of the open-source architectures like When planning to make a custom core, a RISC-V to implement their custom core. With designer is confronted with the choice of these many changes in the industry the obvious whether to use an available open-source ISA or need that will rise will be the FPGAs. And to create their own from scratch. This section therefore, a large number of manufacturers discusses about the pros and cons of each have and will start to produce their own FPGA. Volume XII, Issue V, 2020 Page No 2409 Journal of Xi'an University of Architecture & Technology ISSN No : 1006-7930 choice and later discusses the steps to follow cannot be used with Linux and its distros being when planning to design a custom architecture. an exception. Linux and some of its distros are open-source and their licenses allow anyone to A.OPEN-SOURCE ISA OR CUSTOM ISA? modify and reuse their code. So, you can use There are large number of open-source Linux but you will have to write your own ISAs like the popular RISC-V, OpenRISC, Linux port that supports your design. OpenSPARC, LEON and many others. Each O OMMUNICATION UPPORT one of these have some differences among II. N C S them, however discussing those differences is If the core is completely self-designed and out of scope of this paper. We will consider a it can’t communicate with external devices as general standpoint when comparing it with the it won’t support the various communication Custom ISA. protocols like USB, Ethernet and others. Open-Source ISA are designed by Some designers do adopt the strategy of researchers and scientists and are maintained mixing their design with others, for example, a by the communities. For instance, the RISC-V designer designs his own core but uses others Foundation maintains the RISC-V ISA. A large specialized core for communication support number of people from around the world and in some cases even operating system contribute and thus try to achieve a complete support. All in all, one can do all these if they support for the newcomers of the community. have enough technical knowledge and These projects have been around for a long obviously enough time. time and thus have reached a stage where they can nearly compete with the existing tech PART II: SIMULATION USING OPEN-SOURCE giants. For instance, RISC-V have been started EDA TOOLS to be compared with the ARM. The purpose of using open-source EDA tools instead of closed-source specialized Custom ISA can be designed by anyone software tools is to promote these tools as well who have the knowledge about the System as to make sure that every vendor of FPGA in Architecture. This is a personal or company the market gets equal opportunity, as this helps level project and getting external support and in the availability of low-cost FPGAs. There help is nearly impossible unless they study and are some vendors that do sell FPGAs that sell understand your design. at a cost lower than the Xilinx, Intel or Lattice. However, only people with high can technical The prime benefit of designing an skills can use them. It must be made sure that architecture is security. Consider a company the students, especially the underprivileged using computer systems using an architecture ones can get access to them as they can learn a that’s completely different and unknown to the lot. This will surely help in the improvement of outside world. Such system is nearly the quality of education. impossible to get hacked and have their data stolen. Such systems are only useful in The tools used in this paper are GHDL and Government organisations or companies that GTKWave both of them open-source and can have very valuable data stored like Intellectual be freely downloaded from their respective Property (IP). Except this, there are a lot of websites. However, these are not the only problems and issues that arise when using one, open-source EDA tools out there, there are a like: lot of others like Verilator (used to simulate -No Operating System Support Verilog script), Yosys and so on. -No Communication Support I. GHDL I. No Operating System Support Since the design is unknown to the world, GHDL is a VHDL Simulator which the mainstream propriety operating systems converts the VHDL script into the machine like the Microsoft Windows and Macintosh code. However, GHDL doesn’t have a GUI for Volume XII, Issue V, 2020 Page No 2410 Journal of Xi'an University of Architecture & Technology ISSN No : 1006-7930 now and therefore has to used using the A. EXISTING METHODOLOGY Command Line Interface typically referred to Use of closed source tools like Xilinx ISE as Command Prompt in Windows and or Intel Quartus Prime for Simulation and Syn- Terminal in Ubuntu (a Linux distro based on Debian). For this paper we have used the thesis of Soft Core Microprocessor. The Terminal as shown, softcore microprocessor used is an MIPS mi- croprocessor, MIPS stands for Microprocessor without Interlocked Pipeline Stages. This MIPS microprocessor has an instruction word length of 16bit, along with 8 general purpose registers. These registers are 16bit wide. The ALU implemented here is a simple ALU, it does not support bulky operations like multi- plication and division. Floating point units are not used MIPS-16. B. INTERNAL ARCHITECTURE AND OPCODES Figure 1: Terminal showing ghdl version The only difficulty faced when using this tool is the installation process, which is also a one- time deal and can be done by following the GHDL Documentation [1]. II. GTKWAVE GTKWave is a waveform viewer which can be used to view large number file formats like the .ghw, .vcd and many others. This tool does have a GUI which can be used to browse, set and view the testbench waveforms [2]. Figure 3: Architecture of 16-bit MIPS processor C. PROPOSED METHODOLOGY Figure 2: A Typical GTKWave Window Use of open source tools for design, simu- lation and RTL for schematic of Soft Core Mi- croprocessor. Innovation by using open source EDA tools that are GHDL and GTKWave. Where GHDl is VHDL simulator used to con- vert VHDL script into the machine code. Volume XII, Issue V, 2020 Page No 2411 Journal of Xi'an University of Architecture & Technology ISSN No : 1006-7930 GHDL doesn’t have any GUI and therefore needs to use Command Line Interface. The tool GTKWave is a waveform generator which can use file formats like .ghw, .vcd. D. SIMULATION PROCEDURE For simulation of 16-bit MIPS Microprocessor only the HDL script file is required.
Recommended publications
  • Nios II Custom Instruction User Guide
    Nios II Custom Instruction User Guide Subscribe UG-20286 | 2020.04.27 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Nios II Custom Instruction Overview..............................................................................4 1.1. Custom Instruction Implementation......................................................................... 4 1.1.1. Custom Instruction Hardware Implementation............................................... 5 1.1.2. Custom Instruction Software Implementation................................................ 6 2. Custom Instruction Hardware Interface......................................................................... 7 2.1. Custom Instruction Types....................................................................................... 7 2.1.1. Combinational Custom Instructions.............................................................. 8 2.1.2. Multicycle Custom Instructions...................................................................10 2.1.3. Extended Custom Instructions................................................................... 11 2.1.4. Internal Register File Custom Instructions................................................... 13 2.1.5. External Interface Custom Instructions....................................................... 15 3. Custom Instruction Software Interface.........................................................................16 3.1. Custom Instruction Software Examples................................................................... 16
    [Show full text]
  • Intel Quartus Prime Pro Edition User Guide: Programmer Send Feedback
    Intel® Quartus® Prime Pro Edition User Guide Programmer Updated for Intel® Quartus® Prime Design Suite: 21.2 Subscribe UG-20134 | 2021.07.21 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Intel® Quartus® Prime Programmer User Guide..............................................................4 1.1. Generating Primary Device Programming Files........................................................... 5 1.2. Generating Secondary Programming Files................................................................. 6 1.2.1. Generating Secondary Programming Files (Programming File Generator)........... 7 1.2.2. Generating Secondary Programming Files (Convert Programming File Dialog Box)............................................................................................. 11 1.3. Enabling Bitstream Security for Intel Stratix 10 Devices............................................ 18 1.3.1. Enabling Bitstream Authentication (Programming File Generator)................... 19 1.3.2. Specifying Additional Physical Security Settings (Programming File Generator).............................................................................................. 21 1.3.3. Enabling Bitstream Encryption (Programming File Generator).........................22 1.4. Enabling Bitstream Encryption or Compression for Intel Arria 10 and Intel Cyclone 10 GX Devices.................................................................................................. 23 1.5. Generating Programming Files for Partial Reconfiguration.........................................
    [Show full text]
  • Introduction to Intel® FPGA IP Cores
    Introduction to Intel® FPGA IP Cores Updated for Intel® Quartus® Prime Design Suite: 20.3 Subscribe UG-01056 | 2020.11.09 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Introduction to Intel® FPGA IP Cores..............................................................................3 1.1. IP Catalog and Parameter Editor.............................................................................. 4 1.1.1. The Parameter Editor................................................................................. 5 1.2. Installing and Licensing Intel FPGA IP Cores.............................................................. 5 1.2.1. Intel FPGA IP Evaluation Mode.....................................................................6 1.2.2. Checking the IP License Status.................................................................... 8 1.2.3. Intel FPGA IP Versioning............................................................................. 9 1.2.4. Adding IP to IP Catalog...............................................................................9 1.3. Best Practices for Intel FPGA IP..............................................................................10 1.4. IP General Settings.............................................................................................. 11 1.5. Generating IP Cores (Intel Quartus Prime Pro Edition)...............................................12 1.5.1. IP Core Generation Output (Intel Quartus Prime Pro Edition)..........................13 1.5.2. Scripting IP Core Generation....................................................................
    [Show full text]
  • Intel® Arria® 10 Device Overview
    Intel® Arria® 10 Device Overview Subscribe A10-OVERVIEW | 2020.10.20 Send Feedback Latest document on the web: PDF | HTML Contents Contents Intel® Arria® 10 Device Overview....................................................................................... 3 Key Advantages of Intel Arria 10 Devices........................................................................ 4 Summary of Intel Arria 10 Features................................................................................4 Intel Arria 10 Device Variants and Packages.....................................................................7 Intel Arria 10 GX.................................................................................................7 Intel Arria 10 GT............................................................................................... 11 Intel Arria 10 SX............................................................................................... 14 I/O Vertical Migration for Intel Arria 10 Devices.............................................................. 17 Adaptive Logic Module................................................................................................ 17 Variable-Precision DSP Block........................................................................................18 Embedded Memory Blocks........................................................................................... 20 Types of Embedded Memory............................................................................... 21 Embedded Memory Capacity in
    [Show full text]
  • Intel FPGA Product Catalog Devices: 10 Nm Device Portfolio Intel Agilex FPGA and Soc Overview
    • Cover TBD INTEL® FPGA PRODUCT CATALOG Version 19.3 CONTENTS Overview Acceleration Platforms and Solutions Intel® FPGA Solutions Portfolio 1 Intel FPGA Programmable Acceleration Overview 61 Devices Intel Acceleration Stack for Intel Xeon® CPU with FPGAs 62 Intel FPGA Programmable Acceleration Cards 63 10 nm Device Portfolio - Intel AgilexTM - Intel Programmable Acceleration Card with 63 FPGA and SoC Overview 2 Intel Arria 10 GX FPGA - Intel Agilex FPGA Features 4 - Intel FPGA Programmable Acceleration Card D5005 64 Generation 10 Device Portfolio - Intel FPGA Programmable Acceleration Card N3000 65 - Generation 10 FPGAs and SoCs 6 - Intel FPGA Programmable Acceleration Card 66 - Intel Stratix® 10 FPGA and SoC Overview 7 Comparison - Intel Stratix 10 FPGA Features 9 Accelerated Workload Solutions 67 - Intel Stratix 10 SoC Features 11 - Intel Stratix 10 TX Features 13 - Intel Stratix 10 MX Features 15 Design Tools, OS Support, and Processors - Intel Stratix 10 DX Features 17 Intel Quartus® Prime Software 68 - Intel Arria® 10 FPGA and SoC Overview 20 DSP Builder for Intel FPGAs 71 - Intel Arria 10 FPGA Features 21 Intel FPGA SDK for OpenCL™ 72 - Intel Arria 10 SoC Features 23 - Intel Cyclone® 10 FPGA Overview 25 Intel SoC FPGA Embedded Development Suite 73 - Intel Cyclone 10 GX FPGA Features 26 SoC Operating System Support 74 - Intel Cyclone 10 LP FPGA Features 27 Nios® II Processor 75 - Intel MAX® 10 FPGA Overview 29 - Intel MAX 10 FPGA Features 30 Nios II Processor Embedded Design Suite 76 Nios II Processor Operating System Support 28
    [Show full text]
  • Intel FPGA SDK for Opencl Pro Edition: Programming Guide Send Feedback
    Intel® FPGA SDK for OpenCL™ Pro Edition Programming Guide Updated for Intel® Quartus® Prime Design Suite: 21.2 Subscribe UG-OCL002 | 2021.06.23 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Intel® FPGA SDK for OpenCL™ Overview......................................................................... 7 1.1. Intel FPGA SDK for OpenCL Pro Edition Programming Guide Prerequisites......................7 1.2. Intel FPGA SDK for OpenCL FPGA Programming Flow..................................................8 2. Intel FPGA SDK for OpenCL Offline Compiler Kernel Compilation Flows........................ 10 2.1. One-Step Compilation for Simple Kernels................................................................ 11 2.2. Multistep Intel FPGA SDK for OpenCL Pro Edition Design Flow.................................... 12 3. Obtaining General Information on Software, Compiler, and Custom Platform...............16 3.1. Displaying the Software Version (version)............................................................... 16 3.2. Displaying the Compiler Version (-version).............................................................. 16 3.3. Listing the Intel FPGA SDK for OpenCL Utility Command Options (help).......................17 3.3.1. Displaying Information on an Intel FPGA SDK for OpenCL Utility Command Option (help <command_option>)............................................................. 17 3.4. Listing the Intel FPGA SDK for OpenCL Offline Compiler Command Options (no argument, -help, or -h)......................................................................................17
    [Show full text]
  • Intel® Arria® 10 FPGA Performance Benchmarking Methodology and Results
    WHITE PAPER FPGA Intel® Arria® 10 FPGA Performance Benchmarking Methodology and Results Intel Arria 10 FPGAs deliver more than a speed grade faster core performance † and up to a 20% fMAX advantage for publicly available OpenCore designs. Authors Introduction Martin S. Won This paper presents a rigorous methodology for evaluating and benchmarking the Senior Member of Technical Staff core performance of the Intel® Arria® 10 FPGA programmable logic product family, Intel Programmable Solutions Group with the goal of transparently presenting the methods and data such that any interested party can reproduce and analyze the results.† To this end, ten publicly- Madhu Monga available designs from OpenCores representing a variety of functions were Applications Engineer implemented in a device from the Intel Arria 10 FPGA family and a device from the Intel Programmable Solutions Group closest competitor: the Xilinx* UltraScale* family. The benchmark results show that Intel Arria 10 FPGAs deliver up to 20% higher performance than Xilinx UltraScale devices, as measured by the maximum clock frequencies achieved in the example designs across a range of device utilization.† Background: evaluating the performance of Intel FPGA and Table of Contents SoC products Introduction ....................1 The programmable logic industry does not have a standard benchmarking Background: evaluating the methodology. Therefore, Intel employs rigorous internal analysis using a broad performance of Intel FPGA and combination of customer and internally-generated designs to understand and SoC products .................1 quantify the performance of its programmable logic products relative to prior- generation Intel products and competing products. The designs are collected from Increasing transparency via a variety of market segments, such as high-performance computing, image and OpenCore-based performance video processing, wired and wireless communications, and consumer products.
    [Show full text]
  • Embedded Design Handbook
    Embedded Design Handbook Subscribe EDH | 2020.07.22 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Introduction................................................................................................................... 6 1.1. Document Revision History for Embedded Design Handbook........................................ 6 2. First Time Designer's Guide............................................................................................ 8 2.1. FPGAs and Soft-Core Processors.............................................................................. 8 2.2. Embedded System Design...................................................................................... 9 2.3. Embedded Design Resources................................................................................. 11 2.3.1. Intel Embedded Support........................................................................... 11 2.3.2. Intel Embedded Training........................................................................... 11 2.3.3. Intel Embedded Documentation................................................................. 12 2.3.4. Third Party Intellectual Property.................................................................12 2.4. Intel Embedded Glossary...................................................................................... 13 2.5. First Time Designer's Guide Revision History............................................................14 3. Hardware System Design with Intel Quartus Prime and Platform Designer.................
    [Show full text]
  • AN 821: Interface Planning for Intel® Stratix® 10 Fpgas
    AN 821: Interface Planning for Intel® Stratix® 10 FPGAs Updated for Intel® Quartus® Prime Design Suite: 17.1 Subscribe AN-821 | 2017.12.15 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Interface Planning for Intel® Stratix® 10 FPGAs............................................................. 3 1.1. FPGA_TOP Design Example Overview....................................................................... 3 1.2. Design Example Files............................................................................................. 5 1.3. Design Example Walkthrough.................................................................................. 6 1.3.1. Step 1: Project Setup.................................................................................6 1.3.2. Step 2: Initialize Interface Planner............................................................... 7 1.3.3. Step 3: Update Plan with Project Assignments............................................... 8 1.3.4. Step 4: Plan Periphery Placement................................................................ 8 1.3.5. Step 5: Report Placement Data.................................................................. 14 1.3.6. Step 6: Validate and Export Plan Constraints............................................... 15 1.3.7. Step 7: Apply Plan Constraints...................................................................16 1.4. Modifying the FPGA_TOP Design Example................................................................17 1.4.1. Modifying the VHDL Generics.....................................................................17
    [Show full text]
  • CPRI Intel® FPGA IP Core Release Notes
    CPRI Intel® FPGA IP Core Release Notes Subscribe RN-1107 | 2021.08.13 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. CPRI Intel® FPGA IP Core Release Notes........................................................................ 3 1.1. CPRI Intel FPGA IP v19.4.0..................................................................................... 3 1.2. CPRI Intel FPGA IP v19.3.0..................................................................................... 4 1.3. CPRI Intel FPGA IP v19.2.0..................................................................................... 4 1.4. CPRI Intel FPGA IP v18.1........................................................................................4 1.5. CPRI v7.0 IP Core v17.1......................................................................................... 5 1.6. CPRI v6.0 IP Core v17.0......................................................................................... 5 1.7. CPRI v6.0 IP Core v14.1......................................................................................... 6 1.8. CPRI v6.0 IP Core v14.0......................................................................................... 6 1.9. CPRI v5.0 IP Core v13.1......................................................................................... 6 1.10. CPRI v5.0 IP Core v13.0....................................................................................... 7 ® CPRI Intel FPGA IP Core Release Notes Send Feedback 2 RN-1107 | 2021.08.13 Send Feedback 1. CPRI Intel® FPGA
    [Show full text]
  • Intel® Quartus® Prime Standard Edition Handbook Volume 2 Design Implementation and Optimization
    Intel® Quartus® Prime Standard Edition Handbook Volume 2 Design Implementation and Optimization Updated for Intel® Quartus® Prime Design Suite: 17.1 Subscribe QPS5V2 | 2017.11.06 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1 Constraining Designs..................................................................................................... 11 1.1 Constraining Designs with Intel Quartus Prime Tools.................................................. 11 1.1.1 Global Constraints and Assignments............................................................ 11 1.1.2 Node, Entity, and Instance-Level Constraints................................................ 12 1.1.3 Probing Between Components of the Intel Quartus Prime GUI......................... 14 1.1.4 Specifying Individual Timing Constraints...................................................... 14 1.2 Constraining Designs with Tcl Scripts....................................................................... 16 1.2.1 Generating Intel Quartus Prime Settings Files............................................... 16 1.2.2 Timing Analysis with .sdc Files and Tcl Scripts............................................... 18 1.2.3 Using Tcl-only Script Flows......................................................................... 19 1.3 A Fully Iterative Scripted Flow................................................................................ 22 1.4 Document Revision History.....................................................................................22 2 Managing
    [Show full text]
  • Getting Started with Intel's DE-Series Boards
    Getting Started with Intel’s DE-Series Boards For Quartus Prime 16.1 1 Introduction This document introduces Intel’s DE-series Development and Education Boards and the supporting materials pro- vided by Intel Corporation. It also explains the installation process needed to use a DE-series board connected to a computer that has the Quartus® Prime CAD system installed on it. Intel’s DE-series Development and Education Boards have been developed to provide an ideal vehicle for learning about digital technology in a laboratory setting. The DE-series boards are highly suitable for use in courses on digital logic, computer organization, and embedded systems, as well as for design projects. In addition to the DE-series board and the associated software, Intel provides supporting materials that include tutorials and laboratory exercises. Contents: • Purpose of a DE-Series Board • Scope of a DE-Series Board and Supporting Material • Installation of Software and Drivers • Using a DE-Series Board Intel Corporation - FPGA University Program 1 November 2016 GETTING STARTED WITH INTEL’S DE-SERIES BOARDS For Quartus Prime 16.1 2 Purpose of a DE-Series Board University and college courses on the design of logic circuits, computer organization, and embedded systems usually include a laboratory component. In a modern curriculum, the laboratory equipment should ideally exemplify state- of-the-art technology and design tools, but be suitable for exercises that range from the simple tasks that illustrate basic concepts to challenging designs that require knowledge of advanced topics. From the logistic point of view, it is ideal if the same equipment can be used in all cases.
    [Show full text]