FPGAs in a Nutshell - Introduction to Embedded Systems-
|
|
- Ross Johns
- 6 years ago
- Views:
Transcription
1 FPGAs in a Nutshell - Introduction to Embedded Systems- Dipl.- Ing. Falk Salewski Lehrstuhl Informatik RWTH Aachen salewski@informatik.rwth-aachen.de Winter term 6/7 Contents History FPGA architecture Hardware description languages VHDL Microcontroller vs. FPGA FPGA Application Areas Soft Cores Outlook: next lecture Folie 2
2 Programmable logic basics You can do a lot with just AND- and OR-gates! In the late 7s systems were built with Standard Discrete Logic (fixed function devices where connected together to implement a system) Idea to reduce space and increase flexibility: - One chip with two programmable planes - Provide any combination of AND and OR gates, as well as sharing of AND terms across multiple ORs. - Umbrella term: PLDs Folie 3 PLD (CPLD & FPGA) PLDs = Devices which can be re-programmed to implement any function within the device s resources Field Programmable Gate Array Complex Programmable Logic Device Folie 4 2
3 Xilinx Spartan-III Architecture FPGA IOB = Input/Output Block (interface between the package pins and the internal logic) CLB = Configurable Logic Block (provides functional elements for constructing logic) DCM = Digital Clock Manager (clock domain control) Folie 5 Configurable Logic Block (CLB) Folie 6 3
4 Spartan-III Architecture (3) Slice - Look Up Tables(LUTs) for combinatorial logic - FlipFlops for clocked logic - Control Logic as multiplexers, carry logic, Folie 7 LUT = small RAM Look Up Tables (LUTs) Example: AND-Gate (2 input LUT) Address Data 2 bit input (address) bit output (data) Data : function is stored in SRAM (other devices with Flash or Anti fuse available) LUTs in Spartan family have 4 inputs, the LUTs of two slices can be combined. A 4-input LUT allows to generate 2^2^4 = different functions. Folie 8 4
5 5 Folie 9 Look Up Tables (cont.) 2-input LUT: 2^2=4 input combinations 2^4 different functions possible 4-input LUT: 2^4=6 input combinations 2^6 different functions possible Output (possible functions) Input Folie Spartan III Architecture (4) Up to 832 CLBs How many slices? 4 x 832 = 3328 slices!
6 Configure the FPGA Does every component has to be configured on this low level? No! FPGAs can be programmed on a higher level with various Hardware Description Languages (HDL). The Translation to Gate Level is done by tools automatically Folie Principle: Design Hardware as if it is Software Software Design (Microcontroller). Specification 2. Implementation (e.g.: C or assembly) 3. Compilation to machine code 4. Load code in program memory of target 5. Functionality is realized by execution of code by CPU (CPU can use certain peripherals as timers ) Hardware Design (CPLD / FPGA). Specification 2. Implementation in HDL - Structural description - Behavioral description 3. Automatic transformation in Gate Level Description (Synthesis) 4. Load configuration in target 5. Functionality is implemented in hardware Folie 2 6
7 Hardware Description Languages (HDLs) Most important HDL: - VHDL Syntax similar to ADA Mostly used in Europe - Verilog Syntax similar to C Mostly used in USA - SystemC C++ library for hardware specific constructs Quite young, good for Simulation, synthesis still problematic Folie 3 VHDL VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuits VHDL VHDL subset This VHDL subset is not standardized! Allows description and simulation of hardware (original purpose) Allows automatic synthesis to gate level description Folie 4 7
8 VHDL crash course Basic constructs: - Entity: specifies inputs and outputs of each module - Architecture: specifies the structure or the behavior of a module - Process: can be used for description of the behavior - Signal: can be understood as physical connections - Variable: can be understood as memory cell Control structures like in other higher programming languages are available. Folie 5 VHDL Example A simple 4bit Timer clk countervalue(3:) reset Folie 6 8
9 VHDL Example clk reset Timer 4bit Countervalue(3:) library IEEE; use IEEE.STD_LOGIC_64.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity Timer is Port ( clk : in std_logic; reset : in std_logic; countervalue : inout std_logic_vector(3 downto )); end Timer; entity architecture Behavioral of Timer is process (clk,reset) if reset='' then countervalue <= ""; elsif rising_edge(clk) then countervalue <= countervalue + ; architecture process end Behavioral; Folie 7 VHDL Example clk reset Timer 4bit Countervalue(3:) entity Timer is Port ( clk : in std_logic; reset : in std_logic; countervalue : inout std_logic_vector(3 downto )); end Timer; architecture Behavioral of Timer is process (clk,reset) if reset='' then countervalue <= ""; elsif rising_edge(clk) then countervalue <= countervalue + ; entity architecture process end Behavioral; Folie 8 9
10 VHDL Entity clk reset Timer 4bit Countervalue(3:) entity Timer is Port ( clk : in std_logic; reset : in std_logic; countervalue : inout std_logic_vector(3 downto )); end Timer; entity Defines I/O signals (Ports) of the module: - in read only - out write only - inout write and read back - buffer write and read (bidirectional) Ports can be - binary signals (as clk: bit) - vectors of signals (as countervalue: 4bit) Data type of Ports: usually std_logic (later more) Folie 9 VHDL Example clk reset Timer 4bit Countervalue(3:) entity Timer is Port ( clk : in std_logic; reset : in std_logic; countervalue : inout std_logic_vector(3 downto )); end Timer; architecture Behavioral of Timer is process (clk,reset) if reset='' then countervalue <= ""; elsif rising_edge(clk) then countervalue <= countervalue + ; entity architecture process end Behavioral; Folie 2
11 VHDL Process clk reset Timer 4bit Countervalue(3:) A process is used to describe the behavior of the timer architecture Behavioral of Timer is architecture process (clk,reset) -- sensitivity list: changing of clk or reset starts process -- (only for clarity, all input values start process) if reset='' then countervalue <= ""; -- assign initial value elsif rising_edge(clk) then -- if rising edge of clk signal then countervalue <= countervalue + ; -- increment end Behavioral; Folie 2 VHDL Example clk reset Timer 4bit Countervalue(3:) entity Timer is Port ( clk : in std_logic; reset : in std_logic; countervalue : inout std_logic_vector(3 downto )); end Timer; Name can be given to process architecture Behavioral of Timer is Timer: process (clk,reset) if reset='' then countervalue <= ""; elsif rising_edge(clk) then countervalue <= countervalue + ; entity architecture process end Behavioral; Folie 22
12 VHDL Data types Data type std_logic (9-value logic type) - Possible values : U uninitialized X undefined forcing forcing Z high impedance Needed if bus structures have to be realized W weak undefined L weak H weak - don t care - Signals can be grouped to vector: std_logic_vector(3 downto ) Other data types as boolean or integer are known - Can be used for arithmetics only - Usually, subtypes are usefull (integer is 64 bit!) Folie 23 VHDL Architecture architecture Behavioral of Example_Modul is TaskA: process (clk,reset) Execution outside process: parallel TaskB: process (clk,reset,in) inside process: sequential out <= in and in2; Process Process 2 Process 3 end Behavioral; Folie 24 2
13 Questions? What is an entity? - What is std_logic? - What is std_logic_vector? What is an architecture? - How are processes executed within an architecture? What is a process? - When is a process executed? - How is a process executed? let s have a closer look at sequential execution Folie 25 Sequential execution (blink two LEDs) Microcontroller Code Void blink_led (int delay) { int i=; PORTA = ; for (i =, i<delay, i++); PORTA = ; PORTA2 = ; for (i =, i<delay, i++); PORTA2 = ; } Probably working VHDL Code Blink_LED: process (delay) variable i : integer:= ; PORTA <= ; for i in to delay loop i:=i+; end loop; PORTA <= ; PORTA2 <= ; for i in to delay loop i:=i+; end loop; PORTA2 <= ; The last signal assignment is taken No delay (no clk) LEDs stay off Note: variables are assigned with := and signals with <= Folie 26 3
14 Sequential Execution (2) State machines have to be used to realize clocked sequential behavior! Blink_LED: process (clk, reset) variable state : std_logic_vector; if reset = then state := ; PORTA <= ; PORTA2 <= ; elsif rising_edge(clk) then case state is when "" => PORTA <= ; when "" => PORTA <= ; PORTA2 <= ; when "" => PORTA2 <= ; when others => end case; state := state +; Folie 27 Execution speed can be adjusted by clk, e.g. with a timer used as clock divider Parallel processes Clk Reset Count_in Frequ. measure Frequ Example: Frequency measurement (impulses/time unit) TIMER: process (clk,reset) variable countervalue: std_logic_vector(3 downto ) if reset='' then countervalue <= ""; elsif rising_edge(clk) then countervalue <= countervalue + ; if countervalue = then Frequ <= globalcount globalcount <= COUNTER: process (count_in, reset) if reset='' then globalcount <= ""; elsif rising_edge(count_in) then globalcount <= globalcount + ; Conflict: globalcount could be modified in both processes at the same time! not allowed Folie 28 4
15 Parallel processes Clk Reset Count_in Example (corrected): Frequency measurement Frequ. measure Frequ TIMER: process (clk,reset) variable countervalue: std_logic_vector(3 downto ) if reset='' then countervalue <= ""; counter_reset <= ; elsif rising_edge(clk) then countervalue <= countervalue + ; if countervalue = then Frequ <= globalcount elsif countervalue = then counter_reset <= ; else counter_reset<= ; COUNTER: process (count_in, counter_reset) if counter_reset = then globalcount <= ""; elsif rising_edge(count_in) then globalcount <= globalcount + ; Additional global signal counter_reset is used Folie 29 Design in VHDL forget the hardware details? Knowledge of the FPGA architecture is needed for - Optimization of execution speed - Optimization of chip resources needed (area) - Optimization of power consumption - The design of high reliable applications - Complex designs with several clock domains etc. Tools constantly improve in order to - Support the designer with these issues and to - Automatize different types of optimizations Folie 3 5
16 ALTERA Design Flow Source: Folie 3 MCU vs. FPGA (functional) MCU Sequential execution is easy - State machine with states no problem Limited to on chip peripherals or on board peripherals - MCU has typically 3 to 5 onchip timer Understanding the MCU hardware might be a challenge FPGA Parallel execution is easy - Change outputs at a time no problem All needed digital hardware in one device - 5 timer no problem Configuring the FPGA hardware might be a challenge Decision for the one or the other hardware is application dependent. Folie 32 6
17 FPGA application areas Applications of FPGAs include - Digital Signal Processing, - Software Defined Radio (SDR), - Space, aerospace and defense systems, - ASIC prototyping, - Medical imaging, bioinformatics, - Computer vision, speech recognition, - Cryptography, - Computer hardware emulation, - High speed communication, and a growing range of other areas. Folie 33 Soft Cores In some cases a combination of MCU and FPGA features would be nice HW/SW CoDesign Todays FPGAs have enough resources to - synthesize CPU cores (Soft Cores) - together with parallel logic FPGA CPU Logic Logic Logic CPU These Soft Cores are usually available in VHDL or Verilog code. Folie 34 7
18 Example: 8bit Xilinx Soft Core For further information see: Folie 35 Xilinx Picoblaze 57 instructions 6 registers (8bit) 64 byte data memory On Spartan-3 up to 44MIPS Resources needed: 96 Spartan-3 slices! Theoretically, 346 Soft Cores would fit into the largest Spartan 3 (additional resources needed for interconnection) Usually, the chip internal memory is the bottle neck more and more FPGAs have additional block RAM VHDL source code is available on Folie 36 8
19 Further Soft Cores Altera: NiosII bit Harvard-RISC - Optional FPU (Floating Point Unit) - Up to 2MHz Xilinx: Microblaze bit Harvard-RISC - Optional FPU (Floating Point Unit) LUTs (45-3 slices) - Up to 2MHz (up to MHz, 92 DMIPS on Spartan3) Lattice: LatticeMico bit Harvard-RISC LUTs Chip independent cores from third party suppliers (e.g. 85-derivatives) Folie 37 Questions? Next Contents of the next exercise A comparison: Something to think about until next week Folie 38 9
20 In the exercise Create own VHDL program Simulate this program Test the program on Spartan 3 FPGA Use schematics as alternative programming method Folie 39 6 V Jumper: M&M2: offen, M: geschlossen LEDs connected to FPGA Power supply for external boards Jumper: closed Programming cable to parallel port Access to FPGA-Pins Folie 4 CAN board 2
21 VHDL sources Free VHDL Online Tutorial: The Hamburg VHDL archive VHDL Tutorial Uni Erlangen-Nürnberg Online Support from the book VHDL Eine Einführung Folie 4 A comparison During this semester you learned about different hardware platforms: - Microcontrollers (MCUs) - Programmable Logic Controllers (PLCs) - Field Programmable Gate Arrays (FPGAs) What could influence your decision of hardware platform selection? Folie 42 2
22 Think about the Pro and Cons of the different hardware platforms Folie 43 22
Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses
Today Comments about assignment 3-43 Comments about assignment 3 ASICs and Programmable logic Others courses octor Per should show up in the end of the lecture Mealy machines can not be coded in a single
More informationLecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)
Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits Hardware Description Language) 1 Standard ICs PLD: Programmable Logic Device CPLD: Complex PLD FPGA: Field Programmable
More informationField Program mable Gate Arrays
Field Program mable Gate Arrays M andakini Patil E H E P g r o u p D H E P T I F R SERC school NISER, Bhubaneshwar Nov 7-27 2017 Outline Digital electronics Short history of programmable logic devices
More informationProgrammable Logic Devices
Programmable Logic Devices INTRODUCTION A programmable logic device or PLD is an electronic component used to build reconfigurable digital circuits. Unlike a logic gate, which has a fixed function, a PLD
More informationIntroduction to Field Programmable Gate Arrays
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May 9 June 2007 Javier Serrano, CERN AB-CO-HT Outline Historical introduction.
More informationINTRODUCTION TO FPGA ARCHITECTURE
3/3/25 INTRODUCTION TO FPGA ARCHITECTURE DIGITAL LOGIC DESIGN (BASIC TECHNIQUES) a b a y 2input Black Box y b Functional Schematic a b y a b y a b y 2 Truth Table (AND) Truth Table (OR) Truth Table (XOR)
More informationCS211 Digital Systems/Lab. Introduction to VHDL. Hyotaek Shim, Computer Architecture Laboratory
CS211 Digital Systems/Lab Introduction to VHDL Hyotaek Shim, Computer Architecture Laboratory Programmable Logic Device (PLD) 2/32 An electronic component used to build reconfigurable digital circuits
More informationFPGA for Complex System Implementation. National Chiao Tung University Chun-Jen Tsai 04/14/2011
FPGA for Complex System Implementation National Chiao Tung University Chun-Jen Tsai 04/14/2011 About FPGA FPGA was invented by Ross Freeman in 1989 SRAM-based FPGA properties Standard parts Allowing multi-level
More informationField Programmable Gate Array
Field Programmable Gate Array System Arch 27 (Fire Tom Wada) What is FPGA? System Arch 27 (Fire Tom Wada) 2 FPGA Programmable (= reconfigurable) Digital System Component Basic components Combinational
More informationVHDL And Synthesis Review
VHDL And Synthesis Review VHDL In Detail Things that we will look at: Port and Types Arithmetic Operators Design styles for Synthesis VHDL Ports Four Different Types of Ports in: signal values are read-only
More informationTwo HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design
Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial
More informationPINE TRAINING ACADEMY
PINE TRAINING ACADEMY Course Module A d d r e s s D - 5 5 7, G o v i n d p u r a m, G h a z i a b a d, U. P., 2 0 1 0 1 3, I n d i a Digital Logic System Design using Gates/Verilog or VHDL and Implementation
More informationField Programmable Gate Array (FPGA)
Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems
More informationEENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering
EENG 2910 Project III: Digital System Design Due: 04/30/2014 Team Members: University of North Texas Department of Electrical Engineering Table of Content i Contents Abstract...3 Introduction...3 Report...4
More informationHardware Description Language VHDL (1) Introduction
Hardware Description Language VHDL (1) Introduction Digital Radiation Measurement and Spectroscopy NE/RHP 537 Introduction Hardware description language (HDL) Intended to describe circuits textually, for
More informationIntroduction to VHDL #1
ECE 3220 Digital Design with VHDL Introduction to VHDL #1 Lecture 3 Introduction to VHDL The two Hardware Description Languages that are most often used in industry are: n VHDL n Verilog you will learn
More informationECE 545 Lecture 12. FPGA Resources. George Mason University
ECE 545 Lecture 2 FPGA Resources George Mason University Recommended reading 7 Series FPGAs Configurable Logic Block: User Guide Overview Functional Details 2 What is an FPGA? Configurable Logic Blocks
More informationVHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2
VHDL: Modeling RAM and Register Files Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2 Memory Synthesis Approaches: Random logic using flip-flops or latches Register files in datapaths RAM standard components
More informationThe Virtex FPGA and Introduction to design techniques
The Virtex FPGA and Introduction to design techniques SM098 Computation Structures Lecture 6 Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL
More informationFPGA design with National Instuments
FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software
More informationVHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language
VHDL Introduction to Structured VLSI Design VHDL I Very High Speed Integrated Circuit (VHSIC) Hardware Description Language Joachim Rodrigues A Technology Independent, Standard Hardware description Language
More informationAbi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University
Hardware description language (HDL) Intended to describe circuits textually, for a computer to read Evolved starting in the 1970s and 1980s Popular languages today include: VHDL Defined in 1980s by U.S.
More informationVHDL for Complex Designs
ELEC 379 : DESIGN OF DIGITAL AND MICROCOMPUTER SYSTEMS 1998/99 WINTER SESSION, TERM 2 VHDL for Complex Designs This lecture covers VHDL features that are useful when designing complex logic circuits. After
More informationVHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents
VHDL Testbench Tutorial 1 Contents 1 VHDL Testbench 2 Test Bench Syntax 3 Testbench Example: VHDL Code for Up Down Binary Counter 4 VHDL Testbench code for up down binary counter 5 Testbench Waveform for
More informationVHDL simulation and synthesis
VHDL simulation and synthesis How we treat VHDL in this course You will not become an expert in VHDL after taking this course The goal is that you should learn how VHDL can be used for simulation and synthesis
More informationEvolution of Implementation Technologies. ECE 4211/5211 Rapid Prototyping with FPGAs. Gate Array Technology (IBM s) Programmable Logic
ECE 42/52 Rapid Prototyping with FPGAs Dr. Charlie Wang Department of Electrical and Computer Engineering University of Colorado at Colorado Springs Evolution of Implementation Technologies Discrete devices:
More informationHDL. Hardware Description Languages extensively used for:
HDL Hardware Description Languages extensively used for: Describing (digital) hardware (formal documentation) Simulating it Verifying it Synthesizing it (first step of modern design flow) 2 main options:
More informationEEL 4783: Hardware/Software Co-design with FPGAs
EEL 4783: Hardware/Software Co-design with FPGAs Lecture 9: Short Introduction to VHDL* Prof. Mingjie Lin * Beased on notes of Turfts lecture 1 What does HDL stand for? HDL is short for Hardware Description
More informationDesign Progression With VHDL Helps Accelerate The Digital System Designs
Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June
More informationDIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1
DIGITAL LOGIC WITH VHDL (Fall 23) Unit DESIGN FLOW DATA TYPES LOGIC GATES WITH VHDL TESTBENCH GENERATION DESIGN FLOW Design Entry: We specify the logic circuit using a Hardware Description Language (e.g.,
More informationFPGA: What? Why? Marco D. Santambrogio
FPGA: What? Why? Marco D. Santambrogio marco.santambrogio@polimi.it 2 Reconfigurable Hardware Reconfigurable computing is intended to fill the gap between hardware and software, achieving potentially much
More informationCSCI Lab 3. VHDL Syntax. Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\
CSCI 250 - Lab 3 VHDL Syntax Due: Tuesday, week6 Submit to: \\fs2\csci250\lab-3\ Objectives 1. Learn VHDL Valid Names 2. Learn the presentation of Assignment and Comments 3. Learn Modes, Types, Array,
More informationDigital Integrated Circuits
Digital Integrated Circuits Lecture 9 Jaeyong Chung Robust Systems Laboratory Incheon National University DIGITAL DESIGN FLOW Chung EPC6055 2 FPGA vs. ASIC FPGA (A programmable Logic Device) Faster time-to-market
More informationFPGA briefing Part II FPGA development DMW: FPGA development DMW:
FPGA briefing Part II FPGA development FPGA development 1 FPGA development FPGA development : Domain level analysis (Level 3). System level design (Level 2). Module level design (Level 1). Academical focus
More informationSummary of FPGA & VHDL
FYS4220/9220 Summary of FPGA & VHDL Lecture #6 Jan Kenneth Bekkeng, University of Oslo - Department of Physics 16.11.2011 Curriculum (VHDL & FPGA part) Curriculum (Syllabus) defined by: Lectures Lecture6:
More informationLecture 3: Modeling in VHDL. EE 3610 Digital Systems
EE 3610: Digital Systems 1 Lecture 3: Modeling in VHDL VHDL: Overview 2 VHDL VHSIC Hardware Description Language VHSIC=Very High Speed Integrated Circuit Programming language for modelling of hardware
More informationAn Introduction to Programmable Logic
Outline An Introduction to Programmable Logic 3 November 24 Transistors Logic Gates CPLD Architectures FPGA Architectures Device Considerations Soft Core Processors Design Example Quiz Semiconductors Semiconductor
More informationLecture 12 VHDL Synthesis
CPE 487: Digital System Design Spring 2018 Lecture 12 VHDL Synthesis Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 What is Synthesis?
More informationVHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline
Chapter 1 Introduction to VHDL VHDL VHDL - Flaxer Eli Ch 1-1 Course Objectives Affected Write functionally correct and well-documented VHDL code, intended for either simulation or synthesis, of any combinational
More information1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013
MARIE CURIE IAPP: FAST TRACKER FOR HADRON COLLIDER EXPERIMENTS 1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013 Introduction to VHDL Calliope-Louisa Sotiropoulou PhD Candidate/Researcher Aristotle University
More information[VARIABLE declaration] BEGIN. sequential statements
PROCESS statement (contains sequential statements) Simple signal assignment statement
More informationAdvanced FPGA Design Methodologies with Xilinx Vivado
Advanced FPGA Design Methodologies with Xilinx Vivado Lecturer: Alexander Jäger Course of studies: Technische Informatik Student number: 3158849 Date: 30.01.2015 30/01/15 Advanced FPGA Design Methodologies
More informationControl and Datapath 8
Control and Datapath 8 Engineering attempts to develop design methods that break a problem up into separate steps to simplify the design and increase the likelihood of a correct solution. Digital system
More informationLecture 3 Introduction to VHDL
CPE 487: Digital System Design Spring 2018 Lecture 3 Introduction to VHDL Bryan Ackland Department of Electrical and Computer Engineering Stevens Institute of Technology Hoboken, NJ 07030 1 Managing Design
More informationProgrammable Logic. Simple Programmable Logic Devices
Programmable Logic SM098 Computation Structures - Programmable Logic Simple Programmable Logic evices Programmable Array Logic (PAL) AN-OR arrays are common blocks in SPL and CPL architectures Implements
More informationThe Optimization of a Design Using VHDL Concepts
The Optimization of a Design Using VHDL Concepts Iuliana CHIUCHISAN 1, Alin Dan POTORAC 2 "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava 1 iuliap@eed.usv.ro, 2 alinp@eed.usv.ro
More informationChip Design with FPGA Design Tools
Chip Design with FPGA Design Tools Intern: Supervisor: Antoine Vazquez Janusz Zalewski Florida Gulf Coast University Fort Myers, FL 33928 V1.9, August 28 th. Page 1 1. Introduction FPGA is abbreviation
More informationLecture 4. VHDL Fundamentals. George Mason University
Lecture 4 VHDL Fundamentals George Mason University Required reading P. Chu, RTL Hardware Design using VHDL Chapter 3, Basic Language Constructs of VHDL 2 Design Entity ECE 448 FPGA and ASIC Design with
More informationEITF35: Introduction to Structured VLSI Design
EITF35: Introduction to Structured VLSI Design Part 1.2.2: VHDL-1 Liang Liu liang.liu@eit.lth.se 1 Outline VHDL Background Basic VHDL Component An example FSM Design with VHDL Simulation & TestBench 2
More informationIE1204 Digital Design L7: Combinational circuits, Introduction to VHDL
IE24 Digital Design L7: Combinational circuits, Introduction to VHDL Elena Dubrova KTH / ICT / ES dubrova@kth.se This lecture BV 38-339, 6-65, 28-29,34-365 IE24 Digital Design, HT 24 2 The multiplexer
More informationIntroduction to VHDL
Introduction to VHDL Agenda Introduce VHDL Basic VHDL constructs Implementing circuit functions Logic, Muxes Clocked Circuits Counters, Shifters State Machines FPGA design and implementation issues FPGA
More informationLecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)
Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL) Pinit Kumhom VLSI Laboratory Dept. of Electronic and Telecommunication Engineering (KMUTT) Faculty of Engineering King Mongkut s University
More informationBasic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices
3 Digital Systems Implementation Programmable Logic Devices Basic FPGA Architectures Why Programmable Logic Devices (PLDs)? Low cost, low risk way of implementing digital circuits as application specific
More informationOutline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.
Outline CPE/EE 422/522 Advanced Logic Design L05 Electrical and Computer Engineering University of Alabama in Huntsville What we know Combinational Networks Sequential Networks: Basic Building Blocks,
More informationCprE 583 Reconfigurable Computing
Recap Moore FSM Example CprE / ComS 583 Reconfigurable Computing Moore FSM that recognizes sequence 10 0 1 0 1 S0 / 0 S1 / 0 1 S2 / 1 Prof. Joseph Zambreno Department of Electrical and Computer Engineering
More informationFPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1
FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital
More informationFSM Components. FSM Description. HDL Coding Methods. Chapter 7: HDL Coding Techniques
FSM Components XST features: Specific inference capabilities for synchronous Finite State Machine (FSM) components. Built-in FSM encoding strategies to accommodate your optimization goals. You may also
More informationEE 459/500 HDL Based Digital Design with Programmable Logic
EE 459/500 HDL Based Digital Design with Programmable Logic Lecture 17 From special-purpose FSMD to general-purpose microcontroller: Xilinx s PicoBlaze 1 Overview From FSMD to Microcontroller PicoBlaze
More informationDESIGN STRATEGIES & TOOLS UTILIZED
CHAPTER 7 DESIGN STRATEGIES & TOOLS UTILIZED 7-1. Field Programmable Gate Array The internal architecture of an FPGA consist of several uncommitted logic blocks in which the design is to be encoded. The
More informationEECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history
More informationOutline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?
EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic
More informationProgrammable Logic Devices UNIT II DIGITAL SYSTEM DESIGN
Programmable Logic Devices UNIT II DIGITAL SYSTEM DESIGN 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 2 Implementation in Sequential Logic 2 PAL Logic Implementation Design Example: BCD to Gray Code Converter A B
More informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 Introduction You will use Xilinx Webpack v9.1 to allow the synthesis and creation of VHDLbased designs. This lab will outline the steps necessary
More informationENGIN 241 Digital Systems with Lab
ENGIN 241 Digital Systems with Lab (4) Dr. Honggang Zhang Engineering Department University of Massachusetts Boston 1 Introduction Hardware description language (HDL): Specifies logic function only Computer-aided
More informationAL8253 Core Application Note
AL8253 Core Application Note 6-15-2012 Table of Contents General Information... 3 Features... 3 Block Diagram... 3 Contents... 4 Behavioral... 4 Synthesizable... 4 Test Vectors... 4 Interface... 5 Implementation
More informationProgramable Logic Devices
Programable Logic Devices In the 1970s programmable logic circuits called programmable logic device (PLD) was introduced. They are based on a structure with an AND- OR array that makes it easy to implement
More informationFPGA Lecture for LUPO and GTO Vol , 31 August (revised 2013, 19 November) H. Baba
FPGA Lecture for LUPO and GTO Vol. 1 2010, 31 August (revised 2013, 19 November) H. Baba Contents Basic feature of FPGA Basic usage for LUPO New project Read and Write Basic behavioral VHDL simulation
More informationSystematic Hardware Platform Selection - Introduction to Embedded Systems-
Systematic Hardware Platform Selection - Introduction to Embedded Systems- Dipl.- Ing. Falk Salewski Lehrstuhl Informatik XI RWTH Aachen salewski@informatik.rwth-aachen.de Winter term 06/07 Remember: What
More informationLab 3 Sequential Logic for Synthesis. FPGA Design Flow.
Lab 3 Sequential Logic for Synthesis. FPGA Design Flow. Task 1 Part 1 Develop a VHDL description of a Debouncer specified below. The following diagram shows the interface of the Debouncer. The following
More informationVery Large Scale Integration (VLSI)
Very Large Scale Integration (VLSI) Lecture 6 Dr. Ahmed H. Madian Ah_madian@hotmail.com Dr. Ahmed H. Madian-VLSI 1 Contents FPGA Technology Programmable logic Cell (PLC) Mux-based cells Look up table PLA
More informationComputer-Aided Digital System Design VHDL
بس م اهلل الر حم ن الر حی م Iran University of Science and Technology Department of Computer Engineering Computer-Aided Digital System Design VHDL Ramin Rajaei ramin_rajaei@ee.sharif.edu Modeling Styles
More informationImplementing a PicoBlaze microprocessor structure (state machine) using a reconfigurable hardware medium
Laboratory number 3 Implementing a PicoBlaze microprocessor structure (state machine) using a reconfigurable hardware medium Purpose of the laboratory: A PicoBlaze TM processor version for Virtex, Virtex-E,
More information1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center
1 Design Process VHDL Compiler, a member of the Synopsys HDL Compiler family, translates and optimizes a VHDL description to an internal gate-level equivalent. This representation is then compiled with
More informationL2: FPGA HARDWARE : ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA
L2: FPGA HARDWARE 18-545: ADVANCED DIGITAL DESIGN PROJECT FALL 2015 BRANDON LUCIA 18-545: FALL 2014 2 Admin stuff Project Proposals happen on Monday Be prepared to give an in-class presentation Lab 1 is
More informationCCE 3202 Advanced Digital System Design
CCE 3202 Advanced Digital System Design Lab Exercise #2 This lab exercise will show you how to create, synthesize, and test a 3-bit ripple counter. A ripple counter is simply a circuit that outputs the
More informationTopics. Midterm Finish Chapter 7
Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory
More informationFPGA Based Digital Design Using Verilog HDL
FPGA Based Digital Design Using Course Designed by: IRFAN FAISAL MIR ( Verilog / FPGA Designer ) irfanfaisalmir@yahoo.com * Organized by Electronics Division Integrated Circuits Uses for digital IC technology
More informationNIOS CPU Based Embedded Computer System on Programmable Chip
NIOS CPU Based Embedded Computer System on Programmable Chip 1 Lab Objectives EE8205: Embedded Computer Systems NIOS-II SoPC: PART-I This lab has been constructed to introduce the development of dedicated
More informationMemory and Programmable Logic
Digital Circuit Design and Language Memory and Programmable Logic Chang, Ik Joon Kyunghee University Memory Classification based on functionality ROM : Read-Only Memory RWM : Read-Write Memory RWM NVRWM
More informationFPGA How do they work?
ent FPGA How do they work? ETI135, Advanced Digital IC Design What is a FPGA? Manufacturers Distributed RAM History FPGA vs ASIC FPGA and Microprocessors Alternatives to FPGAs Anders Skoog, Stefan Granlund
More informationDocumentation Design File Formats
PIC165X Fast RISC Microcontroller (DFPIC165X) July 16, 2008 Product Specification Digital Core Design Wroclawska 94 41-902 Bytom Poland Phone : +48 32 2828266 Fax : +48 32 2827437 E-mail : info@dcd.pl
More information5. VHDL - Introduction - 5. VHDL - Design flow - 5. VHDL - Entities and Architectures (1) - 5. VHDL - Entities and Architectures (2) -
Sistemas Digitais I LESI - 2º ano Lesson 5 - VHDL Prof. João Miguel Fernandes (miguel@di.uminho.pt) Dept. Informática - Introduction - VHDL was developed, in the mid-1980s, by DoD and IEEE. VHDL stands
More informationLattice VHDL Training
Lattice Part I February 2000 1 VHDL Basic Modeling Structure February 2000 2 VHDL Design Description VHDL language describes a digital system as a set of modular blocks. Each modular block is described
More informationPLAs & PALs. Programmable Logic Devices (PLDs) PLAs and PALs
PLAs & PALs Programmable Logic Devices (PLDs) PLAs and PALs PLAs&PALs By the late 1970s, standard logic devices were all the rage, and printed circuit boards were loaded with them. To offer the ultimate
More informationV1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives
Formation VHDL Language: FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) - Programmation: Logique Programmable V1 - VHDL Language FPGA Programming
More informationCMPE 415 Programmable Logic Devices Introduction
Department of Computer Science and Electrical Engineering CMPE 415 Programmable Logic Devices Introduction Prof. Ryan Robucci What are FPGAs? Field programmable Gate Array Typically re programmable as
More informationVHDL for FPGA Design. by : Mohamed Samy
VHDL for FPGA Design by : Mohamed Samy VHDL Vhdl is Case insensitive myvar = myvar = MYVAR IF = if = if Comments start with -- Comments can exist anywhere in the line Semi colon indicates the end of statements
More informationChapter 2. FPGA and Dynamic Reconfiguration ...
Chapter 2 FPGA and Dynamic Reconfiguration... This chapter will introduce a family of silicon devices, FPGAs exploring their architecture. This work is based on these particular devices. The chapter will
More information310/ ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006
310/1780-10 ICTP-INFN Advanced Tranining Course on FPGA and VHDL for Hardware Simulation and Synthesis 27 November - 22 December 2006 VHDL & FPGA - Session 2 Nizar ABDALLH ACTEL Corp. 2061 Stierlin Court
More informationFPGA for Software Engineers
FPGA for Software Engineers Course Description This course closes the gap between hardware and software engineers by providing the software engineer all the necessary FPGA concepts and terms. The course
More informationCS232 VHDL Lecture. Types
CS232 VHDL Lecture VHSIC Hardware Description Language [VHDL] is a language used to define and describe the behavior of digital circuits. Unlike most other programming languages, VHDL is explicitly parallel.
More informationECE 699: Lecture 9. Programmable Logic Memories
ECE 699: Lecture 9 Programmable Logic Memories Recommended reading XST User Guide for Virtex-6, Spartan-6, and 7 Series Devices Chapter 7, HDL Coding Techniques Sections: RAM HDL Coding Techniques ROM
More informationCPE/EE 422/522. Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices. Dr. Rhonda Kay Gaede UAH. Outline
CPE/EE 422/522 Introduction to Xilinx Virtex Field-Programmable Gate Arrays Devices Dr. Rhonda Kay Gaede UAH Outline Introduction Field-Programmable Gate Arrays Virtex Virtex-E, Virtex-II, and Virtex-II
More informationThe Xilinx XC6200 chip, the software tools and the board development tools
The Xilinx XC6200 chip, the software tools and the board development tools What is an FPGA? Field Programmable Gate Array Fully programmable alternative to a customized chip Used to implement functions
More informationLuleå University of Technology Kurskod SMD098 Datum Skrivtid
Luleå University of Technology Kurskod SMD098 Datum 2001-12-17 Skrivtid 14.00 18.00 Tentamen i Beräkningstrukturer Antal uppgifter: 6 Max poäng: 35 Lärare: Jonas Thor Telefon: 2549 Tillåtna hjälpmedel:
More informationMotivation for Lecture. Market for Memories. Example: FFT Design. Sequential Circuits & D flip-flop. Latches and Registers.
Motivation for Lecture Design Methodologies Storage (registers and memories) Computational platforms Design Methodologies Memories is a crucial part of most designs: What different type of memories are
More informationDESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL
Arid Zone Journal of Engineering, Technology and Environment. August, 2013; Vol. 9, 17-26 DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL Dibal, P.Y. (Department of Computer Engineering,
More informationIn our case Dr. Johnson is setting the best practices
VHDL Best Practices Best Practices??? Best practices are often defined by company, toolset or device In our case Dr. Johnson is setting the best practices These rules are for Class/Lab purposes. Industry
More informationECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles
ECE 448 Lecture 4 Sequential-Circuit Building Blocks Mixing Description Styles George Mason University Reading Required P. Chu, FPGA Prototyping by VHDL Examples Chapter 4, Regular Sequential Circuit Recommended
More informationIntroduction to WebPACK 6.3. Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board
Introduction to WebPACK 6.3 Using Xilinx WebPACK Software to Create FPGA Designs for the XSA Board Release date: 1/1/2005 2005 by XESS Corp. All XS-prefix product designations are trademarks of XESS Corp.
More information