Tools help you lose the hardware blues...


 

Source: http://www.e-insite.net/ednmag/index.asp?layout=article&articleid=CA209089
Date: 2003.1.12


<<< Back | Print


Tools help you lose the hardware blues
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.


For more information...
When you contact any of the following manufacturers directly, please let them know you read about their products in EDN.
Actel
1-408-739-1010
http://www.actel.com/
Altera
1-408-544-7000
http://www.altera.com/
Atmel
1-408-441-0311
http://www.atmel.com/
Cypress Semiconductor
1-408-943-2600
http://www.cypress.com/
Integrated Circuit Technology
1-408-434-0678
http://www.ictpld.com/
Lattice Semiconductor
1-503-268-8000
http://www.latticesemi.com/
NEC
1-408-588-6000
http://www.necel.com/
Quicklogic
1-408-990-4000
http://www.quicklogic.com/
Triscend
1-650-968-8668
http://www.triscend.com/
Xilinx
1-408-991-2000
http://www.xilinx.com/
   


Other companies mentioned in this article
Adaptive Silicon
http://www.adaptivesilicon.com/
Agere Systems
http://www.agere.com/
Advanced RISC Machines (ARM)
http://www.arm.com/
BP Microsystems
http://www.bpmicro.com/
Broadcom
http://www.broadcom.com/
Convergent Design
http://www.convergent-design.com/
Digital Harmony
http://www.digitalharmony.com/
Divio
http://www.divio.com/
Electronic Trend Publications
http://www.electronictrendpubs.com/
Emulation Technology
http://www.emulation.com/
First Silicon Solutions
http://www.fs2.com/
4Links
http://www.4links.co.uk/
Kawasaki LSI
http://www.klsi.com/
Mentor Graphics
http://www.mentorg.com/
Programmable Logic Jump Station
http://www.optimagic.com/
Synopsys
http://www.synopsys.com/
Synplicity
http://www.synplicity.com/
 


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
  1. Dipert, Brian, "Lies, damn lies, and benchmarks: The race for the truth is on," EDN, May 27, 1999, pg 54.
  2. Dipert, Brian, " Synthesis shoot-out at the EDN corral," EDN, Sept 11, 1998, pg 95.
  3. Dipert, Brian, "Do combo chips compute (or even compile)?" EDN, Feb 15, 2001, pg 101.
  4. 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.

 

A tools table teaser: Boards aren't boring

As promised in the print version of this article, here are the tables for evaluation boards and reference designs (Table A), embedded logic analyzers (Table B), and programmers (Table C). This information comes straight from the semiconductor suppliers. I received it on or before my April 1 deadline; the information herein remains unchecked and unchanged by me (except for a few grammatical errors), so be sure to contact the suppliers for any updates before finalizing your designs. Another comprehensive reference site for evaluation boards is OptiMagic's Programmable Logic JumpStation (www.optimagic.com/boards.html).


<<< Back | Print

  Send to a colleague | Print this document