FPGA Design Guide

Total Page:16

File Type:pdf, Size:1020Kb

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 of the Best are service marks of Lattice Semiconductor Corporation. HyperTransport is a licensed trademark of the HyperTransport Technology Consortium in the U.S. and other jurisdictions. 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. IN NO EVENT WILL LATTICE SEMICONDUCTOR CORPORATION (LSC) OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER (WHETHER DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL, INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OF OR INABILITY TO USE THE INFORMATION PROVIDED IN THIS DOCUMENT, EVEN IF LSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. BECAUSE SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR LIMITATION OF CERTAIN LIABILITY, SOME OF THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU. LSC may make changes to these materials, specifications, or information, or to the products described herein, at any time without notice. LSC makes no commitment to update this documentation. LSC reserves the right to discontinue any product or service without notice and assumes no obligation FPGA Design Guide ii to correct any errors contained herein or to advise any user of this document of any correction if such be made. LSC recommends its customers obtain the latest version of the relevant information to establish, before ordering, that the information being relied upon is current. Type Conventions Used in This Document Convention Meaning or Use Bold Items in the user interface that you select or click. Text that you type into the user interface. <Italic> Variables in commands, code syntax, and path names. Ctrl+L Press the two keys at the same time. Courier Code examples. Messages, reports, and prompts from the software. ... Omitted material in a line of code. Omitted lines in code and report examples. [ ] Optional items in syntax descriptions. In bus specifications, the brackets are required. ( ) Grouped items in syntax descriptions. { } Repeatable items in syntax descriptions. | A choice between items in syntax descriptions. FPGA Design Guide iii FPGA Design Guide iv Contents Chapter 1 Introduction 1 Chapter 2 Moving Designs from Altera 3 Conversion Guidelines 3 Converting Design Constraints 4 Converting Memory Blocks 7 Converting PLL Blocks 9 Converting DDR Interfaces 11 Chapter 3 Moving Designs from Xilinx 13 Migrating Xilinx Spartan Designs to LatticeECP/EC 14 Replacing Commonly Used Xilinx Primitives 14 Replacing DCM/DLL Elements 17 Comparing Xilinx and Lattice Semiconductor Block Memory 18 Xilinx Multiplier Versus the Lattice Semiconductor DSP Block 22 Converting DDR Interfaces 23 Replacing Constraints 24 Converting Xilinx Virtex II to LatticeECP/EC Devices 27 Converting Xilinx DLL to Lattice Semiconductor PLL 27 Creating MUXCY and MUXCY_L Verilog HDL Modules 28 Wide Multiplexing 28 Optimal Carry-Chain Handling 28 Converting Xilinx RAMB16_S36_S36 to Verilog HDL 29 Converting DDR Interfaces 31 Chapter 4 Incremental and Modular Design Methods 33 Necessity and Benefits 33 Typical Work Flow and Data Flow 34 Major Advantages 35 Incremental Changes 36 Identify Design Candidates 36 FPGA Design Guide v Contents Block Modular Design Flow 37 Logic Partitioning 38 Partitioning Guidelines 38 Directory Structure 39 Device Floorplanning 39 Top-Level Floorplanning Procedures 39 Taking Architectures into Account 40 Block-Level Implementation 40 Top-Level Assembly 41 Simulation Scenarios 41 Incremental Design Methods 42 Design Example 43 Logic Partitions and Data Flow 43 Floorplan Sketch 44 Flat Implementation 45 Submodule Floorplan 46 I/O Connectivity 46 Critical Paths 48 Sample Design Implementation 49 Conclusion 49 Related Documentation 50 Chapter 5 Logic Synthesis Guidelines 51 Synthesis Design Flow and Guidelines 51 Reports Produced by Synthesis 54 Related Documentation 55 Chapter 6 HDL Synthesis Coding Guidelines 57 General HDL Practices 58 Hierarchical Coding 58 Design Partitioning 59 Design Registering 61 Comparing If-Then-Else and Case Statements 62 Avoiding Unintentional Latches 63 Register Control Signals 64 Clock Enable 65 Local Asynchronous and Synchronous Sets and Resets 67 Multiplexers 68 Finite State Machine Guidelines 69 State Encoding Methods for State Machines 69 Coding Styles for State Machines 71 HDL Coding for Distributed and Block Memory 75 Synthesis Control of High-Fan-Out Nets 76 Bidirectional Buffers 77 Coding to Avoid Simulation/Synthesis Mismatches 79 Sensitivity Lists 80 Blocking/Nonblocking Assignments in Verilog 80 Synthesis Pragmas: full_case/parallel_case 82 Signal Fanout 83 FPGA Design Guide vi Contents References 83 Chapter 7 Attributes and Preferences for FPGA Designs 85 About Attributes 86 ispLEVER Attributes 86 Vendor Attributes 86 About Compiler Directives 87 Using Attributes and Compiler Directives in HDL 87 sysIO Buffer Constraints 87 I/O Buffer Insertion 87 I/O Buffer Configuration 89 Overriding Default I/O Buffer Type 90 Locking I/O Pins 91 Optimization Constraints 92 Black-Box Module Instances 92 Preserving Signals 96 Floorplanning Constraints 97 Locating a Block to a Device Site 98 Grouping Logic 99 Group Bounding Boxes and Anchors 105 Regional Groups 106 Register-Oriented Groups (Synplify Only) 107 Related Documentation 109 Chapter 8 Synthesis Tips for Higher Performance 111 Register Balancing and Pipelining 112 Retiming 112 Pipelining 112 Using Dedicated Resource GSR for fMAX Improvement 116 Instantiating Dedicated Resource GSR in RTL Code 116 Improving Timing Through the I/O Register 116 Example Coded in Precision RTL Synthesis 117 Examples Coded in Synplify 119 Adding Delays to Input Registers 121 Examples Coded in Precision RTL Synthesis 121 Examples Coded in Synplify 123 Maximum Fan-Out Control for fMAX Improvement 124 Examples Coded in Synplify 125 Examples Coded in Precision RTL Synthesis 125 Clock-Enable Control for fMAX Improvement 126 Examples Coded in Synplify 126 Examples Coded in Precision RTL Synthesis 127 General Constraint Considerations 127 Block-Level Synthesis Methods in Synplify 128 Block-Level Synthesis Methods in Precision RTL Synthesis 128 Turning Off Mapping DSP Multipliers in RTL 129 Examples Coded with Synplify 129 Examples Coded with Precision RTL Synthesis 131 Achieving Improved Synthesis Results by Assigning Black-Box Timing to Large Embedded Blocks 132 FPGA Design Guide vii Contents Chapter 9 Strategies for Timing Closure 135 Seven Steps to Timing Closure 135 Constraining Designs 136 Logical Preference File (.lpf) 136 How ispLEVER Uses the Logical Preference File 138 Creating and Editing Preferences 140 Preference Editing Tools 142 Preference Flow 144 General Strategy Guidelines 145 Adding and Modifying Timing Preferences 145 Typical Design Preferences 146 Proper Preferences 147 Translating Board Requirements into FPGA Preferences 148 Using the Place and Route Software (PAR) 151 Placement 151 Routing 151 Timing-Driven PAR Process 152 Performing Static Timing Analysis 152 Why Perform Static Timing Analysis? 153 Analyzing Timing Reports Produced by TRACE 154 Timing Exceptions 155 Controlling Placement and Routing 165 Running Multiple Routing Passes 165 Using Multiple Placement Iterations (Cost Tables) 167 Re-Entrant Routing 169 Clock Boosting 169 Map Register Retiming 172 Map Register Retiming vs. Clock Boosting 172 Floorplanning the Design 173 Floorplanning Definition 173 Complex FPGA Design Management 173 Floorplanning Design Flow 173 When to Floorplan 174 Floorplanning Preferences 176 Implementation of Floorplan Preferences 179 Setting Group Preferences in the Design Planner 187 Using the Design Planner Interface 192 Design Performance Enhancement Strategies 193
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]
  • Customer PPT Rev 30
    LATTICE SEMICONDUCTOR The Leader in Low Power, Small Form Factor, Secure FPGAs First Quarter, 2019 Lattice Semiconductor (NASDAQ: LSCC) [1] Safe Harbor This presentation contains forward-looking statements that involve estimates, assumptions, risks and uncertainties, including all information under the heading 1Q 19 Business Outlook. Lattice believes the factors identified below could cause our actual results to differ materially from the forward-looking statements. Factors that may cause our actual results to differ materially from the forward-looking statements in this presentation include global economic uncertainty, overall semiconductor market conditions, market acceptance and demand for our new and existing products, the Company's dependencies on its silicon wafer suppliers, the impact of competitive products and pricing, and technological and product development risks. In addition, actual results are subject to other risks and uncertainties that relate more broadly to our overall business, including those risks more fully described in Lattice’s filings with the SEC including its annual report on Form 10-K for the fiscal year ended December 30, 2017 and its quarterly filings on Form 10-Q. Certain information in this presentation is identified as having been prepared on a non-GAAP basis. Management uses non- GAAP measures to better assess operating performance and to establish operational goals. Non-GAAP information should not be viewed by investors as a substitute for data prepared in accordance with GAAP. You should not unduly rely on forward-looking statements because actual results could differ materially from those expressed in any forward- looking statements. In addition, any forward-looking statement applies only as of the date on which it is made.
    [Show full text]
  • FPGA Design Security Issues: Using the Ispxpga® Family of Fpgas to Achieve High Design Security
    White Paper FPGA Design Security Issues: Using the ispXPGA® Family of FPGAs to Achieve High Design Security December 2003 5555 Northeast Moore Court Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 FAX: (503) 268-8556 www.latticesemi.com WP1010 Using the ispXPGA Family of FPGAs to Lattice Semiconductor Achieve High Design Security Introduction In today’s complex systems, FPGAs are increasingly being used to replace functions traditionally performed by ASICs and even microprocessors. Ten years ago, the FPGA was at the fringe of most designs; today it is often at the heart. With FPGA technology taking gate counts into the millions, a trend accelerated by embedded ASIC-like functionality, the functions performed by the FPGA make an increasingly attractive target for piracy. Many tech- niques have been developed over the years to steal designs from all types of silicon chips. Special considerations must now be made when thinking about protecting valuable Intellectual Property (IP) implemented within the FPGA. The most common FPGA technology in use today is SRAM-based, which is fast and re-configurable, but must be re-configured every time the FPGA is powered up. Typically, an external PROM is used to hold the configuration data for the FPGA. The link between the PROM and FPGA represents a significant security risk. The configuration data is exposed and vulnerable to piracy while the device powers up. Using a non-volatile-based FPGA eliminates this security risk. Traditionally, non-volatile FPGAs were based on Antifuse technology that is secure, but very expensive to use due to its one-time programmability and higher manufacturing costs.
    [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]
  • Latticemico8 Soft Core 8-Bit Microcontroller Optimized for Lattice Programmable Devices
    O P E N S O U R C E S O F T C O R E M I C R O C ont R O LL E R LatticeMico8 Soft Core 8-Bit Microcontroller Optimized for Lattice Programmable Devices The LatticeMico8™ is an 8-bit “soft” microcontroller core for the LatticeECP™, LatticeEC™ and LatticeXP™ families of Field Programmable Gate Arrays (FPGAs), as well as the MachXO™ family of Crossover Programmable Logic Devices. Combining a full 18-bit wide instruction set with 32 general purpose registers, the LatticeMico8 is a flexible reference design suitable for a wide variety of markets, including com- munications, consumer, computer, medical, industrial, and automotive. The core consumes minimal device resources, less than 200 Look Up Tables (LUTs) in the smallest configu- ration, while maintaining a broad feature set. In order to encourage user experimentation, development and contributions, Lattice is providing a new open intellec- tual property (IP) core license, the first such license offered Key Features and Benefits by any FPGA supplier. The license applies many of the concepts of the successful open source movement to IP cores Optimized for LatticeECP, LatticeEC, LatticeXP, and MachXO Families targeted for programmable logic applications. Efficient Architecture – Utilizes <200 LUTs Broad Feature Set LatticeMico8 Block Diagram • 8-bit data path • 18-bit wide instructions • 32 general purpose registers 16 Deep Call Stack • 32 bytes of internal scratch pad memory Program Interrupt Ack • Input/Output is performed using ports (up to 256 port Address Program Flow Control & PC
    [Show full text]
  • Handoutshandouts
    HandoutsHandouts FPGA-related documents 1. Introduction to Verilog, P. M. Nyasulu and J. Knight, Carleton University, 2003 (Ottawa, Canada). 2. Quick Reference for Verilog HDL, R. Madhavan, AMBIT Design Systems, Inc, Automata Publishing Company, 1995 (San Jose, CA). Project-related documents 3. Project Guidelines and Project Specifications. (I’ll hand these out in lab) IntroductionIntroduction toto FPGAsFPGAs Outline: 1. What’s an FPGA ? Æ logic element “fabric”, i.e. logic gates + memory + clock trigger handling. 2. What’s so good about FPGAs ? Æ FPGA applications and capabilities Æ FPGAs for physicists 3. How do you program an FPGA ? Æ Intro to Quartus II Æ Schematic design Æ Verilog HDL design WhatWhat’’ss anan FPGAFPGA An FPGA is: - a Field Programmable Gate Array. - a programmable breadboard for digital circuits on chip. The FPGA consists of: - programmable Logic Elements (LEs). - programmable interconnects. - custom circuitry (i.e. multipliers, phase- lock loops (PLL), memory, etc …). Programmable Programmable Interconnects Logic [Figure adapted from Low Energy FPGAs – Architecture and Design, by V. George and J. M. Rabaey, Kluwer Academic Publishers, Boston (2001).] LogicLogic ElementElement (LE)(LE) An FPGA consists of a giant array of interconnected logic elements (LEs). The LEs are identical and consist of inputs, a Look-Up Table (LUT), a little bit of memory, some clock trigger handling circuitry, and output wires. global LUTLUT inputs inputs outputs local outputs MemoryMemory local clock (a few bits) CLOCK triggers signals feedback Figure: Architecture of a single Logic Element InterconnectInterconnect ArchitecturesArchitectures Row-Column Architecture Island Style Architecture Sea-of-Gates Architecture Hierarchical Architecture FPGAFPGA devicesdevices (I)(I) 2 primary manufacturers: 1.
    [Show full text]
  • Machxo Control Development Kit User's Guide
    MachXO Control Development Kit User’s Guide October 2009 Revision: EB46_01.2 Lattice Semiconductor MachXO Control Development Kit User’s Guide Introduction Thank you for choosing the Lattice Semiconductor MachXO™ Control Development Kit! This guide describes how to start using the MachXO Control Development Kit, an easy-to-use platform for rapidly prototyping system control designs using MachXO PLDs. Along with the evaluation board and accessories, this kit includes a pre-loaded control system-on-chip (Control SoC) design that demonstrates board diagnostic functions including fan speed control based on temperature monitoring, LCD control, complete power supply monitoring and reset distribution in conjunction with the Power Manager II ispPAC®-POWR1014A and 8-bit LatticeMico8™ micro- controller. Note: Static electricity can severely shorten the lifespan of electronic components. See the MachXO Control Devel- opment Kit QuickSTART Guide for handling and storage tips. Features The MachXO Control Development Kit includes: • MachXO Control Evaluation Board – The MachXO Control Evaluation Board features the following on-board components and circuits: – MachXO LCMXO2280C-4FT256C PLD (www.latticesemi.com/products/cpldspld/machxo) – Power Manager II ispPAC-POWR1014A mixed-signal PLD (www.latticesemi.com/products/powermanager) – 2 Mbit SPI Flash memory – 1 Mbit SRAM • Interface to 16 x 2 LCD Panel* – Secure Digital (SD) and CompactFlash memory card sockets* –I2C temperature sensor – Current and voltage sensor circuits – Voltage ramp circuits –
    [Show full text]
  • High-Speed Soft-Processor Architecture for FPGA Overlays
    High-Speed Soft-Processor Architecture for FPGA Overlays by Charles Eric LaForest A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Electrical and Computer Engineering University of Toronto c Copyright 2015 by Charles Eric LaForest Abstract High-Speed Soft-Processor Architecture for FPGA Overlays Charles Eric LaForest Doctor of Philosophy Graduate Department of Electrical and Computer Engineering University of Toronto 2015 Field-Programmable Gate Arrays (FPGAs) provide an easier path than Application- Specific Integrated Circuits (ASICs) for implementing computing systems, and generally yield higher performance and lower power than optimized software running on high- end CPUs. However, designing hardware with FPGAs remains a difficult and time- consuming process, requiring specialized skills and hours-long CAD processing times. An easier design process abstracts away the FPGA via an \overlay architecture", which implements a computing platform upon which we construct the desired system. Soft- processors represent the base case of overlays, allowing easy software-driven design, but at a large cost in performance and area. This thesis addresses the performance limitations of FPGA soft-processors, as building blocks for overlay architectures. We first aim to maximize the usage of FPGA structures by designing Octavo, a strict round-robin multi-threaded soft-processor architecture tailored to the underlying FPGA and capable of operating at maximal speed. We then scale Octavo to SIMD and MIMD parallelism by replicating its datapath and connecting Octavo cores in a point-to-point mesh. This scaling creates multi-local logic, which we preserve via logical partitioning to avoid artificial critial paths introduced by unnecessary CAD optimizations.
    [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]
  • Mico32 White Paper 2008-02
    OPEN AND EASY MICROPROCESSOR DESIGNS USING THE LatticeMico32 A Lattice Semiconductor White Paper February 2008 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com 1 Open and Easy Microprocessor Designs Using the LatticeMico32 A Lattice Semiconductor White Paper Embedded Microprocessor Trends and Challenges The last few years have witnessed a growing trend to use embedded microprocessors in FPGA designs. Figure 1 illustrates this trend. 120,000 Without Embedded µP 100,000 With Embedded µP 80,000 60,000 40,000 20,000 Number ofDesign FPGA/PLD Starts 0 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 Figure 1 – FPGA Design Starts With Embedded µµµP Source: Gartner, August 9, 2005 As illustrated in the graph, this trend is not showing any signs of slowing down. Three important benefits of the embedded microprocessor approach are driving this trend. The first is that a soft processor provides the preferred way to implement control-plane functionality in an FPGA while leaving the datapath functionality to the programmable hardware. Control plane functionality that can be implemented in software rather than hardware allows the designer much greater freedom to make changes. Also, many control plane functions are just too difficult to reasonably implement in hardware. The second benefit is that, with software-based processing, it is possible for the hardware logic to remain stable because functional upgrades can be made through software modification. The third benefit is that FPGA embedded soft processors will not become obsolete. One of the risks that any user faces when designing with an off-the-shelf microprocessor is obsolescence.
    [Show full text]
  • FPGA Configuration Flash Memory AT17F32
    Features • Programmable 33,554,432 x 1-bit Serial Memories Designed to Store Configuration Programs for Field Programmable Gate Arrays (FPGAs) • 3.3V Output Capability • 5V Tolerant I/O Pins • Program Support using the Atmel ATDH2200E System or Industry Third Party Programmers • In-System Programmable (ISP) via 2-wire Bus • Simple Interface to SRAM FPGAs • Compatible with Atmel AT40K and AT94K Devices, Altera® FLEX®, APEX™ Devices, FPGA Stratix™, Lattice Semiconductor® (ORCA®) FPGAs, Spartan®, Virtex™ FPGAs • Cascadable Read-back to Support Additional Configurations or Higher-density Arrays Configuration • Low-power CMOS FLASH Process • Available in 44-lead PLCC Package Flash Memory • Emulation of Atmel’s AT24CXXX Serial EEPROMs • Low-power Standby Mode • Single Device Capable of Holding 4 Bit Stream Files Allowing Simple System AT17F32 Reconfiguration • Fast Serial Download Speeds up to 33 MHz • Endurance: 10,000 Write Cycles Typical • LHF Package Available (Lead and Halide Free) 1. Description The AT17F Series of In-System Programmable Configuration PROMs (Configurators) provide an easy-to-use, cost-effective configuration memory for Field Programmable Gate Arrays. The AT17F Series device is packaged in the 44-lead PLCC, see Table 1- 1. The AT17F Series Configurator uses a simple serial-access procedure to configure one or more FPGA devices. The AT17F Series Configurators can be programmed with industry-standard program- mers, Atmel’s ATDH2200E Programming Kit or Atmel’s ATDH2225 ISP Cable. Table 1-1. AT17F Series Packages Package AT17F32 44-lead PLCC Yes 3393C–CNFG–6/05 2. Pin Configuration 44-lead PLCC NC CLK NC NC DATA PAGE_EN VCC NC NC SER_EN NC 6 5 4 3 2 1 NC 7 44 43 42 41 3940 NC NC 8 38 NC NC 9 37 NC NC 10 36 NC NC 11 35 NC NC 12 34 NC NC 13 33 NC NC 14 32 NC NC 15 31 NC NC 16 30 NC NC 17 29 READY 18 19 20 21 22 23 24 25 26 27 28 CE NC NC NC NC NC GND CEO/A2 RESET/OE PAGESEL0 PAGESEL1 2 AT17F32 3393C–CNFG–6/05 AT17F32 3.
    [Show full text]