George Mason University ECE 448 – FPGA and ASIC Design with VHDL Practice final exam Solutions ECE 448 Review Session.

Slides:



Advertisements
Similar presentations
Digital System Design Subject Name : Digital System Design Course Code : IT-314.
Advertisements

FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Survey of Reconfigurable Logic Technologies
Programmable Logic Devices
History TTL-logic PAL (Programmable Array Logic)
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
02/02/20091 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
Programmable logic and FPGA
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
ECE 331 – Digital System Design Course Introduction and VHDL Fundamentals (Lecture #1)
Simple Testbenches Behavioral Modeling of Combinational Logic
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Overview of Modern FPGAs ECE 448 Lecture 14.
Features of Modern FPGAs
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
הטכניון - מכון טכנולוגי לישראל הפקולטה להנדסת חשמל Technion - Israel institute of technology department of Electrical Engineering Virtex II-PRO Dynamical.
General FPGA Architecture Field Programmable Gate Array.
® ChipScope ILA TM Xilinx and Agilent Technologies.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
Ross Brennan On the Introduction of Reconfigurable Hardware into Computer Architecture Education Ross Brennan
George Mason University ECE 448 – FPGA and ASIC Design with VHDL High Level Language (HLL) Design Flow Reconfigurable Supercomputers ECE 448 Lecture 21.
Highest Performance Programmable DSP Solution September 17, 2015.
ASIC 120: Digital Systems and Standard-Cell ASIC Design Tutorial 4: Digital Systems Concepts November 16, 2005.
George Mason University FPGA Memories ECE 448 Lecture 13.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
Introduction to Programmable Logic Devices John Coughlan RAL Technology Department Electronics Division.
Electronics in High Energy Physics Introduction to Electronics in HEP Field Programmable Gate Arrays Part 1 based on the lecture of S.Haas.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
Introduction to Programmable Logic Devices Edward Freeman STFC Technology Department Detector & Electronics Division.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
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.
ECE 449: Computer Design Lab Coordinator: Kris Gaj TAs: Tuesday session: Pawel Chodowiec Thursday session: Nghi Nguyen.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Lecture 18 FPGA Boards & FPGA-based Supercomputers High Level Language (HLL) Design Methodology.
Introduction to Programmable Logic Devices John Coughlan STFC Technology Department Detector & Electronics Division.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
George Mason University ECE 545 – Introduction to VHDL Variables, Functions, Memory, File I/O ECE 545 Lecture 7.
EE3A1 Computer Hardware and Digital Design
VHDL Very High Speed Integrated Circuit Hardware Description Language Shiraz University of shiraz spring 2011.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
HARDWARE DESCRIPTION LANGUAGE (HDL). What is HDL? A type of programming language for sampling and modeling of electronic & logic circuit designs It can.
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.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Introduction to FPGA Tools
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
FPGA-based Supercomputers
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
George Mason University Simple Testbenches ECE 545 Lecture 4.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
CDA 4253 FGPA System Design Xilinx FPGA Memories
Digital Design Using VHDL and PLDs ECOM 4311 Digital System Design Chapter 1.
Lecture 10 Xilinx FPGA Memories Part 1
Survey of Reconfigurable Logic Technologies
George Mason University ECE 448 – FPGA and ASIC Design with VHDL FPGA Devices ECE 448 Lecture 5.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
Introduction to High-Level Synthesis ECE 699: Lecture 12.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
High-Level Synthesis.
Programmable Logic Devices
Introduction to Programmable Logic
Electronics for Physicists
Programmable Logic Memories
Programmable Logic Memories
Electronics for Physicists
Programmable logic and FPGA
Presentation transcript:

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Practice final exam Solutions ECE 448 Review Session

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 1

3ECE 448 – FPGA and ASIC Design with VHDL High-Level Languages C-Based System level languages Commercial SystemC -- The Open SystemC Initiative Handel C -- Celoxica Ltd. Impulse C -- Impulse Accelerated Technologies Research Streams-C -- Los Alamos National Laboratory SA-C -- Colorado State University, University of California, Riverside, Khoral Research, Inc. SpecC – University of California, Irvine and SpecC Technology Open Consortium

4ECE 448 – FPGA and ASIC Design with VHDL Other High-Level Design Flows Matlab-based AccelChip DSP Synthesis -- AccelChip System Generator for DSP -- Xilinx GUI Data-Flow based Corefire -- Annapolis Microsystems Java-based Commercial Forge -- Xilinx Research JHDL – Brigham Young University

5ECE 448 – FPGA and ASIC Design with VHDL Two major high-level language (HLL) programming models SRC 6 & SRC 7 from SRC Computers Cray XD1 from from Cray SGI Altix from SGI SRC MAP C programming model Mitrion-C programming model

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 2

7ECE 448 – FPGA and ASIC Design with VHDL Most advanced reconfigurable computing machines currently on the market Machine Released SRC 6 from SRC Computers Cray XD1 from from Cray SGI Altix from SGI SRC 7 from SRC Computers, Inc,

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 3

9ECE 448 – FPGA and ASIC Design with VHDL Introduction CAD tools provide several advantages Ability to evaluate complex conditions in which solving one problem creates other problems Use analytical methods to assess the cost of a decision Use synthesis methods to help provide a solution Allows the process of proposing and analyzing solutions to occur at the same time Electronic Design Automation Using CAD tools to create complex electronic designs (ECAD) Several companies who specialize in EDA Synopsys® Cadence® Design Systems Magma® Design Automation Inc. Mentor Graphics® CAD Tools Allow Large Problems to be Solved

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 4

11ECE 448 – FPGA and ASIC Design with VHDL Wireload model basics (2)

12ECE 448 – FPGA and ASIC Design with VHDL Wireload model basics (1)

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 5

14ECE 448 – FPGA and ASIC Design with VHDL Physical Verification Checks the design for fabrication feasibility and physical defects that could result in the design to not function properly 3 checks (DRC, ERC, and LVS) Design Rule Checks (DRC) Verifies that design does not violate any fabrication rules associated with the target process technology (metal width/space, antenna ratio, etc) Electrical Rules Checks (ERC) Verifies that there are no short or open circuits with power and ground as well as resistors/capacitors/transistors with floating nodes (part of LVS) Layout Versus Schematic (LVS) Final physical design matches the logical (schematic) version in terms of correct connectivity and number of electrical devices Hercules™ is the Sign-Off Tool for Physical Verification

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 6

16ECE 448 – FPGA and ASIC Design with VHDL Technology File Layer and via Definitions Process design rules (Minimum metal widths and spacing) Resistance / Capacitance parasitic models Units (Time / Capacitance / Distance) GUI display information (Colors and fill template for layers) This file is stored in the design library (Common Database)

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 7

18ECE 448 – FPGA and ASIC Design with VHDL Xilinx Spartan-3 Block RAM Port Aspect Ratios

19ECE 448 – FPGA and ASIC Design with VHDL

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 8

21ECE 448 – FPGA and ASIC Design with VHDL

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 9

23ECE 448 – FPGA and ASIC Design with VHDL

24ECE 448 – FPGA and ASIC Design with VHDL SONET Virtex-4 RocketIO™ Full-duplex serial transceiver blocks with integrated SERDES and Clock and Data Recovery 622 Mbps to >10 Gbps I/O Widest speed range Compatible with Virtex-II Pro Supports chip-to-chip, backplane, chip-to-optics Multi-Gigabit Transceivers

25ECE 448 – FPGA and ASIC Design with VHDL

26ECE 448 – FPGA and ASIC Design with VHDL Microprocessor & Ethernet PowerPC405EMAC EMAC Hard EMACs Ethernet Media Access Controller EMAC with PowerPC PowerPC runs Protocol Stacks EMAC used to debug and control PPC or PPC to configure and control the EMAC EMAC without PowerPC Any application with control state machine or soft processor in the FPGA fabric Two EMACs per PowerPC Redundancy Bridging Hard Ethernet Controller saves 6000 slices

27ECE 448 – FPGA and ASIC Design with VHDL Dedicated Circuits in FPGAs “Hard” cores offer density, speed, lower power Equal to 90-nm ASICs, but far less expensive Expandable, pipelined Multiplier/Accumulator Dual-ported BlockRAM with FIFO controller ChipSynch I/O serializer/ deserializer + IDELAY Multi-Gigabit transceivers, 0.6 to 11 Gbps PowerPC µProcessor and Ethernet controller Dedicated circuits provide a big performance boost

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 10

29ECE 448 – FPGA and ASIC Design with VHDL

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 11

31ECE 448 – FPGA and ASIC Design with VHDL Customary schematic for a PLA f 1 P 1 P 2 f 2 x 1 x 2 x 3 OR plane AND plane P 3 P 4

32ECE 448 – FPGA and ASIC Design with VHDL Programmable Array Logic f 1 P 1 P 2 f 2 x 1 x 2 x 3 AND plane P 3 P 4

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 12

34ECE 448 – FPGA and ASIC Design with VHDL The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN Copyright © 2004 Mentor Graphics Corp. ( A generic structure of CPLD (Complex Programmable Logic Device)

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 13

36ECE 448 – FPGA and ASIC Design with VHDL The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN Copyright © 2004 Mentor Graphics Corp. ( Frequency Synthesis

37ECE 448 – FPGA and ASIC Design with VHDL DLL vs PLL DLL is a rugged & reliable digital circuit PLL is a more sensitive linear circuit Voltage-controlled Oscillator needs clean supply DLL has unavoidable jitter PLL can reduce jitter, But only if carefully designed and supplied Frequency Multiplication is easier with PLL PLL supply filtering can be very difficult

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 14

39ECE 448 – FPGA and ASIC Design with VHDL Reconfiguration Interfaces in Xilinx FPGAs SelectMap (8 bits Parallel) JTAG Internal Port ICAP (Virtex-II)

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 15

41ECE 448 – FPGA and ASIC Design with VHDL The Design Warrior’s Guide to FPGAs Devices, Tools, and Flows. ISBN Copyright © 2004 Mentor Graphics Corp. (

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 16

43ECE 448 – FPGA and ASIC Design with VHDL Procedures – basic features Procedures do not return a value are called using formal and actual parameters the same way as components may modify parameters passed to them each parameter must have a mode: IN, OUT, INOUT parameters can be constants (including generics), signals (including ports), and variables; the default for inputs (mode in) is a constant, the default for outputs (modes out and inout) is a variable when passing parameters, range specification should be included (for example RANGE for INTEGERS, and TO/DOWNTO for STD_LOGIC_VECTOR) Procedure calls are statements on their own

44ECE 448 – FPGA and ASIC Design with VHDL Functions – basic features Functions always return a single value as a result are called using formal and actual parameters the same way as components never modify parameters passed to them parameters can only be constants (including generics) and signals (including ports); variables are not allowed; the default is a CONSTANT when passing parameters, no range specification should be included (for example no RANGE for INTEGERS, or TO/DOWNTO for STD_LOGIC_VECTOR) are always used in some expression, and not called on their own

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 17

46ECE 448 – FPGA and ASIC Design with VHDL Typical locations of subprograms FUNCTION / PROCEDURE PACKAGE PACKAGE BODY LIBRARY global ARCHITECTURE Declarative part local for a given architecture ENTITY local for all architectures of a given entity

47ECE 448 – FPGA and ASIC Design with VHDL Package containing a function (1) LIBRARY IEEE; USE IEEE.std_logic_1164.all; PACKAGE specialFunctions IS FUNCTION Pow( SIGNAL N: INTEGER; Exp : INTEGER) RETURN INTEGER; END specialFunctions

48ECE 448 – FPGA and ASIC Design with VHDL Package containing a function (2) PACKAGE BODY specialFunctions IS FUNCTION Pow(SIGNAL N: INTEGER; Exp : INTEGER) RETURN INTEGER IS VARIABLE Result : INTEGER := 1; BEGIN FOR i IN 1 TO Exp LOOP Result := Result * N; END LOOP; RETURN( Result ); END Pow; END specialFunctions

George Mason University ECE 448 – FPGA and ASIC Design with VHDL Part I Problem 18

50ECE 448 – FPGA and ASIC Design with VHDL Operator overloading Operator overloading allows different argument types for a given operation (function) The VHDL tools resolve which of these functions to select based on the types of the inputs This selection is transparent to the user as long as the function has been defined for the given argument types.

51ECE 448 – FPGA and ASIC Design with VHDL Different declarations for the same operator - Example Declarations in the package ieee.std_logic_unsigned: function “+” ( L: std_logic_vector; R:std_logic_vector) return std_logic_vector; function “+” ( L: std_logic_vector; R: integer) return std_logic_vector; function “+” ( L: std_logic_vector; R:std_logic) return std_logic_vector;