| 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 www.replaytv.com |