Share |
Login Form
Newsletter



Receive HTML?

Latest Members


Goldilocks and the three DSPs: when and why to use Target's ASIP tools Hot

 
User rating
 
5.0 (2)

Executive summary: If you need an extremely efficient datapath and the flexibility of a programmable solution, you should check out Target's ASIP tools. 

The full scoop: Remember the story of the Goldilocks and the three bears?   Papa bear’s porridge was too hot, and mama bear’s porridge was too cold.  Goldilocks needed a third, in-between option… and baby bear’s porridge was just right!

Sometimes DSP hardware is like that.  Microprocessors are flexible but relatively inefficient.  A custom-designed, hard-wired datapath is efficient but inflexible.  Sometimes you need something in between—and that’s when you want an ASIP (Application Specific Processor).

The ASIP universe.  Image courtesy of Target Compiler Technologies.

ASIPs are like the baby bear of the processor world.  As the name suggests, ASIPs are specialized for a specific application, but they retain the programmability of a microprocessor.  The level of specialization in an ASIP can be modest—e.g., a general-purpose DSP can be considered an ASIP—or the ASIP can be highly tailored to an application.

ASIPs are sometimes sold as off-the-shelf chips, or you can design your own.  In either case, there’s a good chance you’ll use technology from Target Compiler Technologies. Target provides tools that make it easier to design and program ASIPs.

Target uses a language-based approach lets you design any kind of processor you want.  For example, you can define the native datatype to be a 12-bit complex number.  (NXP did just that with the CoolFlux DSP.)  This approach gives you more flexibility than you get with customizable processors like the Tensilica Xtensa 8.  Tensilica gives you a pre-defined architecture that you can customize by selecting check-box options and/or writing your own custom extensions.  Tensilica processors can be heavily customized, but you can’t modify the basic architecture.  This limitation has an upside, though: the basic architecture and check-box options are all pre-verified and worry-free, so it is easy to crank out a working processor.

Target’s language-based approach may not be as easy as using Tensilica's check-box options, but is way easier than writing hand-coded RTL.   (And this is the relevant comparison if you need a fully-custom datapath.)  With Target’s tools, the processor description is written a high-level processor modeling language called nML.  This language lets you write and change the architecture description with impressive speed.  For example, one of the company’s new hires was able to write a JPEG encoder in just 23 days.  At the same time, the language gives you a high degree of control over the data path, allowing you to achieve near-RTL efficiency.

The Target tool flow. Image courtesy of Target Compiler Technologies.

Programming your processor is also relatively straightforward.  Algorithms are written in ISO C with some C++ extensions and fed to an architecture-aware compiler.  (Target’s tools generate a custom compiler for your architecture.)  This is where Target gets its biggest advantage over RTL—if you write your own RTL, you’ll have to write your own compiler, use assembly code, etc.  Since development cycles are now dominated by software development, the lack of a compiler  is a major problem for hand-coded RTL.

One of the Target’s other points that it does not charge any royalties—just buy the tools and you’re done.  This is another contrast to Tensilica, which charges royalties for every chip you ship.

Bottom line: So are Target’s tools just right for you?  If you only need efficiency or programmability--but not both--the answer is probably no.  But if you need an extremely efficient datapath and the flexibility of a programmable solution, the answer is likely to be yes.  Target has lots of big-name licensees like NXP, TI, and ST, so if you chose Target’s tools you will be in good company.

User reviews

Average user rating from: 2 user(s)

To write a review please register or login.
Overall:
 
5.0
 
 

Re: Interesting

Overall:
 
5.0
Steve Cox Reviewed by Steve Cox
November 24, 2009
Comments (0)
Report this review
 


nML is described fairly extensively at http://nml.retarget.com (requires registration). The information provided there includes an excerpt on nML taken from the book "Processor Description Languages", edited by P. Mishra and N. Dutt (© 2008 Morgan Kauffman, June 2008). This book describes many processor description languages (nML, LISA, others), and enables comparison. Suffice it to say that comparison here would be too much for a blog-site.

Regarding your question about the compiler, note that Target's compiler is a "retargetable" compiler. What this means (for those that aren't familiar with this term) is that the compiler reads in the processor model so that it understands the various details of the internal architecture (i.e. which operations are supported, what does the pipeline look like, what specialized operations exist in the architecture, how much instruction-level parallelism is possible, does the architecture support vector operations, etc.), and then behaves as if it had been custom built for that architecture. The goodness of this approach is all about how well the C coder can exploit the efficiencies provided for in the architecture, and so the compiler is perhaps the most important element of the entire tool-chain.

If you think about this problem in the context of an arbitrary processor architecture (or even datapath), then you will realize that the job of the compiler isn't that different than that of a C synthesis tool. That is, it has to map an arbitrary, user-defined algorithm on a datapath - using the resource sharing, scheduling, and optimizations that you might typically find in an ESL synthesis tool. Realizing that, you then wouldn't be surprised to know that Target's C-compiler has roots in C-synthesis technology (as opposed to being rooted in gcc like so many other compilers). These roots are key to delivering on the efficiencies needed for highly specialized architectures.

If you are interested to learn more, there are a host of interesting papers available such as customer designs (a Reed-Solomon encoder design for wireless communications can be found here - http://www.retarget.com/resources/wireless.php) as well as more methodology oriented papers written by Target (at http://www.retarget.com/resources.php).

Of course, if you have an interest to learn more directly, feel free to send me a note.

 

Love the analogy

Overall:
 
5.0
John Fox Reviewed by John Fox
November 20, 2009
Comments (1)
Report this review
 

Kenton, I love the three bears analogy! One detail though, it was a JPEG encoder that was done in 23 days -- decoders are significantly easier.

John Fox
Applications Engineer
Target Compiler Technologies

 
 
Written by :
Kenton Williston
 
 






Latest Content
User rating
 
0.0 (0)
User rating
 
0.0 (0)