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

Slides:



Advertisements
Similar presentations
The Complete Technical Analysis and Development Environment An attractive alternative to MATLAB and GAUSS - Physics World.
Advertisements

SOC Design: From System to Transistor
© 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.
Seminar On “ OMNET++ Network Simulator” Presented By: Saurav K Bengani Guided By: Guided By: Dr. Andrew yang Dr. Andrew yang.
Alternate Software Development Methodologies
How to Accelerate the Analog Design Verification Flow Itai Yarom Senior Verification Expert Synopsys.
MotoHawk Training Model-Based Design of Embedded Systems.
MATLAB Presented By: Nathalie Tacconi Presented By: Nathalie Tacconi Originally Prepared By: Sheridan Saint-Michel Originally Prepared By: Sheridan Saint-Michel.
NoC Modeling Networks-on-Chips seminar May, 2008 Anton Lavro.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
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.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
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.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
Damian Gordon. Requirements testing tools Static analysis tools Test design tools Test data preparation tools Test running tools - character-based, GUI.
Design Synopsys System Verilog API Donations to Accellera João Geada.
Anne Mascarin DSP Marketing The MathWorks
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
- Chaitanya Krishna Pappala Enterprise Architect- a tool for Business process modelling.
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.
- 1 - EE898-HW/SW co-design Hardware/Software Codesign “Finding right combination of HW/SW resulting in the most efficient product meeting the specification”
© 2004 The MathWorks, Inc. 1 MATLAB for C/C++ Programmers Support your C/C++ development using MATLAB’s prebuilt graphics functions and trusted numerics.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
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.
CISC105 General Computer Science Class 1 – 6/5/2006.
Simulink ® Interface Course 13 Active-HDL Interfaces.
Scientific Computing By: Fatima Hallak To: Dr. Guy Tel-Zur.
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 Computer Programming (ECGD2102 ) Using MATLAB Instructor: Eng. Eman Al.Swaity Lecture (1): Introduction.
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.

© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
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.
FORTRAN History. FORTRAN - Interesting Facts n FORTRAN is the oldest Language actively in use today. n FORTRAN is still used for new software development.
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.
CoDeveloper Overview Updated February 19, Introducing CoDeveloper™  Targeting hardware/software programmable platforms  Target platforms feature.
ECE 551: Digital System Design & Synthesis
Outline Matlab tutorial How to start and exit Matlab Matlab basics.
INTRODUCTION TO BASIC MATLAB
MATLAB DENC 2533 ECADD LAB 9.
Unit# 8: Introduction to Computer Programming
Teaching The Art of Verification
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
Matlab as a Development Environment for FPGA Design
Matlab as a Design Environment for Wireless ASIC Design
Srinivas Aluri Jaimin Mehta
Digital Designs – What does it take
Xilinx Alliance Series
Presentation transcript:

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

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 67 th 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 ed 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 ed 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