CPRE 583 Reconfigurable Computing

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

Modern VLSI Design 3e: Chapter 10 Copyright  2002 Prentice Hall Adapted by Yunsi Fei ECE 300 Advanced VLSI Design Fall 2006 Lecture 24: CAD Systems &
1 - ECpE 583 (Reconfigurable Computing): State Machines (Part 2) Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lect 5: Tues 9/9/2008 (State.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Foundation and XACTstepTM Software
1 Chapter 7 Design Implementation. 2 Overview 3 Main Steps of an FPGA Design ’ s Implementation Design architecture Defining the structure, interface.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Digital System Design EEE344 Lecture 1 INTRODUCTION TO THE COURSE
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
1 - ECpE 583 (Reconfigurable Computing): Placing Applications onto FPGAs, Part II Iowa State University (Ames) ECpE 583 Reconfigurable Computing Lecture.
1 - ECpE 583 (Reconfigurable Computing): Course overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 1: Wed 8/24/2011 (Course.
1 - CPRE 583 (Reconfigurable Computing): Exam 1 Review Session Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Wed 10/5/2011.
Xilinx Development Software Design Flow on Foundation M1.5
ELEC692/04 course_des 1 ELEC 692 Special Topic VLSI Signal Processing Architecture Fall 2004 Chi-ying Tsui Department of Electrical and Electronic Engineering.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
1 - CPRE 583 (Reconfigurable Computing): Reconfigurable Computing Systems Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 8: Wed.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
1 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 11: Wed 9/28/2011.
Introduction to FPGA Tools
1 - ECpE 583 (Reconfigurable Computing): Map, Place & route Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Wed 12/8/2010 (Map,
1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 13: Fri 10/8/2010.
FPGA CAD 10-MAR-2003.
1 - CPRE 583 (Reconfigurable Computing): System Architectures Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 21: Fri 11/4/2011.
1 - ECpE 583 (Reconfigurable Computing): CoreGen Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 18: Wed 10/26/2011 (CoreGen.
1 - CPRE 583 (Reconfigurable Computing): Floating Point Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 18: Fri 10/27/2010 (Floating.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
1 - CPRE 583 (Reconfigurable Computing): Streaming Applications Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 10: Fri 11/13/2009.
1 - ECpE 583 (Reconfigurable Computing): Midterm Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 17: Wed 10/21/2011 (Midterm.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Introduction to the FPGA and Labs
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Topics The logic design process..
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Introduction to cosynthesis Rabi Mahapatra CSCE617
Reconfigurable Computing
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
Instructor: Dr. Phillip Jones
Embedded systems, Lab 1: notes
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
CPRE 583 Reconfigurable Computing Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
VHDL Introduction.
Instructor: Dr. Phillip Jones
HIGH LEVEL SYNTHESIS.
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
CPRE 583 Reconfigurable Computing
Instructor: Dr. Phillip Jones
Instructor: Dr. Phillip Jones
THE ECE 554 XILINX DESIGN PROCESS
Digital Designs – What does it take
THE ECE 554 XILINX DESIGN PROCESS
(Lecture by Hasan Hassan)
Instructor: Dr. Phillip Jones
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

CPRE 583 Reconfigurable Computing Lecture 8: 9/17/2010 (VHDL to FPGA: A Tool Flow Overview ) Instructor: Dr. Phillip Jones (phjones@iastate.edu) Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA http://class.ece.iastate.edu/cpre583/

Announcements/Reminders HW2: will be released by 5pm Friday MP2: Make sure to get starting ASAP! Make sure to read the README file in the MP2 distribution Contains info on how to fix a Gigabit core licensing issue ISE has Mini literary survey PowerPoint tree due Today. Final 5-10 page write up on your tree due: Fri 9/24 midnight. Should tell the story of your literary tree Week extension for those that decide today they may what to do a survey on today’s topic

Literary Survey Start with searching for papers from 2007-2010 on IEEE Xplorer: http://ieeexplore.ieee.org/ Advanced Search (Full Text & Meta data) Find popular cross references for each area For each area try to identify 1 good survey papers For each area Identify 2-3 core Problems/issues For each problem identify 2-3 Approaches for addressing For each approach identify 1-2 papers that Implement the approach.

Literary Survey: Example Structure Network Intrusion Detection P1 P2 P3 A1 A2 A3 A1 A2 A1 A2 I1 I1 I2 I1 I1 I1 I1 I2 I1 5-10 page write up on your survey tree

Fall 2010 Student Example Network Intrusion Detection Systems detection accuracy signatures The Study on Network Intrusion Detection System of Snort heuristics An FPGA-Based Network Intrusion Detection Architecture adaptability to new threats neural networks Network Intrusion Detection Method Based on Radial Basic Function Neural Network principal component analysis An Efficient FPGA Implementation of Principle Component Analysis based Network Intrusion Detection System support vector machine Network Intrusion Detection Based on Support Vector Machine Network Intrusion Detection Method Based on Agent and SVM

Common Questions

Common Questions

Common Questions

Common Questions

Overview Introduction to mapping VHDL to FPGA hardware What you should learn What are the major steps? What is the basic purpose of each step?

Major Steps Input Hardware Description Langue (HDL) Synthesis Map Place & Route Hardware configuration file generation

Graphical flow Implement Simulate Synthesize Map Place Route Download

Major Steps (Text: Chapters 13-20) Z <= (A and B) or C; Input VHDL description Z A B Transform VHDL into primitive gates (synthesis) C LUT A B C Z Transform primitive to technology dependent primitives (MAP) Associate primitive with specific Instances, and connect using Routing resources (PAR) LUT A B C Z Encode placement and routing description into a configuration file for programming a specific FPGA type 000 A B C 101 Z

High Level Design Description VHDL Verilog C type languages (e.g. handle C) Typically auto transformed into VHDL or Verilog Schematic capture (I believe ISE has this option) Gate level (connecting structural components) Statemachine bubble diagrams High level graphical Simulink/System Generator (Xilninx) Simulink/DSP Builder (Altera) http://www.youtube.com/watch?v=dSxqM7S2upA System on chip embedded system design Xilinx EDK: http://www.youtube.com/watch?v=STGiqlBRVms Altera SoPC:

Synthesis Application of Boolean logic theory Technology independent representation EDIF (Electronic Design Interchange Format) Technology independent optimization Combinational optimization 2-level Multi-level Sequential optimization FSM state reduction retiming

EDIF representation Gives a standard means to target a design to different vendors Example EDIF file http://en.wikipedia.org/wiki/EDIF

Combinational Optimization This is a major area of active research! ABC from Berkeley provides and open source tool http://www.eecs.berkeley.edu/~alanmi/abc/ This is a great starting place if you think you maybe interested in pursuing research in VLSI Computer Automation Design Tool development. I plan to try to incorporate this tool in an homework assignment later in the semester.

MAP (Technology Mapping: Chapter 13) Translate device independent net list to device specific resources (for FPGAs a common device specific resource is a LUT) Structural: Maintains structure Functional: Will modify structure for optimization A Z LUT A Z B B C C

PAR (Place and Route: Chapters 14-17) Place: Text Chapters 14 and 16 fundamentals Route: Text Chapter 17 fundamentals Tools and Challenge VPR: http://www.eecg.toronto.edu/~vaughn/vpr/vpr.html Pathfinder: (looking for some open source) Open challenge (make some money?) http://www.eecg.toronto.edu/~vaughn/challenge/challenge.html

Place (Chapter 17) Bind each mapped resources to a physical device location General Purpose Placing resources without knowledge of high level structure. Guided by local connection between resources Structured Guided Makes assumptions about the structure of the circuit to guide placement. If circuit does not follow assumption will like give poor placement User Guided Layout User provides guidance to the algorithm to help with placement Some way to provide this information VHDL directives (e.g. relative location constraints RLOC) GUI-based (e.g. Xilinx Floor Planner) Can help to remove critical paths, and greatly decrease tool running time

Route (Text: Chapter 17) Connect placed resources together Two requirements Design must be completely routed Routed design meets timing requirements Widely used algorithm “PathFinder” PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs PathFinder (FPGA’95) McMurchie and Ebeling Reconfigurable Computing (Chapter 17) Scott Hauch, Andre Dehon (2008)

Place & Route: How hard is it? Let’s take a look at MP1’s layout

Configuration File Generation (Text: Chapter 19) Convert place & routed design into a device configuration file (e.g. bitfile for Xilinx devices) Download the configuration file to the FPGA

Next Class Short History of Reconfigurable computing

Questions/Comments/Concerns Write down Main point of lecture One thing that’s still not quite clear If everything is clear, then give an example of how to apply something from lecture OR