George Mason University ECE 448 – FPGA and ASIC Design with VHDL Lecture 18 FPGA Boards & FPGA-based Supercomputers High Level Language (HLL) Design Methodology.

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
High Level Languages: A Comparison By Joel Best. 2 Sources The Challenges of Synthesizing Hardware from C-Like Languages  by Stephen A. Edwards High-Level.
Octavian Cret, Kalman Pusztai Cristian Vancea, Balint Szente Technical University of Cluj-Napoca, Romania CREC: A Novel Reconfigurable Computing Design.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL FPGA Platforms High Level Language (HLL) Design Flows ECE 448 Lecture 21.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
Aug. 24, 2007ELEC 5200/6200 Project1 Computer Design Project ELEC 5200/6200-Computer Architecture and Design Fall 2007 Vishwani D. Agrawal James J.Danaher.
Configurable System-on-Chip: Xilinx EDK
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair.
Delevopment Tools Beyond HDL
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
Experimental Performance Evaluation For Reconfigurable Computer Systems: The GRAM Benchmarks Chitalwala. E., El-Ghazawi. T., Gaj. K., The George Washington.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL High Level Language (HLL) Design Flow Reconfigurable Supercomputers ECE 448 Lecture 21.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
E0001 Computers in Engineering1 The System Unit & Memory.
Performance and Overhead in a Hybrid Reconfigurable Computer O. D. Fidanci 1, D. Poznanovic 2, K. Gaj 3, T. El-Ghazawi 1, N. Alexandridis 1 1 George Washington.
Computer Architecture
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Parallel Computing Using FPGA ( Field Programmable Gate Arrays ) 15 th May, 2009 Studies in Parallel & Distributed Systems – Sohaib Ahmed.
Computers organization & Assembly Language Chapter 0 INTRODUCTION TO COMPUTING Basic Concepts.
1 HandleC ) prepared by: Mitra Khorram Abadi professor: Dr. Maziar Goudarzi A language based on ISO-C, extended for hardware design ( HandleC ) prepared.
Xilinx Programmable Logic Design Solutions Version 2.1i Designing the Industry’s First 2 Million Gate FPGA Drop-In 64 Bit / 66 MHz PCI Design.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
Hardware Implementation of a Memetic Algorithm for VLSI Circuit Layout Stephen Coe MSc Engineering Candidate Advisors: Dr. Shawki Areibi Dr. Medhat Moussa.
J. Christiansen, CERN - EP/MIC
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Array Synthesis in SystemC Hardware Compilation Authors: J. Ditmar and S. McKeever Oxford University Computing Laboratory, UK Conference: Field Programmable.
1 Fly – A Modifiable Hardware Compiler C. H. Ho 1, P.H.W. Leong 1, K.H. Tsoi 1, R. Ludewig 2, P. Zipf 2, A.G. Oritz 2 and M. Glesner 2 1 Department of.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
General Concepts of Computer Organization Overview of Microcomputer.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Computer Organization & Assembly Language © by DR. M. Amer.
Algorithm and Programming Considerations for Embedded Reconfigurable Computers Russell Duren, Associate Professor Engineering And Computer Science Baylor.
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
A Monte Carlo Simulation Accelerator using FPGA Devices Final Year project : LHW0304 Ng Kin Fung && Ng Kwok Tung Supervisor : Professor LEONG, Heng Wai.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Practice final exam Solutions ECE 448 Review Session.
FPGA-based Supercomputers
ECE 645 Spring 2007 PROJECT 2 Specification. Topic Options.
1 Chapter 2 Central Processing Unit. 2 CPU The "brain" of the computer system is called the central processing unit. Everything that a computer does is.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
THE MICROPROCESSOR A microprocessor is a single chip of silicon that performs all of the essential functions of a computer central processor unit (CPU)
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
SEPTEMBER 8, 2015 Computer Hardware 1-1. HARDWARE TERMS CPU — Central Processing Unit RAM — Random-Access Memory  “random-access” means the CPU can read.
CoDeveloper Overview Updated February 19, Introducing CoDeveloper™  Targeting hardware/software programmable platforms  Target platforms feature.
Introduction to High-Level Synthesis ECE 699: Lecture 12.
Programmable Logic Devices
Design Flow System Level
Reconfigurable Computing
I/O BUSES.
VHDL Introduction.
PC Buses & Standards Bus = Pathway across which data can travel. Can be established between two or more computer elements. PC has a hierarchy of different.
THE ECE 554 XILINX DESIGN PROCESS
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Digital Designs – What does it take
ADSP 21065L.
THE ECE 554 XILINX DESIGN PROCESS
Xilinx Alliance Series
Presentation transcript:

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Lecture 18 FPGA Boards & FPGA-based Supercomputers High Level Language (HLL) Design Methodology

2ECE 448 – FPGA and ASIC Design with VHDL Resources PCI PCI-X Reconfigurable Supercomputing T. El-Ghazawi, K. Gaj, D. Buell, D. Pointer Tutorial at the Supercomputing 2005 conference

3ECE 448 – FPGA and ASIC Design with VHDL FPGA Device Capacity Trends Year 1985 Xilinx Device Complexity XC MHz 1K gates XC MHz 250K gates Virtex 200 MHz 1M gates Virtex-II 450 MHz 8M gates Spartan 80 MHz 40K gates Spartan-II 200 MHz 200K gates Spartan MHz 5M gates XC MHz 7.5K gates Virtex-E 240 MHz 4M gates XC MHz 23K gates Virtex-II Pro 450 MHz 8M gates* Virtex MHz 16M gates* Virtex MHz 24M gates* Source:

George Mason University ECE 448 – FPGA and ASIC Design with VHDL FPGA Boards

5ECE 448 – FPGA and ASIC Design with VHDL General Architecture of an FPGA-Based Board BUS Processing Element (PE#0) Processing Element (PE#1) Processing Element (PE#N-1) COMMON MEMORY / INTERCONNECT NETWORK LOCAL MEMORY LOCAL MEMORY LOCAL MEMORY CLK BUS INTERFACE CONTROLLER I/O CARD

6ECE 448 – FPGA and ASIC Design with VHDL Reconfigurable Computing Boards Boards may have one or several interconnected FPGA chips Support different bus standards, e.g. PCI, PCI-X, USB, etc. May have direct real-time data I/O through a daughter board Boards may have local onboard memory (OBM) to handle large data while avoiding the system bus (e.g. PCI) bottleneck

7ECE 448 – FPGA and ASIC Design with VHDL Many boards per node can be supported Host program (e.g. C) to interface user (and  P) with board via a board API Driver API functions may include functionalities such as Reset, Open, Close, Set Clocks, DMA, Read, Write, Download Configurations, Interrupt, Readback Reconfigurable Computing Boards

8ECE 448 – FPGA and ASIC Design with VHDL Common Interface - PCI PCI = Peripheral Component Interconnect 32-bit bus 64-bit bus

9ECE 448 – FPGA and ASIC Design with VHDL PCI - Conventional hardware specifications 32-bit or 64-bit bus width MHz clock with synchronous transfers peak transfer rate of 133 MB per second for 32-bit bus width (33.33 MHz × 32 bits × (1 byte ÷ 8 bits) = 133 MB/s) peak transfer rate of 266MB/s for 64-bit bus width 32-bit address space (4 gigabytes) 32-bit port space 5-volt signaling

10ECE 448 – FPGA and ASIC Design with VHDL PCI-X (PCI eXtended) PCI-X doubles the width to 64-bit, revises the protocol, and increases the maximum signaling frequency to 133 MHz (peak transfer rate of 1014 MB/s) PCI-X 2.0 permits a 266 MHz rate (peak transfer rate of 2035 MB/s) and also 533 MHz rate, adds a 16-bit bus variant and allows for 1.5 volt signaling

11ECE 448 – FPGA and ASIC Design with VHDL Some Reconfigurable Boards Vendors ANNAPOLIS MICRO SYSTEMS, INC. ( University of Southern California -USC/ISI ( AMONTEC ( XESS Corporation ( CELOXICA ( CESYS ( TRAQUAIR ( SILICON SOFTWARE: ( COMPAQ: ( ALPHA DATA: ( Associated Professional Systems: ( NALLATECH: (

12ECE 448 – FPGA and ASIC Design with VHDL WILDSTAR™ II Pro Reproduced and displayed with permission

13ECE 448 – FPGA and ASIC Design with VHDL WILDSTAR™ II Pro Reproduced and displayed with permission

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Reconfigurable Supercomputers

15ECE 448 – FPGA and ASIC Design with VHDL Scalable Reconfigurable Systems Large numbers of reconfigurable processors and microprocessors Everything can be configured Functional units Interconnects Interfaces High-level of scalability Suitable for a wide range of applications Everything can be reconfigured over and over at run time (Run-Time Reconfiguration) to suite underlying applications Can be easily programmed by application scientists, at least in the same way of programming conventional parallel computers

16ECE 448 – FPGA and ASIC Design with VHDL Interface  P memory  P memory... PP PP I/O Interface FPGA memory FPGA memory... FPGA... I/O Microprocessor systemReconfigurable system Early Reconfigurable Architecture

17ECE 448 – FPGA and ASIC Design with VHDL Current Reconfigurable Architecture... Shared Memory and or NIC FPGA memory FPGA  P memory PP FPGA memory FPGA  P memory PP

18ECE 448 – FPGA and ASIC Design with VHDL Possible Classes of Reconfigurable Supercomputers μP BoardRP Board … μP 1μP N … RP 1RP N Joint μP/RP Board … μP 1μP N … RP 1RP N Tighter Integration Independent Board Design Joint Board Design

19ECE 448 – FPGA and ASIC Design with VHDL Possible Classes of Reconfigurable Supercomputers – cont. Tighter Integration μP inside of RP Design RP inside of μP Design Joint μP/RP Board μP 1 … RP 1 μP N RP N Joint μP/RP Board RP 1 … μP 1 RP N μP N

20ECE 448 – FPGA and ASIC Design with VHDL FPGA based supercomputers Machine Released SRC 6 from SRC Computers Cray XD1 from from Cray SGI Altix from SGI SRC 7 from SRC Computers, Inc,

21ECE 448 – FPGA and ASIC Design with VHDL How to choose the system that best suits your needs? Typical users’ criteria: 1. Clock speed 2. Amount of memory 3. Cost of Ownership

22ECE 448 – FPGA and ASIC Design with VHDL How to choose the system that best suits your needs? Recommended users’ criteria: 1.Tools - right level of abstraction - ease of development & verification - progress & backward compatibility 2. Libraries - basic operations - examples of full applications 3. Technical support

23ECE 448 – FPGA and ASIC Design with VHDL How to choose the system that best suits your needs? Recommended users’ criteria (cont.): 4. Data Bandwidth Reconfigurable Processor System  P system external I/O devices

24ECE 448 – FPGA and ASIC Design with VHDL How to choose the system that best suits your needs? Recommended users’ criteria (cont.): 5. Scalability - variable power and price - efficient communication among the modules

25ECE 448 – FPGA and ASIC Design with VHDL Recommended users’ criteria (cont.): 6. Transfer of control overhead Theoretical behavior Actual behavior PP FPGA time PP FPGA Control transfer overhead

George Mason University ECE 448 – FPGA and ASIC Design with VHDL High Level Language (HLL) Design Methodology Handel C

27ECE 448 – FPGA and ASIC Design with VHDL Behavioral Synthesis Algorithm I/O Behavior Target Library Behavioral Synthesis RTL Design Logic Synthesis Gate level Netlist Classic RTL Design Flow

28ECE 448 – FPGA and ASIC Design with VHDL Need for High-Level Design Higher level of abstraction Modeling complex designs Reduce design efforts Fast turnaround time Technology independence Ease of HW/SW partitioning

29ECE 448 – FPGA and ASIC Design with VHDL Advantages of Behavioral Synthesis Easy to model higher level of complexities Smaller in size source compared to RTL code Generates RTL much faster than manual method Multi-cycle functionality Loops Memory Access

30ECE 448 – FPGA and ASIC Design with VHDL High-Level Languages C/C++-Based Handel C – Celoxica Ltd., UK Impulse C – Impulse Accelerated Technologies Catapult C – Impulse Accelerated Technologies System C – The Open SystemC Initiative Java-based Forge – Xilinx JHDL – Brigham Young University

31ECE 448 – FPGA and ASIC Design with VHDL Other High-Level Design Flows Matlab-based System Generator for DSP – Xilinx AccelChip DSP Synthesis – AccelChip GUI Data-Flow based Corefire – Annapolis Microsystems RC Toolbox – DSPlogic

32ECE 448 – FPGA and ASIC Design with VHDL Handel C Design Flow

33ECE 448 – FPGA and ASIC Design with VHDL Design Flow Executable Specification Handel-C Synthesis Place & Route VHDL EDIF

34ECE 448 – FPGA and ASIC Design with VHDL Handel-C/ANSI-C Comparisons Preprocessors i.e. #define Structures ANSI-C Constructs for, while, if, switch Functions Arrays Pointers Arithmetic operators Bitwise logical operators Logical operators ANSI-C Standard Library Side Effects i.e. X = Y++ Recursion Floating Point Handel-C Standard Library Parallelism Arbitrary width variables RAM, ROM Signals Channels Interfaces Enhanced bit manipulation ANSI-CHANDEL-C

35ECE 448 – FPGA and ASIC Design with VHDL Variables Only one fundamental type for variables: int int 5 x; unsigned int 13 y; Default types char8 bits short16 bits long 32 bits

36ECE 448 – FPGA and ASIC Design with VHDL Type Summary TypeWidth char8 bits unsigned char8 bits short16 bits unsigned short16 bits long32 bits unsigned long32 bits intCompiler unsigned intCompiler int nn bits unsigned int nn bits unsigned nn bits

37ECE 448 – FPGA and ASIC Design with VHDL Arrays Same way as in ANSI-C int 6 x[7]; 7 registers of 6 bits wide unsigned int 6 x [4] [5] [6]; 120 registers of 6 bits wide Index must be a compile time constant. If random access is required, consider using RAM or ROM

38ECE 448 – FPGA and ASIC Design with VHDL Internal RAMs and ROMs Using ram and rom keywords ram int 6 a [43]; a RAM consisting of 43 entries of 6 bits wide rom int 16 b [4]; a ROM consisting of 4 entries of 16 bits wide RAMs and ROMs are accessed the same way that arrays are accessed in ANSI-C Index need not be a compile time constant

39ECE 448 – FPGA and ASIC Design with VHDL Restrictions on RAMs and ROMs RAMs and ROMs are restricted to performing operations sequentially. Only one element may be addressed in any given clock cycle ram unsigned int 8 x [4]; x [1] = x [3] + 1;illegal if (x [0] == 0) x [1] = 1;illegal

40ECE 448 – FPGA and ASIC Design with VHDL Multi-port RAMs static mpram Fred { ram ReadWrite[256]; (read/write port) rom Read[256]; (read only port) } Now we can read and write in a given clock cycle

41ECE 448 – FPGA and ASIC Design with VHDL Dual Port Memory

42ECE 448 – FPGA and ASIC Design with VHDL Handel-C Language (1) A subset of ANSI-C Sequential software style with a “par” construct to implement parallelism A channel “chan” statement allows for communication and synchronization between parallel branches Level of design abstraction is above RTL but below behavioral

43ECE 448 – FPGA and ASIC Design with VHDL Handel-C Language (2) Each assignment and delay statement take one clock cycle Automatic generation of the state machine from an algorithmic description of the circuit in terms of parallel and sequential blocks Automatic scheduling of parallel and sequential blocks, that is the code following a group is scheduled only after that whole group has completed

44ECE 448 – FPGA and ASIC Design with VHDL Parallelism Parallel blocks Statement

45ECE 448 – FPGA and ASIC Design with VHDL Par construct - Examples

46ECE 448 – FPGA and ASIC Design with VHDL Par constructs - timing

47ECE 448 – FPGA and ASIC Design with VHDL Par construct – shift register

48ECE 448 – FPGA and ASIC Design with VHDL Handel C vs. C - functions Functions may not be called recursively, since all logic must be expanded at compile-time to generate hardware You can only call functions in expression statements. These statements must not contain any other calls or assignments. Variable length parameter lists are not supported. Old-style ANSI-C function declarations (where the type of the parameters is not specified) are not supported. main() functions take no arguments and return no values. Each main() function is associated with a clock. If you have more than one main() function in the same source file, they must all use the same clock.

49ECE 448 – FPGA and ASIC Design with VHDL Handel-C Overview High-level language based on ISO/ANSI-C for the implementation of algorithms in hardware Allows software engineers to design hardware without retraining Clean extensions for hardware design including flexible data widths, parallelism and communications Based on Communicating Sequential Process model Independent parallel processes “par” construct to specify parallel computation blocks within a process Well defined timing model Each statement takes a single clock cycle Includes extended operators for bit manipulation, and high-level mathematical macros (including floating point)