Using Analog Devices’ Blackfin for Embedded Processing Diana Franklin and John Seng Outline • • • • • • Curriculum & Goals Blackfin Environment Expansion Board Lectures Labs Conclusions Position in Curriculum 1 yr Java 1 yr Dig des/ arch Embedded H&P except I/O and Parallel Processing C Programming Quarter system = 10 week terms Assembly Goals Course Textbook Intuitive IDE Breadboard access Curriculum Integration Assembly unlike MIPS Financial Parallelism Useful for several courses Inexpensive hardware DSP Outline • Curriculum & Goals • Blackfin Environment – Architecture – IDE – EZ-Kit Lite Board • • • • Expansion Board Lectures Labs Conclusions Architecture Basic Features • • • • • 10 pipeline stages In-order core Separate data and pointer register files 1 instruction bank, 2 data banks Two each of Integer ALU, Multiplier, Accumulator, and Video units • Two Data Address Generators Interesting Features • • • • • • Circular Buffer support Reverse Bit Addressing Single-instruction Multiply-Accumulate Zero-overhead Loop Static Branch Prediction Can execute up to 3 instructions at a time, with limits on instruction types Software • Visual DSP++ • Intuitive interface • C or Assembly Programming EZ-Kit Lite Board • Basic board with buttons and LEDs as primary fun I/O devices • No interface to a breadboard readily available Goals satisfied • Assembly unlike MIPS, but pipeline still simple • Parallelism • Powerful, usable for several courses • DSP Problems • • • • No textbook No interface to breadboard License server flakey for students Board has switches that change behavior – not a secure lab Outline • • • • • • Curriculum & Goals Blackfin Environment Expansion Board Lectures Labs Conclusions Expansion Board 8 input bits, 8 output bits Blackfin 3.3 Volts Buf 24-pin cable (16 pins used) Voltage level Conversion buffer Breadboard 5 Volts Outline • • • • • • Curriculum & Goals Blackfin Environment Expansion Board Lectures Labs Conclusions Decisions, Decisions • The largest obstacle to class is now lecture preparation • Copy / Pasting from Instruction Set Reference and Hardware Reference Manual time-consuming, not fun. • We provide skeleton lectures plus the Blackfin-relevant information to integrate into your own lectures. Textbook • None available for Blackfin • Generic textbooks are very high-level • Ideal would be generic textbook with slides that add Blackfin-specific details – Wayne Wolf’s Computers as Components – Blackfin reference manuals Normal Lecture Topics • • • • • • Memory-Mapped I/O / Polling Interrupts Timers Ports / Buses DMA and Power Analog / Digital Conversion Extra Lecture Topics • • • • • • • Blackfin ISA Blackfin Pipeline Blackfin Calling Convention Branch Prediction Parallel Processing C for Assembly Programs Code Optimization Mixed Results • We did not require (only suggested) generic textbook – Students found the lack of textbook difficult • Additional Lectures added in second instantiation of course – Dramatically increased number of C programmers in lab. • Tying to H&P textbook topics a positive reinforcement of earlier knowledge. Outline • • • • • • Curriculum & Goals Blackfin Environment Expansion Board Lectures Labs Conclusions Labs • We include several labs. • I can provide the sample code given to students if asked. • Labs were multi-part to target specific lecture topics Experience • 10-weeks a short time to learn a new assembly language, new IDE, and so many new concepts • Multi-part labs were difficult because starting a new project was high-overhead in this system • Different theories on how much to give students (sample code vs nothing) Outline • • • • • • Curriculum & Goals Blackfin Environment Expansion Board Lectures Labs Conclusions Conclusions • Embedded processing classes must keep up with technology. • Hardware is expensive, so cost sometimes overrides other factors. • A repository of different architectures, tied to a generic textbook, might be useful. Resources • www.csc.calpoly.edu/~franklin/316/Bundle. tar