[an error occurred while processing this directive]
[ Chapter start ] [ Previous page ] [ Next page ]
| ||
In Section 15.3 we saw how many different issues have to be considered when partitioning a complex system into custom ASICs. There are no commercial tools that can help us with all of these issues—a spreadsheet is the best tool in this case. Things are a little easier if we limit ourselves to partitioning a group of logic cells into FPGAs—and restrict the FPGAs to be all of the same type.
In this section we shall examine a hardware simulator for Asynchronous Transfer Mode ( ATM ). ATM is a signaling protocol for many different types of traffic including constant bit rates (voice signals) as well as variable bit rates (compressed video). The ATM Connection Simulator is a card that is connected to a computer. Under computer control the card monitors and corrupts the ATM signals to simulate the effects of real networks. An example would be to test different video compression algorithms. Compressed video is very bursty (brief periods of very high activity), has very strict delay constraints, and is susceptible to errors. ATM is based on ATM cells (packets). Each ATM cell has 53 bytes: a 5-byte header and a 48-byte payload; Figure 15.4 shows the format of the ATM packet. The ATM Connection Simulator looks at the entire header as an address.
|
|
FIGURE 15.4 The asynchronous transfer mode (ATM) cell format. The ATM protocol uses 53-byte cells or packets of information with a data payload and header information for routing and error control. |
Figure 15.5 shows the system block diagram of the ATM simulator designed by Craig Fujikami at the University of Hawaii. Now produced by AdTech, the simulator emulates the characteristics of a single connection in an ATM network and models ATM traffic policing, ATM cell delays, and ATM cell errors. The simulator is partitioned into the three major blocks, shown in Figure 15.5 , and connected to an IBM-compatible PC through an Intel 80186 controller board together with an interface board. These three blocks are
|
FIGURE 15.5 An asynchronous transfer mode (ATM) connection simulator. |
The error generator performs the following operations on ATM cells:
The delay generator delays, misinserts, and reorders the target ATM cells. Finally, the traffic policer performs the following operations:
Table 15.7 shows the partitioning of the ATM board into 12 Lattice Logic FPGAs (ispLSI 1048) corresponding to the 12 blocks shown in Figure 15.5 . The Lattice Logic ispLSI 1048 has 48 GLBs (generic logic blocks) on each chip. This system was partitioned by hand—with difficulty. Tools for automatic partitioning of systems like this will become increasingly important. In Section 15.6.2 we shall briefly look at some examples of such tools, before examining the partitioning methods that are used in Section 15.7 .
|
TABLE 15.7 Partitioning of the ATM board using Lattice Logic ispLSI 1048 FPGAs. Each FPGA contains 48 generic logic blocks (GLBs). |
|||||
Some vendors of programmable ASICs provide partitioning software. For example, Altera uses its own software system for design. You can perform design entry using an HDL, schematic entry, or using the Altera hardware design language (AHDL)—similar to PALASM or ABEL. In AHDL you can direct the partitioner to automatically partition logic into chips within the same family, using the AUTO keyword:
DEVICE top_level IS AUTO; % the partitioner assign logic
You can use the CLIQUE keyword to keep logic together (this is not quite the same as a clique in a graph—more on this in Section 15.7.3 ):
|shift_register: MACRO; % keep this in one device
An additional option, to reserve space on a device, is very useful for making last minute additions or changes.
[ Chapter start ] [ Previous page ] [ Next page ]
| Copyright 1997 by Addison Wesley Longman, Inc. No part of this book may be printed, reproduced, stored, or transmitted without the prior written permission of the publisher. |
[an error occurred while processing this directive]