IAY0600 DIGITAL SYSTEMS DESIGN Digital Systems Design Overwiev IAY0600 Course Labs` Organization XILINX ISE Design Suite Overwiev Dmitri Mihhailov Tallinn.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Programmable Logic Devices
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Foundation and XACTstepTM Software
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Digital System Design EEE344 Lecture 1 INTRODUCTION TO THE COURSE
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
CPE 169 Digital Design Laboratory Digilent Inc. Nexys Development Board.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Section I Introduction to Xilinx
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
PROGRAMMABLE LOGIC DEVICES (PLD)
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
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.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : Synthesis.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE Presenter: Shu-yen Lin Advisor: Prof. An-Yeu Wu 2005/6/6.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Computer Engineering 1502 Advanced Digital Design Professor Donald Chiarulli Computer Science Dept Sennott Square
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
IAY 0600 Digital Systems Design Digitaalsüsteemide disain Course Overview Alexander Sudnitson Tallinn University of Technology.
Introduction to Labs Wenchao Cao, Teaching Assistant Department of EECS University of Tennessee.
Teaching Digital Logic courses with Altera Technology
Survey of Reconfigurable Logic Technologies
Delivered by.. Love Jain p08ec907. Design Styles  Full-custom  Cell-based  Gate array  Programmable logic Field programmable gate array (FPGA)
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Introduction to Field Programmable Gate Arrays (FPGAs) EDL Spring 2016 Johns Hopkins University Electrical and Computer Engineering March 2, 2016.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Introduction to the FPGA and Labs
Maj Jeffrey Falkinburg Room 2E46E
EET 1131 Unit 4 Programmable Logic Devices
ASIC Design Methodology
Dept. of Electrical and Computer Engineering
IAY 0600 Digital Systems Design
Introduction to Programmable Logic
IAY0600 DIGITAL SYSTEMS DESIGN
IAY 0600 Digital Systems Design
ECE 4110–5110 Digital System Design
ENG3050 Embedded Reconfigurable Computing Systems
Electronics for Physicists
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Field Programmable Gate Array
Field Programmable Gate Array
Field Programmable Gate Array
Week 5, Verilog & Full Adder
ECNG 1014: Digital Electronics Lecture 1: Course Overview
Getting Started with Vivado
IAS 0600 Digital Systems Design with VHDL
ECE 699: Lecture 3 ZYNQ Design Flow.
Digital Fundamentals Tenth Edition Floyd Chapter 11.
HIGH LEVEL SYNTHESIS.
Programmable Logic- How do they do that?
Electronics for Physicists
THE ECE 554 XILINX DESIGN PROCESS
Digital Designs – What does it take
THE ECE 554 XILINX DESIGN PROCESS
IAS0600 DIGITAL SYSTEMS DESIGN
Presentation transcript:

IAY0600 DIGITAL SYSTEMS DESIGN Digital Systems Design Overwiev IAY0600 Course Labs` Organization XILINX ISE Design Suite Overwiev Dmitri Mihhailov Tallinn University of Technology

2 Digital Systems Design Implementation possibilities:  Application-specific integrated circuits (ASICs)  Programmable logic devices (CPLDs, FPGAs)  Processor  General purpose processors  Special purpose processors (DSP, GPU) Digital Systems Design is a trade-off:  Time-to-market  Cost  Silicon Area  Performance  Power consumption  Development Complexity

3 Application-specific integrated circuits ASIC is an integrated circuit that is specifically designed for certain application ASIC development flow:  Design  Verification  Fabrication  Packaging  Testing  Refabrication (errors, change in specification)  Software development

4 ASIC design technolgies Full Custom Gate Array Standard Cell Structured

5 Full Custom ASICs [1]  development from scratch  complete control over each layer  may include analog circuitry  special tools  highly complex and time consuming  allows highest optimization [1] custom_design

6 Gate array ASICs [2]  basic cells are premanufactured  only connections are needed  fabrication is done much faster and cheaper  standard tools and component libraries  lower density and performance  almost obsolete [2] Clive Maxfiel, Bebop to the Boolean Boogie. An Unconventional Guide to Electronics, 2nd Edition, Newnes, 2003

7 Standard cells ASICs [2]  standard cells are predesigned  finding optimal placement and routing is needed  full fabrication cycle  standard tools and component libraries  close to optimal  higher abstraction  IP cores  dominant technique [2] Clive Maxfiel, Bebop to the Boolean Boogie. An Unconventional Guide to Electronics, 2nd Edition, Newnes, 2003

8 Structured ASICs [3]  premanufactured base tiles/modules and RAMs, PLLs, clock trees, etc.  only connections are needed  fabrication is done much faster and cheaper  standard tools and component libraries  lower performance [3] Clive Maxfield. (2004) The Design Warrior's Guide to FPGAs, Academic Press, Inc. Orlando, FL, USA

9 Programmable logic device technolgies Complex Programmable Logic Devices (CPLDs) Field Programmable Gate Arrays (FPGAs) Simple Programmable Logic Devices (SPLDs)  PROM  PLA  PAL  etc.

10 Simple programmable logic device [3] [3] Clive Maxfield. (2004) The Design Warrior's Guide to FPGAs, Academic Press, Inc. Orlando, FL, USA Programmable logic array (PLA)  allows Sum of Products (SoP) implementation

11 Complex programmable logic device [4] [4] CoolRunner-II CPLD Family Data Sheet, DS090 (v3.1). September 11, 2008

12 Field-programmable gate array (1) FPGA is an integrated circuit that contains (re)configurable blocks of logic and (re)configurable interconnect. FPGA development flow:  Design  Verification (functional and hardware)  Redesign (errors, change in specification)  Software development Field-programmable means that (re)configuration can be done “in field” (even when device is already deployed)

13 Conceptual structure of an FPGA [5] [5] Chu, P. P. (2008) References, in FPGA Prototyping by VHDL Examples: Xilinx Spartan™-3 Version, John Wiley & Sons, Inc., Hoboken, NJ, USA

14 Three-input LUT-based logic cell [5] [5] Chu, P. P. (2008) References, in FPGA Prototyping by VHDL Examples: Xilinx Spartan™-3 Version, John Wiley & Sons, Inc., Hoboken, NJ, USA

15 Three-input LookUp Table (LUT) (1) [3] [3] Clive Maxfield. (2004) The Design Warrior's Guide to FPGAs, Academic Press, Inc. Orlando, FL, USA

16 Three-input LookUp Table (LUT) (2)

17 Three-input LookUp Table (LUT) (3)  write out Sum of Products (SoP) and product of Sums (PoS) representations

18 Field-programmable gate array (2) The main FPGA manufacturers:  Xilinx and Altera ??? (acquired by Intel)  Lattice, Microsemi (Actel), SiliconBlue, Achronix, QuickLogic, Tabula (approx. 20% of the market) Other FPGA components:  Dedicated carry logic and interconnect  Embedded RAMs (dual-port)  DSP blocks (dedicated adder, multipliers, etc.)  Processor cores  Dedicated clock tree and clock managers  Configurable GPIOs (voltage, impedance)  Gigabit transceivers  SRAM-based configuration (also FLASH-based)

19 ASICs vs FPGAs FPGA can be used to prototype ASIC  Time-to-market  Cost  Silicon Area  Performance  Power consumption  Development Complexity Faster for FPGA (no fabrication required) FPGA is cheaper for low-volume production ASICs need less for the same functionality ASICs generally offer better performance ASICs are more power efficient FPGAs are easier to design with

20 FPGAs vs Processors On the whole Processors tend to be a better option (if applicable)  Cost, Silicon Area, Power consumption  Time-to-market  Performance  Development Complexity Comparable Faster for Processors (only software is required) FPGAs outperform only in case of massive parallelism Processors are easier to design with

21 Designing Digital Systems Digital Design entry:  Schematic  HDLs (VHDL, Verilog, SystemVerilog)  High-level synthesis (C, C++, SystemC) Digital Design with HDLs:  Logic gate level  Register Transfer Level (RTL)  Use synthesizable SUBSET of HDL Designer should “help” the tool:  Consider the technology  Employ recommended coding style  Be as specific and clear as possible

22 Designing with FPGAs FPGAs are likely to benefit from logic redundancy-based techniques:  pipelining, one-hot FSM state encoding, resource duplication instead of sharing, etc. Logic gate-based optimization are likely to be inefficient for FPGAs  LUTs are used to implement combinational logic Asynchronous design is generally not suited for FPGAs  avoid use of latches, asynchronous structures, combinational loops, etc.

IAY0600 DIGITAL SYSTEMS DESIGN IAY0600 DIGITAL SYSTEMS DESIGN LABS Dmitri Mihhailov Tallinn University of Technology

24 Digital Systems Design Labs Staff Lecturer:  Alexander Sudnitson (associate professor)   ICT-503 ( ) Lab Assistant:  Dmitri Mihhailov (research scientist)   ICT-505 (no phone) Technical Assistant:  Artjem Rjabov (early stage research scientist)   ICT-512 ( )

25 Lab Time:  GROUP A  Wednesdays 16: :30 (primary time)  ICT-502AB  GROUP B  Wednesdays 17: :15 (reserve time)  ICT-405 IAY0600 Digital Systems Design Labs (1) Lab Room:  ICT-502AB (~ 30 working places)  ICT-405 (15 working places)  Lab PCs require the same password that is used to access other computers in TUT network

26 The lab course consists of 10 labs:  Tutorial (essentially not a lab)  Set of compulsory labs (4 labs)  Set of optional labs (5 labs) IAY0600 Digital Systems Design Labs (2) Lab Course webpage:   IAY0600l Digital Systems Design (WORKSHOPS)  The target lab course:  LABS SET I (Xilinx FPGA-based)

27 Optional labs:  Form the advanced core of the course  NOT REQUIRED to pass the course  Increase the final grade Overview of the Lab Types Compulsory labs:  Form the basic core of the course  MUST be completed within deadline  Yield minimum positive final grade  Allow possibility to attend the exam Tutorials:  Introduce the working flow of design tools  Optional

28 Optional labs (+60 points in total):  Lab 6 (Finite State Machine) +20 pts.  Lab 7 (Greatest Common Divisor) +10 pts.  Lab 8 (Linear Feedback Shift Register) +10 pts.  Lab 9 (Creeping Line) +10 pts.  Lab 10 (RISC Processor) +10 pts. LABS SET I (Xilinx FPGA-based) Lab 1 (Tutorials) Compulsory labs (+30 points):  Lab 2 (Comparator)  Lab 3 (Adder)  Lab 4 (Parameterizable Adder)  Lab 5 (Shift Register)

29 List of General Lab Requirements General lab requirements (NOT final):  The deadline is 16 th week (all labs)  One extra DEFENSE ONLY session may be added during the first week of examination session  Labs are done either INDIVIDUALLY, or in teams of TWO students  Labs are passed in the same order as they are listed on the webpage  Lab manuals DO NOT feature all the necessary information for solving the task  Some lab manuals feature TASK description and EXAMPLE solution of a similar task

30 Step 3 (Defense, INDIVIDUAL):  Book a slot for defense during lab session  Be ready to answer ANY questions How to Pass a Lab Step 1 (Visual Demonstration):  Working prototype is examined for functional correctness during lab session Step 2 (Report, INDIVIDUAL):  Submit the following to (cc:  Lab report (PDF)  Source files (*.vhd, *.sch, *.ucf)  Wait for acknowledgment of acceptance

31 How to Write a Report Reports are written in FREE form The goals of lab report:  Document the workflow  Describe the results and their significance  Demonstrate writer’s comprehension List of topics to cover in the report:  Introduction  Background  Workflow  Results and discussion  Conclusion (including feedback)  References and appendices

32 List of General Report Requirements General report requirements (NOT final):  Lab report MUST feature things that are specifically required to be included in the task  All objects in the text MUST be numbered, labeled and referenced  All concepts, statements, results MUST be explicitly described in verbal form within text  Complete source codes MUST NOT be part of the report (even in appendices)  Functional simulation MUST always be performed and described

33 Design Tools and Equipment in the Lab FPGA boards:  Digilent Nexys-3 (Xilinx Spartan-6 FPGA)  used for labs 2-5  Digilent ZedBoard (Xilinx Zynq-7020 FPGA)  used for labs 5-10  replaced with Digilent Nexys-4 (Xilinx Artix-7 FPGA ) Xilinx Design Software:  ISE Design Suite (7-series and older)  System Edition (in the lab )  WebPACK Edition (free)  Vivado Design Suite (7-Series and newer)  System Edition (in the lab)  WebPACK Edition (free)

IAY0600 DIGITAL SYSTEMS DESIGN XILINX ISE DESIGN SUITE OVERVIEW Dmitri Mihhailov Tallinn University of Technology

35 Xilinx ISE Design Suite Project Navigator GUI:  Sources window (top left)  Processes window (middle left)  Workspace window (top right)  Console Message window (bottom) Project Navigator tools:  PlanAhead  ISim  XPower Analyzer  iMPACT Project Navigator is graphical interface for project and design management

36 Project Navigator GUI

37 Project Navigator Sources Window 1 Design views  Implementation  Simulation 2 Top-level module marker 1 2

38 Project Navigator Processes Window (1) Main design processes:  Design Summary  Design Utilities  User Constraints

39 UCF Pin Assignment in Text Editor Format of Pin Assignment in UCF: NET “design_pin_name” LOC = FPGA_pin_number;

40 Project Navigator Processes Window (2) Synthesize process:  Performs logic synthesis (HDL constructs are transformed to generic digital components)  View RTL and Technology Schematics  Check Syntax  Generate Post-Synthesis Simulation Model

41 Project Navigator Processes Window (3) Implement Design processes:  Translate - creates a single design netlist  Map - maps logic to FPGA components  PaR - derives physical layout within FPGA  Generate Post-... Simulation Model  Timing and Power Analysis

42 Xilinx XPower Analyzer XPower Analyzer tool overview:  Report thermal information  Report static and dynamic power consumption  Identify areas where power can be reduced

43 Project Navigator Processes Window (4) Generate Programming file process:  Set FPGA start-up clock to JTAG Clock Configure target device process:  iMPACT tool Analyze Design process:  ChipScope tool

44 Xilinx iMPACT Configuration Tool Configure FPGA device:  Select Boundary Scan iMPACT flow  Initialize JTAG chain  Set appropriate *.bit file to FPGA (skip SPI/BPI)  Program FPGA device

45 Project Navigator Processes Window (5) Simulation process:  ISim tool Simulation view:  Simulate design at different steps in design flow

46 Xilinx ISim Simulator Tool 1 ISim Simulator windows:  Simulation Objects (no variables)  Instances and Processes  Waveform 2 Re-launch button 2 1

47 Project Navigator Workspace Window 1 Language Templates 2 Float Window 1 2

48 Project Navigator Console Window Console views:  Console (shows all messages)  Errors (shows only error messages)  Warnings (shows only warning messages)

49 Nexys-3 FPGA Board (1) [6] Nexys-3 FPGA board features:  Xilinx Spartan-6 XC6LX16-CS324-3  Total of 48Mbytes of external memory  10/100 Ethernet port  micro USB port for power and programming  micro USB UART port  Type-A USB host port  VGA port  Four Pmod and one VHDC GPIO connectors  Eight slide switches, five push buttons and eight LEDs, four-digit seven-segment display  100MHz fixed-frequency oscillator [6] Nexys 3 FPGA Board Reference Manual, Digilent Inc., April 11, 2016.

50 Nexys-3 FPGA Board (2) [6] [6] Nexys 3 FPGA Board Reference Manual, Digilent Inc., April 11, 2016.