slide1
Download
Skip this Video
Download Presentation
Matlab as a Development Environment for FPGA Design

Loading in 2 Seconds...

play fullscreen
1 / 21

Matlab as a Development Environment for FPGA Design - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

Matlab as a Development Environment for FPGA Design. Tejas Bhatt June 16, 2005. Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas. Outline. Requirements for Rapid Hardware Prototyping Matlab – As a Research and Development Tool Fixed-point Design in Matlab

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Matlab as a Development Environment for FPGA Design' - lida


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
matlab as a development environment for fpga design

Matlab as a Development Environment for FPGA Design

Tejas Bhatt

June 16,2005

Tejas Bhatt and Dennis McCain

Hardware Prototype Group, NRC/Dallas

outline
Outline
  • Requirements for Rapid Hardware Prototyping
  • Matlab – As a Research and Development Tool
  • Fixed-point Design in Matlab
  • Matlab Based FPGA Design Flow
  • Conclusion
motivations for prototyping
Motivations for Prototyping
  • Performance Measurement
    • Real-time performance evaluation
    • Technology proof-of-concept
    • HW/SW partitioning & architecture trade-offs
  • Product Development
    • Easier technology transfer
    • Early detection of implementation bottlenecks
    • Speed-up time-to-market
  • Business Motives
    • Marketing the technology
    • Technology demonstration
    • Technology assessment
design flow requirements
Design Flow Requirements
  • 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
    • Supports ongoing research and improvements
    • Allows for parameter optimization
    • Allows evaluation of different architectures
  • Simple
    • Less time in verification  simplified test-bench
    • Easier development  e.g. fixed-point conversion
    • HW/SW co-simulation
fpga for prototyping
FPGA for Prototyping
  • High Processing Power
    • Handle complex algorithms
    • High through-put applications
    • Allows for a high degree of parallelism
  • Fast Design Flow
    • Well-supported in EDA community
    • Easily reconfigured when design changes
  • Re-Configurable Hardware
    • No need for rigorous front-end verification
  • Cost-Effective Compared to ASIC in small volumes
matlab a research tool
Matlab: A Research Tool
  • Ease of Use
    • Simple, familiar interface
    • Intuitive matrix/array processing
    • Improved simulation speed
      • JIT, faster HW, C-MEX interface
  • Fast Simulation Development
    • Various toolboxes / library functions
    • Effective data processing
      • Plots, fast statistics  simple test-bench
  • Generates Functional Specifications
matlab system development tool
Matlab: System Development Tool
  • 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
    • 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-From Research To Development
  • Matlab-based Development Flow
fixed point algorithm development
Fixed-Point Algorithm Development
  • 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
Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer
  • 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 = wHr)
fixed point algorithm development example hsdpa chip equalizer12

Rx Data

Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer
  • 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
fixed point algorithm development example hsdpa chip equalizer13
Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer
  • 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 equalizer14
Fixed-Point Algorithm Development Example: HSDPA Chip Equalizer
  • 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 development15
Fixed-Point Algorithm Development
  • Traditional Approach…
    • Optimization of different functional units
      • Optimize word-lengths of multipliers, adders etc.
      • Verification with simulations
  • 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 development16
Fixed-Point Algorithm Development
  • 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
    • Matlab fixed-point
    • Third-Party Matlab fixed-point tool box
      • E.g. Catalytic
rtl development
RTL Development
  • Hand-Coded VHDL
    • Special expertise is required
    • Time consuming, complex, and not easily modified
  • Graphical Schematic Capture (HDL Designer, HDS)
    • Intuitive (block-diagram based)
    • Manual layout  fixed architecture
    • Great for HW integration
  • 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
Matlab Based Design Flow

FPGA Platforms

Fixed-Point

C / C++

Floating/Fixed-Point

MATLAB or C-Code

Candidate

Algorithms

APTIX

Architecture

Analysis

Fixed-Point Design

Technology Transfer Level

HDL

Generation

RTL Design

Custom IP

Block

NALLATECH

RTL Synthesis

FPGA P & R

WILDCARD

Implementation

matlab as a test bench for rtl
Matlab As a Test-Bench for RTL
  • 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
  • RTL Simulation
    • Matlab as a test-bench
    • Stand-Alone – File I/O
    • Possible Option
      • Co-Simulation – Matlab to ModelSim Link
  • Validating FPGA Implementation
    • Stand-Alone – Simulate captured data in Matlab
    • Co-Simulation – Matlab to PCMCIA (e.g. WildCard)
conclusion
Conclusion
  • 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
    • 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
ad