IE1204 Digital Design F11: Programmable Logic, VHDL For

Total Page:16

File Type:pdf, Size:1020Kb

IE1204 Digital Design F11: Programmable Logic, VHDL For IE1204 Digital Design F11: Programmable Logic, VHDL for Sequential Circuits Masoumeh (Azin) Ebrahimi ([email protected]) Elena Dubrova ([email protected]) KTH / ICT / ES This lecture • BV pp. 98-118, 418-426, 507-519 IE1204 Digital Design, Autumn2015 2 Programmable Logic Devices • Programmable logic devices (PLDs) were introduced in the 1970s • They are based on a structure with an AND-OR array that makes it easy to implement a sum-of-products expression IE1204 Digital Design, Autumn2015 3 Structure of a PLD x1 x2 xn Input buffers and inverters x1 x1 xn xn P1 AND plane OR plane Pk f1 fm IE1204 Digital Design, Autumn2015 4 Programmable Logic Array (PLA) x1 x2 x3 • Both AND and OR arrays are programmable OR P1 plane f1=x1x2+x1x3+x1x2x3 P2 f =x x +x x x +x x 2 1 2 1 2 3 1 3 P3 P4 AND plane f1 f2 IE1204 Digital Design, Autumn2015 5 Programmable Array Logic (PAL) x1 x2 x3 • Only the AND array is programmable P1 f =x x x +x x x 1 1 2 3 1 2 3 f1 P2 f2=x1x2+x1x2x3 P3 f2 P4 AND plane IE1204 Digital Design, Autumn2015 6 Combinatorial and register outputs • In earlier PLDs there were – combinatorial outputs – register outputs (outputs with a flip-flop) • For each circuit the number of combinational and register outputs was fixed • To increase flexibility, macrocells were introduced – one can choose if an output is combinatorial or has a flip-flop IE1204 Digital Design, Autumn2015 7 Macrocells in a PLD x1 x2 x3 Select P1 Enable f P2 1 P3 f2 f P4 1 Flip-flop D Q A programmable multiplexer can be Clock used to select the type of output To AND plane IE1204 Digital Design, Autumn2015 8 Programming of PLDs IE1204 Digital Design, Autumn2015 9 Complex PLD's (CPLD) • PLDs were quite small (PALCE 22V10 had 10 flip-flops) • To program larger functions, structures consisting of several PLD-like blocks were developed called Complex PLD (CPLD) IE1204 Digital Design, Autumn2015 10 IE1204 Autumn2015 Digital Design, I/O block I/O block CPLD Structure PAL-like PAL-like block block Interconnection wires PAL-like PAL-like block block k c o l b O / I k c o l b O / I 11 Programming of CPLDs via the JTAG interface • Modern CPLDs (and FPGAs) can be programmed by downloading circuit description (programming information) via a cable • Download usually uses a standard port called JTAG port (Joint Test Action Group) IE1204 Digital Design, Autumn2015 12 Programming via the JTAG port You can program the chips when they are soldered to the circuit board - using the (a) CPLD in a Quad Flat Pack (QFP) package programmer you can select which chip you To computer want to program through the JTAG port Printed circuit board (b) JTAG programming IE1204 Digital Design, Autumn2015 13 Field Programmable Gate Arrays • CPLDs are based on the AND-OR array • It is difficult to make really large functions using CPLDs • FPGAs use a different concept based on logic blocks IE1204 Digital Design, Autumn2015 14 Structure of an FPGA IE1204 Digital Design, Autumn2015 15 Look-up-tables (LUT) A LUT with n inputs can Programmable 0/1 realize all 1 cells combinational functions with up to n inputs. 0/1 0 The usual size of LUT 1 in an FPGA is n = 4 f 0/1 0 1 0/1 0 x2 x1 Two-input LUT IE1204 Digital Design, Autumn2015 16 Logic Block in a FPGA • A logic block in an FPGA often consists of a LUT, a flip-flop and a multiplexer to select register output Select Out Flip-flop In1 In2 LUT D Q In3 Clock IE1204 Digital Design, Autumn2015 17 Programming the LUT's and the connection matrix in an FPGA x f • Blue cross: switch 3 is programmed • Black cross: switch is not programmed x1 x1 0 x2 0 0 f 1 f 0 1 0 2 x x x f=f1+f2 2 2 1 3 0 f=x1x2+x2x3 f 1 0 1 f 1 f 2 1 IE1204 Digital Design, Autumn2015 18 DE2 University Board • DE2 Board – Cyclone II EP2C35 FPGA (Datorteknik- course) – 4 Mbytes of flash memory – 512 Kbytes of static RAM – 8 Mbytes of SDRAM – Several I/O-Devices – 50 MHz oscillator IE1204 Digital Design, Autumn2015 19 Cyclone II Logic Element IE1204 Digital Design, Autumn2015 20 Cyclone II Family (3) Total Number of 18x18 Multipliers DE2 IE1204 Digital Design, Autumn2015 21 Stratix III Family DE3 Board IE1204 Digital Design, Autumn2015 22 Multiple processors can be implemented on an FPGA • Nine II is a so-called 'soft- processor' (32-bit) that Nios II can be implemented on Altera’s FPGAs • Today's FPGAs are so large that multiple Nios II processors can fit on a single FPGA chip Very powerful multiprocessor systems can be created on an FPGA! IE1204 Digital Design, Autumn2015 23 ASICs • An ASIC (Application Specific Integrated Circuit) is a circuit which is manufactured at a semiconductor factory • In a full custom integrated circuit, the entire circuit is customized • In an ASIC, some design steps have already been made to reduce design time and cost • There are several types of ASICs: – Gate array ASICs – Standard cell ASIC IE1204 Digital Design, Autumn2015 24 ASICs: Gate Array • In a gate array ASIC, gates (or transistors) are already on silicon IE1204 Digital Design, Autumn2015 25 ASICs: Gate Array f • We only need 1 to create the x links between 1 the inputs and outputs of x2 gates x3 IE1204 Digital Design, Autumn2015 26 ASICs: Standard Cells • A standard cell can for example be AND, OR, Invert, XOR, XNOR, buffer, or a storage function as flipflop or latch. IE1204 Digital Design, Autumn2015 27 Comparison FPGA, Gate Array, Standard Cell Initial Cost Cost per part Performance Fabrication Time FPGA Low High Low Short Gate Array (ASIC) Standard Cell High Low High Long (ASIC) IE1204 Digital Design, Autumn2015 28 Design Trade-Offs Design Time Full Custom Standard Cell Gate Array Programmable Logic Microprocessor Performance IE1204 Digital Design, Autumn2015 29 VHDL: Sequential circuits IE1204 Digital Design, Autumn2015 30 Moore machine State NEXT STATE STATE REGISTER OUTPUT DECODER DECODER Input Output signals signals Clk • In a Moore-type machine output signals depend only on the current state IE1204 Digital Design, Autumn2015 31 How to model a state machine in VHDL? • In a Moore machine, we have three blocks – Next state decoder – Output decoder – State register • These blocks are executed in parallel IE1204 Digital Design, Autumn2015 32 Quick question • Which logic gate is represented by the following VHDL code? IE1204 Digital Design, Autumn2015 33 Quick question • Which logic gate is represented by the following VHDL code? IE1204 Digital Design, Autumn2015 34 Processes in VHDL • A architecture in VHDL can contain multiple processes • Processes are executed in parallel • A process is written as a sequential program IE1204 Digital Design, Autumn2015 35 Moore-machine processes • For a Moore machine, we create three processes – Next state decoder – Output decoder – State register IE1204 Digital Design, Autumn2015 36 Internal signals • Moore machine contains internal signals for – Current state – Next state • These signals are declared in the architecture description IE1204 Digital Design, Autumn2015 37 Bottle dispenser vending machine in VHDL • We use bottle dispenser vending machine as an example • We describe its system controller in VHDL COIN_PRESENT DROP GT_1_EURO DROP_READY DROP BOTTLE COIN EQ_1_EURO SYSTEM RECEIVER LT_1_EURO CONTROL DEC_ACC RETURN_10_CENT CLR_ACC CHANGER_READY COIN RETURN IE1204 Digital Design, Autumn2015 38 Vending Machine: Flow diagram Reset No Coin registered? Yes Total <1 € Total? Total = 1 € Total> € 1 Eject Return bottle 10 Cent Reset Decrease sum sum IE1204 Digital Design, Autumn2015 39 Vending Machine: State diagram COIN_PRESENT (a) 000 • The state diagram COIN_PRESENT contains all information COIN_PRESENT (b) required to generate an 001 implementation COIN_PRESENT LT_I_EURO (c) • Assumption: D flip-flops 011 GT_I_EURO are used as state EQ_I_EURO register DROP CHANGER READY (d) (f) READY • 7 states: 3 flip-flops are DROP 110 100 RETURN_10_CENT needed DROP READY CHANGER_READY The state variable order is (e) (g) ABC, i.e. state (c) is 111 101 A = 0, B = 1,C = 1 CLR_ACC DEC_ACC IE1204 Digital Design, Autumn2015 40 Vending Machine: Logic design Next state Output Input-signals decoder Flip-flops decoder Output-signals (Combination (Combination al circuit) al circuit) Clk ? ? COIN_PRESENT DA A D LT_I_EURO DROP EQ_I_EURO RETURN_I0_CENT GT_I_EURO DB B DROP_READY Next D Output CHANGER_READY State Decoder CLR_ACC Decoder A DEC_ACC DC C B D C Clk At next step, we develop the logic for the next state (DA, DB, DC) and outputs IE1204 Digital Design, Autumn2015 41 Decoder: Next state - DA COIN_PRESENT (a) DA AB 000 00 01 11 10 COIN_PRESENT COIN_PRESENT 0 0 - 1 1 (b) C 001 1 0 (=) + (>) 0 0 COIN_PRESENT LT_I_EURO (c) (=) : EQ_1_EURO 011 (>) : GT_1_EURO EQ_I_EURO GT_I_EURO DROP CHANGER READY (d) (f) READY DROP 110 100 RETURN_10_CENT DROP READY CHANGER_READY (e) (g) 111 101 DA = AB(EQ) + AB(GT) + AC CLR_ACC DEC_ACC IE1204 Digital Design, Autumn2015 42 Decoder: Next state - DB COIN_PRESENT (a) DB AB 000 00 01 11 10 COIN_PRESENT COIN_PRESENT 0 0 - 1 0 (b) C 001 1 CP (=) 0 1 COIN_PRESENT LT_I_EURO (c) (=) : EQ_1_EURO 011 CP : COIN_PRESENT EQ_I_EURO GT_I_EURO DROP CHANGER READY (d) (f) READY DROP 110 100 RETURN_10_CENT DROP READY CHANGER_READY (e) (g) 111 101 DB = AB(EQ) + BC + BC(CP) + ABC CLR_ACC DEC_ACC IE1204 Digital Design, Autumn2015 43 Decoder: Next state- DC COIN_PRESENT (a) DC AB 000 00 01 11 10 COIN_PRESENT COIN_PRESENT 0 CP - DR CR (b) C 001 1 1 0 0 1 COIN_PRESENT LT_I_EURO (c) CP : COIN_PRESENT 011 DR: DROP_READY GT_I_EURO EQ_I_EURO CR: CHANGER_READY DROP CHANGER READY (d) (f) READY DROP 110 100 RETURN_10_CENT DROP READY CHANGER_READY D = AC(CP) + BC(DR) (e) (g) C 111 101 + AB(CR)
Recommended publications
  • COMBINATIONAL CIRCUITS Combinational Plds Basic Configuration of Three Plds (Programmable Logic Devices)
    COMBINATIONAL CIRCUITS Combinational PLDs Basic Configuration of three PLDs (Programmable Logic Devices) Boolean variables Fixed Programmable INPUTS AND array OUTPUTS OR array (decoder) Programmable Read-Only Memory (PROM) Programmable INPUTS Fixed OUTPUTS AND array OR array Programmable Array Logic (PAL) Programmable INPUTS Programmable AND array OR array OUTPUTS (Field) Programmable Logic Array (PLA) 1 ©Loberg COMBINATIONAL CIRCUITS Combinational PLDs Two-level AND-OR Arrays (Programmable Logic Devices) F (C,B, A) = CBA + CB A A AND B + V B C A C B F C F AND F + V 1 B OR C Multiple functions Simplified equivalent circuit for two-level AND-OR array 2 ©Loberg COMBINATIONAL CIRCUITS Combinational PLDs Field-programmable AND and OR Arrays (Programmable Logic Devices) Field-programmable logic elements are devices that contain uncommitted AND/OR arrays that are (programmed) configured by the designer. + V + V A A F (C,B, A) F (C,B, A) = CBA B B C C Unprogrammed AND array Fuse can be "blown" by passing a high current through it. 3 ©Loberg COMBINATIONAL CIRCUITS Combinational PLDs Field-programmable AND and OR Arrays (Programmable Logic Devices) F (P1 ,P2 ,P3 ) = P1 + P3 P1 P1 P2 P2 P3 P3 F F (P1 ,P2 ,P3 ) Unprogrammed OR array Programmed OR array P1 P2 P3 P1 + P3 4 ©Loberg COMBINATIONAL CIRCUITS Combinational PLDs Output Polarity Options (Programmable Logic Devices) I1 Ik Active high Active low Complementary outputs Programmable polarity P P 1 m + V 5 ©Loberg COMBINATIONAL CIRCUITS Combinational PLDs Bidirectional Pins and Feed back Lines (Programmable Logic Devices) I1 Ik Feedback IOm Three-state driver 6 ©Loberg COMBINATIONAL CIRCUITS Combinational PLDs PLA (Programmable Logic Array) (Programmable Logic Devices) If we use ROM to implement the Boolean function we will waste the silicon area.
    [Show full text]
  • Intel Quartus Prime Pro Edition User Guide: Partial Reconfiguration Send Feedback
    Intel® Quartus® Prime Pro Edition User Guide Partial Reconfiguration Updated for Intel® Quartus® Prime Design Suite: 19.3 Subscribe UG-20136 | 2019.11.18 Send Feedback Latest document on the web: PDF | HTML Contents Contents 1. Creating a Partial Reconfiguration Design.......................................................................4 1.1. Partial Reconfiguration Terminology..........................................................................5 1.2. Partial Reconfiguration Process Sequence..................................................................6 1.3. Internal Host Partial Reconfiguration........................................................................ 7 1.4. External Host Partial Reconfiguration........................................................................ 9 1.5. Partial Reconfiguration Design Considerations............................................................9 1.5.1. Partial Reconfiguration Design Guidelines.................................................... 11 1.5.2. PR File Management.................................................................................12 1.5.3. Evaluating PR Region Initial Conditions....................................................... 16 1.5.4. Creating Wrapper Logic for PR Regions........................................................16 1.5.5. Creating Freeze Logic for PR Regions.......................................................... 17 1.5.6. Resetting the PR Region Registers.............................................................. 18 1.5.7. Promoting
    [Show full text]
  • VLSI Design: a New Approach
    International Journal of Information Theory Volume 1, Issue 1, 2011, pp-01-04 Available online at: http://www.bioinfo.in/contents.php?id=103 VLSI Design: A New Approach M.B. Swami and V.P. Pawar Department of Physics/Electronics/Computer Science, Maharashtra Udyagiri Mahavidyalaya, Udgir, India e-mail: [email protected] Abstract—This paper presents the different • Cores such as PCI are available and able to Programmable Logic Array is an important building circuit integrate with relative ease Getting started in of VLSI chips and some of the FPGA architectures have FPGA design is easy. evolved from the basic Programmable Logic Array The tools are cheap (and sometimes free) for low- architectures. In this paper the new concepts of Verilog Hardware Description language is included in VLSI Design. end devices and affordable for the high end. Modern Keywords: Programmable Logic Array, FPGA, Verilog. HDL (hardware design language) environments are very powerful for creating and verifying a design. There I. INTRODUCTION is plenty of documentation available for using different vendor’s FPGA design tools and exploiting features of Very-large-scale integration (VLSI) is the process of different FPGAs. creating integrated circuits by combining thousands of Even with modern tools, the fundamentals of transistor-based circuits into a single chip. digital design still remain intact and must be Implementation is based on FPGA design flow with understood. If the fundamentals are ignored, there is a Xilinx tools which will help you to design complex good chance that your design will not work consistently digital systems using HDL and also to get experience of and will probably exhibit intermittent modes of processor and controller implementations on FPGAs.
    [Show full text]
  • CHAPTER 3: Combinational Logic Design with Plds
    CHAPTER 3: Combinational Logic Design with PLDs LSI chips that can be programmed to perform a specific function have largely supplanted discrete SSI and MSI chips in board-level designs. A programmable logic device (PLD), is an LSI chip that contains a “regular” circuit structure, but that allows the designer to customize it for a specific application. PLDs sold in the market is not customized with specific functions. Instead, it is programmed by the purchaser to perform a function required by a particular application. PLD-based board-level designs often cost less than SSI/MSI designs for a number of reasons. Since PLDs provide more functionality per chip, the total chip and printed- circuit-board (PCB) area are less. Manufacturing costs are reduced in other ways too. A PLD-based board manufacturer needs to keep samples of few, “generic” PLD types, instead of many different MSI part types. This reduces overall inventory requirements and simplifies handling. PLD-type structures also appear as logic elements embedded in LSI chips, where chip count and board areas are not an issue. Despite the fact that a PLD may “waste” a certain number of gates, a PLD structure can actually reduce circuit cost because its “regular” physical structure may use less chip area than a “random logic” circuit. More importantly, the logic function performed by the PLD structure can often be “tweaked” in successive chip revisions by changing just one or a few metal mask layers that define signal connections in the array, instead of requiring a wholesale addition of gates and gate inputs and subsequent re-layout of a “random logic” design.
    [Show full text]
  • Introduction to ASIC Design
    ’14EC770 : ASIC DESIGN’ An Introduction Application - Specific Integrated Circuit Dr.K.Kalyani AP, ECE, TCE. 1 VLSI COMPANIES IN INDIA • Motorola India – IC design center • Texas Instruments – IC design center in Bangalore • VLSI India – ASIC design and FPGA services • VLSI Software – Design of electronic design automation tools • Microchip Technology – Offers VLSI CMOS semiconductor components for embedded systems • Delsoft – Electronic design automation, digital video technology and VLSI design services • Horizon Semiconductors – ASIC, VLSI and IC design training • Bit Mapper – Design, development & training • Calorex Institute of Technology – Courses in VLSI chip design, DSP and Verilog HDL • ControlNet India – VLSI design, network monitoring products and services • E Infochips – ASIC chip design, embedded systems and software development • EDAIndia – Resource on VLSI design centres and tutorials • Cypress Semiconductor – US semiconductor major Cypress has set up a VLSI development center in Bangalore • VDAT 2000 – Info on VLSI design and test workshops 2 VLSI COMPANIES IN INDIA • Sandeepani – VLSI design training courses • Sanyo LSI Technology – Semiconductor design centre of Sanyo Electronics • Semiconductor Complex – Manufacturer of microelectronics equipment like VLSIs & VLSI based systems & sub systems • Sequence Design – Provider of electronic design automation tools • Trident Techlabs – Power systems analysis software and electrical machine design services • VEDA IIT – Offers courses & training in VLSI design & development • Zensonet Technologies – VLSI IC design firm eg3.com – Useful links for the design engineer • Analog Devices India Product Development Center – Designs DSPs in Bangalore • CG-CoreEl Programmable Solutions – Design services in telecommunications, networking and DSP 3 Physical Design, CAD Tools. • SiCore Systems Pvt. Ltd. 161, Greams Road, ... • Silicon Automation Systems (India) Pvt. Ltd. ( SASI) ... • Tata Elxsi Ltd.
    [Show full text]
  • The Basics of Logic Design
    C APPENDIX The Basics of Logic Design C.1 Introduction C-3 I always loved that C.2 Gates, Truth Tables, and Logic word, Boolean. Equations C-4 C.3 Combinational Logic C-9 Claude Shannon C.4 Using a Hardware Description IEEE Spectrum, April 1992 Language (Shannon’s master’s thesis showed that C-20 the algebra invented by George Boole in C.5 Constructing a Basic Arithmetic Logic the 1800s could represent the workings of Unit C-26 electrical switches.) C.6 Faster Addition: Carry Lookahead C-38 C.7 Clocks C-48 AAppendixC-9780123747501.inddppendixC-9780123747501.indd 2 226/07/116/07/11 66:28:28 PPMM C.8 Memory Elements: Flip-Flops, Latches, and Registers C-50 C.9 Memory Elements: SRAMs and DRAMs C-58 C.10 Finite-State Machines C-67 C.11 Timing Methodologies C-72 C.12 Field Programmable Devices C-78 C.13 Concluding Remarks C-79 C.14 Exercises C-80 C.1 Introduction This appendix provides a brief discussion of the basics of logic design. It does not replace a course in logic design, nor will it enable you to design signifi cant working logic systems. If you have little or no exposure to logic design, however, this appendix will provide suffi cient background to understand all the material in this book. In addition, if you are looking to understand some of the motivation behind how computers are implemented, this material will serve as a useful intro- duction. If your curiosity is aroused but not sated by this appendix, the references at the end provide several additional sources of information.
    [Show full text]
  • RESEARCH INSIGHTS – Hardware Design: FPGA Security Risks
    RESEARCH INSIGHTS Hardware Design: FPGA Security Risks www.nccgroup.trust CONTENTS Author 3 Introduction 4 FPGA History 6 FPGA Development 10 FPGA Security Assessment 12 Conclusion 17 Glossary 18 References & Further Reading 19 NCC Group Research Insights 2 All Rights Reserved. © NCC Group 2015 AUTHOR DUNCAN HURWOOD Duncan is a senior consultant at NCC Group, specialising in telecom, embedded systems and application review. He has over 18 years’ experience within the telecom and security industry performing almost every role within the software development cycle from design and development to integration and product release testing. A dedicated security assessor since 2010, his consultancy experience includes multiple technologies, languages and platforms from web and mobile applications, to consumer devices and high-end telecom hardware. NCC Group Research Insights 3 All Rights Reserved. © NCC Group 2015 GLOSSARY AES Advanced encryption standard, a cryptography OTP One time programmable, allowing write once cipher only ASIC Application-specific integrated circuit, non- PCB Printed circuit board programmable hardware logic chip PLA Programmable logic array, forerunner of FPGA Bitfile Binary instruction file used to program FPGAs technology CLB Configurable logic block, an internal part of an PUF Physically unclonable function FPGA POWF Physical one-way function CPLD Complex programmable logic device PSoC Programmable system on chip, an FPGA and EEPROM Electronically erasable programmable read- other hardware on a single chip only memory
    [Show full text]
  • Full-Custom Ics Standard-Cell-Based
    Full-Custom ICs Design a chip from scratch. Engineers design some or all of the logic cells, circuits, and the chip layout specifi- cally for a full-custom IC. Custom mask layers are created in order to fabricate a full-custom IC. Advantages: complete flexibility, high degree of optimization in performance and area. Disadvantages: large amount of design effort, expensive. 1 Standard-Cell-Based ICs Use predesigned, pretested and precharacterized logic cells from standard-cell li- brary as building blocks. The chip layout (defining the location of the building blocks and wiring between them) is customized. As in full-custom design, all mask layers need to be customized to fabricate a new chip. Advantages: save design time and money, reduce risk compared to full-custom design. Disadvantages: still incurs high non-recurring-engineering (NRE) cost and long manufacture time. 2 D A B C A B B D C D A A B B Cell A Cell B Cell C Cell D Feedthrough Cell Standard-cell-based IC design. 3 Gate-Array Parts of the chip are pre-fabricated, and other parts are custom fabricated for a particular customer’s circuit. Idential base cells are pre-fabricated in the form of a 2-D array on a gate-array (this partially finished chip is called gate-array template). The wires between the transistors inside the cells and between the cells are custom fabricated for each customer. Custom masks are made for the wiring only. Advantages: cost saving (fabrication cost of a large number of identical template wafers is amortized over different customers), shorter manufacture lead time.
    [Show full text]
  • Ice40 Ultraplus Family Data Sheet
    iCE40 UltraPlus™ Family Data Sheet FPGA-DS-02008 Version 1.4 August 2017 iCE40 UltraPlus™ Family Data Sheet Copyright Notice Copyright © 2017 Lattice Semiconductor Corporation. All rights reserved. The contents of these materials contain proprietary and confidential information (including trade secrets, copyright, and other Intellectual Property interests) of Lattice Semiconductor Corporation and/or its affiliates. All rights are reserved. You are permitted to use this document and any information contained therein expressly and only for bona fide non-commercial evaluation of products and/or services from Lattice Semiconductor Corporation or its affiliates; and only in connection with your bona fide consideration of purchase or license of products or services from Lattice Semiconductor Corporation or its affiliates, and only in accordance with the terms and conditions stipulated. Contents, (in whole or in part) may not be reproduced, downloaded, disseminated, published, or transferred in any form or by any means, except with the prior written permission of Lattice Semiconductor Corporation and/or its affiliates. Copyright infringement is a violation of federal law subject to criminal and civil penalties. You have no right to copy, modify, create derivative works of, transfer, sublicense, publicly display, distribute or otherwise make these materials available, in whole or in part, to any third party. You are not permitted to reverse engineer, disassemble, or decompile any device or object code provided herewith. Lattice Semiconductor Corporation reserves the right to revoke these permissions and require the destruction or return of any and all Lattice Semiconductor Corporation proprietary materials and/or data. Patents The subject matter described herein may contain one or more inventions claimed in patents or patents pending owned by Lattice Semiconductor Corporation and/or its affiliates.
    [Show full text]
  • Architecture Description and Packing for Logic Blocks with Hierarchy, Modes and Complex Interconnect
    Architecture Description and Packing for Logic Blocks with Hierarchy, Modes and Complex Interconnect Jason Luu, Jason Anderson, and Jonathan Rose The Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto, Toronto, ON, Canada jluu|janders|[email protected] SRHI D SRLO Reset Type INIT1 Q CE Sync/Async ABSTRACT COUT INIT0 CK SR FF/LAT DX The development of future FPGA fabrics with more sophis- DMUX DI2 D6:1 A6:A1 W6:W1 D ticated and complex logic blocks requires a new CAD flow D O6 FF/LAT O5 DX INIT1 Q DQ D INIT0 CK DI1 SRHI that permits the expression of that complexity and the abil- CE SRLO WEN MC31 SRHI D SRLO CK Q SR DI INIT1 CE INIT0 ity to synthesize to it. In this paper, we present a new logic CK SR CX CMUX block description language that can depict complex intra- DI2 C6:1 A6:A1 W6:W1 C C O6 block interconnect, hierarchy and modes of operation. These FF/LAT O5 CX INIT1 Q CQ D INIT0 CK DI1 CE SRHI SRLO features are necessary to support modern and future FPGA WEN MC31 SRHI CK D SRLO SR CI INIT1 Q CE INIT0 complex soft logic blocks, memory and hard blocks. The key CK SR BX BMUX part of the CAD flow associated with this complexity is the DI2 B6:1 A6:A1 W6:W1 B B O6 packer, which takes the logical atomic pieces of the complex O5 FF/LAT BX INIT1 Q BQ D DI1 INIT0 CK CE SRHI SRLO WEN MC31 SRHI CK blocks and groups them into whole physical entities.
    [Show full text]
  • Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000
    Examples of FPLD Families: Actel ACT, Xilinx LCA, Altera MAX 5000 & 7000 1 Actel ACT Family ¯ The Actel ACT family employs multiplexer-based logic cells. ¯ A row-based architecture is used in which the logic cells are arranged in rows with horizontal routing channels between adjacent rows of logic cells. Interconnect Logic cell 2 ACT 1 Logic Modules ¯ ACT 1 FPGAs use a single type of logic module. Logic Module Logic Module Logic Module M1 A0 F A0 D Actel ACT 0 F1 A1 0 M3 F1 A1 1 '1' 1 SA F1 S F SA 0 F F2 C 0 M2 1 B0 1 B0 S D 0 B1 0 F2 B1 1 F2 '1' 1 SB (a) S SB S3 A S0 S3 S0 '0' S1 O1 S1 O1 B F=(A·B)+(B'·C)+D (b) (c) (d) (a) An Actel FPGA. (b) An ACT 1 logic module. (c) An implementation of an ACT 1 logic module using pass transistors. (d) An example of function implementation by an ACT 1 logic module. 3 ACT 2 and ACT 3 Logic Modules ¯ Both ACT 2 and ACT 3 FPGAs use two types of logic module. C-Module S-Module (ACT 2) S-Module (ACT 3) D00 D00 SED00 SE D01 D01 D01 D10 YOUTD10 YQD10 YQ D11 D11 D11 A1 A1 A1 B1 S1 B1 S1 B1 S1 A0 A0 A0 B0 S0 CLR S0 B0 S0 CLR CLK CLK (a) (b) (c) SE (sequential element) SE 1 1 D D Q Q Z Z D 0 0 Q CLK C2 S S C1 master slave C2 latch latch CLR CLR C1 CLR combinational logic for clock flip-flop macro and clear D 1D Q CLK C1 (d) (e) (a) The C-module used by both ACT 2 and ACT 3 FPGAs.
    [Show full text]
  • CPLD and FPGA Architectures
    ECE 428 Programmable ASIC Design CPLD and FPGA Architectures Haibo Wang ECE Department Southern Illinois University Carbondale, IL 62901 3-1 Definitions Field Programmable Device (FPD): — a general term that refers to any type of integrated circuit used for implementing digital hardware, where the chip can be configured by the end user to realize different designs. Programming of such a device often involves placing the chip into a special programming unit, but some chips can also be configured “in-system”. Another name for FPDs is programmable logic devices (PLDs). Source: S. Brown and J. Rose, FPGA and CPLD Architectures: A Tutorial, IEEE Design and Test of Computer, 1996 3-2 Classifications PLA — a Programmable Logic Array (PLA) is a relatively small FPD that contains two levels of logic, an AND- plane and an OR-plane, where both levels are programmable PAL — a Programmable Array Logic (PAL) is a relatively small FPD that has a programmable AND-plane followed by a fixed OR-plane SPLD — refers to any type of Simple PLD, usually either a PLA or PAL CPLD — a more Complex PLD that consists of an arrangement of multiple SPLD-like blocks on a single chip. FPGA — a Field-Programmable Gate Array is an FPD featuring a general structure that allows very high logic capacity. 3-3 PLA Programmable AND Plane Programmable OR Plane Programmable Node Un-programmed Connect Disconnect X Y O1 O2 O3 O4 X XY Y XY XY XY XX YY 3-4 PLA Programmable AND Plane Programmable OR Plane YZ XZ XYZ XY XY Z XY+YZ ?? XZ+XYZ 3-5 PAL Programmable AND Plane Fix OR Plane X Y O1 O2 O3 O4 3-6 PAL with Logic Expanders Programmable AND Plane Fix OR Plane ? Logic expanders 3-7 PLA v.s.
    [Show full text]