VHDL Synthesis in FPGA By Zhonghai Shi February 24, 1998 School of EECS, Ohio University.

Slides:



Advertisements
Similar presentations
EDA Lab. Dept. of Computer Engineering C. N. U. 1 SYNTHESIS Issues in synthesizable VHDL descriptions (from VHDL Answers to FAQ by Ben Cohen)
Advertisements

Basic HDL Coding Techniques
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
FPGA and ASIC Technology Comparison - 1 © 2009 Xilinx, Inc. All Rights Reserved FPGA and ASIC Technology Comparison, Part 2.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Lecture 15 Finite State Machine Implementation
Implementation Strategies
Spartan-3 FPGA HDL Coding Techniques
A Digital Circuit Toolbox
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Altera FLEX 10K technology in Real Time Application.
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.
© 2003 Xilinx, Inc. All Rights Reserved Architecture Wizard and PACE FPGA Design Flow Workshop Xilinx: new module Xilinx: new module.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Evolution of implementation technologies
©2010 Cengage Learning Engineering. All Rights Reserved.10-0 Introduction to VHDL PowerPoint Presentation © Cengage Learning, Engineering. All Rights.
Foundation and XACTstepTM Software
1. 2 FPGAs Historically, FPGA architectures and companies began around the same time as CPLDs FPGAs are closer to “programmable ASICs” -- large emphasis.
Introduction to FPGA’s FPGA (Field Programmable Gate Array) –ASIC chips provide the highest performance, but can only perform the function they were designed.
ALTERA UP2 Tutorial 1: The 15 Minute Design. Figure 1.1 The Altera UP 1 CPLD development board. ALTERA UP2 Tutorial 1: The 15 Minute Design.
© 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.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
StateCAD FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe how.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
Finite State Machines. Binary encoded state machines –The number of flip-flops is the smallest number m such that 2 m  n, where n is the number of states.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Introduction to FPGA AVI SINGH. Prerequisites Digital Circuit Design - Logic Gates, FlipFlops, Counters, Mux-Demux Familiarity with a procedural programming.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
Introduction to Design Tools COE Review: Tools, functions, design flow Four tools we will use in this course – HDL Designer Suite FPGA Advantage.
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.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Xilinx Development Software Design Flow on Foundation M1.5
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
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.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
Programmable Logic Training Course HDL Editor
CPE 626 Advanced VLSI Design Lecture 6: VHDL Synthesis Aleksandar Milenkovic
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Tools - Design Entry - Chapter 4 slide 1 FPGA Tools Course Design Entry.
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.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
1 Synthesizing Datapath Circuits for FPGAs With Emphasis on Area Minimization Andy Ye, David Lewis, Jonathan Rose Department of Electrical and Computer.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
1 Field-programmable Gate Array Architectures and Algorithms Optimized for Implementing Datapath Circuits Andy Gean Ye University of Toronto.
What’s New in Xilinx Ready-to-use solutions. Key New Features of the Foundation Series 1.5/1.5i Release  New device support  Integrated design environment.
Ready to Use Programmable Logic Design Solutions.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
EEL 5722 FPGA Design Fall 2003 Digit-Serial DSP Functions Part I.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
Xilinx Alliance Series Xilinx/Synopsys Powerful High Density Solutions
ASIC Design Methodology
M1.5 Foundation Tools Xilinx XC9500/XL CPLD
Topics HDL coding for synthesis. Verilog. VHDL..
FPGA Tools Course Answers
ChipScope Pro Software
Win with HDL Slide 4 System Level Design
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

VHDL Synthesis in FPGA By Zhonghai Shi February 24, 1998 School of EECS, Ohio University

Agenda Getting Started with VHDL VHDL Coding Hint VHDL Coding in FPGAs Floorplanning the Design Building Design Hierarchy Understanding High Density Design Flow

Getting Started with VHDL VHDL? Understanding HDL Design Flow for FPGAs

Getting Started with VHDL Advantages of Using HDLs to Design FPGAs –Top-Down Approach for Large Projects –Functional Simulation Early in the Design Flow –Automatic Conversion of HDL Code to Gates –Type Checking –Early Testing of Various Design implementations

Getting Started with VHDL Software Requirements

HDL Coding Hints Comparing Synthesis and Simulation Results –Omit the Wait for XX ns Statement wait for XX ns; –Omit the...After XX ns Statement Q <=0 after XX ns;

HDL Coding Hints –Order and Group Arithmetic Functions ADD <= A1 + A2 + A3 + A4; ADD <= (A1 + A2) + (A3 + A4); –Omit Initial Values variable SUM: INTEGER :=0;

HDL Coding Hints Selecting VHDL Coding Styles –Selecting a Capitalization Style –Using Labels –Using Named and Positional Association –Creating Readable Code –Using Std_logic Data Type

HDL Coding Hints Using Schematic Design Hints with HDL Designs –VHDL Design of Barrel Shifter Design implemented using to-1 multiplexers, one for each output. –20-input function requires at least 5 logic blocks –16 x 5 = 80 logic blocks implemented using 32 4-to-1 multiplexers arranged in two levels of sixteen. –32 x 1 = 32 logic blocks

HDL Coding Hints Resource Sharing & Gate Reduction

HDL Coding Hints Using If Statements, Using Nested_If Statements Using Case Statements

HDL Coding Hints

HDL Coding for FPGAs latches vs. flip-flop in Xilinx FPGAs: –2 FFs/CLB which can be used –latches requires FG function generator using latch... if (write = ‘1’ ) then stored_value <= value_in; end if;...

HDL Coding for FPGAs Latches vs. flip-flops using flip-flop... if (write’event and write = ‘1’) then stored_value <= value_in; end if;...

HDL Coding for FPGAs Encoding State Machines –Using Binary Encoding –Using Enumerated Type Encoding –Using One-Hot Encoding Better suited for use with the fan-in limited and flip-flop-rich architecture of FPGA

HDL Coding for FPGAs Comparing Synthesis Results for Encoding Styles

HDL Coding for FPGAs Implementing Multiplexers with Tristate Buffers –Use internal tristate buffers (BUFTs) to implement multiplexers larger than 4-to-1. Can vary in width with only minimal impact on area and delay Can have as many inputs as there are tristate buffers per horizontal longline in the target device Have one-hot encoded selector inputs

HDL Coding for FPGAs

Floorplanning Your Design Using the Floorplanner –Creating a MAP File Using Xmake Using PPR Using Prep for Floorplanner Command

Floorplanning Your Design –Deciding What Elements to Floorplan Large objects such as RPMs, registers, counters, and RAMs Buses (place all BUFTs and bus elements) BUFTs with I/O or RPM inputs Multiple BUFTs (except VCC or GND) with identical source pin inputs

Building Design Hierarchy –Advantages Efficiently manage the design flow Reduces design time by allowing you to use existing design modules more than once Produce designs that are easy to understand

Building Design Hierarchy Modifying Design Hierarchy for PPR –Reduces Gate Count –Improves Routability –Reduces Routing Time –Reduces Time Required for Small Design Changes –Reduces Debugging Time

Building Design Hierarchy Top Design Example

Compiling Top Design as One Flat Module

Building Design Hierarchy Compiling Top Design After Modifying the Hierarchy –R0 block uses approximately 591 CLBs –X0 block uses approximately 342 CLBs –UP0 block uses approximately 25 CLBs –DD0 block uses approximately four CLBs

Building Design Hierarchy Compiling Top Design After Modifying the Hierarchy

Building Design Hierarchy

Comparing Top Design Methodologies –Flat Design densely packed and is unroutable. –Original Design Hierarchy small changes to this design may make the design unroutable. –Modified Hierarchy

Understanding High-Density Design Flow

Estimating Your Design Size –run PPR on your design after compiling it as one flat module –Determining Device Utilization Evaluating Your Design for Coding Style and System Features –correct coding style problems –incorporate FPGA system features

Understanding High-Density Design Flow Modifying Your Design Hierarchy –One flat module vs. many small modules –structure design hierarchy to guide the placement and routing. Synthesizing and Optimizing Your Design –Use the Synopsys Group command to define the new hierarchy.

Understanding High-Density Design Flow Use the Synopsys Group command {M1,M2,M3,M4,M5} -design_name X1 -cell_name X1 group {M6,M7,M8,M9,M10,M11} -design_name X2 \ - cell_name X2 group {N7,N8,N9,N10,N11,N12,N13} -design_name R1 \ -cell_name R1 group {N2,N3,N4,N5} -design_name R2 -cell_name R2 group {N6} -design_name R3 -cell_name R3 group {N1} -design_name R4 -cell_name R4

Understanding High-Density Design Flow Translating Your Design and Adding Group TimeSpecs –translate your design to an XNF file –adding Timing Specifications Building Your Design Hierarchy –constrain your design modules to specific device areas in the Floorplanner. –define boundaries in the Floorplan window and place the selected modules within the specified boundaries.

Understanding High-Density Design Flow Floorplanning Your Design Placing and Routing Your Design –Using PPR Options –Determining If PPR Can Route Your Design Evaluating the Results –Evaluating Module Placement with the Floorplanner