[an error occurred while processing this directive]
[ Chapter start ] [ Previous page ] [ Next page ]
| ||
* = Difficult, ** = Very difficult, *** = Extremely difficult
15.1 (Complexity, 10 min.) Suppose the workstations we use to design ASICs increase in power (measured in MIPS—a million instructions per second) by a factor of 2 every year. If we want to keep the length of time to solve an ASIC design problem fixed, calculate how much larger chips can get each year if constrained by an algorithm with the following complexities:
15.2 (Complexity, 10 min.) In a film the main character looks 12 moves ahead to win a chess championship.
15.3 (Chips and towns, 20 min.) This problem is adapted from an analogy credited to Chuck Seitz. Complete the entries in Table 15.8 , which shows the progression of integrated circuit complexity using the analogy of town and city planning. If l is half the minimum feature size, assume that a transistor is a square 2 l on a side and is equivalent to a city block (which we estimate at 200 m on a side).
15.4 (Polygons, 10 min.) Estimate (stating and explaining all your assumptions) how many polygons there are on the layouts for each of the chips in Table 15.8 .
15.5 (Algorithm complexity, 10 min.) I think of a number between 1 and 100. You guess the number and I shall tell you whether you are high or low. We then repeat the process. If you were to write a computer program to play this game, what would be the complexity of your algorithm?
15.6 (Algorithms, 60 min.) For each of these problems write or find (stating your source) an algorithm to solve the problem:
List the algorithm using a sequence of steps, pseudocode, or a flow chart. What is the complexity of each algorithm?
15.7 (Measurement, 30 min.) The traveling-salesman problem is a well-known example of an NP-complete problem (you have a list of cities and their locations and you have to find the shortest route between them, visiting each only once). Propose a simple measure to estimate the length of the solution. If I had to visit the 50 capitals of the United States, what is your estimate of my frequent-flyer mileage?
15.8 (Construction, 30 min.) Try and make a quantitative comparison (stating and explaining all your assumptions) of the difficulty and complexity of construction (for example, how many components in each?) for each of the following: a Boeing 747 jumbo jet, the space shuttle, and an Intel Pentium microprocessor. Which, in your estimation, is the most complex and why? Smailagic [ 1995] proposes measures of design and construction complexity in a description of the wearable computer project at Carnegie-Mellon University.
15.9 (Productivity, 20 min.). If I have six months to design an ASIC:
15.10 (Graphs and edges, 30 min.) We know a net with two connections requires a single edge in the network graph, a net with three connections requires three edges, and a net with four connections requires six edges.
Most CAD programs treat large nets (like the clock, reset, or power nets) separately, but the nets are required to have special names and you only can have a limited number of them. The average net in an ASIC has between two and four connections and as a rule of thumb 80 percent of nets have a fanout of 4 or less (a fanout of 4 means a gate drives four others, making a total of five connections on the net).
15.11 (PC partitioning, 60 min.) Open an IBM-compatible PC, Apple Macintosh, or PowerPC that has a motherboard that you can see easily. Make a list of the chips (manufacturer and type), their packages, and pin counts. Make intelligent guesses as to the function of most of the chips. Obviously manufacturer’s logos and chip identification markings help—perhaps they are in a data book. Identify the types of packages (pin-grid array, quad flat pack). Look for nearby components that may give a hint—crystals for clock generators or the video subsystem. Where are the chips located on the board—are they near the connectors for the floppy disk subsystem, the modem or serial port, or video output? To help you, Table 15.9 shows an example—a list of the first row of chips on an old H-P Vectra ES/12 motherboard. Use the same format for your list.
|
TABLE 15.9 A list of the chips on the first row of an HP Vectra PC (Problem 15.11 ). |
||||
15.12 (Estimates, 60 min.) System partitioning is not exact science. Estimate:
In each case: (i) Provide an equation that depends on parameters and symbols that you define. (ii) List the parameters in your equation, and the values that you assume with their uncertainty. (iii) Give the answer as a number (with units where necessary). (iv) Include a numerical estimate of the uncertainty in your answer.
15.13 (Pad-limited and core-limited die, 10 min.) As the number of I/O pads increases, an ASIC can become pad-limited. The spacing between I/O pads is determined by mechanical limitations of the equipment used for bonding—usually 2–5 mil (a mil is a thousandth of an inch). In a pad-limited design the number of pads around the outer edge of the die determines the die size, not the number of gates (see Figure 15.12 ). For the pad-limited design, shown in Figure 15.12 (a), the price per I/O pad is more important than the price per gate. When we have a lot of logic but few I/O pads, we have a core-limited design—the opposite of a pad-limited ASIC—as shown in Figure 15.12 (b). For a given number of I/O pads and a pad-limited design, all the different ASIC types will have the same die size, determined by a graph such as the one shown in Figure 15.12 (c). If I/O pad spacing is 5 mil and gate density is 1.0 gate/mil 2 , when does an ASIC becomes pad-limited? Express your answer as a function of the number of gates, G , and the number of I/Os, I .
15.14 (Estimating ASIC size, 120 min.) Let us pretend we are going to build a laptop SPARCstation. We need to drastically reduce the number of chips used in the desktop system. Focus on the I/O subsystems in Figure 15.2 (chip labels are shown in parentheses): LANCE Ethernet controller (14), 3C90 SCSI controller (15), 85C30 serial port controller (16, 17), 79C30 ISDN interface (18), and 82072 floppy-disk controller (19). Consider combining these functions into a single custom ASIC.
15.15 (Power dissipation, 20 min.) If a Pentium microprocessor dissipates 5 W and, on average, 20 percent of the circuit nodes toggle every clock cycle
15.16 (Parasitic power dissipation, 20 min.) Consider the following arguments: The energy stored in a capacitor is 1/2( CV 2 ) (measured in joules). Suppose we charge and discharge a capacitance C between zero and V volts at a frequency f . We have to replace this energy f times per second and we shall dissipate a power (measured in watts) equal to
When the p -channel transistor in an inverter is charging a capacitance, C , at a frequency, f , the current through the transistor is C (d V /d t ), the power dissipation is CV (d V /d t ) for one-half the period of the input, t = 1/(2 f ). The power dissipated in the p -channel transistor is thus
During the second half-period of the input signal the p -channel transistor is off, so that there can be no power dissipation in the power supply. The power dissipation that occurs in the n -channel transistor must come from the stored energy in the capacitor—which is accounted for in the equation. In both cases the total power dissipation should be 1/2( fCV 2 ), not ( fCV 2 ) as we have stated in Eq. 15.4 . Point out the errors in both of these arguments. (If you are interested in situations in which these equations do hold, you can search for the term adiabatic logic.)
15.17 (Short-circuit power dissipation, 30 min.) Prove Eq. 15.5 as follows: The input to a CMOS inverter is a linear ramp with rise time t rf . Calculate the n -channel transistor current as a function of the input voltage, V in , assuming the n -channel transistor turns on when V in = V t n and the current reaches a maximum when V in = V DD / 2 at t = t rf / 2.
The transistor current is given by Eq. 2.9. Assume b = ( W/L ) m Cox is the same for both p - and n -channel transistors, the magnitude of the threshold voltages | V t n | are assumed equal for both transistor types, and t is the rise time and fall time (assumed equal) of the input signal.
Show that for a CMOS inverter (Eq. 15.5 ):
where b = ( W/L ) m Cox is the same for both p - and n -channel transistors, the magnitude of the threshold voltages | V t n | are assumed equal for both transistors, and t is the rise time and fall time (assumed equal) of the input signal [ Veendrick, 1984].
15.18 (Connectivity matrix, 10 min.) Find the connectivity matrix for the ATM Connection Simulator shown in Figure 15.5 . Use the following scheme to number the blocks and ordering of the matrix rows and columns: 1 = Personal Computer, 2 = Intel 80186, 3 = UTOPIA receiver, 4 = UTOPIA transmitter, 5 = Header remapper and screener, 6 = Remapper SRAM, . . . 15 = Random-number and bit error rate generator, 16 = Random-variable generator. All buses are labeled with their width except for two single connections (the arrows).
15.19 (K–L algorithm, 15 min.)
15.20 (The gain graph in the K–L algorithm, 20 min.). Continue with the K–L algorithm for the network that we started to partition in Figure 15.9 (a).
15.21 (Look-ahead gain in the K–L algorithm, 20 min.) In the K–L algorithm we have to compute the gain each time we consider swapping one pair of nodes:
If we swap two pairs of nodes ( a 1 and b 1 followed by a 2 and b 2 ), show that the gain is
|
D a 2 + D b 2 – 2 c a 2 b 2 – 2 c a 2 a 1 – 2 c a 2 b 1 – 2 c b 2 a 1 + 2 c b 2 b 1 . |
15.22 (FPGA partitioning, 30 min.) Table 15.10 shows some data on FPGAs from company Z.
|
TABLE 15.10 FPGAs from company Z (Problem 15.22 ). |
||||
Parameter A is the die area in cm 2 and D is the spot defect density in defects/cm 2 and is usually around 1.0 defects/cm 2 for a good submicron CMOS process (above 5.0 defects/cm 2 is unusual). The most important thing is the yield; anything below about 50 percent good die per wafer is usually bad news for an ASIC foundry. Does the FPGA cost data fit either model?
15.23 (Constructive partitioning, 30 min.) We shall use the simple network with 12 blocks shown in Figure 15.7 to experiment with constructive partitioning. This example is topologically equivalent to that used in [Goto and Matsud, 1986].
Table 15.14 will help in constructing the gain function at each step of the algorithm.
|
TABLE 15.13 Different partitions for the network shown in Figure 15.7 (Problem 15.23 c ). |
|||
|
Figure 15.7 (b) |
|||
|
Figure 15.7 (c) |
|||
|
TABLE 15.14 An aid to calculating the gains for Problem 15.23 . |
|||
15.24 (Simulated annealing, 15 min.) If you have a fixed amount of time to solve a partitioning problem, comment on the following alternatives and choose one:
i. Run a single simulated annealing cycle using a slow cooling schedule.
ii. Run several (faster) min-cut based partitionings, using different seeds, and pick the best one.
iii. Run several simulated annealing cycles using a faster cooling schedule, and pick the best result.
15.25 (Net weights, 15 min.) Figure 15.13 shows a small part of a system and will help illustrate some potential problems when you weight nets for partitioning. Nets s1–s3 are critical, nets c1–c4 are not. Assume that all nets are weighted by a cost of one unless the special net weight symbol is attached.
This situation represents a very real problem with using net weights and tools that use min-cut algorithms. As soon as you get one critical net right, the tool makes several other nets too long and they become critical. The problem is worse during system partitioning when the blocks are big and there are many different nets with differing importance attached to each block—but it can happen during floorplanning and placement also.
|
|
FIGURE 15.13 (For Problem 15.25 .) An example of a problem in weighting nets. The symbols attached to the nets apply a weight or cost to that net during partitioning. Nets c1–c4 are control lines—they are not critical for timing purposes. Nets s1–s3 are signal lines that are critical—they must be kept short. The figure shows three different ways to handle this using net weights. |
15.26 (Cost, 60 min.) You have three chip sizes available for your part of project “DreamOn” (a new video game): S, M, and L. The L chip has twice the logic of the M chip. The M chip has twice the logic of the S chip. The L chip costs $16, which is 4 times as much as the M chip and 16 times as much as the S chip. There are two speed grades available: fast (F) and turbocharged (T). The T chip costs twice as much as the F version. Using a partitioning program, you find you need the equivalent of 1.8 of the L chips, but only a third of your logic needs a T chip.
[ 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]