Accelerating FPGA/ASIC Design and Verification

Similar documents
Designing and Prototyping Digital Systems on SoC FPGA The MathWorks, Inc. 1

Making the Most of your MATLAB Models to Improve Verification

Hardware Implementation and Verification by Model-Based Design Workflow - Communication Models to FPGA-based Radio

Design and Verification of FPGA Applications

Integrated Workflow to Implement Embedded Software and FPGA Designs on the Xilinx Zynq Platform Puneet Kumar Senior Team Lead - SPC

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Model-Based Design for effective HW/SW Co-Design Alexander Schreiber Senior Application Engineer MathWorks, Germany

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Implementing MATLAB Algorithms in FPGAs and ASICs By Alexander Schreiber Senior Application Engineer MathWorks

Hardware-Software Co-Design and Prototyping on SoC FPGAs Puneet Kumar Prateek Sikka Application Engineering Team

Introduction to C and HDL Code Generation from MATLAB

Model-Based Design for Altera FPGAs Using HDL Code Generation The MathWorks, Inc. 1

Modeling a 4G LTE System in MATLAB

Connecting MATLAB & Simulink with your SystemVerilog Workflow for Functional Verification

Hardware and Software Co-Design for Motor Control Applications

Model-Based Design for Video/Image Processing Applications

Hardware and Software Co-Design for Motor Control Applications

MATLAB/Simulink 기반의프로그래머블 SoC 설계및검증

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

Accelerate FPGA Prototyping with

Modeling and Verifying Mixed-Signal Designs with MATLAB and Simulink

Optimize DSP Designs and Code using Fixed-Point Designer

Design and Verify Embedded Signal Processing Systems Using MATLAB and Simulink

Model-Based Design Using Simulink, HDL Coder, and DSP Builder for Intel FPGAs By Kiran Kintali, Yongfeng Gu, and Eric Cigan

Targeting Motor Control Algorithms to System-on-Chip Devices

[Sub Track 1-3] FPGA/ASIC 을타겟으로한알고리즘의효율적인생성방법및신기능소개

Designing and Targeting Video Processing Subsystems for Hardware

Hardware and Software Co-Design for Motor Control Applications

Four Best Practices for Prototyping MATLAB and Simulink Algorithms on FPGAs by Stephan van Beek, Sudhir Sharma, and Sudeepa Prakash, MathWorks

Extending Model-Based Design for HW/SW Design and Verification in MPSoCs Jim Tung MathWorks Fellow

Cover TBD. intel Quartus prime Design software

Moving MATLAB Algorithms into Complete Designs with Fixed-Point Simulation and Code Generation

Intro to System Generator. Objectives. After completing this module, you will be able to:

Cover TBD. intel Quartus prime Design software

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

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

Implementation and Verification Daniel MARTINS Application Engineer MathWorks

Method We follow- How to Get Entry Pass in SEMICODUCTOR Industries for 3rd year engineering. Winter/Summer Training

Early Models in Silicon with SystemC synthesis

Addressing Fixed Point Design Challenges

Multi-Gigahertz Parallel FFTs for FPGA and ASIC Implementation

Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation

Model-Based Design: Generating Embedded Code for Prototyping or Production

Signal Processing Algorithms into Fixed Point FPGA Hardware Dennis Silage ECE Temple University

DSP Builder Handbook Volume 1: Introduction to DSP Builder

Introducing Simulink R2012b for Signal Processing & Communications Graham Reith Senior Team Leader, UK Application Engineering

MODEL BASED HARDWARE DESIGN WITH SIMULINK HDL CODER

Vivado HLx Design Entry. June 2016

SoC Systeme ultra-schnell entwickeln mit Vivado und Visual System Integrator

ESL design with the Agility Compiler for SystemC

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

NEW FPGA DESIGN AND VERIFICATION TECHNIQUES MICHAL HUSEJKO IT-PES-ES

EEM870 Embedded System and Experiment Lecture 4: SoC Design Flow and Tools

Case Study on DiaHDL: A Web-based Electronic Design Automation Tool for Education Purpose

A SIMULINK-TO-FPGA MULTI-RATE HIERARCHICAL FIR FILTER DESIGN

An Overview of a Compiler for Mapping MATLAB Programs onto FPGAs

SoC Systeme ultra-schnell entwickeln mit Vivado und Visual System Integrator

Simulink Matlab To Vhdl Route For Full Custom Fpga Rapid

EE 4755 Digital Design Using Hardware Description Languages

DSP Builder Handbook Volume 1: Introduction to DSP Builder

Introduction to DSP/FPGA Programming Using MATLAB Simulink

System Level Design with IBM PowerPC Models

CO SIMULATION OF GENERIC POWER CONVERTER USING MATLAB/SIMULINK AND MODELSIM

EITF35: Introduction to Structured VLSI Design

Model-Based Design: Design with Simulation in Simulink

Introducing Simulink Release 2012b for Control System Development Mark Walker MathWorks

Designing and Analysing Power Electronics Systems Using Simscape and SimPowerSystems

Intel Quartus Prime Pro Edition Software and Device Support Release Notes

Using HDL Coder for Complex Algorithm Deployment Steve Hamilton, James Hui & Ian Brown

Embarquez votre Intelligence Artificielle (IA) sur CPU, GPU et FPGA

MATLAB/Simulink in der Mechatronik So einfach geht s!

System-on-Chip Design for Wireless Communications

Model-Based Embedded System Design

Codegenerierung für Embedded Systeme leicht gemacht So geht s!

Using Model-Based Design to Accelerate FPGA Development for Automotive Applications

2015 The MathWorks, Inc. 1

01-1 Electronic Design Automation (EDA) The use of software to automate electronic (digital and analog) design.

Cadence SystemC Design and Verification. NMI FPGA Network Meeting Jan 21, 2015

EE 4755 Digital Design Using Hardware Description Languages

Extending the Power of FPGAs

What's new in MATLAB and Simulink for Model-Based Design

FPGA system development What you need to think about. Frédéric Leens, CEO

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point FFT Simulation

University of Massachusetts Amherst Department of Electrical & Computer Engineering

Avnet Speedway Design Workshop

How Real-Time Testing Improves the Design of a PMSM Controller

Intel Quartus Prime Standard Edition Handbook Volume 3

INTRODUCTION TO CATAPULT C

ZeBu : A Unified Verification Approach for Hardware Designers and Embedded Software Developers

Model-Based Design for High Integrity Software Development Mike Anthony Senior Application Engineer The MathWorks, Inc.

Optimization and Implementation of Embedded Signal Processing Algorithms Jonas Rutström Senior Application Engineer

What s New in Simulink in R2015b and R2016a

01 1 Electronic Design Automation (EDA) the correctness, testability, and compliance of a design is checked by software

FPGA Based Digital Design Using Verilog HDL

Simulation, prototyping and verification of standards-based wireless communications

ISim Hardware Co-Simulation Tutorial: Accelerating Floating Point Fast Fourier Transform Simulation

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

FFT MegaCore Function User Guide

ECE 699: Lecture 12. Introduction to High-Level Synthesis

Transcription:

Accelerating FPGA/ASIC Design and Verification Tabrez Khan Senior Application Engineer Vidya Viswanathan Application Engineer 2015 The MathWorks, Inc. 1

Agenda Challeges with Traditional Implementation workflow Model-Based Design for Implementation Generate VHDL and Verilog code from MATLAB, Simulink, and Stateflow Optimize the generated RTL design for area and/or speed Develop system-level test benches in MATLAB and Simulink for RTL verification with EDA tools Automate verification with FPGA-in-the-Loop Summary & next steps 2

Traditional Implementation Workflow Algorithm Development DESIGN MATLAB Simulink Stateflow Long development cycles Prevents short iteration cycles Difficult to optimize the algorithm at a system level Fixed Point Conversion HDL Code Creation FPGA Verification HDL Verification HDL Refinement HDL Verification 3

Separate Views of DSP Implementation Algorithm Designer Hardware Designer Software Designer 4

Separate Views of DSP Implementation System Designer FPGA Designer Algorithm Design System Test Bench RTL Design Verification Fixed-Point Environment Models IP Interfaces Behavioral Simulation Timing / Control Logic Analog Models Hardware Architecture Functional Simulation Architecture Exploration Digital Models Static Timing Analysis Algorithms / IP Algorithms / IP Timing Simulation Implement Design Back Annotation FPGA Requirements Hardware Specification Test Stimulus Synthesis Map Place & Route FPGA Hardware 5

Model-Based Design for Implementation MATLAB and Simulink Algorithm and System Design Algorithm Design System Test Bench RTL Design Verification Fixed-Point Environment Models IP Interfaces Behavioral Simulation Timing / Control Logic Analog Models Hardware Architecture Functional Simulation Architecture Exploration Digital Models Static Timing Analysis Algorithms / IP Algorithms / IP Timing Simulation Implement Design Back Annotation FPGA Requirements Hardware Specification Test Stimulus Synthesis Map Place & Route FPGA Hardware 6

Model-Based Design for Implementation MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Automatic HDL Code Generation RTL Design IP Interfaces Hardware Architecture Implement Design Verification Behavioral Simulation Functional Simulation Static Timing Analysis Timing Simulation Back Annotation Synthesis Map Place & Route FPGA Hardware 7

Model-Based Design for Implementation MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Verification Automatic HDL Code Generation HDL Co-Simulation Behavioral Simulation Functional Simulation Static Timing Analysis Behavioral Simulation Timing Simulation Implement Design Back Annotation Synthesis Map Place & Route FPGA Hardware 8

Model-Based Design for Implementation MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Verification Automatic HDL Code Generation HDL Co-Simulation Functional Simulation Static Timing Analysis Behavioral Simulation Timing Simulation Back Annotation Implement Design Back Annotation Synthesis Map Implement Design Verification Place & Route FPGA Hardware Synthesis Functional Simulation Map Static Timing Analysis Place & Route Timing Simulation 9

Model-Based Design for Implementation MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Automatic HDL Code Generation HDL Co-Simulation Behavioral Simulation Back Annotation Implement Design Synthesis Map Place & Route Verification Functional Simulation Static Timing Analysis Timing Simulation FPGA Hardware FPGA Hardware FPGA-in-the-Loop 10

Model-Based Design for Implementation Integrated Workflow MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Automatic HDL Code Generation HDL Co-Simulation Behavioral Simulation Back Annotation Implement Design Synthesis Map Place & Route Verification Functional Simulation Static Timing Analysis Timing Simulation FPGA Hardware FPGA-in-the-Loop 11

Why Model-Based Design: Achieving the Shift-Left Reduce overall development time Reduced FPGA prototype development schedule Shorter design iteration cycle by 80% Improved product quality Increase detailed modelling Decrease downstream development time 12

Automatic HDL Code Generation HDL Coder Automatically generate bit-true, cycle-accurate HDL code from Simulink, MATLAB and Stateflow Full bi-directional traceability!! 13

HDL Code Generation Example 14

Generate Verilog or VHDL code 15

Code Generation Report Traceability Report Resource Utilization Report Critical Path Estimation Report 16

What s new? Native Floating-Point Generate target-independent synthesizable RTL from single-precision floating-point models Good for: Designs with high dynamic range calculations Getting started prototyping FPGAs without having to perform fixed-point conversion Mix integer, fixed-point, and floating point operations to balance numerical accuracy versus hardware resource usage Over 130 Simulink blocks supported Demo video» edit hdlcoderfoccurrentfloatscript 17

HDL Optimizations: What, How and Why? Does this meet timing? Does it fit on my FPGA? Does it do the right thing? The three golden questions: 1. Speed: Does it meet timing? 2. Area: Does it fit on my FPGA? 3. Validation: Does it do the right thing? FPGA Engineer HDL optimizations assists the engineer in meeting these constraints 18

Critical Timing Path Critical path highlighting Helps you identify speed bottlenecks 19

Speed Optimization Maximum rate = 145 MHz Is this the best rate that is achievable?? Register Register Register Smaller critical path Automatic pipelining Helps you meet speed objectives 20

Speed Optimization Output Pipelining 21

Speed Optimization Output Pipelining Where do I place the pipeline registers?? 22

Speed Optimization Distributed Pipelining 23

Speed Optimization Distributed Pipelining Maximum rate = 235 MHz 24

Area Optimization N (say 20) multipliers, each running at 1 clock cycle 1 multiplier running at N (20) clock cycles 25

Area Optimization Resource Sharing 26

Area Optimization Resource Sharing 27

Area Optimization Resource Sharing 28

What s new? Adaptive Pipelining Specify synthesis tool and target clock frequency for automatic pipeline insertion and balancing TargetFrequency=500 Automatically inserts pipeline registers to meet target frequency On by default Adds pipeline registers on parallel paths to balance number of stages Good for: Getting started prototyping FPGAs without worrying about manually inserting Delay blocks 29

Integrated HDL Verification MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Automatic HDL Code Generation HDL Co-Simulation Behavioral Simulation Back Annotation Implement Design Synthesis Map Place & Route Verification Functional Simulation Static Timing Analysis Timing Simulation FPGA Hardware FPGA-in-the-Loop 30

Co-Simulation with HDL Simulator + Test Bench Stimuli Algorithm Results Test Bench Simulink HDL Verifier - Proof your HDL matches the MATLAB/Simulink specification Re-using MATLAB/Simulink testbench HDL Simulator 31

Model-Based Design for Implementation MATLAB and Simulink Algorithm and System Design Model Refinement for Hardware Automatic HDL Code Generation HDL Co-Simulation Behavioral Simulation Back Annotation Implement Design Synthesis Map Place & Route Verification Functional Simulation Static Timing Analysis Timing Simulation FPGA Hardware FPGA Hardware FPGA in the Loop 32

FPGA-in-the-Loop (FIL) for any HDL code Part of HDL Verifier Easy to setup using FIL Wizard Fast simulation HDL runs on FPGA Gigabit Ethernet data transfer Supported Xilinx boards KC 705 ML605 ML505 ML506 ML507 XUP Atlys XUP-V5 SP605 SP601 ML401 ML402 ML403 Supported Altera boards Arria II Cyclone III DE2-115 Cyclone IV 33

Automation FPGA-in-the-Loop Verification Integration with FPGA development boards Add your own FPGA board (needs Ethernet) Automatic creation of FPGA-in-the-Loop verification models 34

New FPGA Families and Boards Supported by FIL FPGA Family Virtex Ultrascale FPGA board Artix-7 Arty (JTAG) Virtex-7 VC709 (JTAG, PCIe) Virtex Ultrascale VCU110 (JTAG) 35

SystemVerilog DPI Test Bench Previously only available via command-line interface Now it s available in Config Param as well as HDL Workflow Advisor 36

HDL Verifier: HDL Code Coverage Activate HDL simulator code coverage in generated test benches Works for cosimulation, SystemVerilog DPI, or vector-based testbenches Supports Mentor Graphics Questa Sim and Cadence Incisive» makehdltb('sfir_fixed/symmetric_fir',...» 'GenerateSVDPITestBench','ModelSim',...» 'HDLCodeCoverage', 'on', ) 37

HDL Verifier: FPGA Data Capture Probe internal FPGA signals to analyze in MATLAB or Simulink Debug signals in a free-running FPGA directly in MATLAB or Simulink Generates a block to add into the VHDL/Verilog design going onto the FPGA Collects and visualizes the data in MATLAB or Simulink Demo video» generatefpgadatacaptureip Available as part of HDL Verifier Xilinx/Intel hardware support packages 38

Harris Accelerates Verification of Signal Processing FPGAs Challenge Streamline a time-consuming manual process for testing signal processing FPGA implementation Solution Use HDL Verifier to verify the HDL design from within MATLAB Results Functional verification time cut by more than 85% 100% of planned test cases completed Design implemented defect-free Harris FPGA-based system. HDL Verifier enabled us to greatly reduce functional verification development time by providing a direct cosimulation interface between our MATLAB model and our logic simulator. As a result, we verified our design earlier, identified problems faster, completed more tests, and compressed our entire development cycle. Jason Plew Harris Corporation Link to user story 39

Lockheed Martin Develops Configurable, Space-Qualified Digital Channelizer Using MathWorks Tools Challenge Design and implement a reconfigurable, space-qualified digital channelizer Solution Use Simulink to model and simulate the system, and HDL Verifier with Mentor Graphics ModelSim to verify the VHDL implementation Results Verification time reduced by 90% Overall development time shortened by eight months Key algorithms reused, saving 50% of design effort on subsequent projects With Simulink and HDL Verifier, simulation and verification are performed in one environment. As a result, we can test the design from end to end, improving quality and ensuring design accuracy and validity." Artist s rendition of one of the satellites that will carry Lockheed Martin s digital channelizer. Bradford Watson Lockheed Martin Space Systems Link to user story 40

Summary Respect project timeline Discover issues early through simulation Fast code turnarounds allow better design trade-offs Collaborate in multidisciplinary teams Use one Model for Design and Implementation Seamlessly integrate version management Graphically compare models Create working code Analyze fixed-point impact before going to implementation Auto-generate bug free code Verify early through co-simulation with FPGA s Achieve required efficiency Optimize through advisors and automatic optimizations??? 41

Call To Action Learn more with recorded webinars & videos Accelerate Design Space Exploration Using HDL Coder Optimizations Using HDL Coder and HDL Verifier for FPGA and ASIC Designs HDL Implementation and Verification of a High-Performance FFT Using Custom Boards for FPGA-in-the-Loop Verification A Guided Workflow for Zynq Using MATLAB and Simulink HDL Verifier: FPGA Data Capture 42

Generating HDL Code from Simulink two-day course shows how to generate and verify HDL code from a Simulink model using HDL Coder and HDL Verifier Topics include: Preparing Simulink models for HDL code generation Generating HDL code and testbench for a compatible Simulink model Performing speed and area optimizations Integrating handwritten code and existing IP Verifying generated HDL code using testbench and cosimulation 43

Programming Xilinx Zynq SoCs with MATLAB and Simulink two-day course focuses on developing and configuring models in Simulink and deploying on Xilinx Zynq -7000 All Programmable SoCs. For Simulink users who intend to generate, validate, and deploy embedded code and HDL code for software/hardware codesign using Embedded Coder and HDL Coder. A ZedBoard is provided to each attendee for use throughout the course. The board is programmed during the class and is yours to keep after the training. Topics include: Zynq platform overview and environment setup, introduction to Embedded Coder and HDL Coder IP core generation and deployment, Using AXI4 interface Processor-in-the-loop verification, data interface with real-time application Integrating device drivers, custom reference design 44

DSP for FPGAs This three-day course will review DSP fundamentals from the perspective of implementation within the FPGA fabric. Particular emphasis will be given to highlighting the cost, with respect to both resources and performance, associated with the implementation of various DSP techniques and algorithms. Topics include: Introduction to FPGA hardware and technology for DSP applications DSP fixed-point arithmetic Signal flow graph techniques HDL code generation for FPGAs Fast Fourier Transform (FFT) Implementation Design and implementation of FIR, IIR and CIC filters CORDIC algorithm Design and implementation of adaptive algorithms such as LMS and QR algorithm Techniques for synchronisation and digital communications timing recovery 45

Speaker Details Email: tabrez.khan@mathworks.in Vidya.viswanthan@mathworks.in Contact MathWorks India Products/Training Enquiry Booth Call: 080-6632-6000 Email: info@mathworks.in Your feedback is valued. Please complete the feedback form provided to you. 46