Customer Success - ReplayTV

Obviously, ReplayTV couldn't design different hardware for each market niche or OEM partner; the cost would have gone over the top. Instead, ReplayTV engineers built a baseline system around programmable logic, specifically Spartan XCS40XL FPGAs from Xilinx. 

For Fast Hardware Design, Change The Software

How do you design a product for a market that's a moving target? ReplayTV of  Mountain View, Calif., used field programmable gate arrays (FPGAs) to give their Personal Video Recorder (PVR) a fluid architecture, one which can be changed - even in the field -- to adapt to new standards, or to add new features. In the bargain, ReplayTV got a more convenient design cycle and faster time to market. Personal video recorders are among the newest consumer products and both the market they serve and the feature sets of the PVRs themselves are continually changing. PVRs digitize; compress, and store high-quality video and audio in MPEG-2 format on a hard disk drive for instant replay or viewing later - when the consumer wants to watch. Thus, as ReplayTV says, you can find yourself watching Monday Night Football on Saturday morning. 

A PVR like ReplayTV's can store as much as 60 hours of programming, the point being that viewers are no longer chained to the schedules set by broadcasters. Instead, consumers have almost full control over their viewing, watching what they want, when they want it. And, unlike VCRs, ReplayTV PVRs are easy to set up and offer DVD-quality reproduction. 

ReplayTV not only sells its system directly, but also through license agreements with companies such as Panasonic. For product differentiation, ReplayTV and its OEM partners each need slightly different feature sets, front-panel indicators, copy-protection algorithms, etc. ReplayTV chose a very pragmatic approach. 

Obviously, ReplayTV couldn't design different hardware for each market niche or OEM partner; the cost would have gone over the top. Instead, ReplayTV engineers built a baseline system around programmable logic, specifically Spartan XCS40XL FPGAs from Xilinx. As it turned out, this not only allowed ReplayTV to offer different feature sets and address changing or divergent standards, but it also helped the company get to market much faster than would have been possible using ASICs. It also influenced the design process itself, making it more convenient and cost-efficient. 

If ReplayTV had had to go through a full ASIC design cycle, the cost would have been prohibitive, partly because an ASIC design would have forced system designers to take the time to be sure that all bugs were absent before first silicon. With FPGAs, designers can iterate their way toward design goals, correcting bugs as they are uncovered. 

For example, the system must accommodate various copy-protection schemes. Not only are there several different copy-protection alliances throughout the world, but even for a given protection standard, each OEM interprets its copy-protection agreement a bit differently -- with their lawyers effectively dictating to engineering -- so ReplayTV has to engineer the copy-protection logic differently for each customer. Two vendors might have signed what looks like the same agreement, but their legal departments will insist that they be implemented differently. Reprogrammability accommodates the nuances of each (copy-protection) agreement, worldwide, without changing the baseline system. This greatly reduced design time and sped up evolution of the product. 

ReplayTV has also been designed as a Xilinx Online application. In other words, ReplayTV PVR's have the ability to update the logic in the field via Internet Reconfigurable Logic (IRL), using an onboard 56-Kbaud modem. The reprogrammable logic is updated simply by downloading a new bitstream. If the unit is already installed in a customer's home, the bitstream is downloaded from ReplayTV's Internet server. This allows bugs to be fixed even after the customer takes the unit home, and lets ReplayTV add new features as necessary. Obviously, this extends the life of the product too since, rather than having to replace it as market requirements change; the customer simply has the unit's logic reprogrammed 

This takes place in the background: Each evening the ReplayTV PVR automatically downloads TV schedule information from the company server. Also downloaded are bug fixes, operating system updates, or program modifications. The customer's unit is improved as he sleeps without intervention on his part. End users are typically never made aware of changes or fixes to their systems unless the functionality of the PVR changes as new features are added. 

In one case, ReplayTV found itself forced to deal with an edge condition that caused video noise in a few systems already in homes. One of the chips in the system had an undocumented clock threshold-switching problem that varied as a function of lot processing. Since the control signals for this device were generated in the FPGA, it was possible to eliminate the problem by changing the timing of the FPGA-generated signal. 

The company responded with a software change that was uploaded to all ReplayTV systems in the field as soon as it was debugged and certified. Most customers never realized that the change had been made; though some may have noticed improved video quality. 

Programmable from the Beginning
ReplayTV's system was designed from the outset to take advantage of FPGAs. Field reprogrammability was a key consideration. Programmability also allowed engineers to take a phased approach to design of the product. The FPGAs had functions assigned to them from the outset, but designers found themselves adding more because of the design speed and convenience offered by the FPGAs. In addition, ReplayTV programmed the FPGAs to combine and perform functions not available as off-the-shelf devices. Examples include:

  • Closed-caption support. Provides capability for decoding and transmitting the secondary text for the hearing-impaired, which accompanies video programs.
  • A watchdog timer, and interpretation circuitry for infrared signals from the remote control.
  • V-chip data detection. Similar to closed-caption support in that data is transmitted along with the program material. This allows parental control of program material.
  • Copy protection. Copy-protection techniques are changing continually. In order to develop a product and still support changing standards, it was necessary to design a system that could be updated continually as well, but in a manner transparent to the consumer. The FPGA offers that capability. Copy-generation-management system/analog (CGMS/A) uses data encoded in the video stream to restrict copying of movies to analog devices such as VHS recorders. Macrovision is another anti-taping technique, also using data in the video stream to prevent copying. Both had to be supported in several different "flavors." 

The Perpetual Breadboard
Having committed to Xilinx FPGAs as the core of their design, ReplayTV engineers found themselves with a new, more convenient design cycle. Instead of designing and debugging the system as a whole, they found it easier and faster to add capabilities one at a time, debug them individually, and then add the next function or feature. This made debugging easier and faster since only the latest module's code could contain major bugs or interact negatively with the already bug-free code stored in the FPGAs. 

First, the basic hardware and control logic was implemented. Additional "layers" were then added one at a time. Second came the embedded operating system and drivers, then applications software, then "feature algorithms" such as copy protection or V-Chip and software peculiar to a specific vendor's front panel design. 

Further, designers were able to implement things in the most straightforward fashion first, taking as many gates as needed, get the function debugged, and only then optimize the bitstream to make best use of the FPGA. This allowed designers to move from function to function faster, with optimization proceeding as a separate activity. 

Even today, the system exists in ReplayTV's labs as a sort of perpetual breadboard. The hardware is complete, but the programmable logic allows dramatic or subtle changes to be made in features and functions by changing the FPGA bitstream. 

As a result of these changes to the design cycle, ReplayTV estimates that it saved as much as four months getting their product to market. Not only did its engineers not have to design and debug an ASIC as a whole, or wait for it to be produced, but the design cycle also proceeded more smoothly since features were added and debugged "in layers." 

As the design progressed, ReplayTV's engineers found themselves adding more and more functions to the FPGAs - many more than originally envisioned. Engineers began with what they thought was excess capacity in the FPGAs, even so, they "filled" the FPGA several times, then used the chip vendor's iterative place-and-route software to shoehorn more logic onto the chip. Alternately, if performance was an issue, they could elect to make the place-and-route operation timing driven and let it run until it came up with the solution needed for a function to perform at a given rate. The software was Xilinx Alliance and Foundation design software. 

At the end of the day, and with their market still a moving target, ReplayTV is satisfied with programmable logic. Based on the requirements ReplayTV will be taking the FPGA approach for the foreseeable future. FPGAs not only enhance the product itself -- through feature set control and field upgradability -- but speed and smooth the design cycle as well. 

For more information on ReplayTV, visit the website at

More Information

Application Notes
Press Releases
Hard Copy Literature Request