FPGA briefing Part II FPGA development DMW: FPGA development DMW:

Similar documents
CCE 3202 Advanced Digital System Design

Introduction to VHDL Design on Quartus II and DE2 Board

Field Programmable Gate Array

CCE 3202 Advanced Digital System Design

ECE 459/559 Secure & Trustworthy Computer Hardware Design

PALMiCE FPGA Probing Function User's Manual

Hardware Description Language VHDL (1) Introduction

DIGITAL LOGIC WITH VHDL (Fall 2013) Unit 1

Circuit Design and Simulation with VHDL 2nd edition Volnei A. Pedroni MIT Press, 2010 Book web:

Digital Design Using VHDL Using Xilinx s Tool for Synthesis and ModelSim for Verification

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

ENGR 5865 DIGITAL SYSTEMS

Abi Farsoni, Department of Nuclear Engineering and Radiation Health Physics, Oregon State University

System Level Design with IBM PowerPC Models

ECE 545 Lecture 6. Behavioral Modeling of Sequential-Circuit Building Blocks. George Mason University

Experiment 0 OR3 Gate ECE 332 Section 000 Dr. Ron Hayne June 8, 2003

VHDL Testbench. Test Bench Syntax. VHDL Testbench Tutorial 1. Contents

FPGA design with National Instuments

Quartus Counter Example. Last updated 9/6/18

AccelDSP tutorial 2 (Matlab.m to HDL for Xilinx) Ronak Gandhi Syracuse University Fall

Board-Data Processing. VHDL Exercises. Exercise 1: Basics of VHDL Programming. Stages of the Development process using FPGA s in Xilinx ISE.

Advanced module: Video en/decoder on Virtex 5

EE 361L Digital Systems and Computer Design Laboratory

Chapter 9: Integration of Full ASIP and its FPGA Implementation

VHDL. VHDL History. Why VHDL? Introduction to Structured VLSI Design. Very High Speed Integrated Circuit (VHSIC) Hardware Description Language

Summary of FPGA & VHDL

Version 1.6/ Design Flow. The Development Tools Questa and Vivado

TLL5000 Electronic System Design Base Module

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

ENGG3380: Computer Organization and Design Lab4: Buses and Peripheral Devices

[VARIABLE declaration] BEGIN. sequential statements

Hardware Synthesis. References

Lab 3 Sequential Logic for Synthesis. FPGA Design Flow.

TLL5000 Electronic System Design Base Module. Getting Started Guide, Ver 3.4

FPGAs in a Nutshell - Introduction to Embedded Systems-

A Deterministic Flow Combining Virtual Platforms, Emulation, and Hardware Prototypes

EENG 2910 Project III: Digital System Design. Due: 04/30/2014. Team Members: University of North Texas Department of Electrical Engineering

Lecture 3: Modeling in VHDL. EE 3610 Digital Systems

ECE 545 Lecture 12. FPGA Resources. George Mason University

VHDL: Modeling RAM and Register Files. Textbook Chapters: 6.6.1, 8.7, 8.8, 9.5.2, 11.2

C-Based Hardware Design

Using ModelSim to Simulate Logic Circuits in VHDL Designs. 1 Introduction. For Quartus II 13.0

ECE 448 Lecture 4. Sequential-Circuit Building Blocks. Mixing Description Styles

Don t expect to be able to write and debug your code during the lab session.

DESIGN STRATEGIES & TOOLS UTILIZED

The Optimization of a Design Using VHDL Concepts

AL8253 Core Application Note

ECE4401 / CSE3350 ECE280 / CSE280 Digital Design Laboratory

VHDL for Logic Synthesis

Timing Analysis in Xilinx ISE

Lecture 7. Standard ICs FPGA (Field Programmable Gate Array) VHDL (Very-high-speed integrated circuits. Hardware Description Language)

Today. Comments about assignment Max 1/T (skew = 0) Max clock skew? Comments about assignment 3 ASICs and Programmable logic Others courses

FPGA Design Flow. - from HDL to physical implementation - Victor Andrei. Kirchhoff-Institut für Physik (KIP) Ruprecht-Karls-Universität Heidelberg

Outline. CPE/EE 422/522 Advanced Logic Design L05. Review: General Model of Moore Sequential Machine. Review: Mealy Sequential Networks.

Design Progression With VHDL Helps Accelerate The Digital System Designs

Introduction to WebPACK 3.1. Using XILINX WebPACK Software to Create CPLD Designs

In our case Dr. Johnson is setting the best practices

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 10/25/16

DESIGN AND IMPLEMENTATION OF MOD-6 SYNCHRONOUS COUNTER USING VHDL

Early Models in Silicon with SystemC synthesis

VHDL for Synthesis. Course Description. Course Duration. Goals

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

HDL Interoperability & IP-based System Verification

QUARTUS II Altera Corporation

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

Laboratory Exercise 3

Xilinx ChipScope ICON/VIO/ILA Tutorial

Mentor Graphics Solutions Enable Fast, Efficient Designs for Altera s FPGAs. Fall 2004

Lecture 5: Aldec Active-HDL Simulator

VHDL simulation and synthesis

EITF35 - Introduction to the Structured VLSI Design (Fall 2016) Interfacing Keyboard with FPGA Board. (FPGA Interfacing) Teacher: Dr.

Advanced FPGA Design Methodologies with Xilinx Vivado

VHDL for Modeling - Module 10

Logic Implementation on a Xilinx FPGA using VHDL WWU Linux platform assumed. rev 11/01/17

FPGA Design Flow 1. All About FPGA

ECE 501- Project in lieu of thesis VIKAS YELAGONDANAHALLI. Summer 2007

EITF35: Introduction to Structured VLSI Design

Getting Started with Xilinx WebPack 13.1

RTL Coding General Concepts

Inferring Storage Elements

Maximizing Logic Utilization in ex, SX, SX-A, and Axcelerator FPGA Devices Using CC Macros

1 ST SUMMER SCHOOL: VHDL BOOTCAMP PISA, JULY 2013

System Planning Overcoming Gap Between Design at Electronic System Level (ESL) and Implementation

What is Xilinx Design Language?

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 15 Memories

EEL 5722C Field-Programmable Gate Array Design

A Model-based Embedded Control Hardware/Software Co-design Approach for Optimized Sensor Selection of Industrial Systems

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Midterm Exam Thursday, October 24, :00--2:15PM (75 minutes)

Data Side OCM Bus v1.0 (v2.00b)

Sequential Logic - Module 5

VHDL for Logic Synthesis

FPGA Design Tutorial

CSEE W4840 Embedded System Design Lab 1

EE 367 Logic Design Lab #1 Introduction to Xilinx ISE and the ML40X Eval Board Date: 1/21/09 Due: 1/28/09

FPGA 101. Field programmable gate arrays in action

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

Maximizing Logic Utilization in ex, SX, and SX-A FPGA Devices Using CC Macros

Simulation with ModelSim Altera from Quartus II

ECE U530 Digital Hardware Synthesis. Course Accounts and Tools

Transcription:

FPGA briefing Part II FPGA development FPGA development 1

FPGA development FPGA development : Domain level analysis (Level 3). System level design (Level 2). Module level design (Level 1). Academical focus is on level 3. Commercial tool development focus is on level 2 Free tools are at level 1. Module design level Module level design (level 1): Programming languages. FPGA development proces Design tools. Specification : Describes : requirements, use cases. Form : Text, UML, Matlab model. System level design : Describes : Architecture, Interfaces, modules and components. Form : UML diagrams, SystemC, others. Module design : Form : Dedicated languages, VHDL, C. FPGA tools 2

Programming languages High level languages : Hardware description Language, Europe => VHDL (, US=>Verilog.) HandelC (C based system level design language). SystemC (C++ based system level design language). HandelC and SystemC code is typically translated to VHDL by the tools, reusing VHDL to FPGA toolchains. VHDL Originally an initiative of the U.S. government in 1980 to advance the state-of-the-art in silicon technology. IEEE standardized in 87, 93 and 2000 versions. Abstractions levels covers from algorithmic models to gate level. Allows technology independent description. 3

VHDL examples - structural Object oriented language: entity (external view) and architecture (internal view). library IEEE; use IEEE.std_logic_1164.all; use work.math_pack.all; entity counter is port (count_o : out std_logic_vector(7 downto 0); clk_i : in std_logic; reset_i : in std_logic); end; architecture arch_one of counter is signal count_s : std_logic_vector (7 downto 0); begin counter: process(clk_i, reset_i) begin if (reset_i = '1') then if reset_i'event then count_s <= (others => '0'); end if; elsif clk_i'event and (clk_i = '1') then count_s <= increment(count_s); end if; end process; count_o <= count_s; end arch_one; VHDL example - behavioral Black box description like. If i give this input, then this output will be present after a given time. clk_s <= not clk_s after 20 ns; reset_n_s <= 1 after 10 ns; user_input_s <= open door after 100 ns; 4

FPGA development process Verification is a huge Part of working with FPGAs approximately 70 %. VHDL models are verified with a simulator. VHDL models System design specification Simulation and verification Testbenches for models Verification with a simulator requires a testbench which models the environment of the FPGA. VHDL syntese Place and route Programmable file VHDL models and testbenches A system model needs to be built, which contains the modules dscribed in the system design specification. A testbench is made for the over-all system, modelling the system environment, and by doing this can verify the system behavior and interfaces. 5

VHDL models creating infra structure Integration of Modules IP cores, and other modules onto a bus structure. VHDL models design rules Design rules must be used when writing VHDL models. Design rule examples for FPGA s Do not use tri-state logic for standard modules. Avoid instantiating FPGA specific components in VHDL code, this makes it hard to re-use the model with another FPGA. Use compile switches to switch between simulation components and FPGA target components like memory. Use synchronously logic. Be avare of clock domain shifts. 6

Testbenches Testbenches often use file I/O for reading test data and writing results to files. Advanced techniques as transaction based modelling modelling for instance verification of an IP block with a write access (writing a value to the module) and a read access (reading a return value). Functional simulation Testbench and system models are loaded into the simulator. The simulator makes syntax checks and compiles the VHDL code. The simulator (Modelsim a.o.) operates with time. 7

Functional simulation - continued Simulator output can be checked manually by viewing waveforms or automatically by the testbench. Simulators can also perform functions as code coverage and code profiling when executing the testbench tests. Simulators Modelsim from Mentor Graphics is more or less a defacto standard for simulation of VHDL, Verilog or SystemC models. Is available from free of charge versions from FPGA vendors (VHDL or Verilog only) to expensive ASIC tape out versions. 8

Modelsim XE-III FPGA Synthesis FPGA synthesis is the process of converting the VHDL design to a netlist of specific FPGA logic components, like LUTs, Flip-Flops etc. 9

Synthesis Synthesis tools comes with libraries of the FPGA components they support. When new components are available so will the libraries be. Used to an area covered only by third party tool vendors (non-fpga vendors), but now for instance Xilinx have their synthesis tool XST in a free version, covering not all but most FPGAs in their product line. Place and route Place and route tools are performing the task of placing the synthesized logic on the target FPGA and routing the connections through columns and row interconnects in a way that meets the constraints of the design. 10

Place and route constraints Pin constraints to the PCB. Clock constraint, how fast must the system be 10Mhz or 400 MHz? Logic block constraints, placement of IP cores. Place and route tools Are typically delivered by the FPGA vendor, and can be free of charge. Example Xilinx ISE webpack (includes also XST synthesis). 11

Bitfile generation The bitfile contains the programable code for the FPGA. Encryption of bit file? How should the device be programmed? FPGA configurations - examples Master Slave CPU /8 FPGA Slave Master Serial flash or EEPROM /1 FPGA 12

System level design (level 2) Advantages : HW/SW co-design. Architecture exploration. Make important design decision early. Specification : Describes : requirements, use cases. Form : Text, UML, Matlab model. System level design : Describes : Architecture, Interfaces, modules and components. Form : UML diagrams, SystemC, others. Module design : Form : Dedicated languages, VHDL, C. FPGA tools System level design (level 2) SystemC is a IEEE standard and a til C++ library (can be downloaded free from www.systemc.org). Is a merge of C++(SW) og VHDL(HW), ideal for HW/SW co-design. Operates with tid, which gives opportunities for simulation of the system against real time requirements. System level design language, which separates functionality from communication. 13

System level design (level 2) SystemC verification : SystemC is C++ + time. Re-use of system models. Quick generation of VHDL models (prototyping/proof-ofconcept). Digital designer - responsiblities Digital designer : Defines system architecture. Creates system level models. Creates system views static, dynamic, logical and physical. Designs the system interfaces. Verifies system architecture, system interfaces in a simulator. 14

Digital designer - challenges Organisatorial placement. Process power. Personal characteristica. SW background, learn bit of HW and vice versa. Domain analysis level (level 3) Advantages : Very high level and simple functional models can be verified. Verification of requirements through the whole process. Higher probability of implementing the system that the customer wants. 15

Welcome to a world of opportunities You are all hereby invited to discuss challenges and opportunities poul.lumholtz@teknologisk.dk 16