The Whole Sort of General Mish Mash Frequently Asked Questions and Trip-ups About the CASPER Libraries and Toolflow Henry Chen, CASPER Workshop, August.

Slides:



Advertisements
Similar presentations
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Advertisements

Simulation executable (simv)
Spartan-3 FPGA HDL Coding Techniques
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
© 2003 Xilinx, Inc. All Rights Reserved Looking Under the Hood.
Section A A Step-By-Step Description of the System Generator Flow For a Colour Space Convertor In this section, a colour image stored as.
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.
CSCE 491: Capstone Computer System Project Instructor: Jason D. Bakos.
v8.2 System Generator Audio Quick Start
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Delevopment Tools Beyond HDL
ECE 448: Lab 4 FIR Filters.
W.Skulski Phobos Workshop April /2003 Firmware & software development Digital Pulse Processor DDC-8 (Universal Trigger Module) Wojtek Skulski University.
Simulink ® Interface Course 13 Active-HDL Interfaces.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Impulse Embedded Processing Video Lab Generate FPGA hardware Generate hardware interfaces HDL files HDL files FPGA bitmap FPGA bitmap C language software.
© 2003 Xilinx, Inc. All Rights Reserved Reading Reports Xilinx: This module was completely redone. Please translate entire module Some pages are the same.
Introduction to Design Tools COE Review: Tools, functions, design flow Four tools we will use in this course – HDL Designer Suite FPGA Advantage.
The FPX KCPSM Module Exercise 1 Henry Fu The Layered Protocol Wrappers Exercise: Network Data Encryption / Decryption Using ROT13 Algorithm Henry Fu Washington.
1 WORLD CLASS – through people, technology and dedication High level modem development for Radio Link INF3430/4431 H2013.
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
Simulink ® Interface Course 13 Active-HDL Interfaces.
Spring Introduction  Today’s tutorial focuses on introducing you to Xilinx ISE and Modelsim.  These tools are used for Verilog Coding Simulation.
Comments on Lab #4 Annotating Timing Diagrams Draw viewer’s attention to the points you are trying to show / verify –Important output states glitch or.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
DSP Builder v5.1.0 October 2005.
PRESENTED BY OUSSAMA SEKKAT Self-Healing Mixed-Signal Baseband Processor for Cognitive Radios.
© 2003 Xilinx, Inc. All Rights Reserved HDL Co-Simulation.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
Getting Started with MATLAB 1. Fundamentals of MATLAB 2. Different Windows of MATLAB 1.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
© 2003 Xilinx, Inc. All Rights Reserved Synchronous Design Techniques.
OVERVIEW OF OVERVIEW OF Spartan-3. DESIGNFLOW Translate Map Place & Route Plan & Budget HDL RTL Simulation Synthesize to create netlist Functional Simulation.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
ECE 545 Project 2 Specification Part I. Adjust your synthesizable code for Project 1 in such a way that it complies with the following requirements: a.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
Preliminary Design of FONT4 Digital ILC Feedback System Hamid Dabiri khah Queen Mary, University of London 30/05/2005.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
© 2003 Xilinx, Inc. All Rights Reserved System Simulation.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
Characterization Presentation Characterization Presentation OFDM implementation and performance test Performed by: Tomer Ben Oz Ariel Shleifer Guided by:
Final Presentation Final Presentation OFDM implementation and performance test Performed by: Tomer Ben Oz Ariel Shleifer Guided by: Mony Orbach Duration:
© 2005 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU HDL Co-Simulation.
This material exempt per Department of Commerce license exception TSU System Simulation.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
This material exempt per Department of Commerce license exception TSU Synchronous Design Techniques.
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
Floating Point Numbers & Parallel Computing. Outline Fixed-point Numbers Floating Point Numbers Superscalar Processors Multithreading Homogeneous Multiprocessing.
Modeling of Power Converters using Matlab and Simulink
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Graphical Design Environment for a Reconfigurable Processor IAmE Abstract The Field Programmable Processor Array (FPPA) is a new reconfigurable architecture.
Version 10.1 Xilinx Tools Update Terry Filiba CASPER Workshop II.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
Basic Xilinx Design Capture. © 2006 Xilinx, Inc. All Rights Reserved Basic Xilinx Design Capture After completing this module, you will be able.
How to use ISE Dept. of Info & Comm. Eng. Prof. Jongbok Lee.
DE2-115 Control Panel - Part I
Introduction to Vivado
Model based Design : a firmware perspective
Design Flow System Level
A Step-By-Step Description of the System Generator Flow
MATLAB/SIMULINK Professor Walter W. Olson
A Step-By-Step Description of the System Generator Flow
ChipScope Pro Software
ChipScope Pro Software
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

The Whole Sort of General Mish Mash Frequently Asked Questions and Trip-ups About the CASPER Libraries and Toolflow Henry Chen, CASPER Workshop, August 2008

Number Representation  Follows Matlab/Simulink fixed-point notation  (Data type)_(bit width)_(binary point) Signed (2’s Complement): Fix Signed (2’s Complement): Fix Unsigned: UFix Unsigned: UFix  Ex: 32-bit signed number, 12 bits after binary point: Fix_32_12  Ex: 16-bit unsigned integer: UFix_16_0

Tools Distinction  MSSGE: Matlab / Simulink / System Generator / EDK Matlab / Simulink / System Generator / EDK  Merging vendors Mathworks / Mathworks / Xilinx / Xilinx Mathworks / Mathworks / Xilinx / Xilinx  System Generator is a Xilinx-provided toolbox for Simulink; very small subset of Simulink!  Referred to as “Simulink toolflow”, but beware of vendor domains

Simulink Design Domains  Simulation vs. Implementation  Implementation domain is FPGA-mappable Uses Xilinx System Generator primitives Uses Xilinx System Generator primitives Fixed-point numbers (Fix, UFix) Fixed-point numbers (Fix, UFix)  Simulation domain is NOT FPGA-mappable Uses Simulink components Uses Simulink components Floating-point numbers (double) Floating-point numbers (double)  Xilinx provides gateway blocks as interface between domains Data type translation Data type translation Maps to design top level I/O ports Maps to design top level I/O ports Use “yellow blocks” from bee_xps system library Use “yellow blocks” from bee_xps system library

SimulationImplementationSimulation

Sample Periods  Simulink concept of time  Determines clock periods on FPGA Can implement multi-rate designs (not supported) Can implement multi-rate designs (not supported) Only ratios important Only ratios important  Customarily set to “1” (1 “second” per cycle)  Xilinx blocks infer sample period based on input All inputs to Xilinx blocks must be connected All inputs to Xilinx blocks must be connected Turn on “Sampled Constant” for Xilinx Constants Turn on “Sampled Constant” for Xilinx Constants

Sync Pulses  Latency-matched “vector warning” signal  Each block responsible for managing sync delay and propagation

Sync Pulses (cont’d)  Resets datapath Startup Startup Realignment Realignment  If repeating, make sure to cover entire data window or frame

Sync Pulse Generator  Good to have manual reset capability

Clock Trimming

 Running NGCBUILD...noclock_xsg_core_config_wrapper (noclock_xsg_core_config) - /vol/hitz/vol2/designs/CASPER/projects/henry_devel/noclock/XPS_iBOB_base/system.mhs:273 - Running NGCBUILD ERROR:MDT - :MDT - NgcBuild failed! INFO:MDT - Refer to /vol/hitz/vol2/designs/CASPER/projects/henry_devel/noclock/XPS_iBOB_base/implementation/noclock_xsg_core_ config_wrapper.blc for details. noclock_xaui_wrapper (noclock_xaui) - /vol/hitz/vol2/designs/CASPER/projects/henry_devel/noclock/XPS_iBOB_base/system.mhs:315 - Running NGCBUILD noclock_adc_wrapper (noclock_adc) - /vol/hitz/vol2/designs/CASPER/projects/henry_devel/noclock/XPS_iBOB_base/system.mhs:368 - Running NGCBUILD ERROR:MDT - :MDT - platgen failed with errors! gmake: *** [implementation/system.bmm] Error 2 ERROR:MDT - Error while running "gmake -f system.make init_bram“ No changes to be saved in MSS file Saved project XMP file  Loading design module "/vol/hitz/vol2/designs/CASPER/projects/henry_devel/noclock/XPS_iBOB_base/implementation/noclock_xsg_core _config_wrapper/noclock.ngc"... ERROR:NgdBuild:76 - File "/vol/hitz/vol2/designs/CASPER/projects/henry_devel/noclock/XPS_iBOB_base/imp lementation/noclock_xsg_core_config_wrapper/noclock.ngc" cannot be merged into block "noclock_xsg_core_config" (TYPE="noclock") because one or more pins on the block, including pin "clk", were not found in the file. Please make sure that all pins on the instantiated component match pins in the lower-level design block (irrespective of case). If there are bussed pins on this block, make sure that the upper-level and lower-level netlists use the same bus-naming convention.

Pink Blocks vs. Green Blocks  astro_library (“pink blocks”) Not updated anymore Not updated anymore Old masking technique; always redraws Old masking technique; always redraws Verified functionality Verified functionality  casper_library (“green blocks”) Current development Current development New masking technique; remembers state New masking technique; remembers state Some translation bugs Some translation bugs Unified library Unified library

Toolflow Setup  Install vendor tools and service packs Mathworks: Matlab, Simulink Mathworks: Matlab, Simulink Xilinx: System Generator, EDK, ISE Xilinx: System Generator, EDK, ISE Synplicity: Synplify Pro Synplicity: Synplify Pro Mentor Graphics: ModelSim Mentor Graphics: ModelSim  Get libraries CASPER SVN CASPER SVN Anonymous read access Anonymous read access Nightly tarballs on CASPER website Nightly tarballs on CASPER website

Toolflow Setup  Set environment variables Can use batch file if not admin on system or using multiple versions Can use batch file if not admin on system or using multiple versions  Add libraries to Matlab path Use startup.m with addpath, rmpath functions Use startup.m with addpath, rmpath functions Startup script needs to be in matlab.exe’s “Start In” directory Startup script needs to be in matlab.exe’s “Start In” directory Do not use UNC paths for “Start In” directory Do not use UNC paths for “Start In” directory

Matlab Pickiness  Avoid UNC paths for working directory  No spaces in working directory path or model filename  Don’t start model filename with capital letter

How It All Works  System Generator generates VHDL/Verilog and synthesizes into black-box netlist Calls CoreGen for more complex blocks Calls CoreGen for more complex blocks Gateways in yellow blocks become ports at top level Gateways in yellow blocks become ports at top level  bee_xps packages netlist into EDK core  bee_xps copies a base system package (skeleton project) and instantiates your design Clocking, processor infrastructure Clocking, processor infrastructure Sources for other cores Sources for other cores  Based on yellow blocks, instantiates and connects interface cores  Runs EDK on project  Bitstream/BOF out