An Improved Version of SPEAR

Total Page:16

File Type:pdf, Size:1020Kb

An Improved Version of SPEAR DIPLOMARBEIT SPEAR2 - An Improved Version of SPEAR ausgef¨uhrtam Institut f¨ur Technische Informatik, Embedded Computing Systems Group Technische Universit¨atWien unter der Anleitung von Ao.Univ.Prof. Dipl.-Ing. Dr.techn. Andreas Steininger und Univ.Ass. Dipl.-Ing. Dr.techn. Martin Delvai von Martin Fletzer Kreuzgassee 6A 2130 Mistelbach Mistelbach, 16. November 2007 Fur¨ meine Eltern Danksagung Kurzfassung Abstract A soft core processor is a configureable microcontroller defined in software. Such processors may be appropriate for a simple system, where the only functionalities are the manipulation of general purpose I/O. Moreover, they may also fit a complex system, where an operating system and interfaces like Ethernet or DDR SDRAM are required. In course of this master thesis, the soft core processor SPEAR2 has been developed. The SPEAR2 architecture is a 16/32-bit processor and based on SPEAR (Scalable Processor for Embedded Applications in Real-time Envi- ronments). The motives for developing an improved version are versatile. Fitting the code to new target technologies, eliminating some disadvantages of SPEAR, enabling configurability, or just adding useful features like byte addressed memory. To satisfy this goals, SPEAR2 was written from scratch. To provide ad- justable memory sizes and the option to change the size of the data path, a configuration framework has been created. Basically SPEAR2 is a 16-bit ar- chitecture, but the data path can be extended to 32 bit. Considerable effort had to be done to enable the correct interaction of two different data path sizes with other components of the processor. The chief difficulty was mem- ory access and developing a consistent bus interface. For both configurations the same instruction set is used, enabling to use the same toolchain for both configurations. SPEAR2 was developed with the aim to be an efficient 16-bit processor. If required, more computational power can be provided by extending the data path. The gained experience showed, a 16-bit processor with extended data path is not able to provide the performance of 32-bit processors, because of the limited instruction set. Without extended data path SPEAR2 acts as small and efficient processor, already used by some projects. The experience shows, that the 16-bit configuration is able to compete with other soft core processors. CONTENTS vi Contents 1 Introduction 1 1.1 Motivation . 1 1.2 Outline . 3 2 State of the Art 4 2.1 MicroBlaze . 4 2.1.1 Overview . 5 2.1.2 Instruction Set Architecture . 5 2.1.3 Registers . 6 2.1.4 Pipeline Architecture . 6 2.1.5 Memory Architecture . 7 2.1.6 Exceptions . 8 2.2 Nios II . 9 2.2.1 Overview . 9 2.2.2 Instruction Set Architecture . 10 2.2.3 Registers . 10 2.2.4 Pipeline Architecture . 10 2.2.5 Memory Architecture . 11 2.2.6 Exceptions . 13 2.3 LatticeMico32 . 14 2.3.1 Overview . 14 2.3.2 Instruction Set Architecture . 15 2.3.3 Registers . 16 2.3.4 Pipeline Architecture . 16 2.3.5 Memory Architecture . 17 2.3.6 Exceptions . 18 3 SPEAR - Basis for a new Architecture 20 3.1 Overview . 20 3.1.1 Pipeline . 21 3.1.2 Memory Architecture . 22 3.2 Exceptions . 22 CONTENTS vii 3.3 Register File . 22 3.3.1 Frame Pointer Registers . 23 3.3.2 RTSX- and RTSY-Register . 23 3.3.3 RTE-Register . 24 3.4 Instruction Set Architecture . 24 3.4.1 Structure of Instructions . 24 3.4.2 Conditional Instructions . 24 3.5 Extension Modules . 26 3.5.1 Processor Control Module . 27 3.5.2 Programmer Module . 27 4 Analysing the Old Architecture 28 4.1 Three Processor Cores . 28 4.2 Analysing SPEAR . 29 5 SPEAR2 31 5.1 Overview . 31 5.2 Customizable Data Path . 32 5.2.1 Implementation Overview . 33 5.2.2 Performance Improvement . 33 5.2.3 Addressable Memory . 33 5.3 Processor Architecture . 34 5.3.1 First Stage . 34 5.3.2 Second Stage . 35 5.3.3 Third Stage . 36 5.3.4 Fourth Stage . 39 5.4 Instruction Set Architecture . 39 5.4.1 Instruction Format . 40 5.4.2 Conditional Instructions . 40 5.5 Implementation . 41 5.5.1 Program Counter . 41 5.5.2 Instruction Memories . 42 5.5.3 Decoder . 43 CONTENTS viii 5.5.4 Register File . 44 5.5.5 Forwarding Unit . 45 5.5.6 ALU . 46 5.5.7 Frame Pointer . 47 5.5.8 Data Memory . 49 5.5.9 Memory Access . 52 5.5.10 Exceptions . 53 5.5.11 Sleep Mode . 54 5.5.12 Implementation Details . 55 5.6 Extension Modules . 56 5.6.1 System Control Module . 58 5.6.2 Programmer Module . 61 5.7 Differences: 16 vs. 32 bit Version . 62 5.7.1 Interface . 63 5.7.2 Instruction Set Architecture . 63 5.7.3 Addressable Memory . 64 6 Specification 65 6.1 Configuration . 65 6.2 Interface . 66 7 Results 67 8 Conclusion 68 A Appendix - Instruction Set Reference 69 A.1 Overview . 69 A.2 Description . 74 LIST OF FIGURES ix List of Figures 1 Block Diagram of SPEAR . 21 2 Exception Vector Table of SPEAR . 22 3 Organization of a Frame . 23 4 Interface for Extension Modules . 26 5 Block Diagram of SPEAR2 . 32 6 Parts Affected by Configuration . 34 7 Performance of SPEAR2 . 35 8 The Fetch Stage in More Detail . 36 9 The Decode Stage in More Detail . 37 10 The Execute Stage in More Detail . 38 11 The Write Back Stage in More Detail . 39 12 The old Implementation of the Pogram Counter . 41 13 8 bit Barrel Shifter . 47 14 Organisation of Data Memory . 50 15 Architecture of Data Memory . 51 16 Generic Status Byte . 57 17 Generic Config Byte . 57 18 Interface of the System Control Module . 59 19 Customized Status Byte of the System Control Module . 60 20 Interface of the Programmer Module . 61 21 Customized Config Byte of the System Control Module . 62 LIST OF TABLES x List of Tables 1 Instruction Formats used by SPEAR . 25 2 Configuration Options of SPEAR2 . 66 1 1 Introduction In our life embedded systems play an important role. They are used inside products even where we do not expect them. Often a compound of embedded systems is used to enable the features of products. A car for example contains already many embedded systems and the usage is rapidly growing. An embedded system comprises of hardware (e.g. processing unit, sensors, communication interfaces, etc.) and software. The operational areas for em- bedded systems are very different and so there is great diversity of embedded systems and there components. A lot of different products try to satisfy the market. 1.1 Motivation The requirements to embedded systems are very different and so the solutions too. When starting a new embedded systems project an appropriate proces- sor have to be chosen. For small applications a cheap 8-bit microcontroller can be sufficient. If much computational power is needed and no specific features are required (e.g. untypically high quantity of I/O pins or more UARTs as usual), then a dedicated processing unit (e.g. 32-bit embedded processors or digital signal processors (DSP)) may satisfy the needs. And between this two extremes different requirements specifications are possible. But dedicated hard cores have limited flexibility. The opposite of a dedicated hard core is to use a soft core processor. A soft core processor is a microsprocessor defined in software using a Hardware De- scription Language (HDL). The soft core processor can be synthesized and run in Field Programmable Gate Array(FPGA) or Application Specific In- tegrated Circuit (ASIC). Soft core processors are very flexible and can be configured with exactly what is needed - no more, no less. Thereby it is possible to tune the processor for less area or more performance. For ex- ample, the same processor can be used with or without caches and different number of pipeline stages. Flexibility, unreachable by a dedicated hard core processor. In addition, the hardware used to implement the soft core pro- cessor can be used to implement any parts of the intended task for optimal 1.1 Motivation 2 design implementation. In general, implementing an algorithm only in soft- ware is a flexible solution and saves development time. On the other hand, implementing an algorithm in hardware can enable great performance im- provements and at the same time requires less energy to fulfil the task. Some algorithms can be accelerated up to 100 times, if implemented in hardware. Together, implementing parts of a problem in software and the other parts in hardware is a powerful solution and sometimes the only choice. Video compression in real time for example requires a lot of computational power. If low power consumption is required, the compression algorithm has to be implemented partially in hardware. Another big advantage of FPGAs and ASICs is their flexible interface. Nearly all known interfaces are realizable. Starting with a small UART through to PCI-Express interface. Packages are available with up to several hundred pins and in a variety of sizes. The advantage of FPGAs over ASICs is their flexibility since an FPGA can be updated like software. On the other hand developing a design for ASICs take more time, but ASICs provide much more performance than an FPGA. The concept of using a soft core processor has several advatages such as only one chip is necessary and thereby the board layout can be simplified which results in a cheaper design. Soft core processors can be customized to provide the required performance without wasting resources.
Recommended publications
  • Latticemico32 Development Kit User's Guide for Latticeecp
    LatticeMico32 Development Kit User’s Guide for LatticeECP Lattice Semiconductor Corporation 5555 NE Moore Court Hillsboro, OR 97124 (503) 268-8000 May 2007 Copyright Copyright © 2007 Lattice Semiconductor Corporation. This document may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine- readable form without prior written consent from Lattice Semiconductor Corporation. Trademarks Lattice Semiconductor Corporation, L Lattice Semiconductor Corporation (logo), L (stylized), L (design), Lattice (design), LSC, E2CMOS, Extreme Performance, FlashBAK, flexiFlash, flexiMAC, flexiPCS, FreedomChip, GAL, GDX, Generic Array Logic, HDL Explorer, IPexpress, ISP, ispATE, ispClock, ispDOWNLOAD, ispGAL, ispGDS, ispGDX, ispGDXV, ispGDX2, ispGENERATOR, ispJTAG, ispLEVER, ispLeverCORE, ispLSI, ispMACH, ispPAC, ispTRACY, ispTURBO, ispVIRTUAL MACHINE, ispVM, ispXP, ispXPGA, ispXPLD, LatticeEC, LatticeECP, LatticeECP-DSP, LatticeECP2, LatticeECP2M, LatticeMico8, LatticeMico32, LatticeSC, LatticeSCM, LatticeXP, LatticeXP2, MACH, MachXO, MACO, ORCA, PAC, PAC-Designer, PAL, Performance Analyst, PURESPEED, Reveal, Silicon Forest, Speedlocked, Speed Locking, SuperBIG, SuperCOOL, SuperFAST, SuperWIDE, sysCLOCK, sysCONFIG, sysDSP, sysHSI, sysI/O, sysMEM, The Simple Machine for Complex Design, TransFR, UltraMOS, and specific product designations are either registered trademarks or trademarks of Lattice Semiconductor Corporation or its subsidiaries in the United States and/or other countries. ISP, Bringing the Best Together, and More of the Best are service marks of Lattice Semiconductor Corporation. Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies. Disclaimers NO WARRANTIES: THE INFORMATION PROVIDED IN THIS DOCUMENT IS “AS IS” WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND INCLUDING WARRANTIES OF ACCURACY, COMPLETENESS, MERCHANTABILITY, NONINFRINGEMENT OF INTELLECTUAL PROPERTY, OR FITNESS FOR ANY PARTICULAR PURPOSE.
    [Show full text]
  • Latticemico32 Software Developer User Guide
    LatticeMico32 Software Developer User Guide May 2014 Copyright Copyright © 2014 Lattice Semiconductor Corporation. This document may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior written consent from Lattice Semiconductor Corporation. Trademarks Lattice Semiconductor Corporation, L Lattice Semiconductor Corporation (logo), L (stylized), L (design), Lattice (design), LSC, CleanClock, Custom Mobile Device, DiePlus, E2CMOS, ECP5, Extreme Performance, FlashBAK, FlexiClock, flexiFLASH, flexiMAC, flexiPCS, FreedomChip, GAL, GDX, Generic Array Logic, HDL Explorer, iCE Dice, iCE40, iCE65, iCEblink, iCEcable, iCEchip, iCEcube, iCEcube2, iCEman, iCEprog, iCEsab, iCEsocket, IPexpress, ISP, ispATE, ispClock, ispDOWNLOAD, ispGAL, ispGDS, ispGDX, ispGDX2, ispGDXV, ispGENERATOR, ispJTAG, ispLEVER, ispLeverCORE, ispLSI, ispMACH, ispPAC, ispTRACY, ispTURBO, ispVIRTUAL MACHINE, ispVM, ispXP, ispXPGA, ispXPLD, Lattice Diamond, LatticeCORE, LatticeEC, LatticeECP, LatticeECP-DSP, LatticeECP2, LatticeECP2M, LatticeECP3, LatticeECP4, LatticeMico, LatticeMico8, LatticeMico32, LatticeSC, LatticeSCM, LatticeXP, LatticeXP2, MACH, MachXO, MachXO2, MachXO3, MACO, mobileFPGA, ORCA, PAC, PAC-Designer, PAL, Performance Analyst, Platform Manager, ProcessorPM, PURESPEED, Reveal, SensorExtender, SiliconBlue, Silicon Forest, Speedlocked, Speed Locking, SuperBIG, SuperCOOL, SuperFAST, SuperWIDE, sysCLOCK, sysCONFIG, sysDSP, sysHSI, sysI/O, sysMEM, The Simple Machine for Complex
    [Show full text]
  • A Superscalar Out-Of-Order X86 Soft Processor for FPGA
    A Superscalar Out-of-Order x86 Soft Processor for FPGA Henry Wong University of Toronto, Intel [email protected] June 5, 2019 Stanford University EE380 1 Hi! ● CPU architect, Intel Hillsboro ● Ph.D., University of Toronto ● Today: x86 OoO processor for FPGA (Ph.D. work) – Motivation – High-level design and results – Microarchitecture details and some circuits 2 FPGA: Field-Programmable Gate Array ● Is a digital circuit (logic gates and wires) ● Is field-programmable (at power-on, not in the fab) ● Pre-fab everything you’ll ever need – 20x area, 20x delay cost – Circuit building blocks are somewhat bigger than logic gates 6-LUT6-LUT 6-LUT6-LUT 3 6-LUT 6-LUT FPGA: Field-Programmable Gate Array ● Is a digital circuit (logic gates and wires) ● Is field-programmable (at power-on, not in the fab) ● Pre-fab everything you’ll ever need – 20x area, 20x delay cost – Circuit building blocks are somewhat bigger than logic gates 6-LUT 6-LUT 6-LUT 6-LUT 4 6-LUT 6-LUT FPGA Soft Processors ● FPGA systems often have software components – Often running on a soft processor ● Need more performance? – Parallel code and hardware accelerators need effort – Less effort if soft processors got faster 5 FPGA Soft Processors ● FPGA systems often have software components – Often running on a soft processor ● Need more performance? – Parallel code and hardware accelerators need effort – Less effort if soft processors got faster 6 FPGA Soft Processors ● FPGA systems often have software components – Often running on a soft processor ● Need more performance? – Parallel
    [Show full text]
  • Implementation, Verification and Validation of an Openrisc-1200
    (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 10, No. 1, 2019 Implementation, Verification and Validation of an OpenRISC-1200 Soft-core Processor on FPGA Abdul Rafay Khatri Department of Electronic Engineering, QUEST, NawabShah, Pakistan Abstract—An embedded system is a dedicated computer system in which hardware and software are combined to per- form some specific tasks. Recent advancements in the Field Programmable Gate Array (FPGA) technology make it possible to implement the complete embedded system on a single FPGA chip. The fundamental component of an embedded system is a microprocessor. Soft-core processors are written in hardware description languages and functionally equivalent to an ordinary microprocessor. These soft-core processors are synthesized and implemented on the FPGA devices. In this paper, the OpenRISC 1200 processor is used, which is a 32-bit soft-core processor and Fig. 1. General block diagram of embedded systems. written in the Verilog HDL. Xilinx ISE tools perform synthesis, design implementation and configure/program the FPGA. For verification and debugging purpose, a software toolchain from (RISC) processor. This processor consists of all necessary GNU is configured and installed. The software is written in C components which are available in any other microproces- and Assembly languages. The communication between the host computer and FPGA board is carried out through the serial RS- sor. These components are connected through a bus called 232 port. Wishbone bus. In this work, the OR1200 processor is used to implement the system on a chip technology on a Virtex-5 Keywords—FPGA Design; HDLs; Hw-Sw Co-design; Open- FPGA board from Xilinx.
    [Show full text]
  • Openpiton: an Open Source Manycore Research Framework
    OpenPiton: An Open Source Manycore Research Framework Jonathan Balkind Michael McKeown Yaosheng Fu Tri Nguyen Yanqi Zhou Alexey Lavrov Mohammad Shahrad Adi Fuchs Samuel Payne ∗ Xiaohua Liang Matthew Matl David Wentzlaff Princeton University fjbalkind,mmckeown,yfu,trin,yanqiz,alavrov,mshahrad,[email protected], [email protected], fxiaohua,mmatl,[email protected] Abstract chipset Industry is building larger, more complex, manycore proces- sors on the back of strong institutional knowledge, but aca- demic projects face difficulties in replicating that scale. To Tile alleviate these difficulties and to develop and share knowl- edge, the community needs open architecture frameworks for simulation, synthesis, and software exploration which Chip support extensibility, scalability, and configurability, along- side an established base of verification tools and supported software. In this paper we present OpenPiton, an open source framework for building scalable architecture research proto- types from 1 core to 500 million cores. OpenPiton is the world’s first open source, general-purpose, multithreaded manycore processor and framework. OpenPiton leverages the industry hardened OpenSPARC T1 core with modifica- Figure 1: OpenPiton Architecture. Multiple manycore chips tions and builds upon it with a scratch-built, scalable uncore are connected together with chipset logic and networks to creating a flexible, modern manycore design. In addition, build large scalable manycore systems. OpenPiton’s cache OpenPiton provides synthesis and backend scripts for ASIC coherence protocol extends off chip. and FPGA to enable other researchers to bring their designs to implementation. OpenPiton provides a complete verifica- tion infrastructure of over 8000 tests, is supported by mature software tools, runs full-stack multiuser Debian Linux, and has been widespread across the industry with manycore pro- is written in industry standard Verilog.
    [Show full text]
  • Application-Specific Customization of Soft Processor Microarchitecture
    Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras, J. Gregory Steffan, and Jonathan Rose The Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto {yiannac,steffan,jayar}@eecg.utoronto.ca ABSTRACT processors on their FPGA die, there has been significant up- A key advantage of soft processors (processors built on an take [15,16] of soft processors [3,4] which are constructed in FPGA programmable fabric) over hard processors is that the programmable fabric itself. While soft processors can- they can be customized to suit an application program’s not match the performance, area, or power consumption of specific software. This notion has been exploited in the past a hard processor, their key advantage is the flexibility they principally through the use of application-specific instruc- present in allowing different numbers of processors and spe- tions. While commercial soft processors are now widely de- cialization to the application through special instructions. ployed, they are available in only a few microarchitectural Specialization can also occur by selecting a different micro- variations. In this work we explore the advantage of tuning architecture for a specific application, and that is the focus the processor’s microarchitecture to specific software appli- of this paper. We suggest that this kind of specialization cations, and show that there are significant advantages in can be applied in two different contexts: doing so. 1. When an embedded processor is principally
    [Show full text]
  • Five Ways to Build Flexibility Into Industrial Applications with Fpgas by Jason Chiang and Stefano Zammattio, Altera Corporation
    Five Ways to Build Flexibility into Industrial Applications with FPGAs by Jason Chiang and Stefano Zammattio, Altera Corporation WP-01154-2.0 White Paper This document describes using an Altera® industrial-grade FPGA as a coprocessor or system on a chip (SoC) to bring flexibility to industrial applications. Providing a single, highly integrated platform for multiple industrial products, Altera FPGAs can substantially reduce development time and risk. Introduction Programmable logic devices (PLDs) are a critical component in embedded industrial designs. PLDs have evolved in industrial designs from providing simple glue logic, to the use of an FPGAs as a coprocessor. This technique allows for I/O expansion and off loads the primary microcontroller (MCU) or digital signal processor (DSP) device in applications such as communications, motor control, I/O modules, and image processing. As system complexity increases, FPGAs also offer the ability to integrate an entire SoC, at a lower cost compared to discrete MCU, DSP, ASSP, or ASIC solutions. Whether used as a coprocessor or SoC, Altera FPGAs offer the following advantages for your industrial applications: 1. Design Integration—Simplify and reduce cost by using an FPGA as a coprocessor or SoC that integrates the IP and software stacks on a single device platform. 2. Reprogrammability—Adapt industrial designs to evolving protocols, IP improvements, and new hardware features within one FPGA on a common development platform. 3. Performance Scaling—Enhance performance via embedded processors, custom instructions, and IP blocks within the FPGA to meet your system requirements. 4. Obsolescence Protection—Increase industrial product life cycles and provide protection against hardware obsolescence through long FPGA life cycles and device migration to new FPGA families.
    [Show full text]
  • Development of Softcore Processor
    IJRET: International Journal of Research in Engineering and Technology eISSN: 2319-1163 | pISSN: 2321-7308 DEVELOPMENT OF SOFTCORE PROCESSOR Mohammed Zaheer1, A.M Khan2 1Research Student Department of Electronics Mangalore University, Karnataka, India 2proffesor chairman, Department of Electronics Mangalore University, Karnataka, India Abstract Designing of softcore processor on FPGA is based on software hardware co design. A soft-core processor is a hardware description language (HDL) model of a specific processor (CPU) that can be customized for a given application and synthesized for an ASIC or FPGA target. Embedded Systems which performs specific application using components having hardware and software together is known as embedded system. With hardware design getting complicated day by day, using of software tools for designing the system and testing has made the necessity of today’s technology. Due to the reduced size and greater complexity of hardware models, it requires a higher technological tool for simulation to satisfy the needs of the designers. The more efficient the simulator, complexity in the hardware model can be easily executed in small intervals of time, resulting in design product in a stipulated time intervals. The design of soft core processor system involves strict performance involving area, time, power, cost constraints. Advantages of Softcore processor design improves in design quality reduce integration and test time, supporting growing complexity of embedded system, processor cores, high level hardware synthesizing capabilities, ASIC/FPGA development and platform independence. Xilinx microblaze softcore processor support package allows to create mixed Hardware Software application using micro blaze processor. These processors are called as soft-core processor.
    [Show full text]
  • Nios® II Processor Reference Guide
    Nios® II Processor Reference Guide Subscribe NII-PRG | 2020.10.22 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Introduction................................................................................................................... 8 1.1. Nios II Processor System Basics.............................................................................. 8 1.2. Getting Started with the Nios II Processor.................................................................9 1.3. Customizing Nios II Processor Designs....................................................................10 1.4. Configurable Soft Processor Core Concepts..............................................................11 1.4.1. Configurable Soft Processor Core............................................................... 11 1.4.2. Flexible Peripheral Set and Address Map......................................................11 1.4.3. Automated System Generation.................................................................. 12 1.5. Intel FPGA IP Evaluation Mode...............................................................................13 1.6. Introduction Revision History.................................................................................13 2. Processor Architecture..................................................................................................14 2.1. Processor Implementation.....................................................................................15 2.2. Register File........................................................................................................16
    [Show full text]
  • FPGA Design Guide
    FPGA Design Guide Lattice Semiconductor Corporation 5555 NE Moore Court Hillsboro, OR 97124 (503) 268-8000 September 16, 2008 Copyright Copyright © 2008 Lattice Semiconductor Corporation. This document may not, in whole or part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine- readable form without prior written consent from Lattice Semiconductor Corporation. Trademarks Lattice Semiconductor Corporation, L Lattice Semiconductor Corporation (logo), L (stylized), L (design), Lattice (design), LSC, E2CMOS, Extreme Performance, FlashBAK, flexiFlash, flexiMAC, flexiPCS, FreedomChip, GAL, GDX, Generic Array Logic, HDL Explorer, IPexpress, ISP, ispATE, ispClock, ispDOWNLOAD, ispGAL, ispGDS, ispGDX, ispGDXV, ispGDX2, ispGENERATOR, ispJTAG, ispLEVER, ispLeverCORE, ispLSI, ispMACH, ispPAC, ispTRACY, ispTURBO, ispVIRTUAL MACHINE, ispVM, ispXP, ispXPGA, ispXPLD, LatticeEC, LatticeECP, LatticeECP-DSP, LatticeECP2, LatticeECP2M, LatticeMico8, LatticeMico32, LatticeSC, LatticeSCM, LatticeXP, LatticeXP2, MACH, MachXO, MACO, ORCA, PAC, PAC-Designer, PAL, Performance Analyst, PURESPEED, Reveal, Silicon Forest, Speedlocked, Speed Locking, SuperBIG, SuperCOOL, SuperFAST, SuperWIDE, sysCLOCK, sysCONFIG, sysDSP, sysHSI, sysI/O, sysMEM, The Simple Machine for Complex Design, TransFR, UltraMOS, and specific product designations are either registered trademarks or trademarks of Lattice Semiconductor Corporation or its subsidiaries in the United States and/or other countries. ISP, Bringing the Best Together, and More
    [Show full text]
  • Accelerated V2X Provisioning with Extensible Processor Platform
    Accelerated V2X provisioning with Extensible Processor Platform Henrique S. Ogawa1, Thomas E. Luther1, Jefferson E. Ricardini1, Helmiton Cunha1, Marcos Simplicio Jr.2, Diego F. Aranha3, Ruud Derwig4 and Harsh Kupwade-Patil1 1 America R&D Center (ARC), LG Electronics US Inc. {henrique1.ogawa,thomas.luther,jefferson1.ricardini,helmiton1.cunha}@lge.com [email protected] 2 University of Sao Paulo, Brazil [email protected] 3 Aarhus University, Denmark [email protected] 4 Synopsys Inc., Netherlands [email protected] Abstract. With the burgeoning Vehicle-to-Everything (V2X) communication, security and privacy concerns are paramount. Such concerns are usually mitigated by combining cryptographic mechanisms with a suitable key management architecture. However, cryptographic operations may be quite resource-intensive, placing a considerable burden on the vehicle’s V2X computing unit. To assuage this issue, it is reasonable to use hardware acceleration for common cryptographic primitives, such as block ciphers, digital signature schemes, and key exchange protocols. In this scenario, custom extension instructions can be a plausible option, since they achieve fine-tuned hardware acceleration with a low to moderate logic overhead, while also reducing code size. In this article, we apply this method along with dual-data memory banks for the hardware acceleration of the PRESENT block cipher, as well as for the F2255−19 finite field arithmetic employed in cryptographic primitives based on Curve25519 (e.g., EdDSA and X25519). As a result, when compared with a state-of-the-art software-optimized implementation, the performance of PRESENT is improved by a factor of 17 to 34 and code size is reduced by 70%, with only a 4.37% increase in FPGA logic overhead.
    [Show full text]
  • Small Soft Core up Inventory ©2019 James Brakefield Opencore and Other Soft Core Processors Reverse-U16 A.T
    tool pip _uP_all_soft opencores or style / data inst repor com LUTs blk F tool MIPS clks/ KIPS ven src #src fltg max max byte adr # start last secondary web status author FPGA top file chai e note worthy comments doc SOC date LUT? # inst # folder prmary link clone size size ter ents ALUT mults ram max ver /inst inst /LUT dor code files pt Hav'd dat inst adrs mod reg year revis link n len Small soft core uP Inventory ©2019 James Brakefield Opencore and other soft core processors reverse-u16 https://github.com/programmerby/ReVerSE-U16stable A.T. Z80 8 8 cylcone-4 James Brakefield11224 4 60 ## 14.7 0.33 4.0 X Y vhdl 29 zxpoly Y yes N N 64K 64K Y 2015 SOC project using T80, HDMI generatorretro Z80 based on T80 by Daniel Wallner copyblaze https://opencores.org/project,copyblazestable Abdallah ElIbrahimi picoBlaze 8 18 kintex-7-3 James Brakefieldmissing block622 ROM6 217 ## 14.7 0.33 2.0 57.5 IX vhdl 16 cp_copyblazeY asm N 256 2K Y 2011 2016 wishbone extras sap https://opencores.org/project,sapstable Ahmed Shahein accum 8 8 kintex-7-3 James Brakefieldno LUT RAM48 or block6 RAM 200 ## 14.7 0.10 4.0 104.2 X vhdl 15 mp_struct N 16 16 Y 5 2012 2017 https://shirishkoirala.blogspot.com/2017/01/sap-1simple-as-possible-1-computer.htmlSimple as Possible Computer from Malvinohttps://www.youtube.com/watch?v=prpyEFxZCMw & Brown "Digital computer electronics" blue https://opencores.org/project,bluestable Al Williams accum 16 16 spartan-3-5 James Brakefieldremoved clock1025 constraint4 63 ## 14.7 0.67 1.0 41.1 X verilog 16 topbox web N 4K 4K N 16 2 2009
    [Show full text]