The Concept of Electronic Design Automation:Design Methodology
Design Methodology
The design of an integrated circuit (IC, chip) can be an extremely complicated task and requires a structured approach. In short, this endeavor is nothing else than the transformation of a mixed electric/logic specification into geometrical pat- terns suited for mass production. Today such pat- terns are usually printed onto a set of masks (also called reticles) shaping an image which will be optically projected onto a photographic film layer deposited at the surface of the chip. For a typi- cal CMOS technology the number of masks may range from 12 up to 30 (the main reason for more mask layers required being the number of wiring layers). The geometrical patterns on those masks are represented by a large number of polygons each characterized by its corner points. With the broad scope of ASICs today, the total number of the points can vary widely. For instance, an ASIC with 1,000,000 gates (which can be considered a commodity in these days rather than advanced) comprises some 200 million points. Needless to say, the coordinates of each point are meaningful, the proper function of the chip is in question if a particular point is offset.
A chip with a million gates would nowadays not span over more than 20 mm2 (including area occu- pied by the peripheral circuits needed to interface with the outside world). Much larger chips are technically feasible and the cited complexity num- bers can easily go up by two orders of magnitude.
The geometric representation
As indicated above, the ultimate goal of an ASIC development process is the definition of all polygons. The development process will be completed once a set of polygons has been found ready for
transfer to the production division, enabling them to manufacture chips showing the desired functionality.
An integrated circuit is completely described by its set of polygons. Owing to its nature, this kind of viewing is being referred as geometric representa- tion.
The behavioral representation
The development of an integrated circuit starts with its specification; it is a description of what the chip is supposed to do. The specification de- scribes the behavior of the chip under all operating conditions, in particular the logical (functional) behavior, the timing behavior and the response of the circuit to input signals (stimuli). The desired functional behavior can be captured by formulae, state diagrams, and formal languages similar to programming languages. The chip may be part of an electronic system (printer, digital voice trans- mission) and has to perform a certain function, thus determining the specification.
The specification describes the functional behavior of the chip. It can be considered complete if every chip meeting all formal descriptions would function properly within the target system. While such specification does not define how the chip is to be built, it has to clearly describe how it shall behave. A comprehensive specification can be considered the functional or behavioral representation.
The structural representation
A direct transformation of the behavioral represen- tation into the set of polygons is not feasible. The main reason is that the behavioral representation does not uniquely correspond to the geometric representation. In other words, given a certain
formula (a fragment of the behavioral representa- tion) there are many possible translations into the geometric domain. Whilst all of them would be valid if just the given formula is concerned, most of them can be ruled out if the formula is seen within the overall context. This will be corroborated later in this chapter.
To solve this dilemma a new type of description is being introduced, the structural representation. It can be seen as a construction plan of the circuit. It describes how the chip is built up from basic elements and how those are to be interconnected. This representation can be captured by a schematic or a netlist.
The structural representation does not describe how the circuit behaves; however, the final behav- ior can be forecasted by means of simulation. The basic elements (gates, transistors, resistors, etc.) are the building blocks and have a well defined (usually simple) behavior. Once mathematical or numerical models exist for the elements the overall behavior can be calculated.
The value of the structural representation is also established by practical work: one part of the design process is partitioning a complex system into blocks which in turn may also contain further blocks. The partitioning process will be repeated until we arrive at components small enough for translation into the geometric domain. This pro- cedure is also being referred to as ‘divide and conquer’ meaning repetitive partitioning until only well known components remain.
Within the context of the structural representation, the terms ‘hierarchy’, ‘modularization’ and ‘chip architecture’ are also frequently used.
The meaning of these three views – behavioral, structural, and geometrical – had originally been recognized by D. Gajski et al. [2.4], [2.7] when he proposed the Y chart in 1982 (Figure 2.1), also referred to as the ‘Gajski-chart’. That diagram is composed of three arms representing the three views, and the distance from the center of the Y represents the level of abstraction. Concentric circles around the center of the Y connect corre- sponding abstraction levels within the three views. The outer circle corresponds to overall specifica- tion, top level schematic, and geometric partition- ing. Going inward we arrive at lower levels of hierarchy, processor cores, arithmetic logic units (ALU), registers, gates, and, finally, transistors. If we walk along the behavioral axis we first see the instruction set, algorithms, then register transfer
instructions, Boolean equations, and, at the lowest level, differential equations. Further out, an even higher level, not shown here, would describe the interaction of several chips within a circuit board. This would go beyond the scope of this.
A compact description of the meaning of the three arms would read as:
What? How? Where?
The behavioral representation tells us what the chip does, the structural representation describes how this behavior is going to be implemented, and the geometry captures where its basic elements are located.
Comments
Post a Comment