United Business Media EE Times




Search

HOMELATEST NEWSSEMICONDUCTORSMOST POPULARMARKET INTELLIGENCE UNITFORUMSDESIGNNEW PRODUCTSCAREERSBLOGSCONTACTEVENTSSIGN UP!RSS

 

PLDs, cores deliver configurability configurability








EE Times


Within recent memory, programmable logic devices have reached the density and complexity levels that allow implementation of complex processor designs and integration of entire systems onto a single programmable device. Processor intellectual property (IP) providers such as ARC Cores, Lexra and Tensilica now offer programmable logic-optimized versions of their products, and they provide programmable logic-based development boards to enable their customers to quickly realize their processor designs in hardware. As a result, PLDs are currently used extensively for prototyping processor-based designs and in manufacturing.

Processor IP is being used in the development of off-the-shelf network processors, and the IP providers are working with network processor companies to add communications-oriented features. From the user perspective, any off-the-shelf solution that is not fully programmable will suffer to some degree the same limitations of pre-network processor hardwired solutions: unused instructions and/or device resources, functions that are not really intended for the specific task at hand, and the general inability to alter the hardware design. Although many communications standards are well-established, there is often room for communications products to be differentiated in the actual details of implementation. Further, many more communications protocols are just coming into acceptance or are still in flux.

That environment has contributed to shorter product life cycles and increased upgrade frequency as manufacturers race to bring new communications products and upgrades to market. It has also fostered a desire by designers for more flexibility in their hardware solutions. In recognition of that need, many of the most recently announced network processors offer some degree of configurability, generally to support a set of communications protocols and a range of channels and services.

The maximum amount of design flexibility that can be achieved with an off-the-shelf product is with the use of programmable logic and processor IP. With that combination, system designers can create network processors to match their specific application needs while retaining the shorter development cycles associated with non-custom components.

The design strategy supports a wider variety of processing architectures and functionality than when using other off-the-shelf components. For example, a common approach to network processor design uses multiple processors to act on multiple packet streams, while an external set of functions performs such byte-level functions as cyclic redundancy checks (CRCs), hash table lookups or framing operations. Following that approach, some designers have built their network processors using familiar RISC-type cores. In support of the strategy, Lexra is working with communications companies to enhance its LX4180, a 32-bit processor core, to meet specific network processing needs.

The LX4180 is an R3000-class processor that lets users enhance the standard MIPS instruction set, which is used in networking applications by leading telecommunications companies. The LX4180 also lets users configure not only memory size but also memory organization, a capability designers have used in network security applications.

Since software is an important component of network processors, the availability of mature software development tools provided by the more than 60 MIPS third-party tool suppliers is a benefit to customers. "It's our intention to be the leading supplier of processor cores to network processor designers," said Pat Hayes, Lexra's chief technology officer, "and the ability to rapidly prototype designs using programmable logic has been absolutely critical for our design wins in this area."

Another approach involves using configurable-processor IP to include formerly external functions in the instruction set, and/or creating communications-specific instructions. Traditional microprocessors were designed for numeric or logical tasks: add with carry, branch if zero, toggle least significant bit, etc. Configurable instruction sets, like those offered by ARC Cores and Tensilica, allow designers to use communications-specific instructions, like "extract packet header, align it, log it and branch on destination IP address."

Custom instructions are an opportunity for developers to add value, perhaps even encompassing trade secrets or proprietary algorithms right in their instruction sets. The software for custom microprocessors can't be reverse-engineered, because the instructions are meaningless to outsiders. Also, the processor can be configured differently for different applications, or different models within a product line. Implemented in programmable logic, the processor itself-right down to the instruction set-can be upgraded in the field. Custom instructions can be simple, single-cycle operations like "test header field" or complex multi-cycle operations such as "manage packet queue" or "calculate CRC." Implementing elaborate, multicycle instructions in hardware slashes code size by replacing extensive software routines with a single instruction, and it also speeds network processing enormously.

Configurable-processor IP also allows the designer to create application-specific condition codes beyond zero, carry, negative and overflow flags. This way, branches can be made conditional on any imaginable condition. Every instruction can be conditional (i.e., predicated execution) for code that can "ADD if bad checksum," "shift left if queue is full" or "MOV if packet is from restricted domain." In many cases, register sets also need to be configurable. Different applications (router, xDSL modem, etc.) might call for different programmer models. Most programmers like to start with at least 32 registers, but even that quantity can be limiting if packets are assembled or stripped in registers.

For example, users of Tensilica's Xtensa can create up to 128-bit data types that directly load into the processor interface port. Xtensa allows communications designers to add an extra clock cycle to the instruction pipeline, which is especially useful in decoding large data packets in less time. "Configurable processors like Xtensa give system designers the flexibility to create and exploit new data types for high-speed packet communications," noted Mark Ross, director of hardware engineering for Cisco Systems. "Now, with the availability of configurable processors in programmable logic, the designer has a fast time-to-market option as well."

To a network designer, the most bandwidth at "wire speed" is the ultimate goal. The conventional approach to increasing bandwidth is to use fast, wide buses. With the availability of high-density programmable logic, the designer has the opportunity to take the highest-performance approach: eliminating the bus altogether. Buses-even on-chip buses-are a historical carryover from the days of printed-circuit board design. Instead of connecting the microprocessor to the network interfaces over a fast, wide bus, why not absorb these peripherals into the microprocessor design itself?

Bus-related problems (bus sharing and arbitration, timing protocols, bus-turnaround delays, write-after-read timing, bandwidth allocation and so on) are avoided altogether if there is no physical bus between the network processor and its peripherals or interfaces.

One ARC Cores customer is using ARC's configurable-bus structure to literally eliminate bus bottlenecks in its ultrahigh-speed (petabit, or 1,015 bits/second) 16-channel router design. Using programmable logic to prototype the design, the engineers were able to absorb each network channel accelerator into the ARC microprocessor, instead of clustering the channel interfaces onto a shared bus. Because each channel's registers are now part of the microprocessor's register set, transferring data from one network channel to another is just a trivial register-to-register MOV instruction. In normal situations, data travels freely from channel to channel. When network congestion is high, the ARC processor runs proprietary quality-of-service algorithms designed by the customer to prioritize and organize packets, routing the most critical information first.

"Configurable instructions, machine states and bus interfaces open up new vistas for network processor design," said Jim Turley, vice president of marketing for ARC. "It's amazing what you'll learn while implementing your custom processor within a PLD in an afternoon."

Network processor users often differentiate their product in software, using proprietary algorithms. With the integrative capabilities of programmable logic, they have more options to add value to their product. They can choose which functions stay in software, which functions become part the processor's instruction set (as in the previous example) and which functions get implemented in dedicated logic for the best performance. Systems integrators can add value in their specific area of expertise, and rely on the large offering of PLD-optimized intellectual property-including PCI master/target interfaces, Ethernet MACs, encoders and decoders, DES encryption-for the rest of the functions to ease the design burden.

Processor IP vendors such as ARC Cores, Lexra and Tensilica are working with both communications companies and programmable-logic vendors to provide features in their products that are optimal for network processing applications. The potent combination of programmable logic and processor IP provides an attractive balance of features for network processor designers: a high degree of flexibility together with the rapid development cycle of an off-the-shelf device. The result is a solution that meets the very difficult challenge of remaining nimble enough to keep up with a dynamic communications landscape.

See related chart











  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
Ready for a change?
SEARCH JOBS
SPONSOR

RECENT JOB POSTINGS
CAREER NEWS
10 Search Engines You Don't Know About
Go beyond Google and get vertical. These specialized search sites will help you find the business information you need -- fast.

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


All White Papers »   


 

FEATURED TOPIC



ADDITIONAL TOPICS












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 © 2008 TechInsights, a Division of United Business Media LLC All rights reserved.
Privacy Statement | Your California Privacy Rights | Terms of Service | About