Saturday, February 18, 2012

SDR (Software Defined Radio)

SDR (Software Defined Radio)
This section covers an ambitious project. Let us imagine a wireless terminal made of 2 CPU blocks:  a powerful host armed with all media capabilities and a second block which can process any kind of RF signals and radio  protocols  (i.e 3G,4G, Wifi, gps, up to future standards such as cognitive radio). This second block is commonly called Software Defined Radio (SDR).

Background
The concept of SDR is as old as the radio [ref 1] but in our context we will put the burden on the solid shoulders of Les Mintzer circa 2000 [ref 2]. This was an FPGA implementation which makes a lot of sense as the money and impetus came from the military. In the same school see also Xilinx's Chris Dick, Spectrum's Lee Pucker and a few others [ref 3,4,5,6,7,8,9,10]. Now at this stage their implementation of SDR was far from fitting the definition but it made sense. Worse was to come. Firstly, in a brilliant case of taking the tree for the forest, a bunch of guys were using the PC/pentium as their example of SDR.They could do everything except radio.
Frankly first time I heard about that, I thought of genius generating radio from a PC  by using the EMC radiation of the chips, this sounds silly but after all this was the time of UWB so why not?
And then we had the usual silicon valley trend: a new buzzword for a new type of chip architecture [ref 11,12,13].


Reference
  1. Dan Stransberg  " A century old technology enters the digital age", EDN , October 28 1999
  2. Les Mintzer "Soft Radios and modems and FPGA" CSD mag, february 2000 p.52
  3. Chris Dick, Fred Harris "the platform FPGA Software defined Radio" good paper but no reference, likely a conference circa 2001
  4. Chris Dick "FPGAs cranked for software radio" EET, April 10, 2000
  5. Chris Dick " A case for using FPGAs in SDR Phy" EET, August 12,2002
  6. Lee Pucker "Paving Paths to SDR" csd mag june 2001 p.19
  7. Lee Pucker, Systems Architect, Spectrum Signal Processing "Distributed Architecture for SDR" CSD 2001
  8. Robert Sgandura PM Pentek " W221: Software Radio - From concepts to Implementation" likely at Communication System Design conference 2000 or 2001
  9. Cord Finlay "Understanding SDR requirements" Wireless System Design July 2001
  10. "Soft Radio key to universal applications" EE Times Special Report March 19, 2001
    1. so full of hope, fortunately Loring Wirbel deflated the hot air in EET aug 12, 2002.
  11. John Ralston "SDR emerges to address wireless industry needs" Wireless System design october 2000 
    1. Describes the Morphics architecture
  12. Armin Nueckel, Prashant Rao "The use of Reconfigurable Processor Arrays in wireless Infrastructure Systems" July 25, 2001 {white paper?} 
    1. Describes the PACT architecture
  13. Paul Master "the baseband solution for the worldphone" www.quicksilver.com 2001

    Saturday, February 11, 2012

    DSP of the lost kind

    DSP of the lost kind
    The goal of this section is to laugh through the multiple attempts at defining new DSPs , next craze DSPs, further than DSPs, beyond DSPs , everything and their contrary as we went from 1995 to 2005 . Among the most notables we will have a quick pass at: Media processors.
    Now, the obvious question is: why should we care? Once more, the answer is that there is a very large difference in use model between a  GP full market CPU and a COP.
    What is ridiculous in one case becomes brilliant and  maybe most effective for the given application (see NVIDIA evolution). Also some of the brightest architects of  our time were involved in the design of these new machines. Finally this is still one of  the riches vein of ideas available publicly (but not freely) (IEEE, ACM, MDR, etc..). 

    BACKGROUND
    There are two reasons why we feel sad about this "Idiot Wind" period .
    1. Too many people were getting carried away and too many arguments just did not make sense. 
      1. For instance we computed it would take 1200 men years of application software (not tools)  just to meet the minimum requirements of fulfilling the claim of being a Media processor.
    2. For a while, we went in the same direction, (and we have to thank the influence of Jim Turley for that) (mind you he changed his mind pretty quickly too).
    DESCRIPTION AND TYPES
    • Type 1
      • Video Signal Processors
      • Video DSP
      • Media Processors
    • Type 2  Legoland
      • Multi IP DSP, Cluster Based DSP
        • Bops, Cell, Improv, Equator
        •  atsana, chipswright, clearspeeed, craddle, e-lite, powerFFT, sandbridge, siroyan, synputer, telairity, tops, trips  
        • Infinite-tech RADarray  (neil stollon ICSPAT 99)
          • RADarray of RADcore coprocessors connected to host
          • Host and peripherals are 3rd-party IP
          • Each RADcore is a reconfigurable stream algorithm coprocessor.
          • Each RADcore is made of user selected Execution Units (EXUs) interconnected by reconfigurable data path bus architecture
          • EXUs form independent elemental processing blocks such as ALUs, MACs, memories, I/O,etc..
    • Type 3 Domain DSP
      • Wireless DSP,
      • Speech, Audio DSP
      • Broadband DSP
    • Custom DSP, configurable DSP, 
    • Reconfigurable DSP
    Media Processor (MP) (or MVP) (V for Video)
    Born around 92-94, the  MVP had a peak around 1997, went through multiple "down and up"s before final death by 2005.The most famous (first wave) names were TriMedia, MicroUnity, Chromatics, NVidia [ref.1]
    They had several characteristic in common:
    • It was a new type of processor (the MEDIA processor)
      • from our DSP perspective it was a bit baffling. Why not use a DSP?
    • They were the latest incarnation of the MultiMedia (MM) craze.
      • very soon followed by MM extensions. Compare MP and MM extension
    • For some reasons most were based on VLIW.
      • Why?
    • While 5 of 7 MM functions could be done by a DSP,  they rightly believed that a DSP would not be able to do the last 2 (video and graphics). 
      • But then why do they think they could?
      • What were the 7 functions?
    • Finally, the most obvious characteristic was their disdain for the Pentium. In a typical Silicon Valley Fashion, after loosing the Risc war, that was the new  frontier.In a nutshell:
      • First they lost the PC seat to the Pentium (that was CISC versus RISC)
      • Then they (re lost) the PC MM seat to the Pentium (that was GP processor versus Media processor)
      • Finally they could not even find a small coprocessor seat in the PC, i.e. to be used as a Media COP!!
        • This is the point which merits attention. See NVIDIA below
      • In their final days, to add insult to injury they were totally inadequate for the embedded market. 
        • Mind you, good luck trying DVD in 1999 or cell phone in 2000 with a 288 bit wide opcode and no software support!
    NVIDIA
    In the most remarkable feat of the century, NVIDIA changed direction by focusing on graphics instead of a rainbow of applications [ref.2].
           Not sure about their recent direction towards general purpose, people never learn it seems!
    TriMedia
    In another example of adaptation, the champion of VLIW, after years of trying software optimization instead redesigned their chips with two multiple powerful video coprocessors. Also important, Phillips concentrated on platforms and Trimedia became "the other core" of the Nexperia platform. Instead of ARM+DSP it was MIPS+TriMedia. Mind you, the latest instantiation of the platform could be ARM + COPs.
    Definitely a good DSP core, the TriMedia  was a relatively simple 5 issue machine, had some neat tricks (fusing of  operations at the register file ports) and very eearly code compression. [ref 6,7,8,9]
    MicroUnity MediaProcessor
    Original coiner of the term, famous for John Moussouris, MicroUnity was the first on the scene and the first to die; they set the architecture standard for a single core parallelism pretty high. [ref 10,11]. They had a following with Equator.
    Chromatics MPACT
    The other Media Processor, noticed for its 792-bit datapath (if today it sounds peanuts, at the time the standard was 64-bit)... currently dead. [ref 12]
    Offer from the East
    As can one expect, Japan and its all powerful integrated consumer industry were not the last to follow the hype with their own offering
    - Sharp DDMP (1997)
    - NEC MP98   (MPR March2000)
    - Toshiba MEP (after giving up MPACT) (EPF 2002)
    - Fujitsu (was their VLIW a Media Processor?)
    - Hitachi ??
    - Matsushita ??
    Among the Noise
    While not serious commercial products, the MVPs developed by Universities and Research labs had interesting features. These are 2 examples we were familiar at the time but there are litteraly 100s of them [ref 13,14].
    • University of Hannover HiPAR  {search Johannes Kneip} (IEEE Video for Circuit and systems 1996)
      • Impressive X,Y memory
    • Infineon VIP {search Uli Ramacher} (Hot Chips 13) 
    Finally the true MVP
    The TI C80 also known as MVP (1993) remains an excellent architecture example. It is NOT a Media processor. Its was designed like any other DSP, with an ambitious target in MIPS which happened to be  video conferencing. Now as part of the strategy obviously the target was anything in the same order of MIPS magnitude. Most interesting it was a host+4xDSP core solution. Even more: how can you be so wrong in the memory model? (refer to somewhere else in this Blog). 

    Lessons Learnt
    NVIDIA
    Headline1: MultiMedia processor becomes UniMedia processor.

    Headline2: Media processor becomes Graphics solution..
    And they had enormous success as Pentium "Coprocessor" .
    Now this is an important lesson, for co-processing.  As a general purpose co-processing MM chip, the MVP architecture was a complete failure. As a "very focused" co-processing solution point, it is part of the standard PC architecture. 
    Microunity, Chromatics, TriMedia
    It would be silly to forget these architectures. On one hand, more recent and better architectures have been developed but on the other hand they are not so visible. 
    Further: the GPU story
    Obviously these are still questions (we have to wait another 3-5 years to learn the lesson):
    - KEY: is there a place for another type of computing (the GPU)?
           One has to bear in mind that in 40 years of  silicon computing  (except for a short time of DSP) all attempts to compete with the general purpose model ended up in abject failures.
    - what kind of the processing model is the dual head(CPU+GPU) adopted by AMD ?
    - in the same way, what kind CPU+GPU is the Apple model?
     
    References
    1. John.A.Watlington "Video signal processors" , circa 1997, http://wad.www.media.mit.edu/peole/wad/vsp/node1.htm from a web site which (as usual) has gone pining for the woods. Too bad , it contained an excellent and succint table of comparison.
    2. Section news" NVIDIA changes direction" EBN December 23,1996 issue:1038 
    3. Bernard Cole "New processors up multimedia's punch" EET February 3, 1997.
      8. Lee, W., Kim, Y., Gove, R.J., and Reed, C.J., “MediaStation 5000: Integrating Video an
      1. it is more the answer from CPUs (MM extensions) to MM processors.
    4. Jim Turley "Multimedia chips complicate choices" MDR Feb 12, 1996 page 14
    5. Maury Wright "Media Procesors target digital video Roles" EDN  sep 1, 1998
    6. Tom Halfill "Philips Trimedia goes Mobile " MPR dec 5, 2005 
    7. Gert Slavenburg and his biking pal "DSPCPU operations for TM1100" 1999, Appendix A, Preliminary information
    8. Gert Slavenburg, etc..'Custom operations for Multimedia" Chapter 4 of the same reference
    9. Peter Clarke " Compressed VLIW meets multimedia" EE Dec, 1995
    10. Craig Hansen "MicroUnity MediaProcessor Architecture" IEEE micro, 1996
      1. quote "A broadband mediaprocessor extends and streamlines a general-purpose computer system to attain the goal of communicating and processing digital video, audio, data and RF signals (SIC!) at broadband rates using compiled, downloadable, software rather than special-purpose hardware. The instruction set, system facilities, and initial implementations of an architectural family of broadband mediaprocessors are introduced, and compiled software development is illustrated with an example and description of the development environment".
    11. John Moussouris (easy to remember mouse+souris) "A roadmap of the Mediaprocessor Design space" Microdesign Resources Dinner May 9, 1996
    12. Yong Yao " Chromatics's Mpact2 boosts 3D, MPR Nov 18, 1996
    13. SSC 27 12, dec 92 p1886
    14. SSC 29 12, dec 94 p1474
    15. http://www.cse.fau.edu/~borko/Chapter21_mc.pdf
      1. Just added this morning, just wished I had  read it before.kind of complement to our MM splash. Hey Borko is it public? 
    Answer to questions
    The 7 functions:
    • graphics including 3D
    • video (compression, editing , conferencing)
    • high quality Audio
    • computer telephony, Speech
    • communications, Fax, Modems
    • real time 3D games
    • DVD?

      Wednesday, February 1, 2012

      COP - DSP FUNCTIONS

      DSP Functional Building Blocks
      The goal of this section is to cover the history of long story DSP functional blocks. As its name implies, this type of block is opposed to DSP structural block such as (bit/byte/word  slice logic).  

      BACKGROUND
      Let us give a special mention to the CAFIR (a FIR filter from motorola 1986) and the C66xx FTT Engine (TI 2010) and to our friends of the Morphics Next Gen.


      LIST OF FUNCTIONS
      • Filters
        • including equalizers
      • FFTers
        • bit reverse (!!)
      • Convolvers
      • Bit convolvers and Gallois field arithmetic
      • Hats off to unsung heroes of 30 years of custom DSP (see for instance ISSCC 1980-now)
      FILTERS
      DSP56200 also known as CAFIR (Motorola 1987)  [ref. 1]
      - Main function is adaptive filtering using LMS .
      - 256 x 24-bit coef RAM
      - 256 x16-bit data  RAM
      Can be configured as single FIR, dual FIR or Single adaptive FIR
      Programmable loop gain in adaptive Mode
      Programmable coef. leakage term.




      REFERENCES
       
      1. Motorola " DSP56200  data sheet", 1988,also called ADI1257R1
      2. Hossein Yassaie  "Digital filtering with the IMS A100" Inmos 1986
      3. FUJITSU " MB86795 data sheet" ,  aug 1987
      4. Atmel "ATC 76C001 programmable FIR filter", 1996
      5. Amphion " Cascadable FIR", Quicklogic, 2001
      6. ISS "Biquad IIR filter megafunction" Altera, 200
      7. see Xilinx, Altera etc.. Catalogues
      8. Jordan, mannock "Correlation-function, peak detector",  IEE Proc., March 1981
      9. Tao Lin, Dahn Le ngoc" Implementation of digital filters using IDT7320, IDT7210, IDT7216, and IDT7383" IDT A.N  AN-32, 1990