1 / 41

Developing

Developing. The CASPER Library. Optimization, Improvement and Creation. Hong Chen University of California, Berkeley. Simulink. 1. Overview of the Casper Library 2. Developing the Library Project ongoing Methodology, introduction to xBlock 3. Examples FFT Optimization CIC Filter

penda
Download Presentation

Developing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Developing The CASPER Library Optimization, Improvement and Creation Hong Chen University of California, Berkeley

  2. Simulink • 1. Overview of the Casper Library • 2. Developing the Library • Project ongoing • Methodology, introduction to xBlock • 3. Examples • FFT Optimization • CIC Filter • Parallelizers

  3. User Perspective The Casper Library DSP Blocks Drag-and-Drop Easy Parameterization

  4. Repository Repository Library Library 1 Library 2 Sub-Library Sub-library 1 Sub-library 2 Sub-library Blocks Block 1 Block 2 …

  5. mlib_devel Repository Libraries casper_library gavrt_library xps_library Sub-libraries FFTs PFBs … Complex FFT FFT_wideband_real … … … Blocks FFT_biplex … … Sub-blocks

  6. Library Casper_library Sub-libraries FFT PFBs Reorder Scope … Complex FFT Blocks … Reorder Sub-blocks

  7. Casper_library Library Sub-libraries FFT PFBs Reorder Scope … Complex FFT Blocks … Reorder Sub-blocks ??? ??? What’s this?

  8. Library Casper_library Sub-libraries FFT PFBs Reorder Scope … Complex FFT Blocks … Reorder Sub-blocks

  9. Libraries/Sub-libraries: Collection of Blocks Blocks/Sub-blocks: Parameterized Subsystems consist of lower-level Blocks (Lowest level: Xilinx Blocket/ Simulink Blocks)

  10. Developer Perspective Algorithm Graphic Interface Resource The Casper Library

  11. Block: Parameterized Subsystem Reduced Algorithms DSP: Algorithms can be decomposed to basic operations such as , etc.

  12. The Best is Yet to Come…1. Optimization (resource, power consumption)2. Upgrade (add more features to a block)3. Creating New Block https://casper.berkeley.edu/wiki/DSP_Blockset_Upgrades

  13. How to ?Tutorial 7: Implementation of a Green Block Authors: Mekhala MuleyDocumentation on Wiki page (Block documentation, Development Standarisation, Simulink Style Guide, etc.)

  14. Overview of the Traditional Implementation Methodology1. Part I: Graphical System Design2. Part II: Scripting reuse_block() add_line() delete_lines() …

  15. Introducing xBlock • A Xilinx product • An alternate way of implementing blocks • Completely Text-based • Corresponding Tutorial (unofficial): Tutorial 12: Implementation of a Bluish-Green BlockAuthors: Hong Chen

  16. Overview of the xBlock Implementation Methodology • 1.Part I: Graphical System Design • 2.Part II: Scripting • xlsub2script() • + minor changes • 1. Scripting • xlnport (), xOutport(), xSignal(), xBlock() • …

  17. xblocks_devel: an experimental alternate version of casper_library

  18. Advantages Version Control More Sensitive to Errors Make MSSGE faster & more stable Drawing Time No Explicit Layouts Drawbacks

  19. Example 1. FFT Optimization1. Optional Unscrambler Block (by Billy Mallard)2. DSP48E in Butterflies (by Suraj Gowda)3. Bit Growth 4. Removing the Duplicated Logic5. Using Dual-port BRAMs (by Ryan Monroe)

  20. Example 2. Parallel CIC Filter1. A whole-new Block2. Supports Arbitrary number of Parallel Input Streams3. Supports both Recursive and Non- recursive Structures4. Polyphase Optimization Available for Non-recursive Structures 5. A new FIR? Uses adders & shifts instead of multipliers6. Other *Bonus* Blocks?

  21. Implementing a Parallel CIC Filter • Decide the Algorithm to use • Decide the Parameters • Work out the detailed implementation of the Algorithm • Divide the CIC Filter into sub-blocks • Code • Test & Debug

  22. Implementing a Parallel CIC Filter

  23. Implementing a Parallel CIC Filter

  24. Implementing a Parallel CIC Filter

  25. Example 3. Educational Tools: ParallelizersNew Blocks Parallel Accumulator Parallel Integrator Parallel Downsampler Parallel Scope Parallelizer …

  26. Example 3. Educational Tools: Parallelizers Parallel Downsampling (4 inputs, ↓3)

  27. Example 3. Educational Tools: Parallelizers Parallel Downsampling (4 inputs, ↓3)

More Related