EDN logo


Design Feature: September 26, 1996

In-system programmable logic simplifies prototyping to production

Doug Conner,
Technical Editor

Changing a programmable device so that it can be programmed in a system after the device is mounted on a pc board--instead of requiring individual chips to be run through a dedicated programmer—benefits prototype development, manufacturing, and field support.

  Four years ago, Lattice Semiconductor introduced the first nonvolatile in-system programmable (ISP) device, the ispLSI 1000. Since then, the number of companies that offer erasable PLDs with ISP has grown to five. Most companies that produce these devices say they will soon introduce only high-density PLDs with ISP. These companies claim that designers consider ISP a must-have capability. According to the manufacturers, if designers aren't using ISP now, then they will be using it in the near future. The reason for the fast growth and wide acceptance of ISP devices is no mystery. ISP devices provide tangible benefits during product development, manufacturing, and field support.

Prototyping benefits

  At the design-development stage, you can use the same ISP device package for your prototype system that you will use in production, and you can solder it to the pc board without a socket. ISP allows you to program the device in the system (numerous times, if necessary) until the design functions correctly. The electrically erasable and flash technologies used for the ISP devices let you reprogram devices in either a few seconds or a few minutes, depending on the devices and the programming methods you use. Even before ISP, designers were reprogramming devices or programming new ones to correct design errors. ISP makes the process simpler and faster. You don't have to use special sockets for surface-mount devices or remove them for programming.

  Designers that work with PLDs use a wider spectrum of design methodologies than ASIC designers typically use. ASIC designers strive for and often achieve first-pass success. Economic consequences make it imperative. First-pass success takes careful, deliberate work, including full simulation of the device and the system. Some PLD designers use the same methods with the same dedication to first-pass success as ASIC designers. Indeed, some designers perform both types of design. Other designers take a shoot-from-the-hip approach, using little, if any, simulation. Most designers probably fall somewhere in between.

Program/erase cycles

  All of the ISP-device families provide at least 100 program/erase cycles, and some guarantee 10,000 cycles (Table 1). To get your design right, 100 attempts should be ample, even for a shoot-from-the-hip designer. If it isn't, you would probably benefit from taking a more thorough approach to simulation, rather than migrating to a PLD family that offers 10,000 program/erase cycles.

  The flexibility to program and reprogram a device in-circuit even lets you create a board design and send it off for layout and fabrication as you work out the details of the logic that goes into the PLD. Paralleling your logic- and board-design efforts lets you work with a very aggressive schedule, potentially shortening your time to market.

  Sometimes the paralleled-design approach succeeds, but you have to be aware of the pitfalls of assigning a PLD and fixing the pins before designing the logic that goes into the PLD. There are three potential problems: pin fixing, logic capacity, and speed.

The pitfalls of pin fixing

  Pin fixing, or "pin locking," is when you assign pins on a device to specific I/O functions and don't allow them to move later in the design process. When you assign pins without regard for the logic operations being performed by the device, pin fixing can get you into trouble. Some architectures offer extreme design flexibility. For those devices, pin assignments are unimportant, except for dedicated functions, such as input-only pins, global clocks, and resets. Logic can move to different macrocells on the chip to accommodate pin assignments, or routing resources can connect the logic function with the selected pin. Devices with less pin-fixing flexibility can suffer from reduced performance or from a complete inability to route if you use pin fixing with nonoptimum pin assignments.

  ISP devices that can accommodate design changes when pin assignments remain fixed can save you time and money by eliminating the need to redesign a pc board. Because the ability to make design changes when pin assignments remain fixed is so important, it's not surprising that each manufacturer of ISP devices claims its architecture supports pin fixing. Although every PLD architecture accommodates some degree of logic change after you lock down your pin assignments, most architectures have limitations in the magnitude of the changes they can accommodate. Examining the architectural details of the device families you are considering should give you some subjective feeling for the flexibility in regard to pin locking.

  The more conservative approach to pin locking is to design the logic for the PLD and then to create a pin assignment for the device from that logic implementation. Then, you can lock the pins and have greater confidence that incremental changes to the design will still work with your original pin assignments.

  If you select a device with insufficient logic resources, the problem won't be fixed by changing pin assignments. You need a device with more logic resources. Some manufacturers of PLDs provide a simple solution to this problem by providing a range of logic capacities for each package size. By selecting a device that has more or fewer macrocells in the same package, you can alter the logic available later without a new design layout.

  A range of logic capacities within the same package means you can move not only to a more expensive device with more logic resources if necessary, but also to a less expensive device with fewer logic resources if it turns out you need fewer macrocells than you originally thought.

  If the device you select isn't fast enough, you may be able to change to a higher speed device. Pin fixing, logic capacity, and speed can also end up working together.

  For example, you can overcome pin-fixing limitations by taking a second pass through additional logic resources, but the result may be too slow for your application. Changing pin assignments can help you regain lost speed and reduce the logic resources you need.

  ISP offers attractive features during the design and prototyping stages of a system. It can speed the design process, and it can bail you out of problems after you have hardware. If you are lulled into complacency by being able to reprogram your way out of any mess, you will eventually be burned. The best approach is a conservative one until you gain the experience to know what changes you can get away with.

How does ISP compare with other types of PLDs?

  ISP logic traditionally refers to one generic group of PLDs, the nonvolatile reprogrammable devices sandwiched between one-time-programmable (OTP) fuse- or antifuse-based devices on one side and infinitely reprogrammable SRAM-based devices on the other side. There are also other nonvolatile reprogrammable devices that don't offer ISP's benefits.

  The flexibility to reprogram devices both during development and in the field is available not only from ISP devices, but also from SRAM-based PLDs. The infinite-reprogrammability feature of SRAM-based devices is an asset for applications designed to take advantage of the extreme flexibility. Applications that do not require extreme reprogramming flexibility might find the volatile memory of SRAM devices and the need to program them every time they are powered up a liability instead of an asset.

OTP devices

  OTP devices are not generally ISP and can be divided into two classes. The first are small, fast, power-hungry PLDs, such as the long-popular 22V10 devices. Demand for these types of devices in new designs is dropping as designers opt for denser, less power-hungry logic.

  The other group of OTP devices include higher density PLDs (including FPGAs) that use antifuse technology from companies such as Actel (Sunnyvale, CA), Crosspoint (Milpitas, CA), and Quicklogic (Santa Clara, CA). The OTP devices have the inherent disadvantage of being programmable only once. They also need to be programmed using device programmers, so the handling and inventory problems discussed in this article apply. The manufacturers of these devices claim their devices are advantageous in providing more routing resources and superior results for logic-synthesis users compared to other PLD technologies.

  Warren Miller, director of product planning and applications at Actel, says that field changes to OTP devices are often considered impossible, but that isn't entirely the case. The company's 3200DX family has dual-port SRAM that lets you create reprogrammable state machines in the SRAM. You can use registers and loadable counters for reprogrammable counting and timing functions. XOR gates and registers let you program signal polarity. Multiplexers let you route data among multiple sources or destinations. All these techniques for providing field-reprogramming capability in OTP devices hinge on your ability to identify and design in programmable features for future field changes before releasing the design to production. ISP devices often let you execute field upgrades without planning ahead for them.

ISP simplifies manufacturing

  ISP devices also let you make significant changes to the manufacturing process. For some companies, the manufacturing advantages of ISP devices are the major economic attraction of using them.

  Without ISP, a company must take incoming devices and program, label, and hold them in inventory until ready to assemble on a pc board. Each logic design for a particular PLD must be programmed separately and kept in separate inventory. High-density devices using delicate packages, such as 100-pin PQFPs, are easily damaged unless the company can justify expensive automatic handlers for programming the devices.

  ISP eliminates these steps. ISP devices are essentially treated as any other device going onto the pc board. You program ISP devices after they are mounted on the board and just before board test. Design revisions do not result in wasted parts or reprogramming and relabeling. Fewer manufacturing steps not only save time, but also result in fewer opportunities for errors.

  Removing additional programming and inventory steps reduces handling of the delicate packages, resulting in fewer bent leads and scrap devices. You also reduce the potential for electrostatic damage with less handling. Although you can get around the programming and extra-handling problem for non-ISP devices by buying preprogrammed devices through a distributor that offers programming, you still have extra inventory and rework problems whenever you make design changes.

  Changing programming from its own dedicated step in the manufacturing process and combining it with the board-test function does have some implications that are important to consider. Instead of programming the PLDs on a dedicated programmer, the programming operation takes place on a board tester or a boundary-scan IEEE 1149.1 JTAG tester.

  Board testers, such as those from GenRad (Concord, MA), Hewlett- Packard (Santa Clara, CA), and Teradyne (Boston), are much more expensive than device programmers. It is important that programming times remain short to avoid significantly reducing the throughput of the board tester and tying up expensive equipment. Typical programming times on board testers range from a few to tens of seconds, depending on the device architecture, the size of the device, the programming method you use, and the speed of the equipment performing the programming. This programming time adds to whatever test time the board itself requires.

  If you must program more than one device on a pc board, the programming times for the individual devices are added together, thus increasing programming time. Advanced Micro Devices (AMD) and Lattice Semiconductor both offer methods to reduce programming times when you program multiple devices on the same pc board.

  AMD offers a parallel-programming scheme. It requires approximately 0.5 sec to download the programming data for each device on a pc board and approximately 4 sec for the programming cycle that is common to any number of devices. The net result is that each additional device on a board adds only about 0.5 sec to the complete download and program-cycle times.

  Lattice Semiconductor offers what it calls a "turbo-programming mode" that lets you quickly program multiple devices on a board. The programming lines of all the devices are daisy-chained, and the programming time is almost the same as the time for programming the largest individual device in the daisy chain. For pc boards with many ISP devices, the savings in programming time is substantial.

IEEE 1149.1 JTAG testers

  If additional time on an expensive board tester for programming is undesirable, you can program the devices using other, lower cost methods; however, they require an added manufacturing step. You do not need a complete board tester for the in-system programming. You can program the devices from a PC using a suitable programming cable and software or with an IEEE 1149.1 JTAG tester. A JTAG tester is much less expensive than the typical bed-of-nails board testers, and it can program most ISP devices.

  You can also program the ISP de-vices using a PC with a suitable interface card and programming cable. PCs tend to be slower because they transfer data at a slower rate, often considerably slower than programming with a 10-MHz IEEE 1149.1 JTAG tester. PCs can stretch programming time to minutes per device. PC-programming methods are suitable for prototype development and production of relatively low quantities. Higher quantities tend to favor the JTAG systems or complete board testers.

Programming using a JTAG or proprietary port

  When Lattice developed the first ISP devices, it also developed its own programming standard. Subsequent ISP devices have moved toward using the IEEE 1149.1 JTAG test port. Because JTAG boundary-scan test is becoming such an important standard for many manufacturing operations, combining ISP with the JTAG functions seems to make sense. Currently, each company that offers ISP devices (except Lattice) uses the JTAG port for programming all of its ISP devices. Lattice makes JTAG-port programming available only on its 3000 and 6000 family devices. In addition, an IEEE working group with support from all the ISP device manufacturers (including Lattice) is developing a standard so that future ISP devices will offer greater commonality in programming methods and operations.

  Even with work in progress on programming standards, there are some competitive issues raised by the companies involved with ISP. Lattice claims its own proprietary ISP protocol is more efficient for devices that do not require the JTAG boundary-scan-test operations. Only one pin is dedicated to programming instead of four. In addition, the company promotes its daisy-chain programming method as a way to save time when programming multiple devices on the same pc board. On the other side of the issue is the fact that the JTAG standard is already used for a variety of board-test operations. For many manufacturers, the JTAG lines are already required on pc boards, so using them for ISP adds no cost or complexity to the pc board. In addition, the JTAG standard provides 32 bits for ID vs the 8 bits provided by the Lattice ISP standard.

  One of the concerns in moving from separate programming and test-before-soldering devices to a pc board and programming after the device is soldered into the pc board is yield. If devices don't program or somehow fail after in-system programming, then you have to remove the device from the pc board and replace it. For ISP to work without expensive reworking of pc boards, you need very high yields after programming. Manufacturers of ISP devices report high programming yields. For high-volume manufacturing operations, you may want to check directly with PLD manufacturers for specific programming yields.

  Another interesting possibility open to your design and test strategy when you use ISP devices is the possibility of programming the device twice. The first configuration is designed to aid in your board-test operation. The second program configuration is for your product's primary application. Although the extra program and erase cycle adds to the overall test time, the extra program cycle can prove beneficial for testing some otherwise-difficult-to-test part of your product.

  You don't have to limit using additional configurations to your manufacturing-test operation. You might want to take advantage of the reprogramming capability of ISP devices in the field, too. Reprogramming falls into one of two types of operations. The first is reprogramming that is part of the system design. In this case, the reprogramming capability is built into the system and made transparent to the end user.

  For example, you might design a system that is able to work with a variety of communication standards but can use only one communication standard at a time. The end user could reprogram the device in the field for compatibility with a select communication standard.

  When you use reprogramming as a design feature, then the design is defined up front. You can test the different designs to be sure things such as a lack of logic capacity or pin fixing don't cause a problem.

  It is possible for some applications that take advantage of reprogramming to require more than the 100 program/erase cycles offered by some of the devices shown in Table 1. Other devices in Table 1 are guaranteed for 10,000 program/erase cycles. If you need more than 10,000 program/erase cycles then you need to consider SRAM-based PLDs.

  The other type of reprogramming is not defined, or at least not completely defined in the original product. You may plan to upgrade your product to add a feature later, but that upgrade isn't completely designed when you release the first product to production. Or, you may simply need to change the product in the field to fix a bug, adapt to a new or changing standard, or add functions to make your product more useful.

  Making changes that haven't been completely tested in the original design carry the risk that you may not be able to implement them because of insufficient logic or routing problems brought on by pin fixing. The greater the change, the greater the risk that you may not be able to implement the new design in the old hardware. Although many circuit designs accommodate unplanned circuit changes without difficulty, there is still some risk that you will be unable to make the change.

Reprogramming in the field

  You can reprogram the devices in the field using one of two basic methods. The first method is to connect to the pc board's programming pins with a cable that connects to a PC or other system used to externally reprogram the device. This method requires more effort on the part of the person performing the reprogramming. It's easy for field-service personnel but probably isn't appropriate for most end users.

  The other method of reprogramming in the field is to build the necessary reprogramming circuitry right on the pc board. The manufacturers of ISP devices typically offer application notes to help you design in the reprogramming circuitry. The circuits typically require a microcontroller and a few interface chips. The data itself can come from a variety of sources, including nonvolatile memory, a modem, or a computer. If you use the ISP device in a system that already has a µP, reprogramming may not require any additional hardware.

Looking ahead

  In-system programmable logic fits into an attractive spot in the universe of PLDs. It's nonvolatility means you have the programmed logic functions when you power up, yet its reprogrammability lets you modify the logic both during development and in the field. ISP technology is sure to be with us for years to come, although the architectures will continue to evolve. Even in today's devices, Lattice has started to branch out into architectures that offer embedded memory available in single- or dual-port varieties and as FIFOs. Expect to see this trend continue as manufacturers of dense ISP devices add more features for designing complete digital systems on a chip.

Table 1—Representative ISP devices

Manufacturer Device Number of macrocells Number of registers Propagation delay (nsec) Program/ erase cycles Maximum user I/O pins 3.3V supply 5V supply Price Notes
Altera EPM9320 320 484 12/15/20 100 168 x $76 (1000)
EPM9400 400 580 12/15/20 100 159 x $125 (1000)
EPM9480 480 676 15/20 100 175 x $158 (1000)
EPM9560 560 772 15/20 100 216 x $191 (1000)
EPM7032S 32 32 5/6/7.5/10/15 100 36 x TBA Available first half '97
EPM7064S 64 64 6/7.5/10/15 100 68 x TBA Available first half '97
EPM7096S 96 96 6/7.5/10/15 100 76 x TBA Available first half '97
EPM7128S 128 128 7.5/10/15 100 100 x $29.45 (1000)
EPM7160S 160 160 7.5/10/15 100 104 x TBA Available first half '97
EPM7192S 192 192 10/12/15 100 124 x $74 (1000)
EPM7256S 256 256 10/12/15 100 164 x TBA Available first half '97
EPX880 80 80 12-Oct 100 80 x $40 (1000)
EPX8160 160 160 12-Oct 100 120 x $123.75 (1000)
AMD MACH111SP 32 32 5/7/10/12/15/20 nsec 100 34 x $5.12 (1000)
MACH131SP 64 64 5/7/10/12/15 100 70 x $13.15 (1000) Available Q4 '96
MACH211SP 64 64 7/10/12/15/20 100 34 x $5.83 (1000)
MACH221SP 96 96 7/10/12/15/20 100 56 x TBA Available Q1 '97
MACH355 96 96 15/20 100 102 x $34.50 (1000)
MACH445 128 192 12/15/20 100 70 x $28.80 (1000)
MACH446 128 192 7/10/12/15 100 70 x x TBA Available Q4 '96
MACH231SP 128 128 10/12/15/20 100 70 x $22.50 (1000)
M5-128 128 128 7/10/12/15 100 124 x $24.41 (1000) Available Q4 '96
M5-192 192 192 7/10/12/15 100 164 x $43.31 (1000)
M5-256 256 256 7/10/12/15 100 164 x $60.48 (1000)
MACH465 256 384 12/15/20 100 146 x $92.00 (1000)
MACH466 256 384 12/15/20 100 146 x x TBA Available Q4 '96
M5-320 320 7/10/12/15 100 196 x x TBA Available Q4 '96
M5-384 384 384 7/10/12/15 100 196 x x TBA Available Q4 '96
M5-512 512 512 7/10/12/15 100 260 x x TBA Available Q4 '96
Cypress Semiconductor Flash371i 32 44 8.5 100 32 x $4.90 (1000) Available Q4 '96
Flash372i 64 76 10 100 32 x $8.35 (1000) Available Q4 '96
Flash373i 64 76 10 100 64 x $11.25 (1000) Available Q4 '96
Flash374i 128 140 12 100 64 x $20.10 (1000)
Flash375i 128 140 12 100 128 x $32.90 (1000)
Lattice Semiconductor ispLSI1016 64 96 7.5/10/12/15/20 10,000 36 x $5.80 (1000)
ispLSI1024 96 144 12/15/20 10,000 54 x $15.15 (1000)
ispLSI1032 128 192 7.5/10/12/15/20 10,000 72 x $17.60 (1000)
ispLSI1048 192 288 10/15/20 10,000 108 x $60.50 (1000)
ispLSI2032 32 32 5.5/7.5/10/15 10,000 34 x $4.95 (1000)
ispLSI2064 64 64 7.5/10/15 10,000 68 x $12.95 (1000)
ispLSI2096 96 96 7.5/10/15 10,000 102 x $23.10 (1000)
ispLSI2128 128 128 15-Oct 10,000 136 x $37.35 (1000)
ispLSI2032LV 32 32 15-Oct 10,000 34 x $9.30 (1000)
ispLSI3192 192 384 15-Oct 10,000 192 x $104.50 (1000)
ispLSI3256 256 384 15/20 10,000 128 x $99.00 (1000)
ispLSI3256E 256 512 15-Oct 10,000 256 x $165.00 (1000)
ispLSI6192FF 192 416 15/20 10,000 159 x $126.50 (1000) Includes FIFO and counter/timer
ispLSI6192SM 192 416 15/20 10,000 159 x $121.00 (1000) Includes single-port RAM and counter/timer
ispLSI6192DM 192 416 15/20 10,000 159 x $126.50 (1000) Includes dual-port RAM and counter/timer
ispGDS14 NA NA 7.5 10,000 14 x $1.95 (1000) 7x7 switch
ispGDS18 NA NA 7.5 10,000 18 x $2.25 (1000) 9x9 switch
ispGDS22 NA NA 7.5 10,000 22 x $3.15 (1000) 11x11 switch
ispGAL22V10 10 10 7.5/10/15 10,000 22 x $3.00 (1000)
Xilinx XC9536 36 36 5 10,000 36 x $3.60 (10,000)
XC9572 72 72 7.5 10,000 72 x $10.25 (10,000)
XC95108 108 108 7.5 10,000 108 x $11.75 (10,000)
XC95144 144 144 7.5 10,000 133 x $20.75 (10,000) Available Q1 '97
XC95180 180 180 10 10,000 180 x $31.95 (10,000) Available Q1 '97
XC95216 216 216 10 10,000 180 x $41.75 (10,000)
XC95288 288 288 10 10,000 260 x $65.25 (10,000)
XC95432 432 432 12 10,000 260 x $99.95 (10,000) Available first half '97
XC95576 576 576 15 10,000 260 x $139.95 (10,000) Available first half '97

Comments on table:

  It's difficult to compare the logic capacities of devices from different manufacturers. The manufacturers' usable-gate numbers bear no similarity to conventional gate arrays and are not included in this table. Macrocells would be a good yardstick except the macrocell architectures vary widely among different device families. The number of registers is of some value for comparisons but is not a uniform measure of logic capacities. The macrocell and register counts for the devices listed in the table should be used only for rough comparisons of capacity.

NA=not applicable.
TBA=to be announced.


Manufacturers of ISP PLDs

For free information on ISP PLDs such as those described in this article, circle the appropriate numbers on the postage-paid Information Retrieval Service card or use EDN's Express Request service. When you contact any of the following manufacturers directly, please let them know you read about their products in EDN. Note: All Web addresses begin with http:// unless otherwise noted.
Altera Corp
San Jose, CA
(408) 894-7000
fax (408) 944-0952
www.altera.com

Circle No. 301

AMD
Sunnyvale, CA
(800) 222-9323

www.amd.com

Circle No. 302

Cypress Semiconductor
San Jose, CA
(408) 943-2600
fax (408) 943-6848
www.cypress.com

Circle No. 303

Lattice Semiconductor
Hillsboro, OR
(503) 681-0118
fax (503) 681-3037
www.lattice.com

Circle No. 304

Xilinx Inc
San Jose, CA
(408) 559-7778
fax (408) 559-7114
www.xilinx.com

Circle No. 305


| EDN Access | feedback | subscribe to EDN! |
| design features | out in front | design ideas | departments | products | columnist |


Copyright © 1996 EDN Magazine. EDN is a registered trademark of Reed Properties Inc, used under license.