This material exempt per Department of Commerce license exception TSU Multi-rate Systems.

Slides:



Advertisements
Similar presentations
Part 4: combinational devices
Advertisements

© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
ADSP Lecture2 - Unfolding VLSI Signal Processing Lecture 2 Unfolding Transformation.
Functions and Functional Blocks
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Digital Logic Chapter 5 Presented by Prof Tim Johnson
Digital Logic Circuits (Part 2) Computer Architecture Computer Architecture.
Dr. ClincyLecture1 Appendix A – Part 2: Logic Circuits Current State or output of the device is affected by the previous states Circuit Flip Flops New.
Analogue to Digital Conversion
MotoHawk Training Model-Based Design of Embedded Systems.
4/10/20081 Lab 9 RT methodology introduction Register operations Data Path Control Path ASM Example TA: Jorge Crichigno.
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
GCSE Computing - The CPU
Sequential Circuit  It is a type of logic circuit whose output depends not only on the present value of its input signals but on the past history of its.
© 2003 Xilinx, Inc. All Rights Reserved Multi-rate Systems.
Counters and Registers
A presentation on Counters
Practical Aspects of Logic Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
Using Programmable Logic to Accelerate DSP Functions 1 Using Programmable Logic to Accelerate DSP Functions “An Overview“ Greg Goslin Digital Signal Processing.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
Overview Logistics Last lecture Today HW5 due today
Department of Electrical & Computer Engineering 1 ES585a - Computer Based Power System Protection Course by Dr.T.S.Sidhu - Fall 2005 Class discussion presentation.
… Representation of a CT Signal Using Impulse Functions
4. Multirate Systems and their Applications. We compute here … and throw away most of them here!!!! Inefficient Implementation of Downsampling.
CS3350B Computer Architecture Winter 2015 Lecture 5.2: State Circuits: Circuits that Remember Marc Moreno Maza [Adapted.
Introduction to Digital Logic Design Appendix A of CO&A Dr. Farag
Digital Pulse Amplitude Modulation (PAM)
Digital Radio Receiver Amit Mane System Engineer.
CS1Q Computer Systems Lecture 8
© 2003 Xilinx, Inc. All Rights Reserved Answers DSP Design Flow.
© 2003 Xilinx, Inc. All Rights Reserved HDL Co-Simulation.
Counter Application (Part B) By : Pn Siti Nor Diana Ismail CHAPTER 3.
Digital Logic Design Lecture # 9 University of Tehran.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Chapter 1_4 Part III more on … Counters Chapter 1_4 Part III more on … Counters.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU DSP Design Flow System Generator for DSP.
ECE 448: Lab 6 DSP and FPGA Embedded Resources (Digital Downconverter)
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
Digital Logic Design.
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU HDL Co-Simulation.
Timing Analysis Section Delay Time Def: Time required for output signal Y to change due to change in input signal X Up to now, we have assumed.
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Prof. Brian L. Evans Dept. of Electrical and Computer Engineering The University of Texas at Austin EE345S Real-Time Digital Signal Processing Lab Fall.
Outline MSI Parts as a Decoder Multiplexer Three State Buffer MSI Parts as a Multiplexer Realization of Switching Functions Using Multiplexers.
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Clock in Digital Systems. Combinational logic circuit A combinational logic circuit is one whose outputs depend only on its current inputs
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Counters.
© 2003 Xilinx, Inc. All Rights Reserved Answers DSP Design Flow.
Teaching Digital Logic courses with Altera Technology
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
CS 61C: Great Ideas in Computer Architecture Sequential Elements, Synchronous Digital Systems 1 Instructors: Vladimir Stojanovic & Nicholas Weaver
THEME 6: Frequency dividers. Digital counters with reduced counting modulus. Programmable digital counters. If the input pulses are more than K, the counter.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
RTL Hardware Design by P. Chu Chapter 9 – ECE420 (CSUN) Mirzaei 1 Sequential Circuit Design: Practice Shahnam Mirzaei, PhD Spring 2016 California State.
4-4-3 Shift registers. Learning Objectives: At the end of this topic you will be able to; i) recognise, analyse and design circuits containing D-type.
Basic Xilinx Design Capture. © 2006 Xilinx, Inc. All Rights Reserved Basic Xilinx Design Capture After completing this module, you will be able.
GCSE Computing - The CPU
Prof. Sin-Min Lee Department of Computer Science
REGISTER TRANSFER LANGUAGE (RTL)
Clock in Digital Systems
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Course Agenda DSP Design Flow.
The Processor Lecture 3.1: Introduction & Logic Design Conventions
ECE 352 Digital System Fundamentals
GCSE Computing - The CPU
Instructor: Michael Greenbaum
Presentation transcript:

This material exempt per Department of Commerce license exception TSU Multi-rate Systems

Objectives After completing this module, you will be able to: Define multi-channel and multi-rate systems Identify sample rate changing blocks Describe Simulink propagation rules Explain the hardware realization for rate changing blocks

Outline Multi-rate Systems Sample Rate Changing Blocks Simulink Propagation Rules Hardware Lab 6: Designing a MAC FIR

BPF LPF EqualizationDemodulation BPF LPF EqualizationDemodulation R.F MHz5-40 MHz500 kHz - 10 MHz Sample Rates Multi-rate Systems Looking at a typical wireless base-station receiver application, we can see that filters can form a major part of the DSP functionality Because the object of such a system is to down convert from high frequencies to lower frequencies, however, this is also coupled with many different sample rates …

BPF LPF EqualizationDemodulation BPF LPF EqualizationDemodulation R.F MHz5-40 MHz500 kHz - 10 MHz Sample Rates Multi-rate Systems How are sample rate changes performed in System Generator? What tools are available to build multi-rate systems and what are the difficulties and problems involved?

Sample Times…Again? Every SysGen signal must be sampled; that is, transitions occur at equidistant discrete points in time called sample times – Set explicitly Gateway in Blocks w/o inputs (note: constants are idiosyncratic) – Derived from input sample times – System sample period controlled by System Generator token – What if the sample rate needs to be changed?

Outline Multi-rate Systems Sample Rate Changing Blocks Simulink Propagation Rules Hardware Lab 6: Designing a MAC FIR

Sample Rate Changing Blocks Up sample can either replicate the same number M-1 times or insert M-1 zeros to achieve the higher sampling rate Down sample “throws away” M-1 samples to achieve lower sampling rate Up Sample by 3 00 Down Sample by 3 0 0

Sample Rate Changing Blocks Parallel to Serial: Output rate will be M times faster, where M is the width of the input parallel data Serial to Parallel: Output rate will be M times slower, where M is the width of the output parallel data FIR: Can be used as a polyphase interpolation or decimation FIR

Too Many Rates! As designs grow, there are tools available to track and manage all the different sampling rates – Use Sample Time block from Xilinx Blockset  Index or Tools libraries – Use the sample time colors (Format  Sample Time Colors) – Use Simulink display block to view the output of the sample block

Sample Period (GCD) Sample Period Gateway InBlock OutputDown SampleUp SampleUp Sample / /10026/10013/100 Simulink System Period: 1/100 Who Runs the Show? The System Generator token still controls simulations. The “Simulink System Period” must be set correctly for simulation to work. The System Period is the global sample period that all other sample periods can be derived from. Therefore, every sample period in a design must be a multiple of the System period

Who Runs the Show? “Simulink System Period” MUST be set correctly for simulation to work If incorrect, the tools will calculate the value for you

44.1 kHz 48 kHz 441 kHz CD format DAT format 7056 kHz Sample Period (GCD) Sample Period Gateway InBlockantiAliasFIRantiAliasFIR1Gateway Out Simulink System Sample Period: Exercise: Audio Application Analyze the following sampling rate change system that is commonly found in audio broadcasting studios. Determine the Simulink System Sample period:

Outline Multi-rate Systems Sample Rate Changing Blocks Simulink Propagation Rules Hardware Lab 6: Designing a MAC FIR

Simulink Propagation Rules Simulink’s data type and sample time inheritance rules make it possible to tailor design without having to update every block Simulink resolves all data types and sample times during initialization by propagating known values – As mentioned, all blocks inherit their input sample rate – Feedback loops no longer cause problems for Simulink’s propagation algorithms No longer required to set explicit sample time in every feedback loop – SysGen idiom: “explicit inherited” sample period tells Simulink to inherit first encountered sample time

Outline Multi-rate Systems Sample Rate Changing Blocks Simulink Propagation Rules Hardware Lab 6: Designing a MAC FIR

What About the Hardware? System Generator implements multi-rate systems using a synchronous clock enable scheme Every block gets the same system clock signal, the fastest clock, but is enabled at its relative sample rate defined in Simulink

What About the Hardware? How this works: – In hardware, think of the sample period as the “number clock pulses between block execution” E.g., a sample period of 1 means that particular block will be executed on every clk cycle. Hence, the system clock is assumed to have a sample period of “1.” A sample period of 5 means that particular block will be executed on every fifth clock cycle – SysGen examines every sample time in the entire system, and computes their greatest common divisor (GCD). The system clock corresponds to the GCD (sample period of ‘1’), and each sample period is then normalized to a multiple of this value – SysGen generates circuitry (xlclockdriver.vhd) that periodically asserts a CE (for a single clock cycle) for every required multiple. The main circuitry in the xlclockdriver.vhd is a counter and some comparator logic

What About the Hardware? This concept is illustrated below in a timing diagram. These Clock enable pulses are referred to as the “Normalized Sample Times”

What About the Hardware? This clocking scheme means the implementation tools need to be informed how fast each flip-flop really has to be clocked (i.e., multi- cycle path constraints are a must). Fortunately, in SysGen, the code generator does this (see XCF file)

Some Hardware Specifics To continue with our theme of ‘looking under the hood’ it is important to examine the hardware implementation and potential traps associated with using multi-rate systems We will examine the: – Up Sampler – Down Sampler

L Up Sampler Up sampler becomes a “short” (a wire) if samples are copied. There is no cost in hardware, simply a simulation construct Otherwise, a MUX switches between 0 and the data input

Up Sampler L

Latency > 0 has two options – Sample Last Value of Frame is most efficient (a delay) – Sample First Value (costs one additional register) Down Sampler

Latency > 0 has two options – Sample Last Value of Frame is most efficient (a delay) – Sample First Value (costs one additional register) M Down Sampler

Latency zero has a shutter, but has a registered enable Careful of the combinatorial feedthrough path on the data line through the output MUX. This is a problem with zero-latency down samplers

Useful Blocks Use the CLK probe and the CE Probe from the Xilinx Blockset to view their respective signals CE Probe produces Boolean output that can be used for control logic

Hint: Refer to the up/down sampler slides to help determine their respective sample times Exercise: Audio Application Analyze the following sampling rate change system that is commonly found in audio broadcasting studios. Fill in the sampling rates in the table below: DAT format DAB format 32 kHz 96 kHz 48 kHz

Outline Multi-rate Systems Sample Rate Changing Blocks Simulink Propagation Rules Hardware Lab 6: Designing a MAC FIR

In this lab, you will create a MAC-based FIR filter in System Generator using the MAC engine that you created in Lab 1 and control logic that you created in Lab 5. The purpose of this lab is to solidify the concepts covered thus far, by implementing a larger, more complex DSP function than the functions addressed earlier.