United Business Media EE Times


Search

HOMEMARKET INTELLIGENCE UNITFORUMSDESIGNNEW PRODUCTSCAREERSBLOGSCONTACTEVENTSSIGN UP!RSSMost Popular contentTrusted Sources

 


The problem with memory
Print this article Email this article Reprints RSS Digital Edition

EEdesign.com


If you were to sit down with a pile of die plots from recent system-on-chip (SoC) design efforts, you would quickly conclude that the fundamental building block of the system-level IC is memory. The number of instances of memory arrays on the average SoC is increasing, according to most estimates, faster than the transistor count. There are well-used projections that within a few years the majority of the area on most SoCs will be memory.

Until recently, this memory would have been mainly in one large array: a big cache, a frame buffer or a big scratchpad. But increasingly, the memory is broken into much smaller pieces. It's scattered around on the die so that it is adjacent to the functional blocks that need it, and organized not as simple SRAM, but in any number of more specialized configurations.

While this creates a lot of labor for SoC designers using ASIC or COT flows, it is not a huge technical problem yet. Designing and placing lots of specialized blocks kind of plays to the strength of current chip design methodologies. There are some emerging issues, such as efficient manufacturing test and soft-error resistance, but for most designers they are not major issues yet.

The picture changes considerably when you look not at ASIC or COT flows, but at an FPGA design flow. The proliferation of specialty memory blocks strikes at a major weakness of FPGAs -- namely, their inability to predict how much of a given resource you will want where on the die.

When FPGAs were much smaller and large, or fast memories were implemented as external chips, this wasn't an issue. Most vendors provided means of converting a logic cell into a rather ad hoc SRAM. These could be grouped together using the ordinary programmable interconnect to form flexible, if quite slow, memory arrays.

The inadequacy of these became apparent as FPGAs moved up into the size where it was necessary to incorporate relatively high-performance memory arrays on the chip. In response, FPGA architectures evolved dedicated small blocks of SRAM scattered around on the die. These were usually surrounded by a certain amount of dedicated configuration logic, so that a given array could be set up as a single-port or dual-port in a variety of widths and depths without putting the slow programmable logic cells in the data or address paths.

But the inevitable rule of not-fully-configurable things is that you never get exactly what you want just where you want it. Getting good utilization out of the pre-defined blocks was a matter of luck. And assembling the small RAM blocks into larger blocks or into unanticipated configurations resulted in plummeting performance.

The most recent attempt to overcome this problem is Altera's new FPGA family. This design provides not only the usual scattering of small and medium-sized configurable RAM blocks, but also one or more quite large blocks placed strategically on the chip. The notion, of course, is that if there are enough entrees on the table you can satisfy nearly everyone. But the fixed placement of the large RAM blocks and the discrete nature of the smaller ones will still leave the user with some very interesting placement and routing problems, with which automatic software can be only so helpful.

A different approach is suggested by the platform-based design enthusiasts. For a given class of applications, it ought to be possible to plan the system's memory requirements quite accurately -- not only in terms of size and function, but in location in the chip's floorplan. If it's not possible to please everyone with a single family of chips with a single floorplan, it might just be possible to delight everyone within a certain application category with a single, application-specific floorplan based on a general agreement about dataflow.

This notion may presume the existence of either gurus or tools that can turn a detailed dataflow diagram into a clear set of memory requirements and a relatively accurate floorplan, even before the details of the functional block implementation is known. But that may prove to be a solvable problem.

Ron Wilson is editorial director of ISD Magazine and a contributor to EE Times. He has covered chip-related matters for 15 years for various industry publications, and was once, in the distant past, a designer himself.





The views and opinions expressed in this column are strictly those of the author and should not be taken as an editorial position of EE Times or any of its other editors, publications or Web sites.


  Free Subscription to EE Times
First Name Last Name
Company Name Title
Email address
  Click here for your Free Subscription to EETimes Europe
 
CAREER CENTER
Looking for a new job?
SEARCH JOBS
SPONSOR

RECENT JOB POSTINGS
CAREER NEWS
SRC Expands R&D Centers
The Semiconductor Research Corp has added a new center to its university R&D efforts.

For more great jobs, career related news, features and services, please visit EETimes' Career Center.



All White Papers »   

  Design Resources
Designing for a dual Galileo-based GPS system
Malcolm Lomer of SiGe Semiconductor discusses GPS design challenges with the Galileo satellite system.
More »
 
Education and
Learning


Learn Now:












Home | About | Editorial Calendar | Feedback | Subscriptions | Newsletter | Media Kit | Contact | Reprints|  RSS|   Digital|  Mobile
Network Websites
International
Network Features




All materials on this site Copyright © 2009 TechInsights, a Division of United Business Media LLC All rights reserved.
Privacy Statement | Terms of Service | About