You are here:  Articles


 
 
 
INSIDE DSP ARTICLES  

Current Articles | Categories | Search

PicoChip: Defying the Odds
By BDTI, 12/13/2006

Editor’s Note: The past year or so has brought a wave of parallel-processor start-ups pursuing digital signal processing applications.  But what about the previous wave?  In the late 1990s and into 2001, a large number of start-ups emerged with unique processor architectures targeting applications like wireless infrastructure.  The vast majority of these, such as Chameleon, Morphics, and Quicksilver, are long gone.  PicoChip, founded in 2000, is an interesting exception.  In this article, BDTI provides an update on PicoChip’s status, technology and business model.

Headquartered in Bath, UK, picoChip is a fabless semiconductor company developing high-performance chips for wireless infrastructure applications.  Devices from picoChip contain roughly 300 processor cores and target 3G cellular and WiMAX base stations. PicoChip claims to have shipped 100,000 chips and says that over 100 WiMAX networks are committed to using picoChip-based equipment.  If so, picoChip is one of the few massively parallel processor companies to have shipped chips in volume.

Processor cores and hardware accelerators in picoChip’s multiple-instruction, multiple-data (MIMD) architecture communicate with each other via 32-bit buses using a time-division multiplexed scheme. All logic operates from a single clock. To implement an application, the programmer decomposes the application into components (sets of processes) communicating via signals. Structural VHDL is used to specify the signal data types and signal bandwidth constraints; implementation of the processes—the majority of the coding effort—is done in ANSI C or assembly. After compilation by the provided C compiler, the programmer specifies the distribution of processes across processors. A place-and-route tool then maps the processes onto specific processors. PicoChip also provides users with a visual tool enabling a block-diagram view of the design, a simulator, and probes allowing monitoring of system behavior.

Massively parallel multi-core processors have traditionally raised concerns of programming complexity, interprocessor communication bottlenecks, and non-deterministic execution.   (Regarding non-determinism, see, for example, Edward Lee’s paper “The Problem with Threads”.) In picoChip’s design, processing elements are kept simple, to simplify programming and distribution of processes. The assignment of processes to processors and the patterns of interprocessor communication are fixed at compile time: no bus contention issues remain to be resolved during actual execution. Each processing element relies primarily on its local memory to implement the functionality mapped on to it; when local memory is insufficient, access to the external SRAM is under the control of the programmer. In addition, the debugging tools provide visibility into the entire chip. PicoChip claims that these factors make developing and debugging of complex applications manageable, despite the large number of processors involved. “Standard DSPs are like quantum physics, probabilistic and only statistically predictable: each run has slightly different timing, and every time you look at it, you see a different state. The picoArray (picoChip’s nomenclature for its array of processing elements) is like billiard-ball physics: if you run the same code again, you will get the same timing and the same state,” says Rupert Baines, VP of Marketing at picoChip. (For details on picoChip’s approach to deterministic design, see picoChip’s paper,  “Deterministic Parallel Processing”).

Previous Page | Next Page
 
 
FPGAs for DSP, Second Edition
  
HomeAbout Inside DSPArticlesSearch ArticlesArchivesResourcesContact UsSubscribe to Inside DSPAdvertise with Inside DSP
Copyright 2006-2010 by BDTI  |  Terms Of Use  |  Privacy Statement
  |