Full and partial die tape-out from a common design

JP7637292B2Active Publication Date: 2025-02-27APPLE INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024068581
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-07-26
Filing Date
2024-04-19
Publication Date
2025-02-27
Estimated Expiration
2042-08-12

Smart Images

  • Figure 0007637292000001
    Figure 0007637292000001
  • Figure 0007637292000002
    Figure 0007637292000002
  • Figure 0007637292000003
    Figure 0007637292000003
Patent Text Reader

Abstract

To provide a method for designing a chip and an integrated circuit which are taped out from a common design database.SOLUTION: The method defines a region of the whole instance of an integrated circuit, defines at least one shear line so that a part to be removed for at least one partial instance is identified, and defines various different techniques or mechanisms to allow tape-out to be performed from the common design database. Labor for taping out the partial instance can be thus made much less than the labor for taping out the whole instance.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] TECHNICAL FIELD The embodiments described herein relate to integrated circuits, and more particularly, to integrated circuits designed for full and partial tapeout. [Background technology]

[0002] An integrated circuit includes various digital logic circuits and / or analog circuits integrated onto a single semiconductor substrate or “chip.” A wide variety of integrated circuits exist, ranging from fixed function hardware to systems-on-a-chip (SOC) that include a microprocessor, a processor, an integrated memory controller, and various other components to form a highly integrated chip that can be the center of a system.

[0003] A given integrated circuit can be designed for use in a variety of systems (e.g., a "general purpose" component). A given integrated circuit can include a set of components that allow it to be used in a variety of systems, but a particular system may not require all components, or the full functionality and / or performance of all components. The extra components / functionality are effectively wasted, resulting in unrecoverable costs and power consumption (at least leakage power) within the system. For portable systems that operate at least part of the time from a limited power source (e.g., a battery), inefficient use of power leads to inefficient use of the limited supply, as opposed to the essentially unlimited supply of a wall outlet, and even unacceptably short times between charges required with the limited supply.

[0004] Matching integrated circuit functions to the requirements of a given system is therefore important to producing a quality product. However, custom integrated circuit design for many different systems also has a cost in terms of the design and validation effort for each integrated circuit. [Brief description of the drawings]

[0005] The following detailed description refers to the accompanying drawings, which are briefly described below.

[0006] [Figure 1] FIG. 1 is a block diagram of one embodiment of an integrated circuit design that supports full and partial instantiations.

[0007] [Diagram 2] 2A-2C illustrate various embodiments of full and partial instances of the integrated circuit shown in FIG. 1. [Diagram 3] 2A-2C illustrate various embodiments of full and partial instances of the integrated circuit shown in FIG. 1. [Figure 4] 2A-2C illustrate various embodiments of full and partial instances of the integrated circuit shown in FIG. 1.

[0008] [Diagram 5] 2 is a block diagram of one embodiment of the integrated circuit shown in FIG. 1 having a local clock source for each sub-domain of the integrated circuit.

[0009] [Figure 6] FIG. 2 is a block diagram of one embodiment of the integrated circuit shown in FIG. 1 having local analog pads in each sub-region of the integrated circuit.

[0010] [Figure 7] FIG. 2 is a block diagram of one embodiment of the integrated circuit shown in FIG. 1 with exclusion regions at the corners of each subregion and areas for interconnect "bumps" that exclude areas near the edges of each subregion.

[0011] [Figure 8] FIG. 2 is a block diagram illustrating one embodiment of a stub and corresponding circuit components.

[0012] [Figure 9] FIG. 2 is a block diagram illustrating one embodiment of a pair of integrated circuits and certain additional details of the pair of integrated circuits.

[0013] [Figure 10] FIG. 1 is a block diagram of an embodiment of an integrated circuit design methodology.

[0014] [Figure 11] FIG. 2 is a block diagram showing a test bench configuration for testing full and partial instances.

[0015] [Figure 12] FIG. 2 is a block diagram showing a test bench configuration for component level testing.

[0016] [Figure 13] 1 is a flow chart illustrating one embodiment of a method for designing and manufacturing integrated circuits.

[0017] [Figure 14] 1 is a flow chart illustrating one embodiment of a method for manufacturing an integrated circuit.

[0018] [Figure 15] FIG. 1 is a block diagram of one embodiment of a computer-accessible storage medium.

[0019] [Figure 16] 1 is a block diagram of various systems in which the integrated circuit may be used.

[0020] While the embodiments described in this disclosure may be susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and described in detail herein. It should be understood, however, that the drawings and detailed description thereof are not intended to limit the embodiments to the particular forms disclosed, but rather, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the appended claims. The headings used herein are for organizational purposes only and are not intended to be used to limit the scope of the description. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] In one embodiment, the integrated circuit method and design supports two or more tape-outs of different implementations of the integrated circuit and their eventual manufacture based on a common design database. The design may support a global instance, where all circuit components included in the design are included in the manufactured chip, and one or more partial instances that include a subset of the circuit components in the manufactured chip. The partial instance may be manufactured on a smaller die, but the circuit components and their physical placement and wiring with the partial instance may be the same as the corresponding region in the global instance. That is, a partial instance may be created by removing a portion of the region of the global instance and the components thereon from the design database to create the partial instance. Designing, verifying, synthesizing, performing timing analysis, performing design rule checks, performing electrical analysis, etc. may be shared across the global and partial instances. Furthermore, in one embodiment, integrated circuit chips suitable for a variety of products with different computational requirements, form factors, cost structures, power supply limitations, etc. may be supported from the same design process. In one embodiment, a global instance of a SOC may be coupled with other global instances or even different SOCs to build a larger system. In one embodiment, partial instances may in turn be coupled with whole instances, other partial instances, and / or other SOCs to build larger systems. In one embodiment, a partial instance of a given SOC may include a partial instance of a given circuit component.

[0022] For example, the overall instance may include a certain number of computing units (e.g., a central processing unit (CPU) processor, a graphics processing unit (GPU), a co-processor attached to a CPU processor, a digital signal processor, an image signal processor, or other specialized processor). The partial instance may include fewer computing units. The overall instance may include a certain amount of memory capacity through multiple memory controllers, and the partial instance may include fewer memory controllers supporting a smaller memory capacity. In an embodiment, the number of memory channels may be reduced, thereby reducing bandwidth. That is, reducing memory controllers / memory channels may support a smaller memory and / or a smaller memory bandwidth. The overall instance may include a certain number of input / output (I / O) devices and / or interfaces (also referred to as peripheral devices / interfaces or simply peripherals). The partial instance may have fewer I / O devices / interfaces.

[0023] In one embodiment, the partial instance may further include a stub region. The stub region may provide termination of input signals to circuit components included in the partial instance, where the source of those input signals in the overall instance is the circuit components in the removed region, and thus the input signals are unconnected in the absence of the stub. Output signals from the circuit components to the circuit components in the removed region may reach at least the edge of the stub and may be unconnected. In one embodiment, the stub region may include metallization that connects the input signals to power (digital 1) or ground (digital 0) wires (e.g., power and ground grids) as necessary to provide proper function of the circuit components in the partial instance. For example, a power manager block in the partial instance may receive an input from the removed circuit component, and the input may be tied to a power or ground grid to indicate that the removed circuit component is powered off, idle, etc., so that the power manager block does not wait for a response from the removed circuit component when changing power states. In one embodiment, the stub region may include only metallization. That is, the stub region can exclude active circuitry (e.g., transistors formed in the semiconductor substrate). A metallization layer (or metal layer) is formed above the surface region of the semiconductor substrate to provide wire interconnects between the active circuit elements (or provide digital 1 / 0 values ​​within the stub region). Managing the partial instance design in this manner can minimize the amount of verification of the partial instance relative to the effort on the full instance. For example, no additional timing verification may be required and additional physical design verification may be minimal.

[0024] FIG. 1 is a block diagram illustrating one embodiment of a general instance and several partial instances of an integrated circuit. The general instance of the integrated circuit is indicated by bracket 12 ("chip 1"), and the partial instances of the integrated circuit are indicated by brackets 14 and 16 ("chip 2" and "chip 3"). The general instance, chip 1, includes multiple circuit components 10A-10D. The physical locations of the circuit components 10A-10D on the surface of the semiconductor substrate chip or die (reference numeral 18) of the general instance are indicated by the layout of the circuit components 10A-10D. FIG. 1 is a simplified representation, there may be more circuit components, and the physical layout may differ from that shown in FIG. 1. Various interconnects between the circuit components 10A-10D are used for communication between the components and are not shown in FIG. 1. The interconnects, as well as the interconnects within the circuit components 10A-10D themselves, may be implemented in a metallization layer above the semiconductor substrate surface.

[0025] Each partial instance corresponds to a "shear line" 20A-20B in FIG. 1. The shear lines divide those circuit components 10A-10D included in the whole instance into circuit components 10A-10D included in various partial instances. Thus, for example, chip 2 is defined by shear line 20A and includes circuit components 10A-10C but does not include circuit component 10D. Similarly, chip 3 is defined by shear line 20B and includes circuit components 10A-10B but does not include circuit components 10C-10D. The shear lines may be defined in the design database or may be part of the design process, but need not be explicitly represented in the design database.

[0026] In general, the design database may include a number of computer files that store descriptions of the circuit components 10A-10D and their interconnects. The design database may include, for example, a register transfer level (RTL) description of the circuit expressed in a hardware description language (HDL) such as Verilog, VHDL, etc. The design database may include circuit descriptions from a circuit editor tool for circuits that are implemented directly rather than synthesized from an RTL description using a library of standard cells. The design database may include a netlist resulting from synthesis that describes the standard cell instances and their interconnects. The design database may include a tape-out description file that includes a physical layout description of the circuit components and their interconnects and describes the integrated circuit in terms of geometries and layers that may be used to create masks for the integrated circuit manufacturing process. The tape-out description file may be expressed in a Graphical Design System (GDSII) format, an Open Artwork System Interchange Standard (OASIS) format, etc. Any combination of the above may be included in the design database.

[0027] The shear lines 20A-20B divide the area of ​​the chip 18 into sub-areas within which a subset of the circuit components 10A-10D are instantiated. For example, the shear line 20B divides the area of ​​the chip 18 into a first sub-area (above the line 20B as oriented in FIG. 1) and a second sub-area (below the line 20B). The shear line 20A further divides the second sub-area into a third and a fourth sub-area, with the third sub-area adjacent or abutting the first sub-area. The combination of the first and second sub-areas represents the entire instance. The first sub-area alone (together with the stub area) represents the smallest partial instance (chip 3). The first and third sub-areas represent the other partial instance (chip 2) of this embodiment.

[0028] The physical locations of the circuit components in a given sub-region, and the interconnects within and between the circuit components, may not change between the full instance and the partial instance. Thus, if the circuit components in the full instance meet the timing, physical design, and electrical requirements for successful manufacture and use of the full instance, the same requirements should generally be met by the partial instance as well. The physical design and electrical requirements in the stub region may need to be verified, and specific physical design requirements such as corner exclusion zones and Controlled collapse chip connect (C4) bump exclusion zones may apply to the sub-regions, as discussed below. However, in one embodiment, once the full instance is verified and ready for tape-out, tape-out of the partial instance can proceed with minimal effort.

[0029] 2-4 show partial and full instances of the embodiment shown in FIG. 1. FIG. 4 is a full instance and therefore includes circuit components 10A-10D. FIGS. 2 and 3 correspond to chip 3 and chip 2, respectively. Thus, the partial instance of FIG. 2 includes circuit components 10A-10B from the first sub-region and stub region 22 (stub 1). The partial instance of FIG. 3 includes circuit components 10A-10B from the first sub-region, circuit components 10C from the second sub-region, and stub region 24 (stub 2). In another embodiment, the partial instance may be formed by removing a portion between shear lines 20A-20B, e.g., component circuit 10C, and joining the remaining sub-regions, e.g., component circuits 10A-10B and component circuit 10D. If more than two shear lines are defined, even more deformations may be supported by removing one or more sub-regions between the respective shear lines. Such an embodiment may be implemented by implementing stub regions (which may be smaller than the removed sub-regions) between the shear lines, or by ensuring that the wires on either side of the removed sub-region match up and connect correctly when the sub-region is removed and the remaining sub-region is moved together. In yet another embodiment where multiple shear lines are used, one or more shear lines may be orthogonal to other shear lines to remove sub-regions in more than one direction. In various embodiments, any combination of orthogonal shear lines and intermediate removal / joining may be implemented.

[0030] A circuit component may be any group of circuits arranged to implement a particular component of an IC (e.g., a CPU or GPU, a cluster of processors or GPUs, a memory controller, a communications structure or portion thereof, a peripheral device or peripheral interface circuit, etc.). A given circuit component may have a hierarchical structure. For example, a processor cluster circuit component may have multiple instances of a processor, which may be copies of the same processor design arranged multiple times within the area occupied by the cluster.

[0031] According to this description, the method may include defining, in a design database corresponding to the integrated circuit design, a region that will be occupied by the integrated circuit design when fabricated on a semiconductor substrate. For example, the region may be a region of a global instance as shown in FIG. 1 and FIG. 4. The method may further include defining a shear line (which may be one of a plurality of shear lines). The shear line may partition the region into a first sub-region and a second sub-region, the combination of the first sub-region and the second sub-region representing the global instance. The first sub-region and the stub region represent a partial instance of the integrated circuit that includes fewer circuit components than the global instance. In the design database, physical locations of a plurality of circuit components included in both the global instance and the partial instance of the integrated circuit are defined in the first sub-region. The relative positions of the plurality of circuit components in the first sub-region and the interconnects of the plurality of circuit components in the first sub-region may not change in the global instance and the partial instance. The physical locations of another plurality of circuit components included in the global instance but excluded from the partial instance are defined in the second sub-region. The stub region is also defined in the design database. The stub region may include an end of a wire that would otherwise cross a shear line between the first sub-region and the second sub-region. The stub region may ensure correct operation of a plurality of circuit components in the first sub-region in the absence of the second sub-region in the partial instance. A first data set for the entire instance may be created using the first sub-region and the second sub-region, the first data set defining the entire instance for fabrication of the entire instance. A second data set for the partial instance may also be created using the first sub-region and the stub region. The second data set defining the partial instance for fabrication of the partial instance. In an embodiment, the method may further include defining a second shear line in the second sub-region to divide the second sub-region into a third sub-region and a fourth sub-region. The third sub-region may be adjacent to the first sub-region, and the third sub-region and the first sub-region may represent a second partial instance of the integrated circuit.The method may further include creating a third data set for the second part instance using the first sub-region, the third sub-region, and the second stub region, the third data set defining the second part instance for manufacturing the second part instance.

[0032] As discussed above, a stub region may exclude circuitry. For example, a stub region may exclude active circuitry, such as transistors or other circuitry, formed in the semiconductor substrate. A stub region may exclude circuitry (e.g., explicit resistors, inductors, or capacitors) that may also be formed in a metallization layer. A metallization layer may have parasitic properties (e.g., resistance, inductance, and capacitance), but explicitly defined circuitry may not be permitted. A stub region may include only wiring in one or more metallization layers above a surface region of the semiconductor substrate.

[0033] Another method may include receiving a first data set and a second data set, for example at a semiconductor manufacturing facility or “foundry.” The method may further include fabricating a first plurality of full instances of the integrated circuit based on the first data set, and fabricating a second plurality of partial instances of the integrated circuit based on the second data set.

[0034] An integrated circuit implementing a partial instance according to the present disclosure may include a plurality of circuit components physically disposed on a surface of a semiconductor substrate forming the integrated circuit, and a plurality of wire terminations along a single edge of the surface (e.g., a stub region). The plurality of wire terminations may be electrically connected to a plurality of supply wires of the integrated circuit to provide fixed digital logic levels on the wires that are inputs to one or more of the plurality of circuit components. The power supply wires may be part of a power supply grid (e.g., a power and / or ground grid) in a metallization layer of the integrated circuit. The power and ground grid may also be referred to as a power and ground grid. The input wires terminated by the wire terminations are oriented to cross the single edge and are devoid of circuitry configured to drive the wires in the integrated circuit (e.g., the wires are driven in the whole instance by circuit components in a second sub-region that are not present in the partial instance). The region along the single edge that includes a plurality of wire terminations also excludes active circuit elements. For example, the region along the single edge may include only wiring in one or more metallization layers above the surface region of the semiconductor substrate.

[0035] The methods described herein may affect various areas of the overall design process for an integrated circuit. For example, floorplanning is an element of the design process in which various circuit components are assigned to regions on a semiconductor substrate. During floorplanning, the presence of partial instances and the location of shear lines may be considered to ensure that circuit components included in all instances are included in a first sub-region and other circuit components are included in a second sub-region (or a third and fourth sub-region, etc.). Furthermore, the shape of the sub-regions may be carefully designed to provide efficient use of area in both the whole instance and the partial instance. The main buses or other interconnects that may provide communication between circuit components throughout the whole instance may be designed to properly manage communication in the various instances (e.g., in the partial instance, the buses may be terminated in stub regions or may be unconnected in the stub regions, so that communication should not be sent in the direction of the stub regions). Floorplanning may also consider tape-out requirements for both the whole instance and the partial instance (e.g., various exclusion zones as discussed in more detail below). Additionally, floorplanning can attempt to minimize the number of wires that cross shear lines to simplify verification that partial instances behave correctly.

[0036] In one embodiment, considerations at the floorplanning stage may include the definition of certain essential connections that may be affected by shear to partial instances. Clock interconnects and analog interconnects may be examples. Often, clock interconnects (or "clock trees") are designed such that the distances and electrical loads from clock generators or clock sources to clock terminations at various state elements within a circuit component are approximately the same or "balanced." State elements may include, for example, flip-flops ("flops"), registers, latches, memory arrays, and other clock storage devices.

[0037] To maintain balance among various instances of an integrated circuit design, separate clock trees may be defined between local clock sources in each sub-region and state elements in that sub-region. For example, FIG. 5 is a block diagram illustrating one embodiment of a global instance of an integrated circuit (chip 18) and shear lines 20A-20B that partition sub-regions of the global instance for shearing into partial instances. Shown are local clock source(s) 30A-30C, each driving an individual clock tree represented by a line in each sub-region. The clock trees do not have to cross the shear lines 20A-20B; that is, the clock trees in a given sub-region may remain within that sub-region.

[0038] A clock source may be any circuit configured to generate a clock signal for circuitry coupled to the clock tree. For example, a clock source may be a phase-locked loop (PLL), a delay-locked loop (DLL), a clock divider circuit, etc. A clock source may be coupled to a clock input to an integrated circuit where an external clock signal is provided, and the clock source may multiply or divide the frequency while locking the phase or clock edges to the external signal.

[0039] Thus, the method may further include defining one or more first clock trees in the first sub-region to distribute the clock in the first sub-region, and defining one or more second clock trees in the second sub-region to distribute the clock in the second sub-region. The one or more first clock trees may be electrically isolated from the one or more second clock trees in the overall instance. The clock trees may be physically independent (e.g., connected to different local clock sources) as shown in FIG. 5. The clock trees may not cross a shear line to another sub-region. In the manufacturing method, the first data set may further include one or more first clock trees for distributing the clock in the first sub-region and one or more second clock trees for distributing the clock in the second sub-region, and the one or more first clock trees may be electrically isolated from the one or more second clock trees in the overall instance.

[0040] In one embodiment, an integrated circuit may include one or more clock trees for distributing a clock within a first sub-region of a first region and one or more second clock trees for distributing a clock within a second sub-region, wherein the one or more first clock trees may be electrically isolated from the one or more second clock trees.

[0041] FIG. 6 is a block diagram illustrating one embodiment of an overall die 18 partitioned by shear lines 20A-20B, and the provision of local analog pads 32A-32C in each sub-region defined by the shear lines 20A-20B. The analog pads 32A-32C may provide connection points for analog inputs to the chip. Analog signals often have special requirements, such as shielding from digital noise that may affect the accuracy and functionality of the analog signals, and these signals are continuous value signals in contrast to digital signals, which only refer to digital values ​​and not transitions between them. Ensuring that analog requirements are met within each sub-region may simplify the design of the overall integrated circuit. In one embodiment, if there is no use of analog signals in a given sub-region, that sub-region may exclude analog pads and signal routing.

[0042] Thus, the method may further include defining one or more first analog inputs in the first sub-region and defining one or more second analog inputs in the second sub-region. The one or more first analog inputs may remain in the first sub-region and the one or more second analog inputs may remain in the second sub-region. That is, analog signals on or derived from the inputs may be transmitted on wires that do not cross the shear line 20A-20B. In the manufacturing method, the first data set may further include one or more first analog inputs in the first sub-region, the one or more first analog inputs remaining in the first sub-region and the first data set further includes one or more second analog inputs in the second sub-region, the one or more second analog inputs remaining in the second sub-region.

[0043] According to the present disclosure, an integrated circuit may comprise a first plurality of circuit components physically disposed within a first region of a surface of a semiconductor substrate forming the integrated circuit and a second plurality of circuit components physically disposed within a second region of a surface of a semiconductor substrate forming the integrated circuit. One or more first analog inputs may be provided within the first region, the one or more first analog inputs being isolated to the first plurality of circuit components. One or more second analog inputs may be provided within the second region, the one or more second analog inputs being isolated to the second plurality of circuit components.

[0044] Another feature of an integrated circuit that may be considered is a design for testability (DFT) strategy. DFT generally includes a port or ports on which a DFT interface is defined, such as an interface compatible with the Joint Test Access Group (JTAG) specification. DFT may include defining a scan chain of state elements to scan in and out states in the design, and the scan chain may be defined to remain within a given sub-region, for example. Separate DFT ports may be provided within each sub-region to minimize shear line crossing communication as much as possible. If shear line crossing communication is required, such signals may be terminated (inputs to a sub-region) and left unconnected in stub regions (outputs of a sub-region), similar to other signals. In one embodiment, scan networks and other DFT networks may be designed as hierarchical rings, such that portions within removed circuit components may be disconnected from the DFT network without further impacting the remaining network.

[0045] In one embodiment, some circuit components may be instantiated multiple times within a full instance. One or more of the instances may be in sub-regions that are not included in one or more of the partial instances. These circuit components are designed to meet all requirements (timing, physical, electrical) at each location of the instance, and therefore may be over-designed for some other locations (e.g., circuit components may be designed for worst case clock skew across those locations, etc.). Additionally, the partial instances may have different packaging solutions that may require additional design to handle differences within the package (e.g., different IR voltage drops).

[0046] In one embodiment, a foundry may require the fabrication of certain "non-logic" cells on a semiconductor substrate. These cells are not part of the integrated circuit itself, but may be used by the foundry to tune the manufacturing process. The cells required by the foundry may have strict rules and may be dependent on the size of the die, and therefore the placement of these cells in the floorplan of the full instance may need to be planned so that they are also properly placed in the partial instance(s).

[0047] FIG. 7 shows an embodiment of various types of exclusion regions (or exclusion zones), which is another consideration in integrated circuit design. On the left side of FIG. 7, a full instance (chip 1) of a full die 18 is shown with a partial instance on the right side, chip 3 on top (its location in the full instance is above shear line 20B, indicated by dotted line 34) and chip 2 on the bottom (its location in the full instance is above shear line 20A, indicated by dashed line 36). For each instance, the corners of the chip have exclusion zones where circuitry is not allowed (or must follow much stricter design rules than other parts of the semiconductor substrate surface). Since mechanical stresses on the corners of a semiconductor die can be greater than mechanical stresses at other locations on the chip, corner exclusion zones can be defined. The corner exclusion zones are indicated by the shaded areas indicated by reference numeral 38 in FIG. 7.

[0048] Thus, the full instance has "corner" exclusion zones along the sides of the chip, not only at each of the four corners, but also at the corners of the sub-regions adjacent to the shear lines 20A-20B, which terminate at the corners of the chip in the partial instance. The additional corner exclusion zones may be the same size as the corner exclusion zones of the full instance, or may be different, in which case the size of the corner exclusion zones increases or decreases with the size of the full die.

[0049] Thus, the method may further include defining a plurality of exclusion zones at respective corners of the semiconductor substrate, where the circuit components are excluded from the plurality of exclusion zones according to the mechanical requirements of the manufacturing process used to manufacture the integrated circuit. The method may further include defining additional exclusion zones at corners of the first sub-region adjacent to the shear line, whereby the partial instance includes an exclusion zone at each corner of the semiconductor substrate on which the partial instance is formed. The first data set in the manufacturing method may include a plurality of exclusion zones at respective corners of the semiconductor substrate, where the circuit components are excluded from the plurality of exclusion zones according to the mechanical requirements of the manufacturing process used to manufacture the integrated circuit, whereby the first data set may include additional exclusion zones at corners of the first sub-region adjacent to the second sub-region, whereby the partial instance includes an exclusion zone at each corner of the semiconductor substrate on which the partial instance is formed.

[0050] Additionally, an integrated circuit (e.g., including an entire instance) may comprise a first plurality of circuit components physically disposed within a first region of a surface of a semiconductor substrate forming the integrated circuit; a plurality of exclusion zones at respective corners of the semiconductor substrate, where circuit components are excluded from the plurality of exclusion zones in accordance with mechanical requirements of a manufacturing process used to produce the integrated circuit; and another plurality of exclusion zones separated from the respective corners along a pair of nominally parallel edges of the semiconductor substrate, where circuit components are excluded from the another plurality of exclusion zones, where the another plurality of exclusion zones are substantially the same dimensions as the plurality of exclusion zones.

[0051] FIG. 7 also illustrates allowable locations for C4 bumps in the full and partial instances of the integrated circuit, which locations are illustrated as double-shaded regions of reference numeral 40 in FIG. 7. Areas outside the areas illustrated by the double-shaded regions 40 may not be allowable locations for C4 bumps (e.g., C4 bump exclusion zones) or stricter rules may be defined for placing C4 bumps in those areas. Thus, there are allowable locations / exclusion zones at each edge of each instance. That is, there may be C4 exclusion zones around the perimeter of the full die 18 and on both sides of the shear lines 20A-20B. Thus, the method may further include defining a second exclusion zone along an edge of the first sub-region adjacent to the second sub-region, where controlled collapse chip connection (C4) connections are excluded from the second exclusion zone. In the manufacturing method, the first data set may further include a second exclusion zone along an edge of the first sub-region adjacent to the second sub-region, and the controlled collapse chip connect (C4) connections are excluded from the second exclusion zone. In one embodiment, the integrated circuit may include a second exclusion zone along a line between the plurality of exclusion zones, and the controlled collapse chip connect (C4) connections are excluded from the second exclusion zone.

[0052] 8 is a block diagram illustrating in more detail one embodiment of circuit component 10B and stub region 22 of the embodiment of chip 3 shown in FIG. 2. A similar connection with circuit component 10A may also be provided, and stub region 24 of FIG. 3 may be similar to circuit components 10A-10C. Stub region 22 provides a V DD Termination 50 (input tied up or tied to binary 1), and V SS or ground termination 52 (input tied down or tied to a binary 0). The choice of binary 1 or binary 0 for a given termination may depend on the logical effect of the input in circuit component 10B. In general, the termination may be selected as any value that would allow the receiving circuit to proceed without further input from the removed circuit component that provides the input in the overall instance (e.g., as the output of the removed circuit part). The termination provides a known value when the driving circuit is absent for the signal. The output of circuit component 10B that is connected to the removed circuit component may reach stub region 22 (e.g., reference numerals 54 and 56) but may be unconnected (e.g., not connected to the receiving circuit). In the overall instance or in a relatively large partial instance, output wires 54 and 56 may extend to circuit components that are not present in the partial instance (shown by dotted lines in FIG. 8).

[0053] Thus, an input terminated in a stub region may be a wire that extends into the stub region and is oriented to cross the edge of the integrated circuit in which the stub region is located. The input lacks circuitry configured to drive the wire in the integrated circuit (e.g., the wire is driven in the whole instance by a circuit component that is not present in the partial instance).

[0054] In other cases, it may be desirable to substitute a local input for an input from a removed circuit component. For example, a loopback circuit used for testing, or a ring interconnect structure, may locally complete the loopback / ring at the partial instance. To support such an instance, the receiving circuit component (e.g., circuit component 10B) may include logic circuitry to select between the local signal and the input from the removed component. For example, in FIG. 8, circuit component 10B may include multiple multiplexers (mux) 58 and 60. Each mux 58 or 60 may be coupled to an input wire that would normally be provided from a circuit component not present in the partial instance. The input wire may reach stub region 22 but may be unconnected. Alternatively, the input wire may be terminated with a binary one or zero, as desired. Such input termination may prevent the input from floating and causing wasted current between power and ground for a significant period of time. A mux select wire may also be provided from stub region 22 to provide a binary zero (V SS ) or binary 1(V DD ), allowing the mux to select the local wire. If there is a source circuit component for the input wire (e.g., at the global instance or at a relatively large partial instance), the mux select wire may be provided from the source circuit component (dotted line in FIG. 8). In such a case, the mux select wire may be a dynamic signal that can select between the local input and the input from the source circuit component, if desired during operation, or may be tied to an opposite binary value compared to the mux select wire in the stub region 22.

[0055] Thus, in one embodiment of the method, the overall instance may include other circuit components in the second sub-region that may include outputs that are inputs to the circuit components in the first sub-region. The circuit components may include multiplexer circuits having corresponding ones of the multiple inputs as inputs. The method may include representing, in the stub region, a plurality of select signals for the multiplexer circuits. The select signals may be terminated in the stub region with binary values ​​that select inputs of the multiplexer circuits that are different from the mux inputs to which the multiple inputs are connected. In one embodiment, the select signals may be terminated in the second sub-region with different binary values.

[0056] In one embodiment, an integrated circuit may include a plurality of circuit components physically disposed on a surface of a semiconductor substrate forming the integrated circuit. The plurality of circuit components may include a plurality of multiplexer circuits, a given multiplexer circuit of the plurality of multiplexer circuits having a first input wire, a second input wire, and a selection control wire. The integrated circuit may further include an area along a single edge of the surface, the area being a source of the selection control wire, the second input wire reaching the single edge of the surface and being unconnected, and the selection control wire being electrically connected to a supply wire of the integrated circuit. A voltage on the supply wire in use corresponds to a digital logic level that causes the plurality of multiplexer circuits to select the first input wire as an output of the plurality of multiplexer circuits.

[0057] Reference is now made to FIG. 9, which is a block diagram of one embodiment of a pair of integrated circuits 76 and 78, which may be an entire instance of chip 18. In one embodiment, cut lines 20A-20B are shown with respect to integrated circuit 76, illustrating certain additional details of integrated circuit 76. In particular, integrated circuit 76 may include a number of network switches 70A-70H, which may be part of a communications network within integrated circuit 76. The communications network may be one example of a circuit component, which may be configured to provide communications between other circuit components (e.g., processors, memory controllers, peripherals, etc.).

[0058] The network switches 70A-70H may be coupled together using any topology, such as a ring, mesh, star, etc. When a given communication message or packet is received by the network switches 70A-70H, the network switches 70A-70H may determine which output to send the packet to move the packet toward its destination. The direction may depend on which instance of the integrated circuit the network switch is fabricated on. For example, if a full instance is fabricated, a given network switch, such as the network switch 70E, may transmit the packet either upward or downward as shown in FIG. 9 (or if another circuit component, not shown, coupled to the network switch 70E is the target of the packet, the network switch 70E may send the packet to that circuit component). However, if a partial instance is formed based on the shear line 20A, the network switch 70E cannot send the packet downward because there is no receiving circuit. Similarly, in that scenario, the network switch 70F cannot send the packet downward. If a partial instance is formed based on the shear line 20B, the network switches 70C and 70D cannot send the packet in the downward direction.

[0059] Thus, the operation of at least some of the network switches 70A-H may depend on the instance. There may be multiple ways to manage the differences. For example, the inputs to the switches may specify the instance (either by stub regions or, in the case of a whole instance, by circuit components in the region below the shear line 20B). In the illustrated embodiment, a routing table or other programmable resource 74 may be included in each network switch 70A-H. The routing table 74 may be programmed at initialization (e.g., by boot code or other firmware) based on the instance in place.

[0060] Similarly, various instances may have different numbers of memory controllers (e.g., circuit components in a removed sub-region may include a memory controller and additional memory controllers may be present in the remaining sub-regions). The memory address space may be mapped onto the memory controllers, and thus the mapping may vary based on the number of memory controllers actually present in a given full or partial instance. The network switches 70A-70H that carry memory operation packets may be programmable with data describing the address mapping, also using programmable resources. Other circuit components that may need to be informed of the address mapping to operate properly may similarly have programmable resources.

[0061] In the illustrated embodiment, a pair of integrated circuits 76 and 78 may be configured to communicate with each other and function as if they were a single integrated circuit die. For example, network switches 70A-70H on each integrated circuit 76 and 78 may be configured to communicate via die-to-die (D2D) interface circuitry 72 to form a single communications interconnect across integrated circuits 76 and 78. Thus, a packet originating on either integrated circuit die may have a destination on the other integrated circuit die and may be transmitted via D2D interface circuitry 72 to a target seamlessly and therefore nearly invisible to software executing within the system.

[0062] Because partial instances of an integrated circuit include less than a full instance of a circuit configuration, one of the component circuits that may be removed from each of the partial instances is the D2D interface circuit 72. That is, the D2D interface circuit 72 may be instantiated within a sub-region that is removed from each of the partial instances (e.g., below the shear line 20A in the illustrated embodiment).

[0063] Figure 10 is a flow diagram illustrating various portions of a design and verification / validation methodology for one embodiment of an integrated circuit that supports full and partial instances. A design database for the full instance is shown in the top center of Figure 10 (reference numeral 80). Design databases for the partial instances are shown to the left and right of the full instance (reference numerals 82 and 84). Design databases 82 and 84 pull from design database 80 the contents of the sub-regions that form the integrated circuit and the corresponding stub regions 22 and 24 as shown in Figure 10, as indicated by arrows 86 and 88.

[0064] The databases 80, 82, and 84 may be analyzed using static timing analysis (block 90) to verify that the design meets timing requirements, physical verification (block 92) to verify that the design meets various physical design rules, and electrical verification (block 94) to verify that the design meets electrical requirements such as power grid stability and impedance (along with the package used for each design, which may vary between full and partial instances). The physical design rules may include features such as device size and minimum spacing between traces in device and / or wiring layers. The physical design rules may also include corner exclusions, C4 bump exclusions, etc., as discussed above. Additionally, in one embodiment, there may be additional "antenna" rules that must be addressed for outputs from circuit components that are not connected in the partial instances.

[0065] The results of the various verification steps may be reviewed and triaged for design changes (engineering change orders or ECOs) that may be expected to improve the results of subsequent runs of the various verifications (triage ECO blocks 96, 98, and 100). ECOs may be performed on the design database 80 regardless of which instance results in the ECO (arrows 102, 104, and 106). Thus, the design database 80 may be somewhat over-engineered if the worst case correction required for the design comes from one of the part instances. If changes are made in sub-areas contained in the part instances, the design databases 82 and 84 may be extracted from the design database 80 after the changes are made to update the part instances.

[0066] Once the various validations are complete (clean blocks 108, 110, and 112), a tape-out is performed on the full and partial instances (blocks 114, 116, and 118) and a data set for each instance is obtained (blocks 120, 122, and 124).

[0067] In various embodiments, there may be additional analysis and design flows, but similarly, any ECOs identified by the various design efforts may be implemented in the overall instance design database 80 and then extracted to the partial design databases 82 and 84.

[0068] Another area of ​​integrated circuit design methodology that may be affected by support for whole and partial instances of an integrated circuit design is design proof (DV). DV generally involves testing an integrated circuit design, or a portion thereof, such as a given circuit component, to ensure that the design operates as expected and meets the functional and / or performance requirements of the design. For example, DV may involve defining a testbench to stimulate the design and measure operation against expected results. The testbench may include, for example, additional HDL code that describes the stimuli. To avoid significant rework and additional resources to perform DV on all instances of a design, a configurable testbench environment may be defined that covers each instance. At the component level, components may be tested using reproduction of chip-level differences between instances.

[0069] 11 is a block diagram illustrating one embodiment of a test bench configuration for chip-level DV. In this example, the test bench can include a test top level 170 that can include a definition description ($DEFINE) that can be selected to be chip 1 (whole instance), chip 2 (partial instance), or chip 3 (partial instance). That is, for a given simulation, the $DEFINE description can be set to the instance to be tested (one of the labels chip 1, chip 2, or chip 3). The test top level 170 can further include a device under test (DUT) 172 (e.g., an integrated circuit of partial and whole instances) and a test bench (TB) 174.

[0070] DUT 172 may include portions of the integrated circuit included in each instance (e.g., in this embodiment, circuit components 10A-10B common to each instance). Common portion 176 may be unconditionally included in DUT 172 for a given simulation. One of three additional portions may be conditionally included depending on the instance being tested in a given simulation. For example, if chip 1 is being tested (and thus the $DEFINE statement describes chip 1), other circuit components 10C-10D may be included (reference number 178). If chip 2 is being tested (and thus the $DEFINE statement describes chip 2), circuit component 10C and stub 24 may be included (reference number 180). If chip 3 is being tested (and thus the $DEFINE statement describes chip 3), stub 22 may be included as a worst case (reference number 182).

[0071] Test bench 174 may be similarly configurable based on $DEFINE statements. Test bench 174 may include common portion 184 that corresponds to common portion 176 (e.g., stimuli of common portion 176). Other portions 184, 186, or 188 may be selectively included based on $DEFINE statements describing chip 1, chip 2, and chip 3, respectively. Stimuli of corresponding portions 178, 180, and 182 may be included, respectively. That is, stimuli of the combination of circuit components 10C-10D may be included in portion 186. Stimuli of the combination of circuit components 10C and stub 24 may be included in portion 188, and stub 22 may be included in portion 190. In one embodiment, portion 190 may be omitted because stub 22 may not include any active circuitry. Alternatively, differences in operation at common portion 176 may be captured within portion 190.

[0072] Thus, the same global setup of the test top level 170 allows for the simulation of any instance of the design with only the modification of the $DEFINE statements to select the design.

[0073] 12 shows an example of circuitry level testing by replication. In this example, chip 1 is shown with certain inputs / outputs (e.g., interfaces) between circuitry 10C and circuitry 10B. Interfaces between other inputs / outputs of circuitry 10A and 10D are received by circuitry 10B, but are not shown in FIG. 12 for simplicity.

[0074] Thus, the test configuration for circuit component 10B may include circuit component 10B of the DUT (reference numeral 192). The interface between circuit component 10B and circuit component 10C may be modeled via a model of circuit component 10C in test bench 194. The model may be a behavioral model of circuit component 10C. Alternatively, the model may be a bus functional model of circuit component 10C that faithfully reproduces the operation of circuit component 10C on the interface but may omit many internal operations. Any model may be used. The test configuration may be replicated to test the layout of chip 3, where, for example, stubs 22 are included to couple up and down various input signals to circuit component 10B on the interface provided by circuit component 10C. The replicated layout includes test bench 196 that instantiates the DUT 192 and the up and down couplings of stubs 22.

[0075] In one embodiment, design integration (DI) may be modified as well. Design integration includes the process of connecting the various circuit components 10A-10D and may provide any necessary "glue logic" that may enable correct communication between the circuit components 10A-10D, etc. As various instances of the integrated circuit are tape-out, various configurations may change. For example, the routing of packets through the network switches 70A-70H (or a subset of the switches included in a given instance) may depend on the instance. Thus, the programming of the routing table 74 may change based on the instance. Other behaviors of the design, such as power management, may change as well. If the behavior is not sufficiently controlled by the pull-ups and pull-downs in the stubs 22 or 24, fuses may be used to identify the instance and therefore the programming of various configuration registers in the routing table 74 or other circuit components 10A-10D. The fuses may be part of the stubs or may be included in the circuit components 10A-10D and may be selectively blown for a given instance.

[0076] 13 is a flow chart illustrating one embodiment of a method for designing and manufacturing an integrated circuit. Although the blocks are shown in a particular order for ease of understanding, other orders may be used. Individual blocks may be performed in parallel.

[0077] The method may include defining, in a design database corresponding to the integrated circuit design, a region that will be occupied by the integrated circuit design when fabricated on a semiconductor substrate (block 130). The method may further include defining a shear line, or more than one shear line, as desired. The shear line may partition the region into a first sub-region and a second sub-region, where the combination of the first sub-region and the second sub-region represents a full instance of the integrated circuit, and the first sub-region and the stub region represent a partial instance of the integrated circuit that includes fewer circuit components than the full instance (block 132). The method may further include representing, in the design database, physical locations of a plurality of circuit components included in both the full instance and the partial instance of the integrated circuit in the first sub-region (block 134). In one embodiment, the relative locations of the plurality of circuit components in the first sub-region and the interconnects of the plurality of circuit components in the first sub-region do not change in the full instance and the partial instance. The method may further include representing in the design database the physical locations of another plurality of circuit components included in the overall instance but excluded from the partial instance of the second sub-region (block 136). The method may further include defining in the design database in a stub region an end of a wire that would otherwise cross a shear line between the first and second sub-regions to ensure correct operation of the plurality of circuit components in the first sub-region in the absence of the second sub-region in the partial instance (block 138). The method may further include creating a first data set for the overall instance using the first sub-region and the second sub-region (block 140). The first data set may define the overall instance for manufacturing the overall instance. The method may further include creating a second data set for the partial instance using the first sub-region and the stub region, the second data set defining the partial instance for manufacturing the partial instance (block 142). The method may further include producing whole and partial instances based on the first and second data sets, respectively (block 144).

[0078] In one embodiment, the stub region may exclude circuitry. For example, the stub region may include only wiring in one or more metallization layers above the surface region of the semiconductor substrate. In one embodiment, the other circuit components in the second sub-region may include outputs that are inputs to the circuit components in the first sub-region. The circuit components may include multiplexer circuits having corresponding ones of the inputs as inputs. The method may further include representing in the stub region a plurality of select signals for the multiplexer circuits. The select signals may be terminated in the stub region with binary values ​​that select inputs of the multiplexer circuits that are different from the inputs to which the inputs are connected. The select signals may be terminated in the second sub-region with different binary values.

[0079] In one embodiment, the method may further include defining a plurality of exclusion zones at respective corners of the semiconductor substrate. Circuit components may be excluded from the plurality of exclusion zones according to mechanical requirements of the manufacturing process used to manufacture the integrated circuit. The method may further include defining additional exclusion zones at corners of the first subregion adjacent the shear line, such that the partial instance includes an exclusion zone at each corner of the semiconductor substrate on which the partial instance is formed.

[0080] In one embodiment, the method may further include defining a second exclusion zone along an edge of the first sub-region adjacent to the second sub-region. Controlled collapse chip connection (C4) connections may be excluded from the second exclusion zone. In one embodiment, the method may further include defining one or more first analog inputs in the first sub-region and defining one or more second analog inputs in the second sub-region. The one or more first analog inputs may initially remain in the first sub-region and the one or more second analog inputs remain in the second sub-region. In one embodiment, the method may further include defining one or more first clock trees in the first sub-region to distribute clocks in the first sub-region and defining one or more second clock trees in the second sub-region to distribute clocks in the second sub-region. The one or more first clock trees may be electrically isolated from the one or more second clock trees in the overall instance. In one embodiment, the method may further include defining a second shear line in the second sub-region in the design database. The second shear line may divide the second sub-region into a third sub-region and a fourth sub-region, the third sub-region being adjacent to the first sub-region. The third sub-region and the first sub-region may represent a second partial instance of the integrated circuit. The method may further include creating a third data set for the second partial instance using the first sub-region, the third sub-region, and the second stub region. The third data set may define the second partial instance for manufacturing of the second partial instance.

[0081] 14 is a flow chart illustrating one embodiment of a method for manufacturing an integrated circuit. Although the blocks are shown in a particular order for ease of understanding, other orders may be used. Individual blocks may be performed in parallel.

[0082] In one embodiment, the method may include receiving a first data set for a whole instance of the integrated circuit design (block 150). The first data set may define the whole instance for manufacturing the whole instance. The whole instance may include a first plurality of circuit components physically located in a first sub-region of an area occupied by the whole instance on a semiconductor substrate, and a second plurality of circuit components physically located in a second sub-region of an area occupied by the whole instance on a semiconductor substrate. The method may further include receiving a second data set for a partial instance of the integrated circuit design (block 152). The second data set may define the partial instance for manufacturing the partial instance. The partial instance may include a first plurality of circuit components in the first sub-region, and a relative position of the first plurality of circuit components in the first sub-region and an interconnect of the first plurality of circuit components in the first sub-region do not change in the whole instance and the partial instance. The partial instance may further include a stub region adjacent to the first subregion, where the stub region terminates wires that would otherwise interconnect components in the first and second subregions to ensure correct operation of the first plurality of circuit components in the first subregion in the absence of the second subregion in the partial instance. The method may further include fabricating a first plurality of full instances of the integrated circuit based on the first data set (block 154), and fabricating a second plurality of partial instances of the integrated circuit based on the second data set (block 156).

[0083] In one embodiment, the stub region excludes circuitry. For example, the stub region may include only wiring in one or more metallization layers above the surface region of the semiconductor substrate. In one embodiment, the other circuit components in the second sub-region include a plurality of outputs that are a plurality of inputs to the first plurality of circuit components in the first sub-region, the first plurality of circuit components including a plurality of multiplexer circuits having each of the plurality of inputs as an input. The stub region may further include a plurality of select signals for the plurality of multiplexer circuits. In one embodiment, the plurality of select signals are terminated in the stub region with a binary value that selects an input of the plurality of multiplexer circuits that is different from the input to which the plurality of inputs are connected. The plurality of select signals may be terminated in the second sub-region with a binary value that is different in the entire instance.

[0084] In one embodiment, the first data set may include a plurality of exclusion zones at respective corners of the semiconductor substrate. Circuit components may be excluded from the plurality of exclusion zones according to mechanical requirements of the manufacturing process used to produce the integrated circuit. The first data set may further include additional exclusion zones at corners of the first sub-region adjacent to the second sub-region, whereby the partial instance includes an exclusion zone at each corner of the semiconductor substrate on which the partial instance is formed. In one embodiment, the first data set may further include a second exclusion zone along an edge of the first sub-region adjacent to the second sub-region, where the controlled collapse chip connection (C4) connection is excluded from the second exclusion zone. In one embodiment, the first data set may further include one or more first analog inputs in the first sub-region and one or more second analog inputs in the second sub-region. The one or more first analog inputs remain within the first sub-region and the one or more second analog inputs remain within the second sub-region. In one embodiment, the first data set may further include one or more first clock trees for distributing a clock within the first sub-region and one or more second clock trees for distributing a clock within the second sub-region, where in the overall instance, the one or more first clock trees are electrically isolated from the one or more second clock trees. Computer-readable storage medium

[0085] Referring now to FIG. 15, a block diagram of one embodiment of a computer-readable storage medium 800 is shown. In general, a computer-accessible storage medium may include any storage medium that is accessible by a computer when used to provide instructions and / or data to the computer. For example, a computer-accessible storage medium may include a storage medium such as a magnetic or optical medium, e.g., a disk (fixed or removable), a tape, a CD-ROM, a DVD-ROM, a CD-R, a CD-RW, a DVD-R, a DVD-RW, or a Blu-ray. A storage medium may further include a volatile or non-volatile memory medium, such as a RAM (e.g., Synchronous DRAM (SDRAM), Rambus DRAM (RDRAM), Static RAM (SRAM), etc.), a ROM, or a flash memory. A storage medium may be physically installed within the computer to which it provides instructions / data. Alternatively, a storage medium may be connected to a computer. For example, a storage medium may be connected to a computer via a network or a wireless link, such as a network-attached storage. A storage medium may be connected by a peripheral device interface, such as a universal serial bus (USB). In general, the computer-accessible storage medium 800 may store data in a non-transitory manner, where non-transitory in this context may mean not conveying instructions / data over signals. For example, non-transitory storage may be volatile (stored instructions / data may be lost upon power loss) or non-volatile.

[0086] The computer-accessible storage medium 800 of FIG. 15 may store databases 802, 804, and 806 that represent entire instances of integrated circuits and partial instances of integrated circuits. In general, the databases 802, 804, and 806 may be databases that are read by a program and used directly or indirectly to manufacture hardware that includes the instances. For example, the databases may be behavioral or register transfer level (RTL) descriptions of hardware functions in a high level design language (HDL) such as Verilog or VHDL. The descriptions may be read by a synthesis tool that may synthesize the descriptions to generate a netlist from a synthesis library that includes a list of gates. The netlist includes a set of gates that also represent the functionality of the hardware that includes the instances. The netlist may then be placed and routed to generate a data set that describes the geometry to be applied to a mask. The mask may then be used in various semiconductor fabrication steps to generate one or more semiconductor circuits that correspond to the instances. Alternatively, databases 802, 804, and 806 on computer-accessible storage medium 800 may be netlists or data sets (with or without synthesis libraries), as desired.

[0087] Although computer-accessible storage medium 800 stores a representation of an instance, other embodiments may retain representations of any portion of an instance, as desired. Computer Systems

[0088] 16, a block diagram of one embodiment of a system 700 is shown. In the illustrated embodiment, the system 700 includes at least one instance of a system on a chip (SOC) 706 coupled to one or more peripheral devices 704 and an external memory 702. A power supply (PMU) 708 is provided to provide a supply voltage to the SOC 10, as well as to provide one or more supply voltages to the memory 702 and / or the peripheral devices 704. In some embodiments, more than one instance of the SOC 706 may be included (and more than one memory 702 may also be included). More specifically, the SOC 706 may be any of the instances (e.g., in whole or in part) of an integrated circuit described herein.

[0089] Peripheral device 704 may include any desired circuitry depending on the type of system 700. For example, in one embodiment, system 704 may be a mobile device (e.g., a personal digital assistant (PDA), a smartphone, etc.), and peripheral device 704 may include devices for various types of wireless communication, such as Wi-Fi, Bluetooth, cellular, global positioning system, etc. Peripheral device 704 may also include additional storage, including RAM storage, solid state storage, or disk storage. Peripheral device 704 may include user interface devices, such as a display screen, including a touch display screen or a multi-touch display screen, a keyboard or other input device, a microphone, a speaker, etc. In other embodiments, system 700 may be any type of computing system (e.g., a desktop personal computer, a laptop computer, a workstation, a nettop, etc.).

[0090] The external memory 702 may include any type of memory. For example, the external memory 702 may be a dynamic RAM (DRAM), such as SRAM, synchronous DRAM (SDRAM), double data rate (DDR, DDR2, DDR3, etc.) SDRAM, RAMBUS DRAM, low power versions of DDR DRAM (e.g., LPDDR, mDDR, etc.), etc. The external memory 702 may include one or more memory modules populated with memory devices, such as single inline memory modules (SIMMs), dual inline memory modules (DIMMs), etc. Alternatively, the external memory 702 may include one or more memory devices populated with the SOC 706 in a chip-on-chip or package-on-package implementation.

[0091] As shown, the system 700 is shown to have application in a wide range of areas. For example, the system 700 may be utilized as part of a chip, circuit, component, etc., of a desktop computer 710, a laptop computer 720, a tablet computer 730, a cellular or mobile phone 740, or a television 750 (or a set-top box coupled to a television). Also shown is a smart watch and a health monitoring device 760. In some embodiments, the smart watch may include various general-purpose computing-related functions. For example, the smart watch may provide access to email, mobile phone services, a user calendar, etc. In various embodiments, the health monitoring device may be a dedicated medical device or may otherwise include dedicated health-related functions. For example, the health monitoring device may monitor a user's vital signs, track a user's proximity to other users for epidemiological social distancing, perform contact tracing, and provide communication to emergency services in the event of a health crisis. In various embodiments, the smart watch described above may or may not include some or any health monitoring-related functions. Other wearable devices are contemplated as well, such as devices worn around the neck, devices implantable in the human body, glasses designed to provide an augmented and / or virtual reality experience, etc.

[0092] The system 700 may further be used as part of a cloud-based service(s) 770. For example, the devices described above and / or other devices may access computing resources (i.e., remotely located hardware and / or software resources) in the cloud. Additionally, the system 700 may be utilized in one or more devices in the home other than those described above. For example, appliances in the home may monitor and detect noteworthy conditions. For example, various devices in the home (e.g., refrigerators, cooling systems, etc.) may monitor the status of the devices and alert the homeowner (or a repair facility) if a particular event is detected. Alternatively, a thermostat may monitor the temperature in the home and automate adjustments to the heating / cooling system based on the homeowner's history of responses to various conditions. Also illustrated in FIG. 16 is the application of the system 700 to various modes of transportation. For example, the system 700 may be used in control and / or entertainment systems for airplanes, trains, buses, rental vehicles, personal cars, watercraft from private boats to cruise ships, scooters (rented or owned), etc. In various cases, system 700 can be used to provide automated guidance (e.g., autonomous vehicles), general system control, and other methods. Many other embodiments of any of these are possible and contemplated. Note that the devices and applications shown in FIG. 16 are merely exemplary and are not intended to be limiting. Other devices are possible and contemplated. ***

[0093] The present disclosure includes references to "one embodiment" or groups of "embodiments" (e.g., "some embodiments" or "various embodiments"). Embodiments are different implementations or examples of the disclosed concepts. References to "an embodiment," "one embodiment," "a particular embodiment," etc. do not necessarily refer to the same embodiment. Numerous possible embodiments, including those specifically disclosed, are contemplated, as well as modifications or alternatives that are within the spirit or scope of the disclosure.

[0094] This disclosure may discuss potential advantages that may result from the disclosed embodiments. All implementations of these embodiments necessarily exhibit some or all of the potential advantages. Whether advantages are realized for a particular implementation depends on many factors, some of which are outside the scope of this disclosure. Indeed, there are many reasons why an implementation within the scope of the claims may not exhibit some or all of any disclosed advantages. For example, a particular implementation may include other circuitry outside the scope of this disclosure that, in conjunction with one of the disclosed embodiments, nullifies or reduces one or more of the disclosed advantages. Furthermore, suboptimal design practices of a particular implementation (e.g., implementation techniques or tools) may also nullify or reduce the disclosed advantages. Even assuming skilled execution, realization of advantages may still depend on other factors, such as the environmental conditions in which the implementation is deployed. For example, inputs provided to a particular implementation may prevent one or more of the problems addressed in this disclosure from occurring on a particular occasion, such that the benefits of the solution may not be realized. Given the existence of factors external to the present disclosure that may arise, it is expressly intended that any potential advantages described herein should not be construed as claim limitations that must be met in order to demonstrate infringement. Rather, the identification of such potential advantages is intended to illustrate the types of improvements available to a designer having the benefit of the present disclosure. The fact that such advantages are permissibly described (e.g., a statement that a particular advantage "may result") is not intended to convey any doubt as to whether such advantage may actually be realized, but rather is intended to recognize the technological reality that realization of such advantages often depends on additional factors.

[0095] Unless otherwise stated, the embodiments are non-limiting. That is, the disclosed embodiments are not intended to limit the scope of the claims made based on this disclosure, even if only a single example is described with respect to a particular feature. The disclosed embodiments are intended to be illustrative, not limiting, unless otherwise stated in the disclosure. The above description is intended to enable claims that cover not only the disclosed embodiments, but also alternatives, modifications, and equivalents that will be apparent to those skilled in the art having the benefit of this disclosure.

[0096] For example, features of the present application may be combined in any suitable manner. Accordingly, new claims may be formulated during prosecution of this application (or an application claiming priority to this application) for any such combination of features. In particular, with reference to the appended claims, features from dependent claims may be combined with features of other dependent claims, including claims that are dependent on other independent claims, as appropriate. Similarly, features from each independent claim may be combined as appropriate.

[0097] Thus, the accompanying dependent claims may each be drafted to be dependent on a single other claim, although additional dependencies are also contemplated. Any combination of features in the dependent claims consistent with this disclosure is contemplated and may be claimed in this or another application. In summary, combinations are not limited to those specifically recited in the accompanying claims.

[0098] Where appropriate, it is contemplated that a claim drafted in one format or statutory type (e.g., apparatus) is also intended to support a corresponding claim in another format or statutory type (e.g., method). ***

[0099] Because this disclosure is a legal document, various terms and phrases may be subject to administrative and judicial interpretation. The following paragraphs, as well as provisions provided throughout this disclosure, are hereby publicly notified to be used in interpreting the claims made based on this disclosure.

[0100] Reference to a singular item (i.e., a noun or noun phrase preceded by "a," "an," or "the") is intended to mean "one or more" unless the context clearly indicates otherwise. Thus, a reference to an "item" in a claim does not exclude additional instances of the item without the context requiring otherwise. A "plurality" of an item refers to a set of two or more items.

[0101] The word "may" is used herein in a permissive sense (i.e., having the possibility, being able to) and not in an obligatory sense (i.e., not required).

[0102] The terms "comprising" and "including" and their forms are open ended and mean "including, but not limited to."

[0103] When the term "or" is used in this disclosure in reference to a list of alternatives, it will generally be understood to be used in an inclusive sense unless the context clearly indicates otherwise. Thus, a list of "x or y" is equivalent to "x or y, or both," and thus encompasses 1) x but not y, 2) y but not x, and 3) both x and y. On the other hand, the phrase "either x or y, but not both" makes it clear that "or" is used in an exclusive sense.

[0104] The enumeration of "w, x, y, z, or any combination thereof," or "at least one of ... w, x, y, and z" is intended to cover all possibilities including a single element up to the total number of elements in the set. For example, for the set [w, x, y, z], these expressions cover any single element of the set (e.g., w but not x, y, or z), any two elements (e.g., w and x but not y or z), any three elements (e.g., w, x, and y but not z), and all four elements. Thus, the phrase "at least one of ... w, x, y, and z" refers to at least one element of the set [w, x, y, z], thereby covering all possible combinations in this list of elements. This phrase should not be interpreted as requiring that there be at least one instance of w, at least one instance of x, at least one instance of y, and at least one instance of z.

[0105] In this disclosure, various "labels" may precede a noun or noun phrase. Unless the context clearly indicates otherwise, the various labels used for a feature (e.g., "first circuit," "second circuit," "particular circuit," "given circuit," etc.) refer to different instances of the feature. Furthermore, when applied to features, the labels "first," "second," and "third" do not imply any type of ordering (e.g., spatial, temporal, logical, etc.) unless otherwise specified.

[0106] As used herein, the phrase "based on" is used to describe one or more factors that influence the determination. This term does not exclude the possibility that additional factors may influence the decision. That is, the decision may be based only on the specified factors or based on the specified factors as well as other unspecified factors. Consider the phrase "determining A based on B." This phrase specifies that B is a factor that is used to determine A or that influences the determination of A. This phrase does not exclude that the determination of A may also be based on some other factor, such as C. This phrase is intended to cover embodiments in which A is determined solely based on B. As used herein, the phrase "based on" is synonymous with the phrase "based at least in part on."

[0107] The phrases "in response to" and "in response to" recite one or more factors that trigger an effect. This phrase does not exclude the possibility that additional factors may affect or otherwise trigger the effect, either together with the particular factor or independent of the specified factor. That is, the effect may be in response only to these factors or to the specified factors as well as other unspecified factors. Consider the phrase "performing A in response to B." By this phrase, B is a factor that triggers the execution of A or triggers a particular outcome for A. This phrase does not exclude that the execution of A may also be in response to other factors, such as C. This phrase also does not exclude that the execution of A may be in response to both B and C. This phrase is intended to cover embodiments in which A is performed only in response to B. As used herein, the phrase "in response to" is synonymous with the phrase "at least partially in response to." Similarly, the phrase "in response to" is synonymous with the phrase "at least partially in response to." ***

[0108] Within this disclosure, various entities (which may be variously referred to as "units," "circuits," other components, etc.) may be described or claimed as being "configured" to perform one or more tasks or operations. The phrase "entity" configured to perform one or more tasks is used herein to refer to structures (i.e., physical things). More specifically, the phrase is used to indicate that the structure is arranged to perform one or more tasks during operation. A structure may be said to be "configured to perform" some task even if the structure is not currently operating. Thus, an entity described or explained as being "configured" to perform some task refers to a physical thing, such as a device, a circuit, a system having a processor unit and a memory that stores executable program instructions to perform the task. The phrase is not used herein to refer to intangible things.

[0109] In some cases, various units / circuits / components may be described herein as performing a set of tasks or operations, and even if not specifically described, it will be understood that those entities are "configured to" perform those tasks / operations.

[0110] The term "configured to" is not intended to mean "configurable to." For example, an unprogrammed FPGA is not considered to be "configured" to perform a particular function. However, this unprogrammed FPGA may be "configurable" to perform that function. After appropriate programming, the FPGA can then be said to be "configured" to perform a particular function.

[0111] For purposes of filing a U.S. patent application based on this disclosure, reciting a claim as a structure "configured to" perform one or more tasks is not expressly intended to invoke 35 U.S.C. §112(f) for that claim element. If an applicant wishes to invoke 35 U.S.C. §112(f) during prosecution of a U.S. patent application based on this disclosure, it would be to recite a claim element using "means for [performing a function]."

[0112] Various "circuits" may be described in this disclosure. These circuits or "circuitry" constitute hardware including various types of circuit elements such as combinational logic, clocked storage devices (e.g., flip-flops, registers, latches, etc.), finite state machines, memories (e.g., random access memory, embedded dynamic random access memory), programmable logic arrays, etc. Circuits may be custom designed or obtained from standard libraries. In various implementations, circuitry may include digital components, analog components, or a combination of both, as appropriate. Certain types of circuits may be generally referred to as "units" (e.g., decoding units, arithmetic logic units (ALUs), functional units, memory management units (MMUs), etc.). Such units may also be referred to as circuits or circuitry.

[0113] The disclosed circuits / units / components and other elements shown in the drawings and described herein include hardware elements such as those described in the preceding paragraphs. Often, the internal arrangement of hardware elements within a particular circuit may be specified by describing the function of that circuit. For example, a particular "decode unit" may be described as performing the function of "processing the opcode of an instruction and routing the instruction to one or more of a plurality of functional units," meaning that the decode unit is "configured" to perform this function. Description of this function is sufficient to suggest to one skilled in the computer arts a set of possible configurations of the circuit.

[0114] In various embodiments, as discussed in the previous paragraph, circuits, units, and other elements are defined by the functions or operations they are configured to perform. The arrangement of such circuits / units / components relative to one another and the way they interact creates a microarchitectural specification of hardware that is ultimately fabricated in an integrated circuit or programmed into an FPGA to form the physical implementation of the microarchitectural specification. Thus, the microarchitectural specification is recognized by those skilled in the art as a structure from which many physical implementations can be derived, all of which belong to the broader structure described by the microarchitectural specification. That is, a person skilled in the art presented with a microarchitectural specification provided in accordance with this disclosure will, without undue experimentation, use ordinary skill to implement the structure by coding the description of the circuit / unit / component into a hardware description language (HDL), such as Verilog or VHDL. HDL descriptions are often expressed in a manner that appears to be functional. However, to those skilled in the art, this HDL description is the method used to translate the structure of the circuit, unit, or component into the next level of implementation details. Such HDL descriptions may take the form of behavioral code (typically not synthesizable), register transfer language (RTL) code (typically synthesizable, as opposed to behavioral code), or structural code (e.g., a netlist specifying logic gates and their connections). The HDL description may be synthesized against a library of cells designed for a given integrated circuit manufacturing technology, and modified for timing, power, and other reasons, resulting in a final design database that can be sent to a foundry to generate masks and ultimately manufacture the integrated circuit. Some hardware circuits, or portions thereof, may also be custom designed in a schematic editor and incorporated into the integrated circuit design along with the synthesized circuit. The integrated circuit may further include transistors and other circuit elements (e.g., passive elements such as capacitors, resistors, inductors, etc.), as well as interconnects between the transistors and the circuit elements.Some embodiments may implement multiple integrated circuits connected together to realize the hardware circuit, and / or some embodiments may use discrete elements. Alternatively, the HDL design may be integrated into and implemented in a programmable logic array, such as a field programmable gate array (FPGA). This decoupling between the design of circuits and the subsequent low-level implementation of those circuits typically results in a scenario where the circuit or logic designer does not specify any particular set of structures for the low-level implementation other than describing how the circuit is structured, since this process is performed at a different stage of the circuit implementation process.

[0115] The fact that many different low-level combinations of circuit elements can be used to implement the same specification for a circuit results in numerous equivalent structures for that circuit. As noted above, these low-level circuit implementations may vary depending on changes in manufacturing technology, the foundry selected to manufacture the integrated circuit, the libraries of cells provided for a particular project, etc. In many cases, the choices made by different design tools or methods to generate these different implementations may be arbitrary.

[0116] Furthermore, for a given embodiment, it is common for a single implementation of a particular functional specification of a circuit to include a large number of devices (e.g., millions of transistors). This absolute amount of information therefore makes it impractical to exhaustively enumerate the low-level structures used to implement a single embodiment, let alone the vast amount of equivalent possible implementations. For this reason, this disclosure describes the structure of a circuit using functional abbreviations used in the industry.

[0117] The subject matter of this application is illustrated by, but not limited to, the following examples. Example of the method: 1. A method comprising: receiving a first data set relating to an overall instance of an integrated circuit design, the first data set defining the overall instance for manufacturing the overall instance, the overall instance including a first plurality of circuit components physically located in a first sub-region of an area occupied by the overall instance on a semiconductor substrate, and a second plurality of circuit components physically located in a second sub-region of the area occupied by the overall instance on a semiconductor substrate; receiving a second data set for a partial instance of the integrated circuit design, the second data set defining the partial instance for manufacturing the partial instance, the partial instance including a first plurality of circuit components in a first sub-region, where relative positions of the first plurality of circuit components in the first sub-region and interconnects of the first plurality of circuit components in the first sub-region remain unchanged in the full instance and in the partial instance, the partial instance further including a stub region adjacent to the first sub-region, the stub region including terminations of wires that would otherwise interconnect components in the first and second sub-regions to ensure correct operation of the first plurality of circuit components in the first sub-region in the absence of the second sub-region in the partial instance; fabricating a first plurality of entire instances of the integrated circuit based on the first data set; and fabricating a second plurality of sub-instances of the integrated circuit based on the second data set. 2. The method of example 1, wherein the stub region excludes circuitry. 3. The method of example 2, wherein the stub region includes only wiring in one or more metallization layers above the surface region of the semiconductor substrate. 4. The method of example 1, wherein the other plurality of circuit components in the second sub-region includes a plurality of outputs that are a plurality of inputs to the first plurality of circuit components in the first sub-region, the first plurality of circuit components includes a plurality of multiplexer circuits having respective inputs of the plurality of inputs as inputs, and the stub region further includes a plurality of select signals for the plurality of multiplexer circuits. 5. The method of embodiment 4, wherein the plurality of select signals are terminated within the stub region with binary values ​​that select inputs of the plurality of multiplexer circuits that are different from the inputs to which the plurality of inputs are connected. 6. The method of embodiment 5, wherein the multiple selection signals are terminated in the second subregion with different binary values ​​in the overall instance. 7. The method of example 1, wherein the first data set includes a plurality of exclusion zones at respective corners of the semiconductor substrate, the circuit components being excluded from the plurality of exclusion zones according to mechanical requirements of the manufacturing process used to produce the integrated circuit, and the first data set includes additional exclusion zones at corners of the first subregion adjacent to the second subregion, whereby the partial instance includes an exclusion zone at each corner of the semiconductor substrate on which the partial instance is formed. 8. The method of example 1, wherein the first data set further includes a second exclusion zone along an edge of the first sub-region adjacent to the second sub-region, and the controlled collapse chip connection (C4) connection is excluded from the second exclusion zone. 9. The method of example 1, wherein the first data set further includes one or more first analog inputs in a first sub-region, where the one or more first analog inputs remain within the first sub-region, and the first data set further includes one or more second analog inputs in a second sub-region, where the one or more second analog inputs remain within the second sub-region. 10. The method of embodiment 1, wherein the first data set further includes one or more first clock trees for distributing a clock within a first subregion and one or more second clock trees for distributing a clock within a second subregion, and in the overall instance, the one or more first clock trees are electrically isolated from the one or more second clock trees. Examples of integrated circuits: 11. An integrated circuit comprising: a plurality of circuit components physically disposed on a surface of a semiconductor substrate forming an integrated circuit, the plurality of circuit components including a plurality of multiplexer circuits, a given multiplexer circuit of the plurality of multiplexer circuits having a first input wire, a second input wire, and a selection control wire; an area along a single edge of the surface, The region is the source of the select control wire; a second input wire reaches a single edge of the surface and is unconnected; a region in which the select control wires are electrically connected to supply wires of the integrated circuit, the voltage on the supply wires in use corresponding to a digital logic level that causes the multiplexer circuits to select the first input wire as an output of the multiplexer circuits; 1. An integrated circuit comprising: 12. An integrated circuit comprising: a first plurality of circuit components physically disposed within a first region of a surface of a semiconductor substrate forming an integrated circuit; a plurality of exclusion zones at respective corners of the semiconductor substrate, circuit components being excluded from the plurality of exclusion zones in accordance with the mechanical requirements of the manufacturing process used to produce the integrated circuit; a plurality of other exclusion zones separated from each corner and along a pair of nominally parallel edges of the semiconductor substrate, the circuit components being excluded from the plurality of other exclusion zones, the plurality of other exclusion zones being substantially the same dimensions as the plurality of exclusion zones; 1. An integrated circuit comprising: 13. 13. The integrated circuit of example 12, further comprising a second exclusion zone along a line between the plurality of exclusion zones, wherein the controlled collapse chip connection (C4) connection is excluded from the second exclusion zone. 14. one or more first analog inputs in a first sub-region of the first region, the one or more first analog inputs remaining within the first sub-region; 13. The integrated circuit of Example 12, further comprising: one or more second analog inputs in a second sub-region of the first region adjacent to the first sub-region, the one or more second analog inputs remaining within the second sub-region. 15. one or more clock trees for distributing clocks within a first sub-region of the first region; one or more second clock trees for distributing the clock within the second sub-domain; 13. The integrated circuit of example 12, wherein the one or more first clock trees are electrically isolated from the one or more second clock trees. 16. An integrated circuit comprising: a first plurality of circuit components physically disposed within a first region of a surface of a semiconductor substrate forming an integrated circuit; a second plurality of circuit components physically disposed within a second region of the surface of the semiconductor substrate forming the integrated circuit; one or more first analog inputs in a first region, the one or more first analog inputs being separated into a first plurality of circuit components; one or more second analog inputs in a second domain, the one or more second analog inputs being separated into a second plurality of circuit components; 1. An integrated circuit comprising:

[0118] Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated, and it is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims

1. 1. An integrated circuit comprising: a plurality of circuit components physically disposed on a surface of a semiconductor substrate forming the integrated circuit; a plurality of termination connections formed in a stub region of the integrated circuit along a single edge of the surface, the plurality of termination connections being electrically connected to a plurality of supply wires of the integrated circuit to provide a fixed digital logic level on wires that are input to one or more of the plurality of circuit components and are oriented to cross the single edge and lack circuitry configured to drive the wires, the stub region excluding active circuit elements; 1. An integrated circuit comprising:

2. two or more circuit components of the plurality of circuit components include a plurality of multiplexer circuits; a given multiplexer circuit of the plurality of multiplexer circuits has a first input wire, a second input wire, and a selection control wire; the stub region is the source of the select control wire; the second input wire reaches the single edge of the surface and is unconnected; the select control wire is electrically connected to a supply wire of the integrated circuit, a voltage on the supply wire in use corresponding to a digital logic level that causes the plurality of multiplexer circuits to select the first input wire as an output of the plurality of multiplexer circuits; 10. The integrated circuit of claim 1.

3. 2. The integrated circuit of claim 1, wherein the stub region includes only wiring in one or more metallization layers above a surface region of the semiconductor substrate.

4. two or more first circuit components of the plurality of circuit components are physically disposed within a first sub-region of the surface of the semiconductor substrate; The integrated circuit comprises: a plurality of exclusion zones at respective corners of the semiconductor substrate, the plurality of exclusion zones from which circuit components are excluded in accordance with mechanical requirements of a manufacturing process used to produce the integrated circuit; a plurality of other exclusion zones at the corners of the first sub-region separated from the respective corners and along a pair of nominally parallel edges of the semiconductor substrate, the other plurality of exclusion zones excluding circuit components, the other plurality of exclusion zones being substantially the same dimensions as the other plurality of exclusion zones; The integrated circuit of claim 1 further comprising:

5. and a second exclusion zone along a line between the plurality of exclusion zones, the second exclusion zone excluding a controlled collapse chip connection (C4) connection.

5. The integrated circuit of claim 4.

6. one or more first analog inputs in the first sub-region, the one or more first analog inputs remaining within the first sub-region; one or more second analog inputs in a second sub-region adjacent to the first sub-region, the one or more second analog inputs remaining within the second sub-region; The integrated circuit of claim 4 further comprising:

7. one or more first clock trees for distributing a clock within the first sub-domain; one or more second clock trees for distributing a clock within a second sub-region adjacent to the first sub-region; the one or more first clock trees being electrically isolated from the one or more second clock trees; 5. The integrated circuit of claim 4.

8. two or more first circuit components of the plurality of circuit components are physically disposed within a first sub-region of the surface of the semiconductor substrate; two or more second circuit components of the plurality of circuit components are physically disposed within a second sub-region of the surface of the semiconductor substrate; a first design for testability (DFT) port is disposed within the first sub-region; a second DFT port is disposed within the second sub-region; 10. The integrated circuit of claim 1.

9. The two or more first circuit components comprising a first scan chain of components; the two or more second circuit components include a second scan chain of components within the two or more second circuit components; 9. The integrated circuit of claim 8.

10. the plurality of circuit components includes a set of components connected in a scan network for automated testing; 10. The integrated circuit of claim 1.

11. two or more first circuit components of the plurality of circuit components are physically disposed within a first sub-region of the surface of the semiconductor substrate; one or more of the two or more first circuit components includes a programmable resource; the programmable resources include configuration data reflecting whether the integrated circuit includes two or more second circuit components disposed within a second sub-region of the surface of the semiconductor substrate; 10. The integrated circuit of claim 1.

12. the one or more circuit components include a network switch; the configuration data identifying one or more additional network switches coupled to the network switch; 12. The integrated circuit of claim 11.

13. the configuration data includes a mapping of a memory address space to a memory controller included in the plurality of circuit components; 12. The integrated circuit of claim 11.

Citation Information

Patent Citations

  • Semiconductor device

    JP2005268253A

  • Semiconductor device and testing method

    JP2013021131A

  • Method and System for the Modular Design and Layout of Integrated Circuits

    US20150379182A1

  • Fabrication of a microfluidic chip package or assembly with separable chips

    US20160367984A1