Embedded Design Flow Workshop

advertisement
README
v9.1 DSP Design Flow Workshop
Spartan-3E Starter Kit
COURSE DESCRIPTION
The DSP Design Flow workshop provides an introduction to the advanced tools you need to design and
implement DSP algorithms targeting FPGAs. This intermediate workshop in implementing DSP functions
focuses on learning how to use System Generator for DSP, as well as HDL design flow, CORE Generator
software, and design implementation tools. Through hands-on exercises, you will implement a design from
algorithm concept to verification.
PREREQUISITES
 Fundamentals of MATLAB/Simulink and Xilinx FPGAs
 Basics of digital signal processing theory for functions such as FIR (Finite Impulse Response) filters
WORKSHOP GOALS
 Learn how to implement a DSP design without having to be an FPGA expert
 Become comfortable using System Generator to develop lectures & labs, or implement research
projects.
SKILLS GAINED
 Understand the strengths and weaknesses of three design flows (HDL, CORE Generator, System
Generator)
 Make a decision regarding which design flow is more appropriate based on needs and FPGA expertise
 Understand the impact of some decisions made in the Simulink environment based on the resulting
size of the FPGA design
 Debug and optimize a design in the Simulink environment
REQUIREMENTS
The workshop has been tested on a PC running the Windows XP Professional operating system.
Software
V9.1 System Generator for DSP
V9.1i ISE Foundation Software + latest SP
Additional System Requirements


1-2 Gigabytes of RAM
Write permissions to project
directories and ISE installation
Mathworks release r2006a or r2006b
(includes Matlab/simulink)
Mathworks Signal Processing blockset
Hardware
Spartan-3E Starter Kit (includes power
supply)
Standard USB cable for FPGA configuration
Xilinx Donation
Yes
Yes
No
No
Additional System Requirements
USB port on PC
COURSE OUTLINE
Day 1 Agenda
Introduction
DSP Design Flows in FPGA
Lab 1: Creating a 12x8 MAC using System Generator for DSP
Lab 2: MAC FIR Filter Verification using HDL Co-Simulation
Day 1 Materials
01intro.ppt
02flows.ppt
11lab01.doc (lab 1 instructions)
/labs/lab1 (lab 1 “user” directory)
/labsolutions/lab1 (lab 1 solutions)
12lab02.doc (lab 2 instructions)
/labs/lab2 (lab 2 “user” directory)
README
Digital Filters
Lab 3: Designing an FIR filter
Day 2 Agenda
Looking under the hood
Lab 4: Looking under the hood
Controlling the system
Lab 5: Controlling the system
/labsolutions/lab1 (lab 1 solutions)
03filters.ppt
13lab03.doc (lab 3 instructions)
Day 2 Materials
04hood.ppt
14lab04.doc (lab 4 instructions)
05control.ppt
15lab05.doc (lab 5 instructions)
Multi-rate systems
Lab 6: Designing a MAC FIR
06multirate.ppt
16lab06.doc (lab 6 instructions)
LAB DESCRIPTION
Lab 1: Brief introduction to Simulink; Overview of quantization and overflow; Create a 12 X 8 MAC using
System Generator for DSP
Lab 2 : Generate an HDL function using Core Generator; Import the function into System Generator for
DSP using the black box block; Perform HDL co-simulation using the ISE Simulator; Test the function in
hardware on the XUP board via JTAG co-simulation
Lab 3: Use the FDA Tool to generate coefficients for a low-pass filter; implement low-pass filter using DA
FIR filter block from System Generator; simulate with white noise and test in hardware via JTAG cosimulation
Lab 4: Observe the effects in hardware when changing quantization and overflow parameters
Lab 5: Create an address generator using 1) basic System Generator blocks, and 2) m-code block
Lab 6: Using the design in lab 5, you will create a 92-tap MAC based FIR filter; you will simulate the filter
with white noise and verify in hardware via JTAG co-simulation
DIRECTORY STRUCTURE
Description
Directory
Lecture Slides
C:/xup/dsp_flow/slides/ (.ppt files listed in course outline)
Lab Exercises
C:/xup/dsp_flow/lab_docs/ (.word docs listed in course outline)
“user” directories
C:/xup/dsp_flow/labs/(lab1, lab2, lab3, lab4, lab5, lab6)
Lab solutions
C:/xup/dsp_flow/labsolutions/(lab1, lab2, lab3, lab4, lab5, lab6)
XUP SPARTAN-3E BOARD SUPPORT
To enable hardware-in-the-loop support via JTAG co-simulation with the Spartan-3E Starter Kit, unzip the
plugins.zip file in the plugins directory of the System Generator for DSP install path as follows
Unzip to C:\MATLAB704\toolbox\xilinx\sysgen\plugins
So that the following sub-directory is created
%MATLAB%\toolbox\xilinx\sysgen\plugins\compilation\Hardware Co-Simulation\xup\sp3e_starter_kit
The following files appear in this new subdirectory:
 spartan_3e_starter_kit.ucf
 spartan_3e_starter_kit.xml
 spartan_3e_starter_kit _libgen.m
 spartan_3e_starter_kit _postgeneration.m
 spartan_3e__starter_kittarget.m
 xltarget.m
Download