Matlab as a Design Environment for Wireless ASIC Design

Slides:



Advertisements
Similar presentations
The Complete Technical Analysis and Development Environment An attractive alternative to MATLAB and GAUSS - Physics World.
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.
Java Script Session1 INTRODUCTION.
Alternate Software Development Methodologies
How to Accelerate the Analog Design Verification Flow Itai Yarom Senior Verification Expert Synopsys.
MATLAB Presented By: Nathalie Tacconi Presented By: Nathalie Tacconi Originally Prepared By: Sheridan Saint-Michel Originally Prepared By: Sheridan Saint-Michel.
DSI Division of Integrated Systems Design Functional Verification Environments Development Goals Our main goals are in the field of developing modular.
FPGA BASED IMAGE PROCESSING Texas A&M University / Prairie View A&M University Over the past few decades, the improvements from machine language to objected.
SCRIPTING LANGUAGE. The first interactive shells were developed in the 1960s to enable remote operation of the first time-sharing systems, and these,
Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas Matlab as a Development Environment for FPGA Design Tejas Bhatt June 16, 2005.
Creating Test Environments HDL Model HDL Testbench Simulation Engine API stimulus check Testbench Program stimulus check Non-HDL languages may be used.
Matlab as a Design Environment for Wireless ASIC Design June 16, 2005 Erik Lindskog Beceem Communications, Inc.
Design Synopsys System Verilog API Donations to Accellera João Geada.
Discussion Section: HW1 and Programming Tips GS540.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
Terms: Test (Case) vs. Test Suite
Delevopment Tools Beyond HDL
© 2005 The MathWorks, Inc. Advanced Technologies to Accelerate Mixed Signal Simulation Pieter J. Mosterman Senior Research Scientist The MathWorks, Inc.
© 2004 The MathWorks, Inc. 1 MATLAB for C/C++ Programmers Support your C/C++ development using MATLAB’s prebuilt graphics functions and trusted numerics.
DOP - A CPU CORE FOR TEACHING BASICS OF COMPUTER ARCHITECTURE Miloš Bečvář, Alois Pluháček and Jiří Daněček Department of Computer Science and Engineering.
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
Simulink ® Interface Course 13 Active-HDL Interfaces.
Integration of System Design and Standard Development in Digital Communication Education Xiaohua(Edward) Li State University of New York at Binghamton.
Computational Methods of Scientific Programming Lecturers Thomas A Herring, Room A, Chris Hill, Room ,
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
Quality Driven SystemC Design By Nasir Mahmood. Hybrid Approach The idea here is to combine the strengths of simulation – namely the ability to handle.
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
Microsoft Visual Basic 2005 BASICS Lesson 1 A First Look at Microsoft Visual Basic.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
EGR 115 Introduction to Computing for Engineers Introduction to Computer Programming Wednesday 27 Aug 2014 EGR 115 Introduction to Computing for Engineers.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Baseband Implementation of an OFDM System for 60GHz Radios: From Concept to Silicon Jing Zhang University of Toronto.
Introduction to Simulink Matlab based Both Continuous Time and Discrete Time Simulation Based on Blocksets Model Based Design: a software model of the.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
CIS 595 MATLAB First Impressions. MATLAB This introduction will give Some basic ideas Main advantages and drawbacks compared to other languages.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
1 Post Processing Procedures for Channel Estimation Younglok Kim Dept. of Electrical Engineering Sogang University.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
Verification for Ethernet second/first layer with 10 Gigabit Attachment Interface (XAUI) Matan Kacen Intel, ICG, LAD HW AV June 2005 Dr. Nissim Tsouri.
Excel Translator™ Ultimate Risk Solutions, Inc.:
Software and Communication Driver, for Multimedia analyzing tools on the CEVA-X Platform. June 2007 Arik Caspi Eyal Gabay.
Testing Tools & Standards
Integration of OCP and SIMULINK
ECE 551: Digital System Design & Synthesis
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
Jinseok Choi, Brian L. Evans and *Alan Gatherer
Welcome to MATLAB.
Spyridon (Spyros) Mastorakis University of California, Los Angeles
Outline Matlab tutorial How to start and exit Matlab Matlab basics.
INTRODUCTION TO BASIC MATLAB
MATLAB DENC 2533 ECADD LAB 9.
AUTOMATED SESSION PLANNING. In the present world, everything has become automated. By, a click everything is being processed. But the preparation of the.
Anne Pratoomtong ECE734, Spring2002
Unit# 8: Introduction to Computer Programming
Teaching The Art of Verification
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
A Comparison of Field Programmable Gate
Wireless Communication Co-operative Communications
Matlab as a Development Environment for FPGA Design
Use of Mathematics using Technology (Maltlab)
Wireless Communication Co-operative Communications
Srinivas Aluri Jaimin Mehta
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
JavaScript CS 4640 Programming Languages for Web Applications
Digital Designs – What does it take
Xilinx Alliance Series
Presentation transcript:

Matlab as a Design Environment for Wireless ASIC Design Erik Lindskog Beceem Communications, Inc. elindskog@beceem.com June 16, 2005

Introduction to Beceem Wireless communication system developer Using Matlab for ASIC design Product development phase: Algorithm development - Matlab Algorithm and system modeling - Matlab RTL design – Verilog RTL verification - SystemC, Verilog and Matlab SW design – C++ SW verification – C++ and Matlab

Advantages With Matlab Rich support for mathematical operations and visualization Most common tool for signal processing research Graduates in communication and signal processing engineering are typically highly familiar with Matlab Fewer people have experience in programming in C++ Full fledged programming as well as scripting language Interpretating language – Integrates well with other programs Powerful debugging support Not a typed language - Highly ‘moldable’

Matlab Simulator Design Common simulator for: PHY algorithm development and studies Small network full PHY studies of Effect of co- and adjacent channel interference on PHY algorithms Synchronization and hand-over Link-adaptation Fixed point modeling RTL signal processing reference Standalone code for Independent lower complexity studies Generation of independent references

Matlab Simulator Design, cont. Organization Common core source code Simulation examples driving source code Single file with default parameter settings enables developers to work reasonably independently while using the common code

Open Source/Freeware Software CVS - Concurrent Version Control system Cygwin – Unix emulator for Windows CVS Tortoise – File browser based CVS client Integrates external free software tools like ExamDiff for CVS diffing WinCVS – GUI based CVS client

Signal Processing Design Flow Module design In standalone code, or Direct in main simulator Floating point system modeling Integration of modules into main simulator Floating point performance simulations

Signal Processing Design Flow, cont. Fixed point module design In module design environment to excite corner cases Integrated in main simulator to get realistic signal levels Fixed point system modeling Full system fixed performance simulations Ability to turn fixed point on/off per block Analysis of quantization statistics to pin-point problems

Matlab – RTL Design Flow Matlab fixed point design handed over to RTL Module verification File-in-file-out test vector comparison between MATLAB and Verilog Extensive testing to cover corner cases in fixed point arithmetic Random signals to guarantee fixed point equivalence

Matlab – RTL Design Flow System testing Side-by-side testing of Verilog and MATLAB in SystemC testbench MATLAB simulator compiled and linked to C-program called from SystemC testbench Verilog code excited from SystemC testbench Verilog simulation speed is the limiting factor Common test for Matlab and Verilog code Directed testing for initial coverage Random testing for extensive coverage All system tests part of Matlab automated regression testing

Matlab – SW Design Flow Matlab fixed point design handed over to SW Module verification File-in-file-out test vector comparison between MATLAB and C++ SW code Simulation example test cases in Matlab for C++ SW code System testing Side-by-side testing of SW on FPGA and Matlab system simulation

Fixed Point Modeling Currently performed in regular Matlab Regular arithmetic operations where precision is allowed to grow Quantization with quantization functions where precision is to be limited Automatic fixed point statistics collection

Object Oriented Fixed Point Modeling Simultaneous floating and fixed point Fixed point format embedded in variable Matlab object oriented support limited Assignment operator cannot be overloaded – Traditional quantization with assignment operation in C++ cannot be done Function overloading only sensitive to first argument Catalytic have an object oriented fixed point modeling tool Matlab also now have an object oriented fixed point toolbox

Fixed Point Analysis Analysis of fixed point quantization statistics Headroom – E.g. headroom above 67th percentile Signal to quantization noise ratio – SQNR Over- and underflow ratios Signal level histogram Full system simulation fixed point analysis Example Matlab implementation Fixed point analysis function Example call: fxp_stat(x, 2, 5) Store statistics in function call stack tree structure Analyze statistics after completed simulation Block-swapping analysis Switching of fixed and floating point blocks

Lab use of Matlab Simulator Modeling of Tx or Rx part of modem against HW Rx or Tx modem Interoperability testing with signal generators and signal analyzers MAC-PHY interoperability testing Simple RF testing Over the air transmission demonstration when combined with RF

Matlab Regression Testing Developer regression testing To many tests to run all Directed and/or randomly selected set of tests. Automated Regression Testing All regression tests checked for each block of commits Breaking commit identified for each failing regression test Result of testing automatically emailed to developer High SNR Tx-Rx tests Single SNR BER tests Simulation example execution tests RTL verification tests mimicing exact use in RTL test bench

Matlab Regression Testing, cont. Automated Random Testing Script generating random traffic for testing of Matlab simulator and RTL Periodic random testing of code in repository with random Tx-Rx tests Result automatically emailed to developers Provides extensive coverage Scripting language - Matlab

Speeding up Matlab Code Scalar loops Loop over scalar operation are slow Vectorization Convert scalar loops to matrix operations Conversion to C-code Compilation of Matlab Removes the need for other language Limits the need for vectorization of code Limits duplication of code in Matlab and C Example compiler: Catalytic Matlab Compiler

Summary Matlab Powerful tool for signal processing design Lessens ‘distance’ between algorithms and HW Facilitates for algorithm designers to be closely involved in fixed point testing and RTL verification Interacts easily with other programs and equipment Attractive design environment for ASIC design