Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas Matlab as a Development Environment for FPGA Design Tejas Bhatt June 16, 2005.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
MotoHawk Training Model-Based Design of Embedded Systems.
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
1 Pupil Detection and Tracking System Lior Zimet Sean Kao EE 249 Project Mentors: Dr. Arnon Amir Yoshi Watanabe.
Matlab as a Design Environment for Wireless ASIC Design June 16, 2005 Erik Lindskog Beceem Communications, Inc.
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.
HW/SW Co-Design of an MPEG-2 Decoder Pradeep Dhananjay Kiran Divakar Leela Kishore Kothamasu Anthony Weerasinghe.
FPGA Based Fuzzy Logic Controller for Semi- Active Suspensions Aws Abu-Khudhair.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
© Copyright Alvarion Ltd. Hardware Acceleration February 2006.
Delevopment Tools Beyond HDL
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Using Mathematica for modeling, simulation and property checking of hardware systems Ghiath AL SAMMANE VDS group : Verification & Modeling of Digital systems.
Matrix Multiplication on FPGA Final presentation One semester – winter 2014/15 By : Dana Abergel and Alex Fonariov Supervisor : Mony Orbach High Speed.
1 WORLD CLASS – through people, technology and dedication High level modem development for Radio Link INF3430/4431 H2013.
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
A New Method For Developing IBIS-AMI Models
ASIP Architecture for Future Wireless Systems: Flexibility and Customization Joseph Cavallaro and Predrag Radosavljevic Rice University Center for Multimedia.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
System Design with CoWare N2C - Overview. 2 Agenda q Overview –CoWare background and focus –Understanding current design flows –CoWare technology overview.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
J. Christiansen, CERN - EP/MIC
Configurable, reconfigurable, and run-time reconfigurable computing.
COE 405 Design and Modeling of Digital Systems
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Catapult™ C Synthesis Crossing the Gap between Algorithm and Hardware Architecture Mac Moore North American Product Specialist Advanced Synthesis Solutions.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
1 Fly – A Modifiable Hardware Compiler C. H. Ho 1, P.H.W. Leong 1, K.H. Tsoi 1, R. Ludewig 2, P. Zipf 2, A.G. Oritz 2 and M. Glesner 2 1 Department of.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
STATEFLOW AND SIMULINK TO VERILOG COSIMULATION OF SOME EXAMPLES
EE3A1 Computer Hardware and Digital Design
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
BridgePoint Integration John Wolfe / Robert Day Accelerated Technology.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Workshop - November Toulouse Astrium Use Case.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Teaching The Principles Of System Design, Platform Development and Hardware Acceleration Tim Kranich
FPGA Hardware Synthesis Jessica Baxter. Reference M. Haldar, A. Nayak, N. Shenoy, A. Choudhary and P. Banerjee, “FPGA Hardware Synthesis from MATLAB”,
1 ® ® Agenda 8:30 a.m.Introduction to The MathWorks, Xilinx, and Avnet 9:00 a.m.Video System Design with Simulink 9:45 a.m.Break 10:00 a.m.FPGA Implementation.
Portable Heart Attack Detector (PHAD) Final Presentation
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Ready to Use Programmable Logic Design Solutions.
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
Problem: design complexity advances in a pace that far exceeds the pace in which verification technology advances. More accurately: (verification complexity)
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
ASIC Design Methodology
ECE 551: Digital System Design & Synthesis
ENG3050 Embedded Reconfigurable Computing Systems
Matlab as a Development Environment for FPGA Design
Matlab as a Design Environment for Wireless ASIC Design
The performance requirements for DSP applications continue to grow and the traditional solutions do not adequately address this new challenge Paradigm.
Xilinx/Model Technology Powerful FPGA Verification Solution
HIGH LEVEL SYNTHESIS.
Presentation transcript:

Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas Matlab as a Development Environment for FPGA Design Tejas Bhatt June 16, 2005

Outline Requirements for Rapid Hardware Prototyping Requirements for Rapid Hardware Prototyping Matlab – As a Research and Development Tool Matlab – As a Research and Development Tool Fixed-point Design in Matlab Fixed-point Design in Matlab Matlab Based FPGA Design Flow Matlab Based FPGA Design Flow Conclusion Conclusion

Motivations for Prototyping Performance Measurement Performance Measurement –Real-time performance evaluation –Technology proof-of-concept –HW/SW partitioning & architecture trade-offs Product Development Product Development –Easier technology transfer –Early detection of implementation bottlenecks –Speed-up time-to-market Business Motives Business Motives –Marketing the technology –Technology demonstration –Technology assessment

Design Flow Requirements Rapid Transition: Algorithm  HW Implementation Rapid Transition: Algorithm  HW Implementation –Common platform for R & D –Stronger link between simulation & implementation –Common test-bench for floating-point and RTL Flexibility and Re-Programmability Flexibility and Re-Programmability –Supports ongoing research and improvements –Allows for parameter optimization –Allows evaluation of different architectures Simple Simple –Less time in verification  simplified test-bench –Easier development  e.g. fixed-point conversion –HW/SW co-simulation

FPGA for Prototyping High Processing Power High Processing Power –Handle complex algorithms –High through-put applications –Allows for a high degree of parallelism Fast Design Flow Fast Design Flow –Well-supported in EDA community –Easily reconfigured when design changes Re-Configurable Hardware Re-Configurable Hardware –No need for rigorous front-end verification Cost-Effective Compared to ASIC in small volumes Cost-Effective Compared to ASIC in small volumes

Matlab: A Research Tool Ease of Use Ease of Use –Simple, familiar interface –Intuitive matrix/array processing –Improved simulation speed – JIT, faster HW, C-MEX interface Fast Simulation Development Fast Simulation Development –Various toolboxes / library functions –Effective data processing – Plots, fast statistics  simple test-bench Generates Functional Specifications Generates Functional Specifications

Matlab: System Development Tool WHY ? WHY ? –Straightforward transition from R to D –Common interface between researchers and designers – Less time required for technology transfer – Easier iteration on algorithm improvements Requirements Requirements –Fixed-point modeling – Transparent to researcher –Implementation specifications for HW/SW – Access to basic operations – adders, multipliers etc. –Verification of RTL implementation – Test-vector generation – Test-bench: co-simulation

Matlab-From Research To Development Matlab-based Development Flow Matlab-based Development Flow

Fixed-Point Algorithm Development Traditional Approach Traditional Approach –Toolbox functions to user-defined functions –Convert Generic M-code –to– Flat M-Code –Verify Performance with Fixed-Point Interface –Determination of fixed-point attributes –Optimization of different functional units

Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer Chip Equalizer for HSDPA System Chip Equalizer for HSDPA System –LMMSE Equalizer to counter multipath in HSDPA –3-Main Blocks – Correlation Matrix Computation (R-Matrix) – FIR Tap Computation (w-vector) – FIR (d = wr) – FIR (d = w H r)

Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer Chip Equalizer for HSDPA System… Chip Equalizer for HSDPA System… –Matrix-Inverse handled using FFT/IFFT –Intuitive Operations –Matrix Multiplication, FFT/IFFT, Sub Matrix Inverse –Basic Operations – Multipliers, Adders, Dividers Rx Data

Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer Traditional Approach Traditional Approach –Convert Generic M-code –to– Flat M-Code – Toolbox functions to user-defined functions – Intuitive (Matrix) to Basic (Add, Sub) Operations – C-Like coding to understand data-flow

Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer Traditional Approach… Traditional Approach… –Verify Performance with Fixed-Point Interface – Determine Required Input/Output Word-lengths –Determination of fixed-point attributes – Simulations to determine Data Range – Add Checks to verify overflow/underflow

Fixed-Point Algorithm Development Traditional Approach… Traditional Approach… –Optimization of different functional units – Optimize word-lengths of multipliers, adders etc. – Verification with simulations Bottlenecks in Traditional Approach Bottlenecks in Traditional Approach –Fixed-Word-length “doubles” instead of true fixed- point data types –Hand coding for overflow checks –Complex algorithms – Many variables and operations  slow simulation – Prone to errors –May require translation to fixed-point C to speed-up the simulation

Fixed-Point Algorithm Development Requirements For Automated Design Flow Requirements For Automated Design Flow –User friendly –Fixed-point data-types – Transparent to user –Automated Process for word-length determination –Easy accommodation of legacy Matlab code Possible Approaches Possible Approaches –Matlab fixed-point –Third-Party Matlab fixed-point tool box – E.g. Catalytic

RTL Development Hand-Coded VHDL Hand-Coded VHDL –Special expertise is required –Time consuming, complex, and not easily modified Graphical Schematic Capture (HDL Designer, HDS) Graphical Schematic Capture (HDL Designer, HDS) –Intuitive (block-diagram based) –Manual layout  fixed architecture –Great for HW integration Automated (e.g. Catapult C) Automated (e.g. Catapult C) –C/C++ level abstraction –Easy to analyze architectures and scheduling –Algorithm must be partitioned  think architecture –Fixed-Point C + C-MEX  Matlab as test-bed

Matlab Based Design Flow RTL Design RTL Synthesis FPGA P & R Candidate Algorithms Fixed-Point C / C++ HDL Generation Architecture Analysis Custom IP Block Implementation APTIX NALLATECH FPGA Platforms WILDCARD Floating/Fixed-Point MATLAB or C-Code Technology Transfer Level Fixed-Point Design

Matlab As a Test-Bench for RTL Validating Fixed-Point C Validating Fixed-Point C –Manual translation from M to C –Fixed-point C can be called from Matlab test-bed Manual/Automated translation of fixed-point C to RTL Manual/Automated translation of fixed-point C to RTL RTL Simulation RTL Simulation –Matlab as a test-bench –Stand-Alone – File I/O –Possible Option – Co-Simulation – Matlab to ModelSim Link Validating FPGA Implementation Validating FPGA Implementation –Stand-Alone – Simulate captured data in Matlab –Co-Simulation – Matlab to PCMCIA (e.g. WildCard)

Conclusion Advantages of Matlab Based Design Flow Advantages of Matlab Based Design Flow –Allows quick development of simulation/algorithm –Enables faster transition from algorithm to architecture –Common test-bench between floating-point and RTL implementation –Matlab based design flow cuts the overall development time Major Bottlenecks Major Bottlenecks –Laborious Floating-point to Fixed-point transition – Fixed-point word-length and range analysis – Fixed-point data types –Manual transition from M to fixed-point C code –Partitioning C Code in different functional units

THANK YOU!!!