Simulink Design Environment

Similar documents
Simulink-Hardware Flow

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

Design and Verification of FPGA Applications

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

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

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

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

Wordlength Optimization

Introduction to C and HDL Code Generation from MATLAB

Introduction to Model-Based High- Level Synthesis. Synphony Model Compiler

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

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

Basic Xilinx Design Capture. Objectives. After completing this module, you will be able to:

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

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

Architecture Techniques

FPGA for Software Engineers

An Overview of a Compiler for Mapping MATLAB Programs onto FPGAs

Multi-Gigahertz Parallel FFTs for FPGA and ASIC Implementation

Verilog for High Performance

Modeling and implementation of dsp fpga solutions

I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

Accelerating FPGA/ASIC Design and Verification

Advanced Synthesis Techniques

Introduction to DSP/FPGA Programming Using MATLAB Simulink

SDR Spring KOMSYS-F6: Programmable Digital Devices (FPGAs)

University of Massachusetts Amherst Department of Electrical & Computer Engineering

VHDL for Synthesis. Course Description. Course Duration. Goals

Design of Embedded DSP Processors

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Design of Embedded DSP Processors Unit 2: Design basics. 9/11/2017 Unit 2 of TSEA H1 1

Homework deadline extended to next friday

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Optimize DSP Designs and Code using Fixed-Point Designer

Xilinx System Generator v Xilinx Blockset Reference Guide. for Simulink. Introduction. Xilinx Blockset Overview.

ECE 747 Digital Signal Processing Architecture. ESL Design Methodologies

FPGA Polyphase Filter Bank Study & Implementation

Enabling success from the center of technology. Xilinx DSP Model-Based Design Solutions

Lab #1. Topics. 3. Introduction to Verilog 2/8/ Programmable logic. 2. Design Flow. 3. Verilog --- A Hardware Description Language

World Class Verilog & SystemVerilog Training

05 - Microarchitecture, RF and ALU

System-on-Chip Design for Wireless Communications

Vivado Design Suite User Guide

: : (91-44) (Office) (91-44) (Residence)

FPGA Implementation and Validation of the Asynchronous Array of simple Processors

VLSI Signal Processing

EN2911X: Reconfigurable Computing Topic 02: Hardware Definition Languages

EE M216A.:. Fall Lecture 17. Testability. Prof. Dejan Marković

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Fundamental Design Concepts. Fundamental Concepts. Modeling Domains. Basic Definitions. New terminology and overloaded use of common words

COE 561 Digital System Design & Synthesis Introduction

INTRODUCTION TO CATAPULT C

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna

Chapter 2 Using Hardware Description Language Verilog. Overview

DSP Builder Handbook Volume 1: Introduction to DSP Builder

ECE 747 Digital Signal Processing Architecture. DSP Implementation Architectures

Synthesizable Verilog

Vivado HLx Design Entry. June 2016

RTL Design (Using ASM/SM Chart)

AC : INCORPORATING SYSTEM-LEVEL DESIGN TOOLS INTO UPPER-LEVEL DIGITAL DESIGN AND CAPSTONE COURSES

ALTERA FPGA Design Using Verilog

Lecture 15: System Modeling and Verilog

DSP Co-Processing in FPGAs: Embedding High-Performance, Low-Cost DSP Functions

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

קורס VHDL for High Performance. VHDL

Digital Design with FPGAs. By Neeraj Kulkarni

Modeling a 4G LTE System in MATLAB

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 545 Lecture 12. Datapath vs. Controller. Structure of a Typical Digital System Data Inputs. Required reading. Design of Controllers

Introduction to Electronic Design Automation. Model of Computation. Model of Computation. Model of Computation

An introduction to CoCentric

Model-Based Design for Video/Image Processing Applications

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

Field Programmable Gate Array (FPGA)

Lecture #1: Introduction

Schedule. ECE U530 Digital Hardware Synthesis. Rest of Semester. Midterm Question 1a

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

EECS150 - Digital Design Lecture 7 - Computer Aided Design (CAD) - Part II (Logic Simulation) Finite State Machine Review

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

Design of Embedded DSP Processors Unit 5: Data access. 9/11/2017 Unit 5 of TSEA H1 1

EECS150 - Digital Design Lecture 6 - Logic Simulation. Encoder Example

ENGN1640: Design of Computing Systems Topic 02: Design/Lab Foundations

Introduction to Verilog/System Verilog

Vivado Design Suite Tutorial. Model-Based DSP Design using System Generator

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Avnet Speedway Design Workshop

Making the Most of your MATLAB Models to Improve Verification

Register Transfer Level in Verilog: Part I

Introduction to Verilog

Lab Assignment 2. Implementing Combinational and Sequential Logic in VHDL

FPGA design with National Instuments

High-Speed SDR SDRAM Controller Core for Actel FPGAs. Introduction. Features. Product Brief Version 1.0 November 2002

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

Qsys and IP Core Integration

EECS150 - Digital Design Lecture 6 - Logic Simulation

23. Digital Baseband Design

FIR Compiler MegaCore Function User Guide

Sunburst Design - Verilog-2001 Design & Best Coding Practices by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

V1 - VHDL Language. FPGA Programming with VHDL and Simulation (through the training Xilinx, Lattice or Actel FPGA are targeted) Objectives

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

Transcription:

EE219A Spring 2008 Special Topics in Circuits and Signal Processing Lecture 4 Simulink Design Environment Dejan Markovic dejan@ee.ucla.edu Announcements Class wiki Material being constantly updated Please sign up using your UCLA EE user name (I need this for verification purposes) Homework #1 up online Due: Friday, Apr 18, 4pm Slide 2

Multiple design descriptions Algorithm (Matlab or C) Fixed point description RTL (behavioral, structural) Test vectors for logic analysis Development Multiple engineering teams involved This work demonstrates Unified Matlab/Simulink environment Optimized design and verification Slide 3 Scaling Impacts Architecture E op / E ref @ V dd max 10 1 0.1 Process: L-Vt S-Vt H-Vt P2 P2 T2 T2 Architecture: P2: parallel 2 T2: time-mux 2 Scaling 0.01 0.1 1 10 T op / T ref @ V max dd Slide 4

Simulink to Silicon Mapping MDL to RTL conversion, automated P&R flow Simulink Fix-pt lib MDL Custom tool 1 Speed Power Area backend [R. Davis et al., JSSC Mar 02] Slide 5 Including Emulation XSG hardware library, RTL translation scripts Simulink Hw lib RTL backend Custom tool 2 backend Speed Power Area and are I/O equivalent [K. Kuusilinna et al., book chap. in SoC Revolution, KAP 2003] Slide 6

Closing the Loop: I/O Verification I/O hardware library, automated flow Simulink I/O lib Hw lib RTL Custom tool 3 backend Custom tool 2 backend Speed Power Area implements logic analysis [D. Markovic, C. Chang, B. Richards, H. So, B. Nikolic, R.W. Brodersen, CICC 07] Slide 7 Proposed Approach Unified Simulink environment Enter the design only once! Algorithm verification / emulation Abstract view of architecture based debug Hardware-equivalent blocks Basic operators Add, multiply, shift, mux Implementation constraints Word-size, latency Slide 8

Bit True Cycle Accurate Model Speed Power Area [Slide from B. Brodersen] Slide 9 Now to Implement That Description Algorithm/flexibility evaluation Digital delay, area and energy estimates & effect of analog impairments Initial System Description (Floating point Matlab/Simulink) Determine Flexibility Requirements Description with Hardware Constraints (Fixed point Simulink, FSM Control in Stateflow) Common test vectors, and hardware description of net list and modules Real-time Emulation ( Array) Automated Generation (Chip-in-a-Day flow) [Slide from B. Brodersen] Slide 10

Simulink Based Chip Design Strategy Directly map diagram into hardware since there is a one for one relationship for each of the blocks S reg Mult1 Mac1 X reg Mac2 Add, Sub, Shift Mult2 Result: An architecture that can be implemented rapidly Slide 11 Hardware Libraries Xilinx System Generator Synplify DSP Slide 12

Synplify DSP Overview [Courtesy: Synplicity] DSP Synthesis Solution: DSP Design Library Capture, Simulate, Analyze Sample Rates & Quantization High Architectural Abstraction DSP Synthesis Engine Architectural Optimizations Synthesizable RTL Technology Dependent Logic Synthesis Engine Logic-level Optimizations Map to Memory, Mults, Sample Time Definition Physical Clock Constraint Model Based Design Architectural Optimizations DSP Synthesis Synplify DSP Application Logic Optimizations RTL Synthesis Synplify Pro Synthesis Synplify Pro Synthesis Synplify Pro Synthesis Synplify DSP Library synthesizable RTL synthesizable RTL synthesizable RTL Logic Synthesis y=fir(x) c=a+b; r(0)=p(1)^q(3); Lecture 4 Synplify DSP Library Features Automatic Automatic Propagation Propagation of of Fixed-Point Fixed-Point Quantization Quantization Parameters Parameters HW Implementable Simulink Blockset Features: Datapath Propagation Sample Rate Display Fixed-Point Analysis Fast Simulation: Simulink S-Functions Hardware Abstraction Full Full User User Control Control of of Precision Precision Automatic Propagation and Display of Automatic Propagation and Display of Sample Rate Relationships Sample Rate Relationships [Courtesy: Synplicity] Analyze and Debug Quantization Effects Analyze and Debug Quantization Effects with Fixed-Point System Tools with Fixed-Point System Tools Slide 14

Simple FIR Example [Courtesy: Synplicity] Basic 6-Tap FIR 18-bit input Coefficients 18-bit Fixed Low Pass freq. spec Positive Symmetric -0.0458 0.1770 0.4124 0.4124 0.1770-0.0458-0.0458 0.1770 0.4124 0.4124 0.1770-0.0458 Slide 15 Advantages of DSP Synthesis Explore Speed/Area Tradeoffs from a Single Model More Parallelization DSP Synthesis Area Parameterized Schematics or RTL Architectural Alternatives More Serialization Delay [Courtesy: Synplicity] Slide 16

Architecture Transformations Systematic way to do this the goal is to reach target point (e.g. reference point) on Energy-Delay line parallel reference Energy time-mux pipeline intl, fold Area 0 intl, fold V DD scaling time-mux reference pipeline, parallel Delay Slide 17 Pipelining Strategy Library blocks / macros synthesized @ V DD ref T Clk @ V DD ref Speed Power Area mult add Cycle Time V DD scaling gate sizing Pipeline logic scaling FO4 inv simulation T Clk @ V DD opt V DD ref Latency 0 Energy Slide 18

[Courtesy: Synplicity] Comprehensive Library for Waveform Development Synplify DSP v3.2 Subsystems Black Box Sources Constant Counter DDS (NCO) Ramp Random Sequence Transforms FFT Math Abs Accumulator Add Binary Logic Comparator DivMod Gain Inverter Log (ln,log10,log2) MinMax Mult Negate Pow Shifter Sign SinCos Sqrt CORDIC Div Exp Log Polar Rotator SinCos Sqrt Memories Delay FIFO Permutation RAM Register ROM Shift Register Signal Operations Concatenate Convert De/Commutator De/Mux Down/Upsample Extract Parallel to Serial Recast Serial to Parallel Vector De/Mux Communications Block De/Interleaver Convolutional De/Interleaver Convolutional Encoder De/Puncture Viterbi Decoder New! Control Logic M Control Mealy State Machine Moore State Machine Filtering CIC Differentiator FIR FIR Rate Converter IIR Integrator FIR Engine (Adaptive) New! Reloadable FIR Slide 19 Vector Support [Courtesy: Synplicity] Vector signals in Synplify DSP Designs Concise description of parallel and multi-channel algorithms Blocks Updated w/vector Support: Blocks Updated w/vector Support: port in port in port out port out add add mult mult counter counter acc acc fir fir fft fft fifo fifo ram ram delay delay gain gain rom rom SR SR comparator comparator sincos sincos shifter shifter Upsample Upsample Downsample Downsample Mux Mux Demux Demux convert convert Constant Constant New Blocks: New Blocks: Vector Mux Vector Mux Vector Demux Vector Demux Slide 20

[Courtesy: Synplicity] More Complex Example: Rx Chain Multi-Rate Support Synplify DSP Viterbi Decoder Synplify DSP FIR Waveform and Constellation Analysis M Control Slide 21 Simulink Design Flow DSP algorithm Timed dataflow SysGen SynDSP B-box HDL Architectural Transformations backend backend Speed Power Area Hardware co-simulation Slide 22

Based Chip Verification Matlab Simulink model emulation board board Real-time hardware co-simulation Slide 23 Based Verification + + = I/O TB I/O TB Goal: use Simulink testbench (TB) for verification Develop custom interface blocks (I/O) Place I/O and RTL into TB model Simulink implicitly provides the testbench Slide 24

Custom Interface Blocks (I/O) Sw / Hw interfaces Regs, FIFOs, BRAMs External interfaces GPIO ports A/D & D/A Analog subs. Debugging Signal gen. Hw scope Fully automated RTL flow for verification Slide 25 Simulink Test Model ADDR IN OUT WE BRAM_IN -c- -c- in rst Simulink hardware model out ADDR IN OUT WE BRAM_ logic gpio gpio gpio -cin rst clk board out gpio ADDR IN OUT WE BRAM_ -c- reset sim_rst reg0 logic software_reg Slide 26

Initial Verification Strategy Client PC RS232 ~Kb/s board GPIO ~130Mb/s board Testbench model on the board Test vectors entered through RS232 Block read / write operation Custom read_xps, write_xps commands Real-time performance bounded by GPIO Slide 27 Example: SVD Test Model Emulation-based I/O test Slide 28

Based Verification board GPIO board Real-time at-speed verification Slide 29 Measured Functionality Eigenvalues 12 10 8 6 4 2 4x4 MIMO channel tracking theoretical hardware σ 4 2 σ 3 2 σ 2 2 σ 1 2 0 0 8 16 24 32 Number of Symbols [k] Up to 10 b/s/hz with adaptive PSK Slide 30

Improved Verification Strategy User Term. Ethernet BORPH board Z Dok ~500Mb/s board Goal 1: Improved I/O speed Standardized / interface Goal 2: test vectors on the Remote control via BORPH, an OS Testbench executes on a BORPH managed Slide 31 Based Verification (Summary) I/O I/O TB TB Simulation Simulink Simulink Simulink Pure SW Simulation HDL Simulink Simulink Simulink ModelSim co-simulation Emulation I/O Test HIL tools Simulink Hardware in the loop simulation Pure emulation & & Custom SW Testvectors outside Testvectors inside Slide 32

Summary Simulink provides design description that is convenient for algorithm developers and hardware designers Design is described using the block-based model that is bit-true and cycle-accurate with respect to hardware We can also perform mixed-mode simulations to quantify the impact of finite wordlength effects (to be discussed in detail after we finish with DSP kernels) Slide 33