Serial FIR Filter. A Brief Study in DSP. ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 GEORGE MASON UNIVERSITY.

Similar documents
Faculty of Electrical & Electronics Engineering BEE3233 Electronics System Design. Laboratory 3: Finite State Machine (FSM)

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Radar Signal Processing Final Report Spring Semester 2017

FPGA Laboratory Assignment 4. Due Date: 06/11/2012

FPGA Hardware Resource Specific Optimal Design for FIR Filters

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Sciences

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Objectives. Combinational logics Sequential logics Finite state machine Arithmetic circuits Datapath

Keywords Xilinx ISE, LUT, FIR System, SDR, Spectrum- Sensing, FPGA, Memory- optimization, A-OMS LUT.

Main Design Project. The Counter. Introduction. Macros. Procedure

Memory efficient Distributed architecture LUT Design using Unified Architecture

Inside Digital Design Accompany Lab Manual

Smart Night Light. Figure 1: The state diagram for the FSM of the ALS.

Design and Implementation of Partial Reconfigurable Fir Filter Using Distributed Arithmetic Architecture

Main Design Project. The Counter. Introduction. Macros. Procedure

Ryerson University Department of Electrical and Computer Engineering COE/BME 328 Digital Systems

VHDL Design and Implementation of FPGA Based Logic Analyzer: Work in Progress

1. a) For the circuit shown in figure 1.1, draw a truth table showing the output Q for all combinations of inputs A, B and C. [4] Figure 1.

Distributed Arithmetic Unit Design for Fir Filter

LUT Design Using OMS Technique for Memory Based Realization of FIR Filter

ECE337 Lab 4 Introduction to State Machines in VHDL

Lab 5 FPGA Design Flow Based on Aldec Active-HDL. Fast Reflex Game.

Microprocessor Design

Digital Systems Laboratory 1 IE5 / WS 2001

LUT Optimization for Memory Based Computation using Modified OMS Technique

CHAPTER 4 RESULTS & DISCUSSION

Performance Evolution of 16 Bit Processor in FPGA using State Encoding Techniques

OL_H264MCLD Multi-Channel HDTV H.264/AVC Limited Baseline Video Decoder V1.0. General Description. Applications. Features

ECSE-323 Digital System Design. Datapath/Controller Lecture #1

Reconfigurable FPGA Implementation of FIR Filter using Modified DA Method

Traffic Light Controller

HDL & High Level Synthesize (EEET 2035) Laboratory II Sequential Circuits with VHDL: DFF, Counter, TFF and Timer

A Fast Constant Coefficient Multiplier for the XC6200

ENGG2410: Digital Design Lab 5: Modular Designs and Hierarchy Using VHDL

More Digital Circuits

VID_OVERLAY. Digital Video Overlay Module Rev Key Design Features. Block Diagram. Applications. Pin-out Description

Logic Devices for Interfacing, The 8085 MPU Lecture 4

CS 110 Computer Architecture. Finite State Machines, Functional Units. Instructor: Sören Schwertfeger.

Digital Fundamentals: A Systems Approach

Figure 1: Feature Vector Sequence Generator block diagram.

LUT OPTIMIZATION USING COMBINED APC-OMS TECHNIQUE

EEM Digital Systems II

OL_H264e HDTV H.264/AVC Baseline Video Encoder Rev 1.0. General Description. Applications. Features

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15

Design and Implementation of SOC VGA Controller Using Spartan-3E FPGA

Application Note PG001: Using 36-Channel Logic Analyzer and 36-Channel Digital Pattern Generator for testing a 32-Bit ALU

California State University, Bakersfield Computer & Electrical Engineering & Computer Science ECE 3220: Digital Design with VHDL Laboratory 7

University of Pennsylvania Department of Electrical and Systems Engineering. Digital Design Laboratory. Lab8 Calculator

Tutorial 11 ChipscopePro, ISE 10.1 and Xilinx Simulator on the Digilent Spartan-3E board

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science Introductory Digital Systems Laboratory

Programmable Logic Design I

A Parallel Area Delay Efficient Interpolation Filter Architecture

CS3350B Computer Architecture Winter 2015

TEST PATTERN GENERATION USING PSEUDORANDOM BIST

Register Transfer Level in Verilog: Part II

UNIT IV CMOS TESTING. EC2354_Unit IV 1

Adaptive Fir Filter with Optimised Area and Power using Modified Inner-Product Block

Dynamically Reconfigurable FIR Filter Architectures with Fast Reconfiguration

CS61C : Machine Structures

EE 101 Lab 7 Crosswalk

Implementation of CRC and Viterbi algorithm on FPGA

DIGITAL SYSTEM DESIGN UNIT I (2 MARKS)

Altera s Max+plus II Tutorial

Design of a Binary Number Lock (using schematic entry method) 1. Synopsis: 2. Description of the Circuit:

CS61C : Machine Structures

An Lut Adaptive Filter Using DA

DDC and DUC Filters in SDR platforms

The Nexys 4 Number Cruncher. Electrical and Computer Engineering Department

Contents Circuits... 1

You will be first asked to demonstrate regular operation with default values. You will be asked to reprogram your time values and continue operation

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies

FPGA Implementation of DA Algritm for Fir Filter

Designing Fir Filter Using Modified Look up Table Multiplier

Design and FPGA Implementation of 100Gbit/s Scrambler Architectures for OTN Protocol Chethan Kumar M 1, Praveen Kumar Y G 2, Dr. M. Z. Kurian 3.

Figure 1 Block diagram of a 4-bit binary counter

Unit V Design for Testability

AC : DIGITAL DESIGN MEETS DSP

UC Berkeley CS61C : Machine Structures

Read-only memory (ROM) Digital logic: ALUs Sequential logic circuits. Don't cares. Bus

Design & Simulation of 128x Interpolator Filter

Implementation and Analysis of Area Efficient Architectures for CSLA by using CLA

Implementation of Area Efficient Memory-Based FIR Digital Filter Using LUT-Multiplier

Sequential logic circuits

VeriLab. An introductory lab for using Verilog in digital design (first draft) VeriLab

Midterm Exam 15 points total. March 28, 2011

Clarke and Inverse ClarkeTransformations Hardware Implementation. User Guide

LFSRs as Functional Blocks in Wireless Applications Author: Stephen Lim and Andy Miller

An Efficient High Speed Wallace Tree Multiplier

1. Convert the decimal number to binary, octal, and hexadecimal.

CSCB58 - Lab 4. Prelab /3 Part I (in-lab) /1 Part II (in-lab) /1 Part III (in-lab) /2 TOTAL /8

University of Maiduguri Faculty of Engineering Seminar Series Volume 6, december 2015

Advanced Devices. Registers Counters Multiplexers Decoders Adders. CSC258 Lecture Slides Steve Engels, 2006 Slide 1 of 20

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies

OF AN ADVANCED LUT METHODOLOGY BASED FIR FILTER DESIGN PROCESS

International Journal of Engineering Research-Online A Peer Reviewed International Journal

Lab Assignment 2 Simulation and Image Processing

EEE130 Digital Electronics I Lecture #1_2. Dr. Shahrel A. Suandi

Hardware Implementation of Viterbi Decoder for Wireless Applications


THE USE OF forward error correction (FEC) in optical networks

Transcription:

GEORGE MASON UNIVERSITY Serial FIR Filter A Brief Study in DSP ECE448 Spring 2011 Tuesday Section 15 points 3/8/2011 Instructions: Zip all your deliverables into an archive <last_name>.zip and submit it through Blackboard no later than Tuesday, March 8, 10:15 PM EST.

Introduction A Finite Impulse Response (FIR) filter is a basic building block for Digital Signal Processing (DSP). The purpose of a FIR filter is to process an incoming signal to remove or enhance spectral components. A typical FIR filter is a low- pass filter. It gets this name because it passes the low frequencies and filters out the higher frequencies. A FIR filter consists mainly of a multiply- accumulate structure, as can be seen in the following diagram: This is a typical FIR filter block diagram. This is a parallel structure, and requires many multipliers, adders and registers. If time requirement is sufficiently low, we can perform a serial version and save resources. Serial FIR Filter A Serial FIR filter gives the same output as a typical FIR filter, but not as quickly. It shares the multipliers and adders to save on the resources, but does so at the cost of time. In this example, we will use only one multiplier/adder and signify our completion by setting the valid_out signal high. Further description can be seen below.

Interface Block Diagram of the Top-level Unit tap(0)..tap(3) are values of the constant tap defined in the package sfir_pack.vhd provided using Blackboard.

Block Diagrams of the Lower-Level Units We will now discuss the lower level circuits of the serial FIR filter. SHIFT RAM The SHIFT RAM is where the data is stored. The data is shifted in, and then the address input can be used to scroll through all of the data. Clock and reset are not shown in the diagram but are connected to the respective inputs of Shift register. ALU The Arithmetic Logic Unit (ALU) is the basic math processor. It has four (4) opcodes: reset, mult, macc, and hold. A description can be found in the following table: Opcode clear mult macc hold Description Reset the P register The P register gets the product of A and B The P register gets the product of A and B plus P The P register stays unaffected Based on the opcode input, set the select signals of the multiplexers shown in the block diagram below. Note the following: 1) P should be registered on the rising edge of the clock. 2) P is 32 bits (the size of A and B combined). 3) A and B should be treated as signed numbers, and therefore, so should P.

ROUND It is too costly to continue to use all of the bits out of the multiplier. For this reason, we round the 32- bit data coming out of the FIR filter down to 16 bits. We need to keep the most significant bits (minus the extra sign bit), but truncating alone causes a DC offset. By adding a small offset before we truncate, we can round away from zero, and avoid the offset. After the addition, we take bits 30 downto 15. Note that there is no clock in this circuit.

State Machine Diagram of FSM length is the length of the filter (the number of taps). It is assumed to be 4 for this circuit.

Testbench We have included the test vector in the package to compare with the output of the circuit. That should help you debug the midterm. To make the test vector (the vector of outputs) paste the following code in your signal declaration section of your test bench: constant test_vector : word_vector := make_test_vector(filter_length); Test Plan We will be testing our Serial FIR Filter by checking its step response. In your test bench, you should do the following: 1. Generate your 50 MHz clock 2. Input x 0000 for 32 consecutive samples (samples are signified by valid_i going high. valid_i should be high for one clock cycle and wait until after valid_o goes high before going high again.) 3. Input x 7FFF for 32 samples 4. Stop the simulation Your waveform should show all internal signals. Your input and output signals (data_i and data_o, respectively) should be shown as an analog signal (signed, 2 s complement, height=100) to aid in testing. Expected Waveform

Tasks 1. Write VHDL synthesizable code for the Serial FIR filter. 2. Write a testbench verifying the operation of your circuit. 3. Perform a functional simulation of your circuit. Debug your code. 4. Synthesize your circuit using Xilinx XST. 5. Implement your circuit using Xilinx ISE. 6. Perform timing simulation of your circuit using Active- HDL or ModelSim. 7. Based on the circuit block diagram and the Implementation reports, determine the most critical path in your circuit and its length. Deliverables 1. VHDL code of your entire circuit fulfilling the requirements specified in the Design Requirements section above. 2. VHDL code of your testbench. 3. Functional simulation waveforms demonstrating the correct operation of your circuit. 4. Description of the critical path in your circuit. 5. Timing simulation waveforms demonstrating the critical path. 6. FPGA resource utilization. 7. Minimum clock period of your circuit.