The Electrical Engineering Handbook Ed. Richard C. Dorf Boca Raton: CRC Press LLC, 2000 2000 by CRC Press LLC 34 IIgIfaI and AnaIog IecfronIc IesIgn AufomafIon 34.1 Intioduction 34.2 Design Entiy 34.3 Synthesis 34.4 Veiifcation Timing Analysis Simulation Analog Simulation Emulation 34.5 Physical Design 34.6 Test Fault Modeling Fault Testing 34.7 Summaiy 34.1 Intruductiun The feld of design automation (DA) technology, also commonly called tomuer-aJeJ Jesgn (CAD) oi tomuer-aJeJ engneerng (CAE), involves developing computei piogiams to conduct poitions of pioduct design and manufactuiing on behalf of the designei. Competitive piessuies to pioduce moie effciently new geneiations of pioducts having impioved function and peifoimance aie motivating the giowing impoitance of DA. The incieasing complexities of micioelectionic technology, shown in Fig. 34.1, illustiate the impoitance of ielegating poitions of pioduct development to computei automation Baibe, 1980]. Advances in micioelectionic technology enable ovei 1 million devices to be manufactuied on an integrated circuit that is smallei than a postage stamp; yet the ability to exploit this capability iemains a challenge. Manual design techniques aie unable to keep pace with pioduct design cycle demands and aie being ieplaced by automated design techniques Sapiio, 1986; Dillingei, 1988]. Figuie 34.2 summaiizes the histoiical development of DA technology. DA computei piogiams aie often simply called a|taons oi oo|s. DA effoits staited in the eaily 1960s as academic ieseaich piojects and captive industiial piogiams; these effoits focused on tools foi physical and logical design. Follow-on developments extended logic simulation to moie-detailed trtu and Jete simulation and moie-abstiact [untona| simula- tion. Staiting in the mid to late 1970s, new aieas of test and synthesis emeiged and vendois staited offeiing commeicial DA pioducts. Today, the electionic design automation (EDA) industiy is an inteinational business with a well-established and expanding technical base Tiimbeigei, 1990]. EDA will be examined by piesenting an oveiview of the following aieas: Design entiy, Synthesis, Veiifcation, Physical design, and Test. AIIen Ievey Du|e Inverry 2000 by CRC Press LLC 34.2 Design Entry Design entry, also called Jesgn taure, is the piocess of communicating with a DA system. In shoit, design entiy is how an engineei talks" to a DA application and/oi system. Any soit of communication is composed of two elements: language and mechanism. Language piovides common semantics; mechanism piovides a means by which to convey the common semantics. Foi example, people communicate via a language, such as English oi Geiman, and a mechanism, such as a telephone oi electionic mail. Foi design, a digital system can be desciibed in many ways, involving diffeient peispectives oi a|sratons. An abstiaction defnes at a paiticulai level of detail the behavioi oi semantics of a digital system, i.e., how the outputs iespond to the inputs. Fig. 34.3 illustiates seveial populai levels of abstiactions. Moving fiom the lowei left to the uppei iight, the level of abstiaction geneially incieases, meaning that physical models aie the most detailed and specifcation models aie the least detailed. The tiend towaid highei levels of design entiy abstiaction suppoits the need to addiess gieatei levels of complexity Peteison, 1981]. The physical level of abstiaction involves geometiic infoimation that defnes electiical devices and theii inteiconnection. Geometiic infoimation includes the shape of objects and how objects aie placed ielative to each othei. Foi example, Fig. 34.4 shows the geometiic shapes defning a simple complementaiy metal-oxide semiconductoi (CMOS) inveitei. The shapes denote diffeient mateiials, such as aluminum and polysilicon, and connections, called tonats oi vias. FIGURE 34.1 Micioelectionic technology complexity. FIGURE 34.2 DA technology development. 2000 by CRC Press LLC Design entiy mechanisms foi physical infoimation involve tex- tual and giaphical techniques. With textual techniques, geometiic shape and placement aie desciibed via an aitwoik desciiption language, such as Caltech Inteimediate Foim (CIF) oi Electionic Design Inteimediate Foim (EDIF). With giaphical techniques, geometiic shape and placement aie desciibed by iendeiing the objects on a display teiminal. The electiical level abstiacts physical infoimation into coiie- sponding electiical devices, such as capacitors, transistors, and resistors. Electiical infoimation includes device behavioi in teims of teiminal cuiient and voltage ielationships. Device behavioi may also be defned in teims of manu- factuiing paiameteis. Fig. 34.5 shows the electiical symbols denoting a CMOS inveitei. The logical level abstiacts electiical infoimation into coiiesponding logical elements, such as gates, gates, and inveiteis. Logical infoimation includes tiuth table and/oi chaiacteiistic-switching algebia equations and active-level designations. Fig. 34.6 shows the logical symbol foi a CMOS inveitei. Notice how the amount of infoimation decieases as the level of abstiaction incieases. FIGURE 34.3 DA abstiactions. FIGURE 34.5 Electiical abstiaction. FIGURE 34.6 Logical abstiaction. FIGURE 34.4 Physical abstiaction. 2000 by CRC Press LLC Design entiy mechanisms foi electiical and logical abstiactions aie collectively called st|emat taure techniques. Schematic captuie defnes hieiaichical stiuctuies, commonly called netlists, of components. A designei cieates instances of components supplied fiom a libiaiy of piedefned components and connects component pins oi poits via wiies Douglas-Young, 1988; Pechet, 1991]. The functional level abstiacts logical elements into coiiesponding computational units, such as iegisteis, multiplexeis, and aiithmetic logic units (ALUs). The aichitectuial level abstiacts functional infoimation into computational algoiithms oi paiadigms. Examples of common computational paiadigms aie listed below: State diagiams, Petii nets, Contiol/data ow giaphs, Function tables, Spieadsheets, and Binaiy decision diagiams. These highei levels of abstiaction suppoit a moie expiessive, highei-bandwidth" communication inteiface between engineeis and DA piogiams. Engineeis can focus theii cieative, cognitive skills on concept and behavioi, iathei than on the complexities of detailed implementation. Associated design entiy mechanisms typically use haidwaie desciiption languages with a combination of textual and giaphic techniques Biitwistle and Subiahmanyan, 1988]. Figuie 34.7 shows an example of a simple state diagiam. The state diagiam defnes thiee states, denoted by ciicles. State-to-state tiansitions aie denoted by labeled aics; state tiansitions depend on the piesent state and the input X. The output, Z, pei state is given within each state. Since the output is dependent on only the piesent state, the digital system is classifed as a Mooie nnite state machine. If the output is dependent on the piesent state and input, then the digital system is classifed as a Mealy fnite state machine. A haidwaie desciiption language model wiitten in VHDL of the Mooie fnite state machine is given in Fig. 34.8. The VHDL model, called a Jesgn eny, uses a data ow" desciiption style to desciibe the state machine Dewey, 1983, 1992, 1997]. The entity statement defnes the inteiface, i.e., the poits. The poits include two input signals, X and CLK, and an output signal Z. The poits aie of type BIT, which specifes that the signals may only caiiy the values 0 oi 1. The aichitectuie statement defnes the input/output tiansfoim via two concuiient signal assignment statements. The inteinal signal STATE holds the fnite state infoimation and is diiven by a guaided, conditional concuiient signal assignment statement that executes when the associated block expiession (CLK`1` and not CLK`STABLE) is tiue, which is only on the iising edge of the signal CLK. STABLE is a piedefned attiibute of the signal CLK; CLK`STABLE is tiue if CLK has no changed value. Thus, if not CLK`STABLE" is tiue, meaning that CLK has FIGURE 34.7 State diagiam. 2000 by CRC Press LLC just changed value, and CLK`1`," then a iising tiansition has occuiied on CLK. The output signal Z is diiven by a nonguaided, selected concuiient signal assignment statement that executes any time STATE changes value. 34.3 Synthesis Figuie 34.9 shows that the synthesis task geneially follows the design entiy task. Aftei desciibing the desiied system via design entiy, synthesis DA piogiams aie invoked to assist geneiating the iequiied detailed design. Synthesis tianslates oi tiansfoims a design fiom one level of abstiaction to anothei, moie-detailed level of abstiaction. The moie-detailed level of abstiaction may be only an intei- mediate step in the entiie design piocess, oi it may be the fnal implementation. Synthesis piogiams that yield a fnal implementation aie sometimes called silicon compilers because the piogiams geneiate suffcient detail to pioceed diiectly to silicon fabiication Ayies, 1983; Gajski, 1988]. Like design abstiactions, synthesis techniques can be hieiaichically categoiized, as shown in Fig. 34.10. The highei levels of synthesis offei the advantage of less complexity, but also the disadvantage of less contiol ovei the fnal design. Algoiithmic synthesis, also called |e|aora| synthesis, addiesses multicycle" behavioi, which means behavioi that spans moie than one tonro| se. A contiol step equates to a clock cycle of a synchionous, sequential digital system, i.e., a state in a fnite-state machine contiollei oi a miciopiogiam step in a miciopiogiammed contiollei. -- entity statement entity MOORE_MACHINE is port (X, CLK : in BIT; Z : out BIT); end MOORE_MACHINE; -- aichitectuie statement architecture FSM of MOORE_MACHINE is type STATE_TYPE is (A, B, C); signal STATE : STATE_TYPE : A; begin NEXT_STATE: block (CLK`1` and not CLK`STABLE) begin -- guaided conditional concuiient signal assignment statement STATE < guarded B when (STATEA and X`1`) else C when (STATEB and X`0`) else A when (STATEC) else STATE; end block NEXT_STATE; -- unguaided selected concuiient signal assignment statement with STATE select Z < '0` when A, '0` when B, '1` when C; end FSM; FIGURE 34.8 VHDL model. FIGURE 34.9 Design piocess - synthesis. 2000 by CRC Press LLC Algoiithmic synthesis typically accepts sequential design desciiptions that defne an input/output tiansfoim, but piovide little infoimation about the paiallelism of the fnal design Camposano and Wolfe, 1991; Gajski et al., 1992]. Paititioning decomposes the design desciiption into smallei behaviois. Paititioning is an example of a high- level tiansfoimation. High-level tiansfoimations include common softwaie piogiamming compilei optimiza- tions, such as loop uniolling, subpiogiam in-line expansion, constant piopagation, and common subexpiession elimination. Resouice allocation associates behaviois with haidwaie computational units, and scheduling deteimines the oidei in which behaviois execute. Behaviois that aie mutually exclusive can potentially shaie computational iesouices. Allocation is peifoimed using a vaiiety of giaph clique coveiing oi node coloiing algoiithms. Allocation and scheduling aie inteidependent, and diffeient synthesis stiategies peifoim allocation and sched- uling diffeient ways. Sometimes scheduling is peifoimed fist, followed by allocation; sometimes allocation is peifoimed fist, followed by scheduling; and sometimes allocation and scheduling aie inteileaved. Scheduling assigns computational units to contiol steps, theieby deteimining which behaviois execute in which clock cycles. At one extieme, all computational units can be assigned to a single contiol step, exploiting maximum concuiiency. At the othei extieme, computational units can be assigned to individual contiol steps, exploiting maximum sequentiality. Seveial populai scheduling algoiithms aie listed below: As-soon-as-possible (ASAP), As-late-as-possible (ALAP), List scheduling, Foice-diiected scheduling, and Contiol step splitting/meiging. ASAP and ALAP scheduling algoiithms oidei computational units based on data dependencies. List scheduling is based on ASAP and ALAP scheduling, but consideis additional, moie-global constiaints, such as maximum numbei of contiol steps. Foice-diiected scheduling computes the piobabilities of computational units being assigned to contiol steps and attempts to evenly distiibute computation activity among all contiol steps. Contiol step splitting staits with all computational units assigned to one contiol step and geneiates a schedule by splitting the computational units into multiple contiol steps. Contiol step meiging staits with all computational units assigned to individual contiol steps and geneiates a schedule by meiging oi combining units and steps Paulin and Knight, 1989; Camposano and Wolfe, 1991]. Registei tiansfei synthesis takes as input the iesults of algoiithmic synthesis and addiesses pei-cycle" behavioi, which means the behavioi duiing one clock cycle. Registei tiansfei synthesis selects logic to iealize the haidwaie computational units geneiated duiing algoiithmic synthesis, such as iealizing an addition opei- ation with a caiiy-save addei oi iealizing addition and subtiaction opeiations with an aiithmetic logic unit. FIGURE 34.10 Taxonomy of synthesis techniques. 2000 by CRC Press LLC Data that must be ietained acioss multiple clock cycles aie identifed, and iegisteis aie allocated to hold the data. Finally, fnite-state machine synthesis involves state minimization and state assignment. State minimization seeks to eliminate iedundant oi equivalent states, and state assignment assigns binaiy encodings foi states to minimize combinational logic Biayton et al., 1992; Sasao, 1993]. Logic synthesis optimizes the logic geneiated by iegistei tiansfei synthesis and maps the optimized logic opeiations onto physical gates suppoited by the taiget fabiication technology. Technology mapping consideis the foundiy cell libiaiy and associated electiical iestiictions, such as fan-in/fan-out limitations. 34.4 Yerihcatiun Figuie 34.11 shows that the verincation task geneially follows the synthesis task. The veiifcation task checks the coiiectness of the function and peifoimance of a design to ensuie that an inteimediate oi fnal design faithfully iealizes the initial, desiied specifcation. Thiee majoi types of veiifcation aie listed below: Timing analysis, Simulation, and Emulation. Timing Ana!ysis Timing analysis checks that the oveiall design satisfes opeiating speed iequiiements and that individual sig- nals within a design satisfy tiansition iequiiements. Common signal tiansition iequiiements, also called mng |a:arJs, include rse and [a|| mes, roagaon Je|ays, t|ot| eroJs, rate tonJons, g|t| Jeeton, and seu and |o|J mes. Foi instance, setup and hold times specify ielationships between data and contiol signals to ensuie that memoiy devices (level-sensitive latches oi edge-sensitive ip-ops) coiiectly and ieli- ably stoie desiied data. The data signal caiiying the infoimation to be stoied in the memoiy device must be stable foi a peiiod equal to the setup time piioi to the contiol signal tiansition to ensuie that the coiiect value is sensed by the memoiy device. Also, the data signal must be stable foi a peiiod equal to the hold time aftei the contiol signal tiansition to ensuie that the memoiy device has enough time to stoie the sensed value. Anothei class of timing tiansition iequiiements, commonly called signal integiity checks, include re[etons, trossa||, ground bounce, and e|etromagnet ner[erente. Signal integiity checks aie typically iequiied foi high-speed designs opeiating at clock fiequencies above 75 MHz. At such high fiequencies, the tiansmission line behavioi of wiies must be analyzed. A wiie should be piopeily teiminated, i.e., connected, to a poit having an impedance matching the wiie chaiacteiistic impedance to pievent signal ieections. Signal ieections aie poitions of an emanating signal that bounce back" fiom the destination to the souice. Signal ieections ieduce the powei of the emanating signal and can damage the souice. Ciosstalk iefeis to unwanted ieactive coupling between physically adjacent signals, pioviding a connection between signals that aie supposed to be electiically isolated. Giound bounce is anothei signal integiity pioblem. Since all conductive mateiial has a fnite impedance, a giound signal netwoik does not in piactice offei the exact same electiical potential thioughout an entiie design. These potential diffeiences aie usually negligible because the distiibutive impedance of the giound signal netwoik is small compaied with othei fnite-component impedances. Howevei, when many signals switch value simultaneously, a substantial cuiient can ow thiough the giound signal netwoik. High inteimittent cuiients yield piopoitionately high inteimittent potential diops, i.e., giound bounces, which can FIGURE 34.11 Design piocess - veiifcation. 2000 by CRC Press LLC cause unwanted ciicuit behavioi. Finally, electiomagnetic inteifeience iefeis to signal haimonics iadiating fiom design components and inteiconnects. This haimonic iadiation may inteifeie with othei electionic equipment oi may exceed applicable enviionmental safety iegulatoiy limits McHaney, 1991]. Timing analysis can be peifoimed dynamically oi statically. Dynamic timing analysis exeicises the design via simulation oi emulation foi a peiiod of time with a set of input stimuli and iecoids the timing behavioi. Static timing analysis does not exeicise the design via simulation oi emulation. Rathei, static analysis iecoids timing behavioi based on the timing behavioi, e.g., piopagation delay, of the design components and theii inteiconnection. Static timing analysis techniques aie piimaiily ||ot| oreneJ oi a| oreneJ. Block-oiiented timing analysis geneiates design input (also called piimaiy input) to design output (also called piimaiy output), and piopa- gation delays by analyzing the design stage-by-stage" and by summing up the individual stage delays. All devices diiven by piimaiy inputs constitute stage 1, all devices diiven by the outputs of stage 1 constitute stage 2, and so on. Staiting with the fist stage, all devices associated with a stage aie annotated with woist- case delays. A woist-case delay is the piopagation delay of the device plus the delay of the last input to aiiive at the device, i.e., the signal path with the longest delay leading up to the device inputs. Foi example, the device labeled H" in stage 3 in Fig. 34.12 is annotated with the woist-case delay of 13, iepiesenting the device piopagation delay of 4 and the delay of the last input to aiiive thiough devices B" and C" of 9 McWilliams and Widdoes, 1978]. When the devices associated with the last stage, i.e., the devices diiving the piimaiy outputs, aie piocessed, the accumulated woist-case delays iecoid the longest delay fiom piimaiy inputs to piimaiy outputs, also call the ciitical paths. The ciitical path foi each piimaiy output is highlighted in Fig. 34.12. Path-oiiented timing analysis geneiates piimaiy input to piimaiy output piopagation delays by tiaveising all possible signal paths one at a time. Thus, fnding the ciitical path via path-oiiented timing analysis is equivalent to fnding the longest path thiough a diiected acyclic giaph, wheie devices aie giaph veitices and inteiconnections aie giaph edges Sasiki et al., 1978]. To account foi iealistic vaiiances in component timing due to manufactuiing toleiances, aging, oi enviion- mental effects, timing analysis often piovides stochastic oi statistical checking capabilities. Statistical timing analysis uses iandom-numbei geneiatois based on empiiically obseived piobabilistic distiibutions to deteimine component timing behavioi. Thus, statistical timing analysis desciibes design peifoimance and the likelihood of the design peifoimance. Simu!atiun Simulation exeicises a design ovei a peiiod of time by applying a seiies of input stimuli and geneiating the associated output iesponses. The geneial event-diiven, also called schedule-diiven, simulation algoiithm is diagiammed in Fig. 34.13. An event is a change in signal value. Simulation staits by initializing the design; FIGURE 34.12 Block-oiiented static timing analysis. 2000 by CRC Press LLC initial values aie assigned to all signals. Initial values include staiting values and pending values that constitute futuie events. Simulation time is advanced to the next pending event(s), signals aie updated, and sensitized models aie evaluated Pooch, 1993]. The piocess of evaluating the sensitized models yields new, potentially diffeient, values foi signals, i.e., a new set of pending events. These new events aie added to the list of pending events, time is advanced to the next pending event(s), and the simulation algoiithm iepeats. Each pass thiough the loop in Fig. 34.13 of evaluating sensitized models at a paiticulai time step is called a simulation cycle. Simulation ends when the design yields no fuithei activity, i.e., when theie aie no moie pending events to piocess. Logic simulation is computationally intensive foi laige, complex designs. As an example, considei simulating 1 s of a 200K-gate, 20-MHz piocessoi design. By assuming that, on aveiage, only 10% of the total 200K gates aie active oi sensitized on each piocessoi clock cycle, Eq. 34.1 shows that simulating 1 s of actual piocessoi time equates to 400 billion events. (34.1) Assuming that, on aveiage, a simulation piogiam executes 50 computei instiuctions pei event on a computei capable of piocessing 50 million instiuctions pei second (MIP), Eq. 34.1 also shows that piocessing 400 billion events iequiies 140 h oi just shoit of 6 days. Fig. 34.14 shows how simulation computation geneially scales with design complexity. To addiess the giowing computational demands of simulation, seveial simulation acceleiation techniques have been intioduced. Schedule-diiven simulation, explained above, can be acceleiated by iemoving layeis of inteipietation and iunning a simulation as a native executable image; such an appioach is called complied, scheduled-diiven simulation. As an alteinative to schedule-diiven simulation, tyt|e-Jren simulation avoids the oveihead of event queue piocessing by evaluating all devices at iegulai inteivals of time. Cycle-diiven simulation is effcient when a design exhibits a high degiee of concuiiency, i.e., when a laige peicentage of the devices aie active pei simulation cycle. Based on the staging of devices, devices aie ran|-orJereJ to deteimine the oidei in which they aie evaluated at each time step to ensuie the coiiect causal behavioi yielding the piopei oideiing of events. Foi functional veiifcation, logic devices aie often assigned zeio-delay and memoiy devices aie assigned unit-delay. Thus, any numbei of stages of logic devices may execute between system clock peiiods. In anothei simulation acceleiation technique, message-Jren simulation, also called ara||e| oi Jsr|ueJ simulation, device execution is divided among seveial piocessois and the device simulations communicate FIGURE 34.13 Geneial event-diiven simulation algoiithm. 400 billion events 20 million clock cycles 200K gates 10 activity 140 h 400 billion events 50 instructions event -----------------------------------
50 million instructions s ------------------------------------------------------
2000 by CRC Press LLC
event activity via messages. Messages aie communicated using conseivative oi optimistic stiategies. Optimistic message-passing stiategies, such as me war
and
|a:y tante||aon,
make assumptions about futuie event activity to advance local device simulation. If the assumptions aie coiiect, the piocessois opeiate moie independently and bettei exploit paiallel computation. Howevei, if the assumptions aie incoiiect, then local device simulations may be foiced to ioll back" to synchionize local device simulations Biyant, 1979; Chandy and Misia, 1981]. Schedule-diiven, cycle-diiven, and message-diiven simulations aie softwaie-based simulation acceleiation techniques. Simulation can also be acceleiated by ielegating ceitain simulation activities to dedicated haidwaie. Foi example,
|arJware moJe|ers
can be attached to softwaie simulatois to acceleiate the activity of device evaluation. As the name implies, haidwaie modeling uses actual haidwaie devices instead of softwaie models to obtain stimulus/iesponse infoimation. Using actual haidwaie devices ieduces the expense of geneiating and maintaining softwaie models and piovides an enviionment to suppoit application softwaie development. Howevei, it is sometimes diffcult foi a slave haidwaie modelei to pieseive accuiate ieal-time device opeiating iesponse chaiacteiistics within a mastei non-ieal-time softwaie simulation enviionment. Foi example, some haidwaie devices may not be able to ietain state infoimation between invocations, so the haidwaie modelei must save the histoiy of pievious inputs and ieapply them to biing the haidwaie device to the coiiect state to apply a new input. Anothei technique foi addiessing the giowing computational demands of simulation is via simulation engines. A simulation engine can be viewed as an extension of the simulation acceleiation technique of haidwaie modeling. With a haidwaie modelei, the simulation algoiithm executes in softwaie and component evaluation executes in dedicated haidwaie. With a simulation engine, the simulation algoiithm
anJ
component evaluation execute in dedicated haidwaie. Simulation engines aie typically two to thiee oideis of magnitude fastei than softwaie simulation Takasaki et al., 1989]. Ana!ug Simu!atiun
Analog simulation involves time-domain analyses and fiequency-domain analyses, which aie geneially con- ducted using some foim of diiect cuiient (DC) simulation, diagiammed in Fig. 34.15. DC simulation detei- mines the quiescent oi steady-state opeiating point foi a ciicuit, specifying node voltages
,
branch cuiients, input/output iesistances, element sensitivities, and input/output gains Chua and Lin, 1975; Nagel, 1975]. Seveial populai equation foimulation schemes aie summaiized in Table 34.1. Equation foimulation schemes geneiate a set of lineai equations denoting ielationships between ciicuit voltages and cuiients; these ielation- ships aie based on the physical piinciple of the conseivation of eneigy expiessed via
Kirchoff 's current law
(KCL), Kirchoff 's voltage law
(KVL), and bianch constitutive ielationships (BCRs). A ciicuit having
N
nodes and
B bianches possesses 2
B
independent vaiiables defning
B
bianch voltages and
B
bianch cuiients. These
FIGURE 34.14 Simulation iequiiements. 2000 by CRC Press LLC
vaiiables aie goveined by 2B
lineaily independent equations composed of
N
- 1 KCL equations,
B
-
N
- 1 KVL equations, and B
BCR equations Hachtel et al., 1971; Ho et al., 1975]. Equation-oideiing schemes augment equation foimulation schemes by ieoiganizing, modifying, and scaling the equations to impiove the effciency and/oi accuiacy of the subsequent equation solution scheme. Moie specifcally, equation-oideiing schemes seek to impiove the diagonal dominance" stiuctuie of the coeffcient matiix by maximizing the numbei of off-diagonal" zeios. Populai equation-oideiing schemes include pivoting and iow oideiing (Maikowitz) Zlatev, 1980]. Finally, equation solution schemes deteimine the values foi the independent vaiiables that comply with the goveining equations. Theie aie basically two types of equation solution schemes: explicit and implicit. Explicit solution schemes, such as Gaussian elimination and/oi LU factoiization, deteimine independent vaiiable values using closed-foim, deteiministic techniques. Implicit solution schemes, such as Gauss-Jacobi and Gauss-Seidel, deteimine independent vaiiable values using iteiative, nondeteiministic techniques.
Emu!atiun
Emulation, also called
tomuer-aJeJ rooyng, veiifes a design by iealizing the design in piepioduction" haidwaie and exeicising the haidwaie. The teim
reroJuton
haidwaie means nonoptimized haidwaie pioviding the coiiect functional behavioi, but not necessaiily the coiiect peifoimance. That is, emulation haidwaie may be slowei, iequiie moie aiea, oi dissipate moie powei than pioduction haidwaie. At piesent, piepioduction haidwaie commonly involves some foim of
programmable logic devices
(PLDs), typically feld- piogiammable
gate arrays
(FPGAs). PLDs piovide geneiic combinational and sequential digital system logic that can be piogiammed to iealize a wide vaiiety of designs Walteis, 1991]. Emulation offeis the advantage of pioviding piototype haidwaie eaily in the design cycle to check foi eiiois oi inconsistencies in initial functional specifcations. Pioblems can be isolated and design modifcations can be easily accommodated by iepiogiamming the logic devices. Emulation can suppoit functional veiifcation at computational iates much gieatei than conventional simulation. Howevei, emulation does not geneially suppoit peifoimance veiifcation because, as explained above, piototype haidwaie typically does not opeiate at pioduction clock iates.
Figuie 34.16 shows that the physical design task geneially follows the veiifcation task. Having validated the function and peifoimance of the detailed design duiing veiifcation, physical design iealizes the detailed design by tianslating logic into actual haidwaie. Physical design involves placement, iouting, aitwoik geneiation, iules checking, and back annotation Sait and Youseff, 1995]. Placement tiansfoims a logical hieiaichy into a physical hieiaichy by defning how haidwaie elements aie oiiented and aiianged ielative to each othei. Placement deteimines the oveiall size, i.e., aiea, a digital system will occupy. Two populai placement algoiithms aie
mntu and
smu|aeJ annea|ng
. Mincut placement tech- niques gioup highly connected cells into clusteis. Then, the clusteis aie soited and aiianged accoiding to usei- supplied piioiities. Simulated annealing conducts a seiies of tiial-and-eiioi expeiiments by pseudoiandomly moving cells and evaluating the iesulting placements, again accoiding to usei-supplied piioiities. Routing defnes the wiies that establish the iequiied poit-to-poit connections. Routing is often peifoimed in two stages: global and local. Global iouting assigns netwoiks to majoi wiiing iegions, called tiacks; local iouting defnes the actual wiiing foi each netwoik within its assigned tiack. Two common classes of iouting algoiithms aie
t|anne|
and ma:e
. Channel iouting connects poits abutting the same tiack. Maze iouting, also called switch-box iouting, connects poits abutting diffeient channels. Routing consideis a vaiiety of metiics, including timing skew, wiie length, numbei of vias, and numbei of jogs (coineis) Spinks, 1985; Pieas et al., 1988]. Rules checking veiifes that the fnal layout of geometiic shapes and theii oiientation complies with logical, electiical, and physical constiaints. Logical iules veiify that the implementation iealizes the desiied digital system. Electiical iules veiify confoimance to loading, noise maigins, and fan-in/fan-out connectivity constiaints. Finally, physical iules veiify confoimance to dimensional, spacing, and alignment constiaints Hollis, 1987].
34.6 Test
Figuie 34.17 shows that
test follows physical design. Aftei physical design, the digital system is manufactuied and test checks the iesulting haidwaie foi coiiect function and peifoimance. Thus, the piimaiy objective of test is to detect a faulty device by applying input test stimuli and obseiving expected iesults Buckioyd, 1989; Weyeiei and Goldemund, 1992]. The test task is diffcult because designs aie giowing in complexity; moie components piovide moie oppoi- tunity foi manufactuiing defects. Test is also challenged by new micioelectionic fabiication piocesses. These new piocesses suppoit highei levels of integiation that piovide fewei access points to piobe inteinal electiical nodes and new failuie modes that piovide moie oppoitunity foi manufactuiing defects.
FIGURE 34.16
Design piocess - physical design. 2000 by CRC Press LLC
Fau!t Mude!ing
What is a fault: A fault is a manufactuiing oi aging defect that causes a device to opeiate incoiiectly oi to fail. A sample listing of common integiated ciicuit physical faults aie given below: Wiiing faults, Dielectiic faults, Thieshold faults, and Soft faults. Wiiing faults aie unwanted opens and shoits. Two wiies oi netwoiks that should be electiically connected, but aie not connected constitute an open. Two wiies oi netwoiks that should not be electiically connected, but aie connected constitute a shoit. Wiiing faults can be caused by manufactuiing defects, such as metallization and etching pioblems, oi aging defects, such as coiiosion and
electromigration
. Dielectiic faults aie electiical isolation defects that can be caused by
masking defects, chemical impuiities, mateiial impeifections, oi electiostatic dischaige. Thieshold faults occui when the tuin-on and tuin-off voltage potentials of electiical devices exceed allowed ianges. Soft faults occui when iadiation exposuie tempoiaiily changes electiical chaige distiibutions. Such changes can altei ciicuit voltage potentials, which can, in tuin, change logical values, also called Jrong |s. Radiation effects aie called soft" faults because the haidwaie is not peimanently damaged Zobiist, 1993]. To simplify the task of fault testing, the physical faults desciibed above aie tianslated into logical faults. Typically, a single logical fault coveis seveial physical faults. A populai logical fault model is the sng|e sut| |ne (SSL) fault model. The single stuck line fault model suppoits faults that denote wiies peimanently set to a logic 0, stuck-at-0," oi a logic 1, stuck-at-1." Building on the single stuck line fault model, the mu||e sut| |ne (MSL) fault model suppoits faults wheie multiple wiies aie stuck-at-0/stuck-at-1. Stuck fault models do not addiess all physical faults because not all physical faults iesult in signal lines peimanently set to low oi high voltages, i.e., stuck-at-0 oi stuck-at-1 logic faults. Thus, othei fault models have been developed to addiess specifc failuie mechanisms. Foi example, the |rJgng fault model addiesses electiical shoits that cause unwanted coupling oi spuiious feedback loops. FIGURE 34.17 Design piocess - test. 2000 by CRC Press LLC Fau!t Testing Once the physical faults that may cause device malfunction have been identifed and categoiized and how the physical faults ielate to logical faults has been deteimined, the next task is to develop tests to detect these faults. When the tests aie geneiated by a computei piogiam, this activity is called auomat es rogram generaon (ATPG). Examples of fault testing techniques aie listed below: Stuck-at techniques, Scan techniques, Signatuie techniques, Coding techniques, and Electiical monitoiing techniques. Basic stuck-at fault testing techniques addiess combinational digital systems. Thiee of the most populai stuck-at fault testing techniques aie the D algoiithm, the Path-Oiiented Decision Making (Podem) algoiithm, and the Fan algoiithm. These algoiithms fist identify a ciicuit fault, e.g., stuck-at-0 oi stuck-at-1, and then tiy to geneiate an input stimulus that detects the fault and makes the fault visible at an output. Detecting a fault is called [au| sens:aon and making a fault visible is called [au| roagaon. To illustiate this piocess, considei the simple combinational design in Fig. 34.18 Goel, 1981; Fujiwaia and Shimono, 1983]. The combinational digital design is defective because a manufactuiing defect has caused the output of the top gate to be peimanently tied to giound, i.e., stuck-at- 0, using a positive logic convention. To sensitize the fault, the inputs A and B should both be set to 1, which should foice the top gate output to a 1 foi a good ciicuit. To piopagate the fault, the inputs C and D should both be set to 0, which should foice the gate output to 1, again foi a good ciicuit. Thus, if A 1, B 1, C 0, and D 0 in Fig. 34.18, then a good ciicuit would yield a 1, but the defective ciicuit yields a 0, which detects the stuck-at-0 fault at the top gate output. Sequential ATP geneiation is moie diffcult than combinational ATPG because exeicising oi sensitizing a paiticulai ciicuit path to detect the piesence of a possible manufactuiing fault may iequiie a sequente of input test vectois. One technique foi testing sequential digital systems is scan fault testing. Scan fault testing is an example of Jesgn [or esa||y (DFT) because it modifes oi constiains a design in a mannei that facilitates fault testing. Scan techniques impose a logic design discipline that connects all state iegisteis into one oi moie chains to foim scan iings," as shown in Fig. 34.19 Eichelbeigei and Williams, 1977]. Duiing noimal device opeiation, the scan iings aie disabled and the iegisteis seive as conventional memoiy (state) stoiage elements. Duiing test opeiation, the scan iings aie enabled and stimulus test vectois aie shifted into the memoiy elements to set the state of the digital system. The digital system is exeicised foi one clock cycle and then the iesults aie shifted out of the scan iing to iecoid the iesponse. A vaiiation of scan DFT, called |ounJary stan, has been defned foi testing integiated ciicuits on piinted ciicuit boaids (PCBs). Advancements in PCB manufactuiing, such as fne-lead components, suiface mount assembly, and multichip modules, have yielded high-density boaids with fewei access points to piobe individual pins. These PCBs aie diffcult to test. As the name implies, boundaiy scan imposes a design discipline foi PCB components to enable the input/output pins of the components to be connected into scan chains. As an example, Fig. 34.20 shows a simple PCB containing two integiated ciicuits confguied foi boundaiy scan. Each integiated ciicuit contains scan iegisteis between its input/output pins and its coie logic to enable the PCB test bus to contiol and obseive the behavioi of individual integiated ciicuits Paikei, 1989]. Anothei DFT technique is signatuie analysis, also called |u|-n se|[-es (BIST). Signatuie testing techniques use additional logic, typically lineai feedback shift iegisteis, to geneiate automatically pseudoiandom test vectois. The output iesponses aie compiessed into a single vectoi and compaied with a known good vectoi. If the output iesponse vectoi does not exactly match the known good vectoi, then the design is consideied faulty. FIGURE 34.18 Combinational logic stuck-at fault testing. 2000 by CRC Press LLC Matching the output iesponse vectoi and a known good vectoi does not guaiantee coiiect haidwaie; howevei, if enough pseudoiandom test vectois aie exeicised, then the chances aie acceptably small of obtaining a false positive iesult. Signatuie analysis is often used to test memoiies Agiawal et al., 1993]. Coding test techniques encode signal infoimation so that eiiois can be detected and possibly coiiected. Although often implemented in softwaie, coding techniques can also be implemented in haidwaie. Foi example, a simple coding technique called ary t|et|ng is often implemented in haidwaie. Paiity checking adds an extia bit to multibit data. The paiity bit is set such that the total numbei of logic 1s in the multibit data anJ paiity bit is eithei an even numbei (even paiity) oi an odd numbei (odd paiity). An eiioi has occuiied if an even-paiity-encoded signal contains an odd numbei of logic 1s oi if an odd-paiity-encoded signal contains an even numbei of logic 1s. Coding techniques aie used extensively to detect and coiiect tiansmission eiiois on system buses and netwoiks, stoiage eiiois in system memoiy, and computational eiiois in piocessois Peteison and Weldon, 1972]. Finally, electiical monitoiing testing techniques, also called cuiient/voltage testing, iely on the simple obsei- vation that an out-of-iange cuiient oi voltage often indicates a defective oi bad pait. Possibly a shoit oi open is piesent causing a paiticulai input/output signal to have the wiong voltage oi cuiient. Cuiient testing, oi I JJq esng, is paiticulaily useful foi digital systems using CMOS integiated ciicuit technology. Noimally, CMOS ciicuits have veiy low static oi quiescent cuiients. Howevei, physical faults, such as gate oxide defects, can inciease static cuiient by seveial oideis of magnitude. Such a substantial change in static cuiient is stiaight- foiwaid to detect. The piincipal advantages of cuiient testing aie that the tests aie simple and the fault models addiess detailed tiansistoi-level defects. Howevei, cuiient testing iequiies that enough time be allotted between input stimuli to allow the ciicuit to ieach a static state, which slows testing down and causes pioblems with ciicuits that cannot be tested at scaled clock iates. FIGURE 34.19 Scan-based DFT. FIGURE 34.20 Boundaiy scan. 2000 by CRC Press LLC 34.7 Summary DA technology offeis the potential of seiving as a poweiful fulcium in leveiaging the skills of a designei against the giowing demands of electionic system design and manufactuiing. DA piogiams help to ielieve the designei of the buiden of tedious, iepetitive tasks that can be laboi-intensive and eiioi pione. DA technology can be bioken down into seveial topical aieas, such as design entiy, synthesis, veiifcation, physical design, and test. Each topical aiea has developed an extensive body of knowledge and expeiience. Design entiy defnes a desiied specifcation. Synthesis iefnes the initial design specifcation into a detailed design ieady foi implementation. Veiifcation checks that the detailed design faithfully iealizes the desiied specifcation. Physical design defnes the implementation, i.e., the actual haidwaie. Finally, test checks that the manufactuied pait is functionally and paiametiically coiiect. Dehning Terms Bipolar: Type of semiconductoi tiansistoi that involves both minoiity and majoiity caiiiei conduction mechanisms. BiCMOS: Bipolai/complementaiy metal-oxide semiconductoi. A logic family and foim of micioelectionic fabiication. Branch: A ciicuit element between two nodes. Bianch cuiient is the cuiient thiough the bianch. Bianch voltage is the potential diffeience between the nodes. The ielationship between the bianch cuiient and voltage is defned by the bianch constitutive ielationship. Capacitor: Two-teiminal electionic device goveined by the bianch constitutive ielationship, Chaige Capac- itance Voltage. CMOS: Complementaiy metal-oxide semiconductoi. A logic family and foim of micioelectionic fabiication. Data Flow: Nonpioceduial modeling style in which the textual oidei that statements aie wiitten has no beaiing on the oidei in which they execute. Design automation: Computei piogiams that assist engineeis in peifoiming digital system development. Design entry: Aiea of DA addiessing modeling analog and digital electionic systems. Design entiy uses a hieiaichy of models involving physical, electiical, logical, functional, and aichitectuial abstiactions. Electromigration: Giadual eiosion of metal due to excessive cuiients. Fan-in/fan-out: Fan-in defnes the maximum numbei of logic elements that may diive anothei logic element. Fan-out defnes the maximum numbei of logic elements a logic element may diive. Finite state machine: Sequential digital system. A fnite state machine is classifed as eithei Mooie and Mealy. Gate array: Application-specifc integiated ciicuit implementation technique that iealizes a digital system by piogiamming the metal inteiconnect of a piefabiicated aiiay of gates. Gate oxide: Dielectiic insulating mateiial between the gate and souice/diain teiminals of a MOS tiansistoi. Ground bounce: Tiansient condition when the potential of a giound netwoik vaiies appieciably fiom its unifoim static value. Integrated circuit: Electionic ciicuit manufactuied on a monolithic piece of semiconductoi mateiial, typically silicon. Kirchoff 's current law: The amount of cuiient enteiing a ciicuit node equals the amount of cuiient leaving a ciicuit node. Kirchoff 's voltage law: Any closed loop of ciicuit bianch voltages sums to zeio. Masking defects: Defects in masking plate patteins used foi integiated ciicuit lithogiaphy that iesult in eiiant mateiial composition and/oi placement. Multichip modules: Multiple integiated ciicuits inteiconnected on a monolithic substiate. Netlist: Collection of wiies that aie electiically connected to each othei. NMOS: N-type metal-oxide semiconductoi. A logic family and foim of micioelectionic fabiication. Node voltage: Potential of a ciicuit node ielative to giound potential. Programmable logic devices (PLDs): Geneiic logic devices that can be piogiammed to iealize specifc digital systems. PLDs include piogiammable logic aiiays, piogiammable aiiay logic, memoiies, and feld-pio- giammable gate aiiays. 2000 by CRC Press LLC Resistor: Two-teiminal electionic device goveined by the bianch constitutive ielationship, Voltage Resistance Cuiient. Silicon compilation: Synthesis application that geneiates fnal physical design ieady foi silicon fabiication. Simulation: Computei piogiam that examines the dynamic semantics of a model of a digital system by applying a seiies of inputs and geneiating the coiiesponding outputs. Majoi types of simulation include schedule diiven, cycle diiven, and message diiven. Skew: Timing diffeience between two events that aie supposed to occui simultaneously. Standard cell: Application-specifc integiated ciicuit implementation technique that iealizes a digital system using a libiaiy of piedefned (standaid) logic cells. Synthesis: Computei piogiam that helps geneiate a digital/analog system design by tiansfoiming a high-level model of abstiact behavioi into a lowei-level model of moie-detailed behavioi. Test: Aiea of EDA that addiesses detecting faulty haidwaie. Test involves stuck-at, scan, signatuie, coding, and monitoiing techniques. Timing analysis: Veiifes timing behavioi of electionic system including iise time, fall time, setup time, hold time, glitch detection, clock peiiods, iace conditions, ieections, and cioss talk. Transistor: Electionic device that enables a small voltage and/oi cuiient to contiol a laigei voltage and/oi cuiient. Foi analog systems, tiansistois seives as amplifeis. Foi digital systems, tiansistois seive as switches. Verincation: Aiea of EDA that addiesses validating designs foi coiiect function and expected peifoimance. Veiifcation involves timing analysis, simulation, emulation, and foimal pioofs. VHDL: Haidwaie desciiption language used as an inteinational standaid foi communicating electionic systems infoimation. Via: Connection oi contact between two mateiials that aie otheiwise electiically isolated. Re!ated Tupics 23.2 Testing 25.1 Integiated Ciicuit Technology 25.3 Application-Specifc Integiated Ciicuits Relerences Design Autumatiun D. Baibe, Ed., Very Large Sta|e Inegraon (VLSI) - FunJamena|s anJ |taons, New Yoik: Spiingei-Veilag, 1980. T. Dillingei, VLSI Engneerng, Englewood Cliffs, N.J.: Pientice-Hall, 1988. S. Sapiio, HanJ|oo| o[ Desgn uomaon, Englewood Cliffs, Pientice-Hall, N.J.: 1986 S. Tiimbeigei, n InroJuton o CD [or VLSI, Calif.: Domancloud Publisheis, 1990. Design Entry G. Biitwistle, and Subiahmanyan, P., VLSI Setftaon, Verftaon, anJ Syn|ess, Boston: Kluwei Academic Publisheis, 1988. A. Dewey, VHSIC haidwaie desciiption language development piogiam," ProteeJngs Desgn uomaon Con[erente, June, 1983. A. Dewey, VHDL: towaids a unifed view of design," IEEE Desgn anJ Tes o[ Comuers, June, 1992. A. Dewey, na|yss anJ Desgn o[ Dga| Sysems w| VHDL, Boston: PWS Publishing, 1997. J. Douglas-Young, Com|ee CuJe o ReaJng St|emat Dagrams, Englewood Cliffs, N.J.: Pientice-Hall, 1988. M. Pechet, Ed., HanJ|oo| o[ E|etrta| Pat|age Desgn, New Yoik: Maicel Dekkei, 1981. J. Peteison, Per Ne T|eory anJ MoJe|ng o[ Sysems, Englewood Cliffs, N.J.: Pientice-Hall, 1981. Synthesis R. Ayies, VLSI. S|ton Com|aon anJ |e r o[ uomat Mtrot| Desgn, Englewood Cliffs, N.J.: Pientice- Hall, 1983. Biayton et al., Logt Mnm:aon |gor|ms [or VLSI Syn|ess, Boston: Kluwei Academic Publisheis, 1992. 2000 by CRC Press LLC R. Camposano, and Wolfe, W., Hg|-Lee| VLSI Syn|ess, Boston: Kluwei Academic Publisheis, 1991. D. Gajski, Ed., S|ton Com|aon, Boston: Addison-Wesley, 1988. D. Gajski, et al., Hg|-Lee| Syn|ess - InroJuton o C| anJ Sysem Desgn, Boston: Kluwei Academic Publisheis, 1992. P. Paulin, and Knight, J., Foice-diiected scheduling foi the behavioial synthesis of ASIC`s," IEEE Desgn anJ Tes o[ Comuers, Octobei, 1989. T. Sasao, Ed., Logt Syn|ess anJ Om:aon, Boston: Kluwei Academic Publisheis, 1993. Yerihcatiun R. Biyant, Simulation on distiibuted systems," ProteeJngs Inernaona| Con[erente on Dsr|ueJ Sysems, 1979. K. Chandy, and Misia, J., Asynchionous distiibuted simulation via a sequence of paiallel computations," Communtaons o[ |e CM, Apiil, 1981. L. Chua, and Lin, P., Comuer-JeJ na|yss o[ E|etront Crtus. |gor|ms anJ Comuaona| Tet|nques, Englewood Cliffs, N.J.: Pientice-Hall, 1975. G. Hachtel, Biayton, R., and Gustavson, F., The spaise tableau appioach to netwoik analysis and design," IEEE Transatons on Crtu T|eory, CT-18, 1971. W. Hahn, and Fischei, K., High peifoimance computing foi digital design simulation", VLSI85, New Yoik: Elseviei Science Publisheis, 1985. C. Ho, Ruehli, A., and Biennan, P., The modifed nodal analysis appioach to netwoik analysis," IEEE Trans- atons on Crtus anJ Sysems, 1975. R. McHaney, Comuer Smu|aon. Pratta| Persete, New Yoik: Academic Piess, 1991. T. McWilliams, and Widdoes, L., SCALD - stiuctuied computei aided logic design," ProteeJngs Desgn uomaon Con[erente, June, 1978. L. Nagel, SPICE2: A Computei Piogiam to Simulate Semiconductoi Ciicuits, Electionic Reseaich Laboiatoiy, ERL-M520, Beikeley: Univeisity of Califoinia, 1975. U. Pooch, Dstree Een Smu|aon. Pratta| roat|, Boca Raton, Fla.: CRC Piess, 1993. T. Sasiki, et al., Hieiaichical design and veiifcation foi laige digital systems," in ProteeJngs Desgn uomaon Con[erente, June, 1978. S. Takasaki, Hiiose, F., and Yamada, A., Logic simulation engines in Japan," IEEE Desgn anJ Tes o[ Comuers, Octobei, 1989. S. Walteis, Computei-aided piototyping foi ASIC-based synthesis," IEEE Desgn anJ Tes o[ Comuers, June, 1991. Z. Zlatev, On some pivotal stiategies in Gaussian elimination by spaise technique," SIM Journa| o[ Numerta| na|yss, vol. 17, no. 1, 1980. Physica! Design E. Hollis, Desgn o[ VLSI Cae rray InegraeJ Crtus, Englewood Cliffs, N.J.: Pientice-Hall, 1987. B. Pieas, B., Loienzetti, M., and Ackland, B., Eds., P|ysta| Desgn uomaon o[ VLSI Sysems, New Yoik: Benjamin Cummings, 1988. S. Sait and Youssef, H., VLSI P|ysta| Desgn uomaon. T|eory anJ Pratte, New Yoik: McGiaw-Hill, 1995. B. Spinks, InroJuton o InegraeJ Crtu Layou, Englewood Cliffs, N.J.: Pientice-Hall, 1985. Test V. Agiawal, Kime, C., and Saluja, K., A tutoiial on built-in self-test," IEEE Desgn anJ Tes o[ Comuers, June, 1993. A. Buckioyd, Comuer InegraeJ Tesng, New Yoik: Wiley, 1989. E. Eichelbeigei, and Williams, T., A logic design stiuctuie foi LSI testability," ProteeJngs Desgn uomaon Con[erente, June, 1977. H. Fujiwai, and Shimono, T., On the acceleiation of test geneiation algoiithms," IEEE Transatons on Com- uers, Decembei, 1983. P. Goel, An implicit enumeiation algoiithm to geneiate tests foi combinational logic ciicuits," IEEE Transatons on Comuers, Maich, 1981. 2000 by CRC Press LLC K. Paikei, The impact of boundaiy scan on boaid test," IEEE Desgn anJ Tes o[ Comuers, August, 1989. W. Peteison and Weldon, E., Error-Corretng CoJes, Boston: The MIT Piess, 1972. M. Weyeiei and Goldemund, G., Tesa||y o[ E|etront Crtus, Englewood Cliffs, N.J.: Pientice-Hall, 1992. G. Zobiist, Ed., VLSI Fau| MoJe|ng anJ Tesng Tet|no|oges, New Yoik: Ablex Publishing Company, 1993.