AT A
GLANCE |
- Testdrive chip and software options during system
definition before you proceed to design.
- Application-tuned device features have transformed
evaluation kits into more focused but fuller featured
reference designs.
- STAPL and IEEE 1532 further expand vendor-agnostic JTAG.
Stand-alone programmers offer a higher performance
alternative, particularly for production.
- As board traces have transformed into internal routing
lines in the system-on-chip integration era, embedded-logic
analyzers still let you probe around.
|
Sidebars: A
tools-table
teaser
| |
In the early days of semiconductors, digital-system design was almost
completely a hardware-intensive-tools task. User-customizable-logic chips
(with the exception of software-configurable microprocessors) just didn't
exist. Instead, you dealt with collections of transistors, subsequently
followed by discrete-logic gates, and then by single-chip assemblages of
multiple gates. You interconnected them on the system board to construct a
desired function, maybe with the assistance of a DeMorgan Law
logic-transformation program, but more likely with nothing more glamorous
than a No. 2 pencil and paper. And when, invariably, the circuit's
function didn't match what you expected, you powered up your trusty
oscilloscope and logic analyzer to track down what went wrong.
The hardware-to-software tools shift began with PAL
(programmable-array-logic) devices. Now, you could interconnect AND and OR
gates, inverters, and flip-flops via on-chip (rather than onboard) routing
resources. First low-level ABEL (advanced Boolean equation language), then
higher abstraction-level design compilation and fitting software, created
the bit streams that configured the devices' routing fuses, antifuses, and
pass transistors. Next came design-simulation software, which let you test
your circuits' functions before committing them to silicon, a capability
of particular economic advantage if the device wasn't reprogrammable, and
a misconfiguration, therefore, meant an expensive addition to the trash
bin. And as the chips' routing architectures grew more
hierarchical—culminating in the fine-grained and segmented FPGA—dual-pass
simulation, which combines a speedy first-pass functional test after
design compilation with a more in-depth timing-inclusive simulation after
design place and route or fitting, gained prominence.
Nowadays, multimillion-gate FPGAs and 1000-macrocell CPLDs, the epitome
of VLSI, integrate so much and such diverse analog and digital circuitry
and memory that they might, at first glance, seem to make hardware tools
obsolete. Simulation software, however, covers only conditions that you
explicitly describe in your test-vector file. What about those
"real-world" combinations of input signals and sequences of those signals
that you haven't predicted? Clearly, relying only on simulation is
insufficient; old-school debugging techniques still have value. Throughout
the four main stages of product development—definition, design,
prototyping, and production—plenty of other opportunities for hardware
help exist, too. The
evolution of evaluation
Before you can begin designing with a chip, you have to pick a
chip. In appraising various vendors and the options within each vendor's
product portfolio, it's often beneficial not only to compare data-sheet
specifications, but also to see how well the device and its corresponding
development-tool set tackle the types of circuits you commonly use in your
designs (references
1 and 2). This hands-on assessment is the
primary function of evaluation boards, as their name suggests (Figure
1a).
Take a look at any of the chip vendor's Web sites, which list both the
vendors' and their partners' evaluation boards, or at an independent
resource, such as the Programmable Logic Jump Station, and you'll discover
long lists of products. They all contain some means of downloading data to
the PLD or the FPGA. They usually also offer some method of obtaining
visible feedback that the chip is operating properly, such as blinking
LEDs or a single- or multiple-segment LCD. Aside from the fact that the
boards contain different device architectures and different device sizes
within an architecture, what other feature disparities justify this
multiplicity and, often, seeming duplicity?
If the device you're evaluating supports separate voltages for the core
and I/O buffers, and if your design will take advantage of this feature,
make sure that the board supports corresponding voltage flexibility. Some
chips, in fact, offer multiple I/O banks, each capable of running at a
different voltage range. Multiple clock inputs or onboard crystal
oscillators provide additional evaluation-board-usage options. Test points
enable you to monitor device inputs and outputs with an oscilloscope or a
logic analyzer and are particularly valuable with hard-to-probe narrow-
and numerous-lead packages, such as QFPs. Test points are essential
when you use BGAs, because the package lids completely obscure their
board-connection matrices (often to internal-layer board traces), making
them otherwise unable to be probed.
Some evaluation boards contain a breadboard area to which you can
attach other devices you plan to include in your end design. Socket
adapters from companies such as Emulation Technology modify surface-mount
packages to comprehend the through-hole requirements of this breadboard
area. In addition to, or perhaps instead of, a supplemental prototyping
area, some boards come with other preinstalled chips: banks of DRAM, SRAM,
and flash memory; microcontrollers; UARTs; keyboard and mouse controllers;
ADCs and DACs; and others. Other boards handle expansion via daughtercards
in PC-104, PMC, and other standard formats.
Beyond the hardware differences among various boards, you find varying
amounts of supplied documentation including, in some cases, schematics and
Gerber-layout files. You also come across different mixes of bundled
software. Whereas a chip manufacturer's board might reflect a partnership
with Synopsys, for example, a third-party board might include a Mentor
Graphics or Synplicity tool set. One board's tools might support only a
single device or subset of the device range, whereas another's might
support an entire product family, multiple product families, or even
products from multiple chip suppliers. Distributors are now even offering
evaluation boards and corresponding technical support in the hope that
when your design goes into production, they'll get your business.
Evaluation boards aren't restricted solely to programmable-logic chips.
Actel provides a developer kit that lets you try out the company's
Varicore embedded FPGA cores (Reference
3, Figure
1b). The evaluation board includes a 4×4-logic-block Varicore
test chip with supporting logic, an LCD, both a breadboard area and a
daughtercard connection, nonvolatile memory, serial- and
JTAG-configuration options, cables, documentation, and a user guide.
Integrated Circuit Technology plans to offer similar boards for its
long-delayed embedded-PLD technology, but embedded-FPGA supplier Adaptive
Silicon currently has no evaluation aspirations. Reflecting on
references
Programmable logic's generic nature has historically enabled it to
serve a plethora of applications. In recent times, though, the suppliers
have integrated additional features, such as embedded memory, DLLs, PLLs,
high-speed I/O buffers, and arithmetic-function blocks, all with specific
high-volume applications in mind. And, correspondingly, the devices'
evaluation boards have become more optimized for applications and
functions, transforming themselves into reference platforms applicable to
both device evaluation and subsequent system design.
One of the first examples of this trend began when, in response to
chips such as Xilinx's now-discontinued XC6200 series, a number of
third-party vendors unveiled reconfigurable-logic boards. These
development platforms are notable for their large amounts of onboard
configuration memory (either nonvolatile or volatile), along with
high-speed interfaces to external hardware. Instead of a serial JTAG
cable, for example, they might support a parallel wiring harness or even
take the form of an ISA or a PCI add-in card. All of these featuresboost
partial- and full-reconfiguration performance. An Ethernet controller,
intended for remote configuration purposes, may even be onboard. These
boards also typically include reconfigurable-computing-tailored
design-and-debugging software, such as C compilers and other
software-to-hardware migration utilities.
Xilinx has been aggressive in tailoring its collateral and tools for
specific applications. The company devotes an entire area of its Web site
to what it calls "eSPs" (emerging standards and protocols), areas in which
the company sees compelling high-growth opportunities for its chips. At
the eSP portal (www.xilinx.com/esp), you'll find
information on wired interfaces, such as HomePNA, IEEE 1394, and USB 2.0;
wireless interfaces, such as Bluetooth and IEEE 802.11; and other
applications, such as encryption and decryption, and digital video
encoding and decoding. You'll also find a number of reference designs, the
fruits of Xilinx's partnerships with companies such as 4Links (IEEE 1355),
Broadcom (Bluetooth), Convergent Design and Digital Harmony (IEEE 1394),
Divio (video), and Kawasaki LSI and Mentor Graphics (USB 2.0) (Figure
2).
PLDs and FPGAs have always been a natural fit in other manufacturers'
evaluation boards, which tend to have production runs of only dozens or
hundreds of units, because, unlike ASICs, they don't have minimum-order
quantities. In recent years, programmable-logic companies have taken a
more active approach to ensuring their presence in others' reference
designs in applications that represent large amounts of business
potential. The advantage to those of you who work in one of these
application areas, regardless of what company provides the reference
design, is that you can directly apply the supplied schematics, design
files, and software source code to your projects.
Reference designs might focus on a certain device feature that you can
apply to a variety of applications rather than on a specific application.
This trend first gained prominence when devices got large and fast enough
to house PCI initiator and target cores and has gained momentum as those
and other cores have migrated onto dedicated ASIC silicon. QuickLogic, one
of the first companies to move into the programmable-logic/ASIC "hybrid"
space, with its ESP (Embedded Standard Product) line, lists on its Web
site more than 10 reference-design kits that allow you to exercise the
features of its QuickDSP, QuickFC, QuickMIPS, QuickPCI, and QuickSD
products.
Other hybrid chip suppliers, such as Altera (Mercury and ARM-based
Excalibur), Atmel (FPSLIC), Cypress (Programmable Serial Interface),
Lattice (via its acquisition of Agere Systems' FPGA line), NEC (SoC Lite),
Triscend (E5 and A7), and Xilinx (Virtex-II Pro), have similar ambitions,
if not equally numerous board options (Figure
1c). Feature-optimized tool kits aren't restricted to "hard"
CPU cores; both Altera (Nios) and Xilinx (MicroBlaze) directly and in
partnership with distributors supply CPU soft-core reference designs
(Figure
1d). And, as devices grow, nontraditional configuration
devices, such as CompactFlash cards, become more appealing. Evaluation
boards let you try out these emerging alternatives, and, with the
appropriate software stack, you might even be able to plug network cards
into the CompactFlash-module connector (Figure
3). Get with the
program
Now that you've got a design complete and ready to fire up, how do you
get it into the programmable-logic device or, for SRAM-based parts, its
companion configuration memory? IEEE 1149.1, commonly known as JTAG, is
one of today's most popular device-programming techniques (figures
4a and 4b). After years of fractious debate
between Altera and Cypress' Jam, Lattice's ispVM, and other vendors'
proposals, the next-generation STAPL (Standard Test and Programming
Language) in-system algorithm has secured broad-based industry support.
JEDEC-approved STAPL defines a file format containing each chip's
programming information. The companion IEEE-defined 1532 specification, a
superset of 1149.1, is a hardware standard defining the
programming-algorithm details (http://grouper.ieee.org/groups/1532).
JTAG's test-access port is, in many respects, an ideal programming
interface—especially if the device internally generates all the "extra"
voltages necessary to alter stored contents—because it's dedicated to
programming and testing and doesn't interfere with other device and board
functions. However, its serial and low-speed attributes contribute to its
low programming performance. These characteristics may not be a problem in
the development lab and during prototyping, but they can be an expensive
bottleneck in high-volume production (Reference
4). Instead, you might want to harness a wide and fast
onboard programming interface (for which you'll have to comprehend
function multiplexing in your system hardware and software designs).
Alternatively, you can program the chips before installing them on the
system board (Figure
4c).
Chip suppliers often partner with programmer manufacturers to offer a
version of the manufacturer's product under the supplier's name. For
example, Actel's single-site Silicon Sculptor and multisite Silicon
Sculptor 6X antifuse FPGA programmers are variants of BP Microsystems'
programmers, bundled with Actel chip-specific software. Actel's Flash Pro
for the company's ProASIC and ProASIC Plus flash-based FPGAs is the fruit
of Actel's partnership with First Silicon Solutions and supports STAPL and
IEEE 1149.1. Before deciding on a silicon-vendor-sourced programmer,
investigate whether you can later upgrade its firmware to support other
vendors' products. Otherwise, if you switch chip suppliers in the future,
you might be left with an expensive paperweight. Spending more money
up-front for the original manufacturer's more versatile version of the
programmer might be cost-effective in the long run. Logical analysis
You've programmed your chip, you turn on the system power,
and...nothing happens. Or something happens, but it's not even close to
what you expected. Your design has already passed the simulation tests
with flying colors. What do you do now? Test points on the board, along
with careful connection of test clips to the chip's package leads, might
let you analyze its inputs and outputs. But what about signals running
around inside the chip?
For a long time, your only option was to route internal nodes that you
wanted to inspect out to device pins. Silicon vendors love this
alternative, because, as the number of nodes increases, so do the required
device pin count and price. It's not ideal to you for other reasons, too.
Unless you employ the services of a fortuneteller, you don't know in
advance what errors your design has and, therefore, what nodes you want to
bring out to pins.
Your lack of foreknowledge means that, to monitor internal nodes, you
need to tap into incremental internal-routing resources. In other words,
you need to recompile your design—a process that may change the design's
timing and, inevitably, its function (obscuring the very phenomena you're
trying to observe). Altera claims that the LogicLock and SignalProbe
features of its latest Quartus II design software preserve your design and
enable fast incremental compilation to bring nodes out to pins. But the
SignalProbe documentation admits, "Signals might not always find
successful re-route."
Keep in mind, too, that the added impedance of the logic analyzer or
oscilloscope test probe alters the electrical characteristics of the
internal node and, therefore, the circuitry that influences it and that it
influences. Despite these potential pitfalls, routing nodes to pins might
still allow you to gain valuable insight into what's wrong with the design
and how to fix it. But now what do you do: Leave the added nodes-to-pins
portions of the design alone and use a more expensive chip with a higher
pin count than you need, or remove the test circuitry and risk breaking
the design again?
There has to be a better way. And Actel, followed by Altera and Xilinx,
believes it has found it in the form of the embedded logic analyzer
(Figure
5a). Actel's antifuse-chip implementations differ slightly
from Altera and Xilinx's SRAM-based FPGAs, but the basic concept is the
same: You tell the tool what nodes to monitor, for how many cycles, and
with what trigger conditions. It communicates this information over the
JTAG interface to circuitry within the chip, which sends the node data
back out over JTAG or a dedicated trace port to a PC or logic analyzer for
display. Ch-ch-ch-ch-changes
Actel's Silicon Explorer 2 differs from the first-generation Silicon
Explorer in several areas. (Ironically, Silicon Explorer was designed by a
company that Altera subsequently acquired to develop SignalTap and the
Nios CPU core.) It supports an external power supply, enabling it to probe
devices with multiple operating voltages; delivers acquisition capability
to 100 MHz; and offers four levels of triggering and decompression on
download. Silicon Explorer 2 is unique among its peers in that it can
observe internal nodes in real time by tapping into hard-wired connections
used for programming the FPGA antifuses. It outputs as many as two nodes'
states over dedicated pins PRA and PRB and can monitor as many as 16
additional nodes via the FPGA's general-purpose I/O pins. Its Silicon
Explorer 2 Lite variant enables only the Command module and relies on an
external scope or logic analyzer for viewing signals.
Silicon Explorer 2 employs dedicated ActionProbe circuitry within the
FPGA to implement the logic-analysis function. In contrast, Altera's
SignalTap and Xilinx's ChipScope are soft cores, meaning that you have to
compile them into the design (Figure
5b). Therefore, although they consume no incremental
device-I/O buffers like the bring-the-node-to-a-pin technique or Actel's
approach with more than two monitored nodes, they still consume
incremental internal logic, memory, and routing resources (tables
1 through 4).
Once you debug your design using SignalTap or ChipScope, you probably
won't want to rip out the logic analyzer core and recompile the design.
So, you still have a bigger chip than you'd otherwise need—but one
containing a design that now works. Pick your poison, and ponder how big
that logic-analyzer core will get when you start not just monitoring
individual signal nodes, but also tracing entire buses (in conjunction
with an embedded processor, for example). Actel's approach seems elegant
in contrast, and, in many respects, it is, but keep in mind that you're
dealing with nonreprogrammable antifuse technology. Once you discover the
problem, you have to discard the chip containing the faulty design and
program a circuit that you hope is fixed into a fresh FPGA. And, unlike
the more flexible soft-core approach, you can monitor only 18 signals at a
time. Nothing's free, it seems.
Author
Information |
Technical editor Brian Dipert yearns
for the good old days when programmable-logic design meant filling
in Karnaugh maps and debugging meant probing low-pin-count DIPs
(containing chips that he regularly blew up by inserting them in
their sockets upside-down). You can reach Brian the Luddite at
1-916-454-5242, fax 1-916-454-5101, bdipert@pacbell.net, and http://www.bdipert.com/. |
References |
- Dipert, Brian, "Lies,
damn lies, and benchmarks: The race for the truth is on,"
EDN, May 27, 1999, pg 54.
- Dipert, Brian, "
Synthesis shoot-out at the EDN corral," EDN,
Sept 11, 1998, pg 95.
- Dipert, Brian, "Do
combo chips compute (or even compile)?" EDN, Feb 15,
2001, pg 101.
- Dipert, Brian, "Focusing
on chip programming," EDN, Jan 7, 1999, pg 58.
|
Acknowledgments |
Programmable Logic News and Views, edited by Murray
Disman and published by Electronic Trend Publications, is a concise
yet comprehensive monthly newsletter summarizing all that's new in
the programmable-logic industry. Check out www.electronictrendpubs.com/plnvbro.htm
for sample content. |
|
|
|