VERY LARGE SCALE INTEGRATED CIRCUIT FABRICATED FROM A MASTER SLICE IN CASCODE SWITCH LOGIC

Abstract: A very large scale integrated circuits from a master slice (1), for use in an automated placement and wiring environment is made from a semiconductor electronic qual­ ity wafer and the like, the wafer having a "brickwall" set of active elements such as bipolar or field-effect transistors together with associated passive elements arranged in a master slice image. The master slice (1) is personalized using optimization techniques including among other steps, the steps of modeling, developing and validating primitive logic diagrams, determining element placement by a Monte Carlo simulated annealing method, selecting hierarchical wiring by a maze runner algorithm and further validation.

Description: This invention relates to Very Large Scale Integrated (VLSI) microelectronic circuits and more particularly to a very large scale integrated circuit fabricated from a master slice in cascode switch logic. The evolution of microelectronics has been discussed in many books and articles. For example, in the Scientific American book entitled "Microelectronics", published in 1977 by W. H. Freeman and Co. the book-publishing affiliate of Scientific American, a variety of individual articles address the nature of microelectronic elements, their design and fabrication particularly in the form of Large Scale Integrated Circuits, their applications, and their impact for the future. The IBM Journal of Research and Development has had a number of articles from time to time concerning various microelectronics technologies of this nature which are included in the May 1981 issue: "VLSI Circuit Design", the May 1982 issue: "Packaging Technology" and the September 1982 issue: "Semiconductor Manufacturing Technology". Field Effect transistor and bipolar technologies are of special interest in the present patent application as are the Metal Oxide Semiconductor (MOS) technologies that are set forth in the Scientific American book. A number of manufacturing techniques of basic interest are described in the Scientific American book. As one example, on page 42 thereof Large Scale Integrated circuits may be produced by computer control by proceeding through a number of steps including the use of optical techniques for generating topological patterns. In the production of microelectronic circuitry heretofore a generalized approach has been the use of macro logic elements. In usual practice, the macro logic elements have been maintained in a library for access as needed for circuit production. Usually a number of the macro elements have been combined in order to produce a finished chip or logic product. The macro libraries have to be individually designed until a critical number of library entities are arrived at before a generalized logic machine can be efficiently implemented using them. The design of a full set might take many years to complete thus resulting in difficulty in designing an efficient desired finished product. Further, the physical images used during circuit production and derived from the macros referred to are further constrained as a result of the macro concepts. The primary objective of the present invention is to overcome inherent limitations imposed heretofore due to use of macro concepts in circuit fabrication. In accordance with the present invention, all macro logic elements utilized for microelectronic logic fabrication are decomposed into their most primitive elements. This enables design of equivalent logic in a more generalized compact fashion. The present invention provides a very large scale integrated circuit fabricated from a master slice in cascode switch circuits in an automated placement and wiring environment comprising a semiconductor electronic quality wafer and the like having a "brickwall" set of active elements such as field effect transistors or bipolar transistors arranged in a master slice image. In the practice of the present invention, significant advantages are realized by greater flexibility in circuit design, timesaving, and elimination of the complications encountered with the previously used macro concepts. Further advantages result from the use of a small closed macro set all of which simplifies or enhances the automation of processes required to achieve the end logic product. In the preferred embodiment described, a topological physical design is utilized for the support of a Cascode Switch circuit/logic technology in an Automated Placement-Wiring environment. This physical entity takes the form of a "brickwall" set of transistors in a master slice image. For a better understanding of the present invention, together with other and further advantages and features thereof, reference is made to the description taken in connection with the accompanying drawings, wherein : Fig. 1A illustrates an master slice in its entirety utilizing the present invention while Fig. 1B represents a corner portion of the master slice. Fig. 2A,2B,2C illustrate the production steps in fabricating a master slice and Fig. 2D illustrates the steps in personalizing a master slice into an end product. Fig. 3 shows a three level differential cascode current switch logic tree. Fig. 4 illustrates an example of a three-high cascode tree in Metal Oxide Semiconductor (MOS) field effect transistor (FET) technology. Figs. 5A, 5B and 5C serve as a symbolic representation of the cascode trees of Fig. 3 and Fig. 4. Figs. 6A and 6B illustrate a flow diagram representing the cascode logic design methodology. Fig. 7 illustrates a digital machine, diagrammed in terms of logic groups. Fig. 8 represents algorithmic determination of the longest path delay through a logic group. Fig. 9 illustrates a logic group primary output to generic logic map output vector comparison. Figs. 10A, 10B and 10C represent a hierarchical placement approach starting at a very high machine level passing through an intermediate stage and resolving to the microblock placement. Fig. 11 is a symbolic representation of the master slice shown in Fig. 1. Fig. 12 is an exploded view at the device level of a portion of the master slice in Fig. 1. Fig. 13 is a symbolic view of the wiring channels for the master slice. Fig. 14A, 14B and 14C show a combination, actual and symbolic representation of each one of the technology microblocks comprising a differential pair of transistors. Figs. 15A and 15B represent the application of the technology microblocks including the microblock of Fig. 14A on the complete master slice symbolic image of Fig. 11. Fig. 16A and 16B represent the application of the technology microblocks including the microblock of Fig. 14B on the complete master slice symbolic image of Fig. 11. Fig. 17 represent the application of the technology microblocks including the microblock of Fig. 14C on the complete master slice symbolic image of Fig. 11. Fig. 18 represents an example of a set of microblocks placed and interconnected in order to form a four-bit ripple carry adder function. The following abbreviations are occasionally used herein: Described here is a design concept and circuit which enables cascode logic to become a generalized logic technology. This design concept is based on dealing with the technology in its most granular form in describing a product's logical and physical essence. This provides the basis for dealing with the technology in a software intensive environment providing the high productivity necessary for generalizing the logic technology. Exploiting this design methodology in a VLSI master slice environment yields high productivity in both the logical and physical design phases of the product. A VLSI master slice 1 supporting the embodiment of cascode logic is illustrated in Fig. 1A. It must be noted that this logic can be of the type FET cascode current switch (FFCS), differential voltage switch (DCVS) or differential cascode current switch (DCCS) bipolar master slice 1 is comprised of two general areas, an input/output cell perimeter 2 and a cascode logic area 3. A portion 4 of the cascode logic array, will be described later, in connection with Fig. 12.A primary attribute of fabricating a logical product in a master slice environment is an abbreviated production time. This reduced processing time is accomplished by virtue of the fact that the master slices are preprocessed through a number of the fabricating steps and stockpiled in a substock. Functional products need only to be processed through the remaining, reduced number of fabrication steps. Fig. 2A illustrates the actual fabrication of a master slice supporting the FET cascode current switch (FCCS) embodiment. This fabrication consists of four stages designated 11 through 14. The fabrication process begins with an oxidized silicon wafer stage 11. Wafers of other composition may be utilized depending on the technology. The silicon wafer is further processed through an isolation stage 12, a source drain diffusion stage 13 and finally a polysilicon gate stage 14. At the conclusion of stage 14, the vertical device structure is complete. Fig. 2B illustrates the actual fabrication of a master slice supporting the differential cascode current switch (DCCS) bipolar embodiment.This fabrication consists of six stages designated 11' through 16'. The fabrication process begins with an oxidized semiconductor electronic quality wafer, such as silicon wafer stage 11'. Wafers of other composition may be utilized depending on the technology. This silicon wafer is further processed with a buried collector region stage 12', a bottom isolation region stage 13', a collector reach through region stage 14', a base diffusion region stage 15' and finally an emitter diffusion region stage 16'. At the conclusion of stage 16', the vertical structures of all the active and passive components on the wafer are complete. Fig. 2C illustrates the actual fabrication of a master slice supporting the differential cascode voltage switch (DCVS) CMOS embodiment. This fabrication consists of six stages designated 11" through 16". The fabrication process begins with an oxidized semiconductor electronic quality wafer, such as silicon wafer stage 11". Wafers of other composition may be utilized depending on the technology. This silicon wafer is further processed to produce devices of both N and P polarity to form Complementary Metal Oxide Semiconductor array. For further information concerning a process of this nature reference is made to the article entitled "HMOS-CMOS - A Low-Power High Performance Technology" having Ken Yu et al as authors that appeared in the IEEE Journal of Solid State Circuits, Vol. SC-16, No. 5, October 1981, pp. 545-459. Such a process has a two orthogonal wiring plane capability. At the conclusion of stage 16", the vertical structures of all the active components on the wafer are complete. Upon completion of stage the master slice wafers are stock piled in substock available for personalization into logic products. What remains to be processed are the contact holes and interconnection of the passive and active devices to complete the physical design of a logical function. The final processing or personalization phase begins with retrieval of the required number of master slices from substock and proceeding through the interconnection phases of the process at stage 20, Fig. 2. Contact holes are opened for the active components, stage 21 and interconnected with metal wiring on multiple planes interconnected further with conducting interplane vias in stage 22. Processing continues with the bonding of pads stage 23 to the logic service terminals and probe testing of the completed personalized wafer in stage 24, sectioning the wafer in stage 25 into die and sorting out good die in stage 26. The final phase involves assembling the sorted good die from stage 26 into a package stage 27, sealing that package in stage 28 and processing that package through a final test stage 29. The foregoing procedures result in reduced processing time for each product in that only stages 20 through 29 must be performed to complete the definition of each product designed against the master slice in substock. A software intensive design system supporting both FET and bipolar master slice versions of cascode logic is described here having both high productivity and abbreviated processing time. A short tutorial on cascode logic is now presented in order to establish a further basis for understanding the description of the preferred embodiment set forth herein. Cascode logic has superior power-performance attributes compared to other logic circuit technologies but a variety of factors have prevented it from becoming a generalized logic technology. A software intensive design system supporting both FET and Bipolar master slice versions of cascode logic is described here having high productivity characteristics necessary for the general support of the technology. Cascode Logic is easily understood through the examination of a Bipolar embodiment, the Differential Cascode Current Switch, DCCS. DCCS is a differentially coupled current mode logic family, as its name implies, that exhibits the inherent speed of emitter coupled logic while distributing its circuit power over an expansive logic function. Fig. 3 illustrates a three level DCCS logic tree. A constant current source sets the unit of power the DCCS tree will consume in performing its designed logical function. Logical operations are accomplished through selectively steering the tree current through various paths within the tree to one of two binary output summation points. Current steering is accomplished by applying differential logic signals to each differential set of transistors in the tree, selecting the devices that will allow current to pass. The path indicated in Fig. 3 by arrows, represents the resultant current path through the tree when the variable `A' and 'B' are true, or at a positive potential and variable 'C' is false, or at a negative potential. The DCCS tree of Fig. 3, is represented in symbolic form by Figs. 5A, 5B and 5C. The actual tree configuration is directly derived from the three variable truth table in Fig. 5A. An output vector 'Q" is developed from the complete conditional table of three variables. Since the problem involves three variables, it suggests the use of a three high DCCS tree, Fig. 5B. The output vector 'Q' is transposed across the top of the full three level tree expansion. The 'Q' output vector across the top of the tree associates each tree output point with either the '1' or '0' conditional path. The convention is that current flow propagates a logical '0'. Connecting each output point to its respective termination point, yields a three level cascode tree configured to provide the 'Q' output vector response to the various input conditions. Further examination of the tree configuration reveals apparent redundancy and 'don't care' states that may be exploited in order to minimize the tree. This minimized result is illustrated by Fig. 5C. The example suggests that any Boolean problem concerned with three variables may be solved by a single three high DCCS tree. This can be further demonstrated by developing various other output vectors from the conditional table given and configuring the tree solutions in the same manner as the example. It now follows that any 'n' variable Boolean expression may be solved by a single 'n' high DCCS tree. These conclusions demonstrate the functional power of cascode logic and convey a similar message for the electrical attributes of the technology. This functional power is achieved in the speed and within the power dissipation of a single level logic gate. Fig. 4 illustrates an example of a three high cascode tree implemented in NMOS FET technology. These implementations have exactly the same functional and electrical attributes, within their respective technological arenas. Given the obvious power of the cascode logic technology, it is an ideal candidate in which to implement VLSI machines. To realistically pursue VLSI machine designs, it is necessary to have a method of dealing with the problem as a whole in a highly productive design cycle. Pre-VLSI machine design methodologies allowed for the partitioning of the machine into 'independent' elements of the size and complexity a designer could deal with at a primitive level. This partitioning could be somewhat crude and still not greatly impact the overall machine primitive level design. Partitioning was essentially limited and dictated by what could be supported on the less dense integrated chips of that era. With the advent of VLSI and upward of 10,000 logic gates (or more) available on a single piece of silicon, the problem must be approached differently. Optimization of both the high level structure and primitive implementation is necessary to fully realize the potential of VLSI. To this end the Cascode Logic Design methodology illustrated by the flow diagram of Figs. 6A and 6B has been developed. As can be seen from the diagram, the design system is driven from a high level modeling facility. The design system is presently compatible with IDL and BDLC/S as a means of developing and simulating high level machine models. A strategic high level modeling tool comprising a high level language and compiler is utilized to model and simulate the high level machine, and also to optimize it. All these tools essentially provide the same service with varying degrees of efficiency, that is, to allow the machine architect to deal with the entire problem. These high level tools all interface with the Cascode Logic Design System through generic descriptions of the various machine functional partitions. These generic descriptions take the form of logic maps or functional truth tables that represent the complete set of functional conditions the primitive logic must eventually emulate. The high level tool actually passes a set of generic logic maps to the design system, each representing a machine sub-function or partition. These generic logic maps are similar to PLA pictures in that they represent a set of output vectors dependent upon the conditions of a set of input variables. The design system deals with the set of logic groups as a synchronous sequential machine, such that each performs a designated machine sub-function in a time spaced relationship to other logic groups or machine sub-functions. A diagram illustrating a machine configuration in terms of logic groups is given by Fig. 7. An LSSD latch is appended to the input of each logic group and becomes the mechanism for clocking the system. Each logic group is clocked, completes its assigned tasks and passes it's output to the next sequential partition during the next clock phase. The LSSD latches, as well as other machine register resources, are passed into the design system as 'Black Box' elements. The high level modeling tool also passes some extraneous information along with the machine description; driver/receiver types, switching groups, I/O preassignment, and a 'machine' level objective function. The objective function sets the relative priority of the system optimization parameters; delay, power and area. This objective function is applied to all the machine partitions or logic groups during the first pass through the design system as the high level generic tables are transformed into DCCS cascode tree networks. The generic logic maps, representing clocked logic groups, are decomposed into DCCS tree networks by a decomposition algorithm described in the article entitled "The Decomposition and Factorization of Boolean Expressions" by A. K. Brayton and Curt McMullen, IEEE ISCAS 1982. This algorithm works upon the machine one logic group at a time. The algorithm minimizes each logic group output vector Boolean expression and decomposes it into a set of expressions that can be implemented in a cascode logic network of trees. The algorithm must be tree height sensitive, and allows the user to specify the desired maximum tree height. This algorithm has its own internal objective function, to find a solution with the fewest number of trees having the fewest number of devices. The algorithm does not consider signal level translators or early-late signal arrival and performs variable level assignment within each tree to effect minimum number of devices. The algorithm therefore yields only a partial cascode logic solution that further be manipulated to arrive at an optimal logic network solution. The decomposition result is further manipulated by an optimization phase in the design flow. This phase of the design system assumes that the decomposition result is an optimal solution for the parameters it considered. Based on this assumption, it's an objective of this design phase to minimally effect the decomposition result. The task performed here, for a Bipolar implementation, is to complete the DCCS description by the inclusion of the necessary signal level translators. An emitter follower is assigned to each logic group primary input at the LSSD latch in anticipation of heavy signal loading, by the Register Resource Module. An internal objective function of this algorithm is to introduce the fewest number of power consuming emitter follower level translators as possible. The algorithm assumes that all primary input variables from the logic group LSSD latches are available from any signal level with no additional emitter follower cost. Considering these translators, the algorithm strives to maximize primary input level assignment requiring translation and minimize the translation of internal trees. An advantage of the FET embodiment of cascode logic is the elimination of the signal level translators required by the bipolar counterpart. The bipolar version of CCS requires that outputs be level translated from one level to another due to the bipolar dependency on Vbe and Vbc. Since FET's are not subject to these contraints, the driving logic levels simply have to overcome the Vth threshold level with little concern of operating in the device pinch off region, all cascoded "mini macros" can be driven by the same Vcc to Ground logic level swing, provided by each function output. Statistics are collected from the decomposition result as to the variable level assignment for optimal trees, trees having a minimum number of devices. These statistics are used to establish an optimal level assignment for each network variable. A simplified example might be variable 'A' found assigned to signal level '4' for twenty of it's twenty-five occurrences in the logic group being optimized. This would suggest an objective function for the level assignment of variable 'A' to signal level '4' in order to have minimum effect on the optimal tree solution from decomposition. The algorithm would also attempt to resolve the level assignment for variable 'A' to signal level '4' in the remaining five trees in order to enhance the physical design concerning wire routing from the translator. The algorithm attempts to anticipate the physical design phase of the design flow and relates multiple signal routing from a single point source, the emitter follower, as a detrimental wiring impact. The algorithm deals with loading on variables in a similar way. If a particular variable load exceeds the specified maximum from a single emitter follower, a second is introduced into the solution. The algorithm utilizes this circumstance to give the variable two single level assignments with no additional cost over the load requirement and again attempts to anticipate the physical design phase and minimize the wiring impact. The algorithm attempts to associate two distinct groups of trees, as independent as possible, with the two emitter followers. The heuristic measures the tree interdependence as the number of common or shared variables in each tree and asserts that trees sharing many variables will be placed in close proximity and trees with only a single variable in common will not be placed in close proximity. The algorithm, by this grouping, has attempted to decongest the wiring demand by diverting the point source to two different destinations. The only remaining tool this segment of optimization can employ to accomplish translation and not increase the emitter follower cost is in-line translation. These translators are devices in-line with the cascode logic tree output terminal that translate the tree output signal level itself. These devices are subject to their own set of technology rules, such as tree height and loading, which are scrutinized by the algorithm before their application. This segment of the design flow provides an optimal Bipolar cascode logic solution for a machine level problem. At this point in the design flow, both the FET and Bipolar solutions are ready to be optimized against the user specified machine objective function. The FET decomposition result is still intact since it doesn't require signal level translators. The cascode logic levels within a single FET tree are all driven with the same signal swing. The Bipolar solution is considered optimal in that it reflects the minimum number of emitter follower translators, least effecting the original decomposition result. The machine objective function is passed into the design system along with the complete generic machine description. The objective function is in the form of a set of numeric weights resolving the priority for optimization of three parameters; machine speed, machine power dissipation, and the number of devices necessary to implement the design. These numeric weights are applied as constants in a set of simultaneous equations represented in a linear optimization model. The decomposition solution, after translator introduction for Bipolar, serves as a basis for further parametric optimization directed by the machine objective function. It represents the optimal solution for two of the three optimization parameters, number of devices and units of power. This solution does not necessarily represent an optimal primary output delay. The optimization model is then employed in determining how to optimize discrete logic group primary outputs in order to effect a uniform logic group delay pattern. The delay algorithm determines the worst case delay for each tree in the logic, based on technology delay equations and the worst case path through the tree. The worst case path through a tree is defined as the path incurring the maximum number of intermediate nodes through the maximum number of cascode levels. These worst case delays are listed for each tree in the logic group. The primary output networks are interrogated as graphs by a routing algorithm to determine the longest path delays for each network. The algorithm considers early-late signal ordering and cascode level delay dependencies in its computation of the primary output delay. These delays are in turn listed as the path delays of the logic group primary outputs. The algorithm identifies the primary output with the longest delay and interrogates its tree network further to reflect legal logical conditions. A legal logic condition is defined to be the subset of all possible Boolean variable combinations that can actually occur in the defined logic network without logical contradiction. These are logical conditions that can occur simultaneously, such as resolving a single variable condition to either true or false. This validated delay is now offered as the primary output delay and is compared to the remaining logic group primary output delays in order to determine if it is still the longest path delay. If it is still the longest path, the logic group interrogation is complete, and its delay is equated with the longest path delay. If another primary output is found to now exceed the desired delay, it is interrogated for legal condition and processing continues until a longest path delay is found. This sequence is illustrated in Fig. 8 by finding the longest legal primary output path. The logic group is completely characterized at this point in the design flow with an accounting for devices and power units and distribution of the primary output delays. It's an objective at this point to force the primary output delays into a uniform distribution with some specified criteria defining the bounds of the distribution. The longest path delays are modified to meet this uniformity criteria through variable level reassignment and tree powering, as directed by the costing optimization model. The machine objective function will vary this interactive modification depending on the associated cost of the parameters that effect change compared against the initial objective function. The completion of this phase represents an optimized primitive level design emulating the high level machine model and ready for further processing to the point of user review. The machine diagram, such as illustrated in Fig. 7, is updated with the various logic group longest path delays and interrogated for clock generation. This algorithm determines the fastest rate at which the time spaced logic groups can be clocked. The algorithm resolves the clock specification to the clock rate, the number of clock phases and a logic to phase relationship. Upon determining the clock rate and phase requirement, the algorithm completes the definition of the clock generator 'Black Box' (essentially an LSSD clock ring) and appends the clock generation logic to the primitive logic. The complete machine primitive logic expansion, including the various 'Black Box' elements are encoded in a logic descriptive language. This level of the design serves as the basis for primitive logic validation and further processing to realize a physical design. Logic validation is essentially accomplished by comparing the primitive level design to the high level generic logic map that inspired it. The first level of validation is between the logic group machine diagram and high level model machine structure. This validation is accomplished by constructing a machine diagram from the high level model in terms of the various generic logic map elements. The algorithm associates each logic group with its high level generic logic map equivalent and determines that both machine diagrams represent the same configuration. The next validation phase is to insure that the high level generic logic maps have been mapped with integrity to the primitive level. This is accomplished by formulating the Boolean output expressions for each logic group primary output and comparing it to generic logic map output vector it was designed to emulate. This logic group primary output to generic logic map output vector comparison is illustrated in Fig. 9. As can be seen in the figure, the algorithm must formulate Boolean output expressions for each of the trees contributing to the primary output expression and derive the final expression. The algorithm must associate each logic group with its generic logic map equivalent and further resolve an association between the generic logic map output vectors and the logic group primary outputs. The example illustrated in Fig. 9 relates the formulation of logic group primary output 'Q' and its comparison to a generic logic map output vector 'F1'. At the conclusion of this logic validation phase the primitive logic is known to accurately reflect the simulated high level model. This validation coupled with the extensive timing analysis of the optimization phase constitutes primitive level design that can be committed to a physical design upon user review and acceptance. The physical design phase is driven from a BDLS master file derived from the validated encoded primitive logic description. This same BDLS master file also supports the LSSD Rules and TPG phase of the design flow, and to this end represents the LSSD latch elements in predefined macro form. These macros must be expanded to their microblock level before proceeding into the placement phase of the physical design. This expanded BDLS also supports the physical to logical audit of the final design. The expanded BDLS is transformed into a Master Logic List (MLL) in order to interface with the placement phase of the design flow. Placement is based on a hierarchical methodology that resolves the machine level placement problem to the cascode logic microblocks, differential pairs of devices, load devices, current sink devices, etc. The placement task is performed with a routine described in an article entitled "Optimization by Simulated Annealing" by S. Kirkpatrick, C. D. Gelatt, Jr., and N. P. Vecchi published May 1983 in the magazine Science. Conceptually the placement algorithm attempts to find an optimal physical placement for the cascode logic microblocks described by the MLL file. This yields a placement where each microblock position has been optimized to minimize the subsequent wiring problem. The cascode trees are now free for elements accentuating the wiring phase. Placement is derived hierarchically from the logic group machine diagram, through a pseudo tree phase to the actual cascode logic microblocks, illustrated by Figs. 10A, 10B and 10C. The placement algorithm is a Monte Carlo algorithm and therefore benefits greatly through seeding the placement with a reduced number of objects, in terms of improving its efficiency. The first phase of this seeding is based on resolving a relative placement for each logic group in the machine diagram, LG1 through LG9 in Fig. 10A. Figs. 10A, 10B and 10C represent a hierarchial approach to the ultimate placement of the microblocks configuring an entire chip level physical function and utilization of the master slice concept for the support of the FET Cascode Current Switch Technology. As indicated, Fig. 10A illustrates a number of machine logic groups LG1 through LG9 placed against the complete master slice logic array reference 3. Each logic group is associated dimensionally with its primitive logic demand in terms of the number of trees and number of microblocks it encompasses. The chip image is completely resolved with either component demand of logic groups or uncommitted areas such as BA1 through BA4 of Fig. 10A. The placement must deal with fewer than one hundred objects at this phase and can resolve a placement relatively quickly. This phase of placement is followed by a tree placement phase. Essentially, the logic group pseudo boundary is displaced by a cascode tree pseudo boundary. The sets of cascode trees, TS1 through TS9 in Fig. 10A are unpacked into the multiplicity of cascode trees, TS2-T1, TS2-T2 etc. in Fig. 10B. The placement algorithm now attempts to resolve placement of these cascode trees that make up the logic groups. The tree placement has been relatively resolved during the logic group placement phase such that further resolution will take place within some bounded space less than that of the full image. This phase of placement is also relatively fast in that the algorithm is concerned with fewer than fifteen hundred objects. The final placement phase eliminates the cascode tree pseudo boundary and allows the algorithm to resolve a final placement for tree microblock elements. The multiplicity of cascode trees, TS2-T1, TS2-T2 etc. in Fig. 10B, are further resolved to the microblock level, TS2-T2/MB1, TS2-T2/MB2 etc. in Fig. 10C. This phase again resolves the microblock placement within a relatively small bounded space but requires the algorithm to deal with many more objects. This is obviously the most time consuming placement phase, but yields the final microblock placement against which the wiring algorithm is exercised. The wiring algorithm employed to wire this microblock placement is an enhanced Lee algorithm. The Lee algorithm is described in the article entitled "An algorithm for Path Connections and Its Applications, IRE Trans. on Electronic Computers, September 1961, pp.346-365. Also see the article entitled "The Interconnection Problem - A Tutorial" by David W. Hightower of Bell Telephone Laboratories, Inc. published in Proceedings, 10th Design Automation Workshop, June 1973. This algorithm is a maze runner algorithm with 'rip-up/lay-down' capability. A 'rip-up/lay-down' capability consists of identifying a blocking network, removing the network, wiring the previously failed network, and then re-wiring the original networks that were removed in order to make the changes. The algorithm makes provision to avoid 'rip-up/lay-down' loops through assignment of channel ownership to the newly interconnected wire. During the course of wiring the microblock placement the algorithm may find, in a high wire demand area, the LST it is attempting to route a wire to is completely blocked by 'owned' channels. This circumstance constitutes a failed net. At this point the wiring program halts execution and recalls the placement algorithm. The placement algorithm then regions the chip image into bounding rectangles and attempts to identify the regions in the minimum spanning tree path for the failed net. Next, the placement algorithm proceeds to redistribute the microblocks within the minimum spanning tree path regions. This redistribution is scheduled to a particular 'annealing schedule' and proceeds until its conclusion. The algorithm is scoring the chip image and the region boundaries during this phase and improves the original wire demand across these boundaries to overcome the congestion causing the failed net. Upon completion of redistribution, this new placement is passed back to the wiring program which continues wiring, including rewiring of the nets affected by the redistribution. This process continues until all failed nets have been overcome and the placement is completely wired. The design is then audited for physical to logical correspondence, technology groundrule violations and its correspondence to the TPG file. At the conclusion of these audits, the design can be submitted to manufacturing. The machine design flow from the users' perspective has been to model and simulate the machine to satisfaction in a high level environment. The machine design is then submitted for cascode logic transformation. The user reviews primitive level implementations in both FET and Bipolar, makes a technology choice, and either optimizes the design further or commits it to physical design. This sequence culminates in a software description of the desired hardware design and serves as an input for actual physical fabrication. This design system represents a design environment that allows the machine architect to totally control the end product. It further reduces the machine development cycle to such an extent that it affords the architect unprecedented opportunity to actually resolve an optimal machine design. Further Detailed Description of Preferred Embodiment The master slice designed to exploit the aforementioned design concepts and the cascode logic technology is illustrated in symbolic form in Fig. 11. As noted in connection with Fig. 1 master slice 1 is comprised of two general areas, an input/output cell perimeter 2 and a logic array area 3 5FCCS, DCCS or DCVS). The logic array area is essentially a brickwall set arranged into device rails 6 delimited by power bussing 5. The device rails are further illustrated by the logic array exploded portion 4 in Fig. 12. Fig. 12 illustrates device level detail of a master slice and represents a complete device structure requiring only personalization contact holes and interconnect metal in order to form a functional logic product. A portion 6a of the device rail 6 in Fig. 12 is illustrated in symbolic form in Fig. 13. The device rail structure includes power rails 5a to Vdd and 5b to Ground and can be characterized as follows. A row of N Channel enhancement mode FET devices 35 are provided and located nearest to the power bus 5b and stacked vertically from that point into five rows abutting a final row of N Channel depletion mode load devices 36 nearest to power bus 5a. Also illustrated in Fig. 13 are the device interconnect wiring channels, vertical channels 38 and horizontal channels 39, utilized to interconnect the components of the logic array into a logical function. The physical design is accomplished through the placement and interconnection of primitive microblocks (FCCS, DCCS or DCVS) against this generalized logic array area. One such microblock is illustrated in Fig. 14 by reference 45. Microblock 45 is illustrated with the available wiring channels in the vertical direction 38 and horizontal direction 39 utilized for interconnection with other such microblocks to form a complete physical interconnect of a logical product. The microblock 45 in Fig. 14A, 14B and 14C is comprised of a set of symbolic outer rectangular shapes encompassing the actual mask level contact holes necessary for personalization of these devices. Application of microblocks to the physical image is further illustrated by Figs. 15A and 15B for FCCS technology, by Figs 16A and 16B for DCCS technology and Fig.17 for DCVS technology. The application of the depletion mode load device microblock 37a (37'a, 37"a) against the background image of the master slice represented by physical symbolic target 37. The symbolic target 37 has been overlayed with the depletion mode load element microblock 37a completing the device vertical structure which now include the contact holes necessary for interconnecting this device with the other devices in the logic network. The application of logic microblock 45 (45', 45") against the physical symbolic target reference 36 (36', 36") is also illustrated. Fig. 15B for FCCS technology illustrates the application of the logical microblock reference 45 in the proximity of the ground power bus 5B. Fig. 16B for DCCS technology, illustrates the application of the logical microblock 45' and in addition the application of the current source microblock reference 35'a against the symbolic physical target reference 35'. The essence of this master slice design concept exploiting cascode logic at its most granular microblock level is provided by Fig. 18. Fig. 18 represents a four-bit ripple carry adder 50, that has been described logically at the microblock level in the bipolar cascode logic embodiment DCCS.This microblock description is used to ascertain the appropriate placement for each individual microblock weighing its impact upon the various other microblocks of the circuit solution and the impact of the other microblocks upon it. The notion is to derive wiring freeways between devices exactly and precisely where required based on the interrelationship of all the microblocks configuring the solution. The utilization of the master slice allows the discrete placement of each microblock required by the logical function to be derived in an optimal sense considering both its immediate and global environment. Fig. 18 illustrates this design flexibility with cascode current switch trees 51 and 52. The cascode current switch tree 51 is identical in terms of logical function to the cascode current switch tree 52. The physical form factors of these trees, however, is quite different attributed to the considerations of each trees' immediate environment. This exemplifies the master slice's support of optimal placement for each individual microblock taking into account the global and specific relationships it has with all other microblocks. Thus, a significant aspect of this invention is the discovery that a cascode current switch can be dealt with both logically and physically at this microblock level. As has been described and illustrated, a logical description of an eventual logic product can be derived in terms of this very granular microblock level. This logical description can be transposed and dealt with at this same microblock level into a physical design.

Claims: A method of fabricating very large scale integrated circuit from a master slice in cascode switch circuits in an automated placement and wiring environment characterized in that the semiconductor electronic quality wafer comprises a "brickwall" set of active elements such as Field Effect Transistors or bipolar transistors, arranged in a master slice image. The method of claim 1 further characterized in that: two general areas,are defined on said master slice and include an input/output cell perimeter and cascode logic area. The method of Claim 1 or 2 wherein said active elements are selected for the support of a FET- Cascode Current Switch circuit/logic technology. The method of claim 1, 2 or 3 in which further additional active Field Effect transistor elements are positioned and selectively interconnected with the elements on said master slice by way of contact holes and metal wiring planes and bonding pads for connecting to logic service terminals, thereby producing a completed personalized wafer whereby said wafer may be probe tested, sectioned and sorted into good die, said good die thereafter being assembled into a package, sealed and subjected to further testing. The method of claim 3 or 4, for stockpiling in a substock awaiting further steps in defining a completed functional product incorporating cascode current switch circuits, comprising the steps of : (1) locating a silicon wafer and the like; (2) processing said wafer to produce an isolation region thereon; (3) processing said wafer to produce a source/drain diffusion region thereon; and (4) processing said wafer to produce a polysilicon gate region thereon, whereby the vertical structures of all the active components on the wafer is complete. The method of claim 1 or 2 wherein said active elements are selected for the support of a differential cascode current switch logic technology. The method claim 1, 2 or 6 wherein further additional active and passive components are positioned and selectively interconnected with the elements on said master slice by way of contact holes and metal wiring planes and bonding pads for connecting to logic service terminals, thereby producing a completed personalized wafer whereby said wafer may be probe tested, sectioned and sorted into good die, said good die thereafter being assembled into a package, sealed and subjected to further testing. The method of claim 6 or 7, for stockpiling in a substock awaiting further steps in defining a completed functional product, comprising the step of : (1) locating a silicon wafer and the like ; (2) processing said wafer to produce a bottom isolation region thereon ; (3) processing said wafer to produce a collector region thereon ; (4) processing said wafer to produce a base diffusion region thereon ; and (5) processing said wafer to produce an emitter diffusion region thereon, whereby the vertical structures of all the active and passive components on the wafer is complete. The method of claim 7 or 8, for stockpiling in a substock awaiting further steps in defining a completed functional product, comprising the steps of: (1) oxidizing and locating a silicon wafer and the like ; (2) processing said wafer to produce a buried collector region thereon ; (3) processing said wafer to produce a bottom isolation region thereon ; (4) processing said wafer to produce a collector reach through region thereon ; (5) processing said wafer to produce a base diffusion region thereon ; and (6) processing said wafer to produce an emitter diffusion region thereon, whereby the vertical structures of all the active and passive components on the wafer is complete. The method of claim 1 or 2 wherein said active elements are selected for the support of a Differential Cascode Voltage Switch circuit/logic technology. The method of claim 1, 2 or 10 wherein further additional active components of N and P polarity are positioned and selectively interconnected with the elements on said master slice by way of contact holes and metal wiring planes and bonding pads for connecting to logic service terminals, thereby producing a completed personalized wafer whereby said wafer may be probe tested, sectioned and sorted into good die, said good die thereafter being assembled into a package, sealed and subjected to further testing. The method of claim 10 or 11, for stockpiling in a substock awaiting further steps in defining a completed functional product, comprising the steps of: (1) locating a semiconductor electronic quality wafer and the like ; (2) processing said wafer in a CMOS sequence having two orthogonal wiring plane capability to produce a master slice having a plurality of active FET elements thereon of both N and P polarity on the same wafer. The method of claim 10 or 11, for stockpiling in a substock awaiting further steps in defining a completed functional product, comprising the steps of: (1) oxidizing and locating a silicon wafer and the like ; (2) processing said silicon wafer in a CMOS sequence having two orthogonal wiring plane capability to produce a master slice having a plurality of active FET elements thereon of both N and P polarity on the same wafer whereby the vertical structures of all the active elements on the wafer is complete. The method according to any one of claims 5, 8, 9, 12 or 13 further comprising the following steps of personalization : (1) opening contact holes for said active and passive components; (2) selectively interconnecting said elements with metal wiring planes; (3) connecting to logic terminals thereon to thereby produce a completed personalized wafer; (4) probe testing the completed personalized wafer; (5) sectioning said wafer into die; (6) sorting out good die; (7) assembling each sorted good die into a package; and (8) processing said packages through a final test A method of fabricating cascode switch products optimizing high level structure and primitive implementation comprising the steps of: (1) modeling, simulating and optimizing the high level structures utilizing generic descriptions such as logic maps and truth tables of various machine functional partitions; (2) decomposing said generic description into a primitive logic form such as tree networks. (3) producing primitive logic machine diagrams updated with various logic groups and longest path delays; (4) interrogating said machine diagrams in order to generate clocks; (5) validating the primitive logic by comparison with the logic model functional patterns from which they were derived; (6) reviewing the primitive level implementation for further optimization of design; (7) determining hierarchical placement by utilizing a Monte Carlo simulated annealing method for discrete optimization; (8) selecting hierarchical wiring by means of a maze runner algorithm; (9) proceeding with physical validation rules and test pattern generation; (10) producing microelectronic Field Effect transistor circuits by masking and fabrication; and (11) testing and performing logic model hardware validation.

Inventors: DAVIS, JAMES WILLIAM, JONES, FRANK DUANE, MOORE, VICTOR STEWART, THOMA, NANDOR, GYORGY
Applicants: INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1984
Main classification: H01L27
IPC codes: H01L27, G06F17, H03K19