The subject matter disclosed herein relates to area scaling in semiconductor manufacturing technology. More particularly, the subject matter disclosed herein relates to a standard cell and a technique in a Place and Route environment that shares transistor source (Vdd/Vss) power connections between horizontally placed adjacent standard cells.
Pitch scaling has been used for area scaling for standard cells in a Place And Route (PNR) environment. Aggressive channel-length scaling, however, may not be suitable for all sizes of semiconductor scaling nodes. Wire-pitch scaling has also been used for area scaling; however, wire-pitch scaling tends to result in an increased electrical resistance as the wire-pitch scaling becomes smaller. Design Technology Co-Optimization (DTCO) techniques may continue area scaling as scaling nodes become smaller. DTCO techniques may include practices, such as moving from a double diffusion break (DDB) to a single diffusion break (SDB), using a contact over active gate, using self-aligned metallization with cut masks, using layout techniques that include process and design rule enablement, using stacked logic die, and using backside power network. While some DTCO techniques may provide only a small improvement in area savings, DTCO techniques may be combined to provide a greater total scaling.
An example embodiment provides a first standard cell in a PNR library of standard cells in which the first standard cell may include a cell boundary that includes a first edge and a second edge that is opposite the first edge, and cell configuration information that indicates a power connection configuration to be used with a second standard cell when the first standard cell is placed next to the second standard cell in a layout in a PNR environment, such that at least one transistor source electrode is physically shared between the first standard cell and the second standard cell. In one embodiment, the cell configuration information may indicate that the power connection configuration for at least one of the first edge and the second edge is outside the cell boundary for the first standard cell. In another embodiment, the cell configuration information may include edge identifier information for at least one of the first edge and the second edge of the first standard cell. In still another embodiment, when the first standard cell is placed in the layout in the PNR environment, a minimum distance between an outside edge of the first standard cell and an outside edge of the second standard cell is one Contacted Poly Pitch (CPP) for the shared power connection configuration. In yet another embodiment, when the first standard cell is placed in the layout in the PNR environment, the cell boundary of the first standard cell abuts a cell boundary of the second standard cell. In one embodiment, the cell configuration information may indicate that the power connection configuration for at least one of the first edge and the second edge is inside a cell boundary for the second standard cell when the first standard cell is placed next to the second standard cell. In another embodiment, the cell configuration information may indicate that the power connection configuration for the first standard cell is outside of a cell boundary of the first standard cell. In still another embodiment, the library of standards cells may include at least one variant of the first standard cell that is equivalent in function and drive strength to the first standard cell and includes cell configuration information for the variant of the first standard cell that provides a power configuration that is different from the power configuration of the first standard cell. In yet another embodiment, the cell configuration information for the variant of the first standard cell may indicate the power configuration to be inside a cell boundary of the variant of the first standard cell. In one embodiment, the cell configuration information for the first standard cell may indicate that one of the first edge or the second edge is configured as a dummy gate.
An example embodiment provides a PNR library of standard cells that may include a first standard cell that may include: a cell boundary that includes a first edge and a second edge that is opposite the first edge, and cell configuration information that indicates a power connection configuration to be used with a second standard cell of the PNR library of standard cells when the first standard cell is placed next to the second standard cell in a layout in a PNR environment, such that at least one transistor source electrode is physically shared between the first standard cell and the second standard cell. In one embodiment, the cell configuration information may indicate that the power connection configuration for at least one of the first edge and the second edge is outside the cell boundary for the first standard cell. In another embodiment, the cell configuration information may include edge identifier information for at least one of the first edge and the second edge of the first standard cell. In still another embodiment, when the first standard cell is placed in the layout in the PNR environment, a minimum distance between an outside edge of the first standard cell and an outside edge of the second standard cell is one CPP for the shared power connection configuration. In yet another embodiment, when the first standard cell is placed in the layout in the PNR environment, the cell boundary of the first standard cell abuts a cell boundary of the second standard cell. In one embodiment, the cell configuration information may indicate that the power connection configuration for at least one of the first edge and the second edge is inside a cell boundary for the second standard cell when the first standard cell is placed next to the second standard cell. In another embodiment, the cell configuration information may indicate that the power connection configuration for the first standard cell is outside of a cell boundary of the first standard cell. In still another embodiment, the library of standards cells may further include at least one variant of the first standard cell that is equivalent in function and drive strength to the first standard cell and includes cell configuration information for the variant of the first standard cell that provides a power configuration that is different from the power configuration of the first standard cell. In yet another embodiment, the cell configuration information for the variant of the first standard cell may indicate the power configuration to be inside a cell boundary of the variant of the first standard cell. In one embodiment, the cell configuration information for the first standard cell may indicate that one of the first edge or the second edge is configured as a dummy gate.
An example embodiment provides a first standard cell in a PNR library of standard cells in which the first standard cell may include: a cell boundary that includes a first edge and a second edge that is opposite the first edge, cell configuration information that indicates that a power connection configuration for at least one of the first edge and the second edge is outside the cell boundary for the first standard cell in a PNR environment, and a transistor source connection for the first standard cell which is outside the cell boundary. In one embodiment, the cell configuration information may indicate the power connection configuration that is shared with a second standard cell when the first standard cell is placed next to the second standard cell in a layout in the PNR environment. In another embodiment, when the first standard cell is placed in the layout in the PNR environment, a minimum distance between the outside edge of the first standard cell and an outside edge of the second standard cell is one CPP for the shared power connection configuration. In still another embodiment, the cell configuration information may include edge identifier information for at least one of the first edge and the second edge of the first standard cell. In yet another embodiment, when the first standard cell is placed in a layout in the PNR environment, the cell boundary of the first standard cell abuts a cell boundary of a second standard cell. In one embodiment, the cell configuration information may indicate that the power connection configuration for at least one of the first edge and the second edge is inside a cell boundary for a second standard cell. In another embodiment, a second standard cell may include cell configuration information associated with the second standard cell, and the cell configuration information for the second standard cell may indicate that a power connection configuration for the second standard cell is outside of a cell boundary of the second standard cell. In still another embodiment, the library of standards cells may include at least one variant of the first standard cell that is equivalent in function and drive strength to the first standard cell and may include cell configuration information for the variant of the first standard cell that provides a power configuration that is different from the power configuration of the first standard cell. In yet another embodiment, the cell configuration information for the variant of the first standard cell may indicate the power configuration to be inside a cell boundary of the variant of the first standard cell. In one embodiment, the cell configuration information for the first standard cell may indicate that one of the first edge or the second edge is configured as a dummy gate.
In the following section, the aspects of the subject matter disclosed herein will be described with reference to exemplary embodiments illustrated in the figure, in which:
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the disclosure. It will be understood, however, by those skilled in the art that the disclosed aspects may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail to not obscure the subject matter disclosed herein.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment disclosed herein. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” or “according to one embodiment” (or other phrases having similar import) in various places throughout this specification may not necessarily all be referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments. In this regard, as used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not to be construed as necessarily preferred or advantageous over other embodiments. Additionally, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. Also, depending on the context of discussion herein, a singular term may include the corresponding plural forms and a plural term may include the corresponding singular form. Similarly, a hyphenated term (e.g., “two-dimensional,” “pre-determined,” “pixel-specific,” etc.) may be occasionally interchangeably used with a corresponding non-hyphenated version (e.g., “two dimensional,” “predetermined,” “pixel specific,” etc.), and a capitalized entry (e.g., “Counter Clock,” “Row Select,” “PIXOUT,” etc.) may be interchangeably used with a corresponding non-capitalized version (e.g., “counter clock,” “row select,” “pixout,” etc.). Such occasional interchangeable uses shall not be considered inconsistent with each other.
Also, depending on the context of discussion herein, a singular term may include the corresponding plural forms and a plural term may include the corresponding singular form. It is further noted that various figures (including component diagrams) shown and discussed herein are for illustrative purpose only, and are not drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, if considered appropriate, reference numerals have been repeated among the figures to indicate corresponding and/or analogous elements.
The terminology used herein is for the purpose of describing some example embodiments only and is not intended to be limiting of the claimed subject matter. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The terms “first,” “second,” etc., as used herein, are used as labels for nouns that they precede, and do not imply any type of ordering (e.g., spatial, temporal, logical, etc.) unless explicitly defined as such. Furthermore, the same reference numerals may be used across two or more figures to refer to parts, components, blocks, circuits, units, or modules having the same or similar functionality. Such usage is, however, for simplicity of illustration and ease of discussion only; it does not imply that the construction or architectural details of such components or units are the same across all embodiments or such commonly-referenced parts/modules are the only way to implement some of the example embodiments disclosed herein.
It will be understood that when an element or layer is referred to as being on, “connected to” or “coupled to” another element or layer, it can be directly on, connected or coupled to the other element or layer or intervening elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly connected to” or “directly coupled to” another element or layer, there are no intervening elements or layers present. Like numerals refer to like elements throughout. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
The terms “first,” “second,” etc., as used herein, are used as labels for nouns that they precede, and do not imply any type of ordering (e.g., spatial, temporal, logical, etc.) unless explicitly defined as such. Furthermore, the same reference numerals may be used across two or more figures to refer to parts, components, blocks, circuits, units, or modules having the same or similar functionality. Such usage is, however, for simplicity of illustration and ease of discussion only; it does not imply that the construction or architectural details of such components or units are the same across all embodiments or such commonly-referenced parts/modules are the only way to implement some of the example embodiments disclosed herein.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this subject matter belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
As used herein, the term “module” refers to any combination of software, firmware and/or hardware configured to provide the functionality described herein in connection with a module. For example, software may be embodied as a software package, code and/or instruction set or instructions, and the term “hardware,” as used in any implementation described herein, may include, for example, singly or in any combination, an assembly, hardwired circuitry, programmable circuitry, state machine circuitry, and/or firmware that stores instructions executed by programmable circuitry. The modules may, collectively or individually, be embodied as circuitry that forms part of a larger system, for example, but not limited to, an integrated circuit (IC), system on-a-chip (SoC), an assembly, and so forth.
The subject matter disclosed herein provides a Zero Diffusion Break (ZDB) in a PNR environment that allows standard cells to share power connections on the left and/or right edges of a cell with an adjacent cell, thereby reducing the design area and design cost. As used herein, the phrase “sharing a power connection” means that both pmos and nmos sources on adjacent cell edges are respectively connected to Vdd and Vss, in such a way that there is no diffusion break or dummy transistor at the ZDB boundary.
The term “PNR tool” is used herein to describe any automated tool which performs standard cell placement and routing between standard cells. However, it is understood that the subject matter disclosed herein also applies to an automated tool that performs standard cell placement but does not perform routing between standard cells.
Some PNR tools may use a boundary identifier. A boundary identifier that may include a boundary layer or an identification in a physical cell library format, such as Library Exchange Format (LEF). In the one case, the LEF construct ‘SIZE’ may indicate an X and a Y size of the cell. In this case, relative to the cell, the left edge identifier may be at X=0, and the right edge may be at the X size identified in the LEF. Boundary identifiers may also be identified in other ways. For example, coordinates of each corner of a shape on a cell outline layer or boundary layer may be used to define the boundary identifier. In some cases, the boundary of a cell may not be a simple rectangle. For example, a standard cell may be multiple rows tall. For example, if a cell is 2 rows tall, the width of the bottom row of the cell may be different from the width of the top row of the cell. In this case, the left edge of the cell may have 2 left edge boundary identifiers (one for the bottom row of the cell and one for the top row of the cell), and similarly may have 2 right edge boundary identifiers. Herein, the term “boundary identifier,” or just “boundary”, shall include any of the multiple ways to specify such boundary identifier.
A boundary identifier for a cell may align with the centerline of the transistor gates (a.k.a. “poly”) in the left and/or right sides of the cell, particularly in a “single diffusion break” or SDB process. In a traditional SDB process, the boundary may include dielectric isolation between the left and right cells. Alternatively, in a traditional SDB process, the boundary may include a dummy transistor which is connected so that it is turned off, achieving electrical isolation between left and right cells. Other configurations are possible, such as nmos using dielectric isolation and pmos using electrical isolation, or vice-versa. For simplicity, any method (dielectric, electrical, or a combination, or other methods) used to isolate a transistor in one cell from a transistor in an adjacent cell will herein be generally referred to as “SDB”. In a traditional SDB process, “dummy gates” or “dummy gate electrodes” generally refer to a drawn shape on the edge of a standard cell that isolates the standard cell from neighboring standard cells. Because these dummy gates are only for isolation, they do not perform a logic function. In a particular semiconductor process, these dummy gates can provide electrical isolation or dielectric isolation.
Abstracted (example: LEF) cells in a PNR environment may have abutting boundaries, but may not be allowed to have overlapping boundaries. In contrast to traditional LEF cells in a PNR environment, as disclosed herein a standard cell that includes a ZDB may include transistor power connections that overlap between adjacent standard cells. Accordingly, LEF standard cells may be created that include one or more ZDBs in which transistor power connections in a detailed layout view lie outside the cell boundary of the standard cell. A detailed layout view may include all cell layout information, whereas an abstracted layout view (such as LEF) may omit some of the layers found in the detailed layout view. Multiple formats exist for detailed layout views, with 2 examples being GDS2 (Graphics Design System II often referred to simply as GDS), and OASIS (Open Artwork System Interchange Standard). As described herein, for simplicity the term “GDS” will be used to describe the detailed layout view. It is understood that this is for simplicity, and not limiting, and that any detailed layout view format may be used. Similarly, the term “LEF” is used herein to describe the abstracted (or “abstract”) view of the standard cell used for PNR for simplicity. It is understood that this is not limiting, and that any abstract view format may be used. In some cases, a PNR tool may alternatively use a detailed layout view including associated boundary identifiers instead of an abstracted view. The subject matter disclosed herein does not depend on whether a PNR tool uses an abstract or detailed layout view. For simplicity, the exemplary embodiments contained herein may assume that a PNR tool uses an abstracted view. Information, sometimes referred to as edge identifiers, may be associated with a standard cell that may indicate which cell edges (left and/or right, or neither) may be placed next to other cell edges in the library by a PNR tool. Variants of standard cells may have the same GDS layout except for the boundary identifier, but may have different edge identifiers, thereby enabling flexible placement options between the different variant standard cells.
As disclosed herein, horizontally abutting standard cells that include a ZDB may be placed and routed so that Vdd/Vss source connections of the abutting cells overlap with no dummy gate electrode or diffusion break between the two cells and the Vdd/Vss source connections may be shared between the two abutting cells. Accordingly, each cell of the abutting pair of cells may have a corresponding edge identifier that indicates whether abstract layouts of the cell can abut. Area savings may be achieved when an edge in which Vdd/Vss power connections are inside the cell boundary abuts an edge of a cell in which Vss/Vss connections are outside the cell boundary. The detailed GDS layouts for each of the abutting pair of cells may have overlapping Vdd/Vss connections, but the boundary identifiers in the abstract/LEF layout views may not overlap.
In one example embodiment disclosed herein, a standard cell library for a PNR environment may include first and second standard cells. The first standard cell may be associated with first and second edge identifiers. Similarly, the second standard cell may be associated with first and second edge identifiers. Each respective edge identifier may be associated with a different edge in a corresponding standard cell in which the different edges are opposite each other in the standard cell. The PNR environment may use the edge identifiers to place cells adjacent to each other so that transistor power connections at the edge of the first cell and the edge of the second cell may be shared, and so that there are no dummy gate electrodes that separate the first cell and the second cell.
In another embodiment, the standard cell library may include multiple cells that are functionally equivalent with the same drive strength, but differ in cell size and edge identifier(s). In another embodiment, a first edge identifier of a first standard cell may indicate that power connections on a first edge of the first cell are inside a cell boundary of the first cell, and a second edge identifier of a second standard cell may indicate that power connections on a second edge of the second cell are outside a cell boundary of the second cell. In this example embodiment, the first edge of the first cell may be abutted to the second edge of the second cell, thereby allowing the first and second cells to share power connections to transistors at the abutting edges of the first and second cells. In still another embodiment, a standard cell may include an edge identifier indicating that a dummy gate at the edge of the cell. In yet another example embodiment, different standard cells may include different combinations of edge identifiers that indicate power connections inside a cell boundary, outside a cell boundary or a dummy gate at the edge of a cell.
Single diffusion breaks (SDBs) are depicted at 113 and 114. In one embodiment, one or both of the SDBs 113 and 114 may be formed to provide dielectric isolation, as is depicted in
The standard cell 100 includes a cell outline 115 that is indicated by a relatively heavy line. The cell outline 115 may not necessarily contain all of the shapes of the standard cell 100. For example, part of both SDBs 113 and 114 are depicted as being outside of the standard cell 100. Whenever a Place and Route (PNR) tool operates on a cell outline of a standard cell, such as cell outline 115, the PNR tool basically “sees” the cell outline 115 and metal connections that connect to the cell, but often does not “see” some of the detailed layout inside the cell.
At the boundary of the instances of cells 100′ and 100″ where the two cell instances abut, the two cell instances have the same power connections 201 and 202 to Vdd and Vss, respectively. Accordingly, the subject matter disclosed herein provides that the region 200 where the two cell instances abut provides an opportunity for area reduction and transistor power connections may be merged. Specifically, the left and right transistor power connections 201 may be merged, and the left and right transistor power connections 202 may be merged. This will result in the two transistor sources 121 being shared as a single source electrode to provide Vdd to both the left transistor 107 and the right transistor 107. Similarly, the two transistor sources 122 will be shared as a single source electrode to provide Vss to both the left transistor 103 and the right transistor 103. It should be understood, however, that the merging of the regions of cell instances that have similar power connections is not limited to NAND standard cells. Other standard cells, such as but not limited to, NOR standard cells and inverter (INV) standard cells, may also have areas that may be merged according to the subject matter disclosed herein. Any standard cell that has power connections on both Vdd and Vss on the same edge of the standard cell may have areas that may be merged. These may further include, but are not limited to, XNOR/XOR cells, BUF cells, AOI/OAI/AO/OA cells, adder cells, mux cells, latches, flip flops, clock gating cells, etc.
When the instance of the cell 100″ is shifted left by 1 CPP to become cell instance 100″, the rightmost power connections indicated at 201 and 202 in
Traditional PNR tools use an abstract view of standard cells that may not have all of the layers of a standard cell and only some layers may appear in the abstract view. The Library Exchange Format (LEF) is an example that provides an abstract view of a standard cell, whereas the Graphics Data Stream (GDS) is an example of a layout format that provides a detailed layout of a cell. An abstract view typically includes a boundary identifier that may be a shape on an outline layer or a statement of a size of a cell. For example, the LEF assumes that the lower left of a cell instance is the origin (0,0) and there are horizontal (x) and vertical (y) sizes for a cell instance. In an SDB process, the boundary identifier aligns with a center line of the transistor gates (also referred to as poly lines). The Vdd and Vss power rails go outside of the boundary and may be half in a cell and half out of the cell. Overlapping boundaries of LEF cells are not permitted in a PNR environment.
According to the subject matter disclosed herein, abstract views of standard cells that use ZDBs have power connections that are outside the boundaries of the cells. Further, abstracts of standard cell instances include information that indicate which cell edges may be placed next to other cell edges in the library. In one embodiment, edge identifiers are used to indicate which cell edges may be placed next to other cell edges in the library, and may be used with PNR tools that allow edge identifiers to be used. Abstracts of cells may, for example, be input to a PNR tool and commands may be run that indicate the left and right edge identifiers of a cell. Different variants of a standard cell that provides a particular function may have different edge identifiers.
Note that the right edge of both the top and bottom NAND2 gates in
In
On the right side of
Table 1 sets forth permissible and impermissible ZDB edge abutment configurations.
From Table 1, a SDB edge may abut another SDB edge, which is a traditional edge abutment configuration and is depicted at 501 in
A ZDB_PwrInside edge identifier may abut with a ZDB_PwrOutside edge identifier, which is depicted at 504. This ZDB edge abutment configuration provides an area savings of 1 CPP. More specifically, while the average area savings per cell for the two cells depicted at 504 is ½ CPP per cell, cells can only be shifted by an integer number of CPPs, so the area savings of 1 CPP is attributed to only one cell because cells can only be shifted by an integer number of CPPs.
Edge abutment configurations indicated at 505 and 506 in
For the NAND2 logic gate, the leftmost abstracted variant includes a SDB left edge identifier and a ZDB_PwrInside right edge identifier. The next abstracted variant to the right includes a SDB left edge identifier and a ZDB_PwrOutside right edge identifier. The rightmost abstracted variant for the NAND2 logic gate includes a SDB left edge identifier and a SDB right edge identifier.
For the INVD2 logic gate, the left most abstracted variant includes a ZDB_PwrInside left edge identifier and a ZDB_PwrInside right edge identifier. The next abstracted variant to the right includes a ZDB_PwrInside left edge identifier and a ZDB_PwrOutside right edge identifier. The abstracted variant in the middle includes a ZDB_PwrOutside left edge identifier and a ZDB_PwrInside right edge identifier. The fourth abstracted variant includes a ZDB_PwrOutside for both the left and right edge identifiers. The rightmost abstracted variant includes a SDB left edge identifier and a SDB right edge identifier.
Table 2 summarizes possible cell abutment configurations for cells having SDB and ZDB_PwrOutside edge identifiers for the minimal library embodiment. In this embodiment, there may be 2 values for edge identifiers: SDB and ZDB_PwrOutside.
In an alternative embodiment, edges could be identified by the presence or absence of a single identifier value. For example, the presence of an SDB identifier could mean an SDB edge, whereas the absence of an SDB identifier could mean a ZDB_PwrOutside edge.
The interface 940 may be configured to include a wireless interface that is configured to transmit data to or receive data from, for example, a wireless communication network using a RF signal. The wireless interface 940 may also include, for example, an antenna. The electronic system 900 also may be used in a communication interface protocol of a communication system, such as, but not limited to, Code Division Multiple Access (CDMA), Global System for Mobile Communications (GSM), North American Digital Communications (NADC), Extended Time Division Multiple Access (E-TDMA), Wideband CDMA (WCDMA), CDMA2000, Wi-Fi, Municipal Wi-Fi (Muni Wi-Fi), Bluetooth, Digital Enhanced Cordless Telecommunications (DECT), Wireless Universal Serial Bus (Wireless USB), Fast low-latency access with seamless handoff Orthogonal Frequency Division Multiplexing (Flash-OFDM), IEEE 802.20, General Packet Radio Service (GPRS), iBurst, Wireless Broadband (WiBro), WiMAX, WiMAX-Advanced, Universal Mobile Telecommunication Service—Time Division Duplex (UMTS-TDD), High Speed Packet Access (HSPA), Evolution Data Optimized (EVDO), Long Term Evolution—Advanced (LTE-Advanced), Multichannel Multipoint Distribution Service (MMDS), Fifth-Generation Wireless (5G), Sixth-Generation Wireless (6G), and so forth.
Embodiments of the subject matter and the operations described in this specification may be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification may be implemented as one or more computer programs, i.e., one or more modules of computer-program instructions, encoded on computer-storage medium for execution by, or to control the operation of data-processing apparatus. Alternatively or additionally, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer-storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial-access memory array or device, or a combination thereof. Moreover, while a computer-storage medium is not a propagated signal, a computer-storage medium may be a source or destination of computer-program instructions encoded in an artificially-generated propagated signal. The computer-storage medium can also be, or be included in, one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices). Additionally, the operations described in this specification may be implemented as operations performed by a data-processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.
While this specification may contain many specific implementation details, the implementation details should not be construed as limitations on the scope of any claimed subject matter, but rather be construed as descriptions of features specific to particular embodiments. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular embodiments of the subject matter have been described herein. Other embodiments are within the scope of the following claims. In some cases, the actions set forth in the claims may be performed in a different order and still achieve desirable results. Additionally, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
As will be recognized by those skilled in the art, the innovative concepts described herein may be modified and varied over a wide range of applications. Accordingly, the scope of claimed subject matter should not be limited to any of the specific exemplary teachings discussed above, but is instead defined by the following claims.
This application claims the priority benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 63/281,603, filed on Nov. 19, 2021, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63281603 | Nov 2021 | US |