Return to the Home Page
  homesearchagentssupportask xilinxmap


Xilinx Online Home
Frequently Asked Questions
Success Stories
Discussion Forum
Reference Design
Java API for Boundary Scan
JBits
White Papers
Xilinx Online - Upgradable Systems

Internet Reconfigurable Logic


Richard Sevcik
Sr. Vice President
Support, Cores and Software
April, 1999

Introduction

In the communication industry it is commonplace for the equipment to be digital and interconnected through networks. This pervasive environment can now enable the deployment of a new concept: electronic hardware upgrades. Imagine the possibilities: electronically upgrading network router or switching hardware without the need to send a repair technician to each site. This would permit hardware fixes for design errors to be deployed at a fraction of today's cost. In reality, the cost of ownership would be dramatically reduced because not only would fixes be possible electronically, but in addition, new hardware features could be sent out electronically instead of by deploying technicians. This would significantly extend the useful life of the purchased equipment. For example, new protocol standards could be retrofitted electronically into equipment already deployed in the network. Of course electronic hardware upgrades could be applied to many forms of digital equipment: digital cellular base stations, switches, line cards, PBX's, radio equipment, satellites, etc.

FIELD PROGRAMMABLE

Is this concept real? Yes, it is enabled by programmable logic, such as Xilinx's new Field Programmable Gate Array (FPGA) family: Virtex. Most communication equipment today is designed with FPGAs for rapid time to market. Once these products are shipped to the customer, if properly architected, they can then be "reprogrammed" by changing the FPGA bit stream over the network. The required technology elements are shown in Figure 1.


 
 

Figure 1

The digital network is utilized to send the new bit stream to the network routers, for example as shown in Figure 2. The embedded processor is used to receive these bits and then "reprogram" the Virtex chips in the network router. The Virtex product is critical because it can be reprogrammed in milliseconds, even while it is operational if necessary. As a result, the hardware functionality of the router can be completely reconfigured electronically. We refer to this concept as Internet Reconfigurable Logic (IRL). Any network can be used as the transport medium including, of course, the Internet.

 

Figure 2

The design process that is used for IRL is a simple extension of the standard FPGA design flow, as shown in Figure 3.

Figure 3
 

A designer can simply take the original digital design in VHDL, for example, and add the desired new features and hardware fixes. After testing the new design thoroughly, the new bitstream is electronically sent to the embedded processor at the network router. The processor applies these new bits to the programmable logic and the router is now field updated electronically. This hardware update process is very analogous to a software (or firmware) update process.

INTERNET IMPACT

Of course, as stated, IRL can be applied to many forms of digital products. The exploding marketplace on the World Wide Web is not only providing unique opportunities in E-commerce but also for new hardware devices. International Data Corporation estimates that by the end of the year 2002 there will be over 500 million web installed devices. And they will not all be PCs. These devices could include set top boxes, screen phones, web-enabled cell phones, smart appliances, etc. They will be somewhat evenly divided between home and business. Since the underlying Internet access for these devices is generally from Internet Service Providers who charge for connection and usage, many of the producers of these devices will piggyback on the financial infrastructure to receive recurring and upgrade revenue for their products. This model is similar to the cable TV and cellular phone model. For cable TV consumers sign up for additional features (premium channels) for additional monthly charges. And cellular phone users rarely pay a fair retail price for the phone, but rather incur the bulk of their charge from monthly usage.

With this network and financial infrastructure, the Internet appliance producers can take advantage of the flexible and cost effective benefits of programmable logic. Now, using IRL technology suppliers can offer devices that are multi-use, easily upgraded, and have the ability to add on functionality without having to install new physical hardware.

Consider the following example of a network appliance in the home that starts out as Set Top Box for high definition digital TV. In this example (figure 4), the TV is connected to a home network which is in turn connected to an Internet Service Provider. Suppose that the consumer also wants to play a particular electronic game. Instead of going to the store to buy a new device, simply log on to the Service Provider's web page and sign up for the game. At this point the Service Provider launches a Java application that automatically reconfigures (over the cable network) the Virtex chip inside the network appliance box with the processor core containing the game.

Figure 4 - Multi-function reconfigurable Set Top Box based on Xilinx Virtex FPGA

VIRTEX

Let's consider the key elements of IRL: Virtex and software tools. Rugged IRL systems will more than likely be composed of both FPGAs and CPLDs to provide reliable field upgradability. Virtex is a particularly good choice for these applications because of size, speed, and flexibility. Virtex is the largest FPGA available. It allows applications up to 1 million systems gates. This capacity allows not only large designs, but also multifunction designs that can include embedded processors in the form of cores. It is also the fastest available FPGA with 300 MHz chip to chip speed for high performance applications.

There are a number of aspects to reconfiguration requirements. One of the most important is frequency of reconfiguration (Figure 5). This can vary from an infrequent requirement to high speed run-time reconfiguration.

Spectrum of Reconfiguration
Infrequent Periodic Frequent Run-time
Field Upgrades           Rapid Design/Data       Processing Mobile Applications Network Appliance

Figure 5 -- The spectrum of reconfiguration spans a wide range of frequency and application

Field upgrades are generally not frequent, but they are the most pervasive application. They can be used for updates, bug fixes, additional functionality. Periodic upgrades can be used for those applications where there is a regular change of supporting data, such as environmental monitoring systems, GPS, etc. Frequent reconfiguration can used to accelerate data processing for applications such as image processing. And runtime reconfiguration can be used where the application relies on changing variables such as detecting network protocols in a mobile application. In many of these cases there is also a need to reconfigure only part of the FPGA while the rest of the logic remains the same. This is called partial reconfigurability and is available in the Virtex device.

ENABLING SOFTWARE TECHNOLOGY

To effect this kind of design manipulation on programmable devices you need to have appropriate development tools for these applications. Initially, standard hardware design tools are needed to create the logic elements, whether they be cores or the entire initial design. However, to manipulate these designs, combine them, reconfigure them, and deliver them over networks additional tools are required. Xilinx has developed a suite of Java based enabling technology for this purpose.

The Java programming language was developed by Sun Microsystems as an object oriented, easy-to-use programming language. It was designed to allow large amounts of code reuse as well as total portability across a myriad of platforms. This high level of portability is achieved by having the language compile into processor non-specific code. This processor code is then interpreted by software (called a Java Virtual Machine (JVM)). Portability is therefore achieved by creating JVMs for all popular processors.

The Java Programming language found its immediate application in Internet-based solutions in which programs would need to be run on a wide variety of platforms, the nature of which would not be known until deployment through a browser or other launching tool. This means that a single Java program would be able to be written for deployment on any possible platform for which a JVM exists and that it would behave identically on all platforms.

Further, the Java programming language was enriched through the development and deployment of a wide variety of system class libraries that afford, reusable, easily integrated capabilities for such high utility operations as data manipulation, security protocols, multi-threading, exception handling and Internet-based file access.

Many digital, network connected products already include software (or firmware) update capabilities. In such cases it is possible to electronically update the Virtex components from this same update facility. The Virtex bit stream can be derived from a memory map which also stores the firmware contained in the product.

SUMMARY

IRL applications developed with Xilinx components and Java based enabling technology bring incredible flexibility and power to an exploding digital marketplace. This marketplace is driven by an extreme need for customization, and reconfiguration of installed systems. By making these systems field upgradable over digital networks, designers can deliver products which radically reduce the cost of ownership while extending the useful lifetime of the product.