Bitcell simulation device and methods
Summary by NHIP
Bitcell Sensitivity Simulation Method
The method determines operational sensitivities of a bitcell to specific component characteristics and normalizes these values into a stored set. A device simulator then uses this normalized information, optionally adjusted by a tolerance factor based on standard deviations, to simulate bitcell operation.
Claim Score by NHIP
Abstract
A method of simulating operation of a bitcell includes determining sensitivities of a bitcell model to different component characteristics and device parameters, such as device temperature, operating voltage, and process characteristics. The determined sensitivities are normalized, so that each normalized value represents the relative sensitivity of the bitcell, under the simulated device parameters, to the component characteristic associated with the value. The normalized sensitivity values can be scaled based on a tolerance factor, and the adjusted sensitivities used to model the behavior of each component of the bitcell in subsequent simulations.

Term
Projected expiry 23 November 2029.
- Priority and filed
- Granted
- Today
- Projected expiry
19 claims: 3 independent, 16 dependent
- 1A method, comprising:determining a first operational sensitivity of a bitcell to a first component characteristic of a first component of the bitcell;determining a second operational sensitivity of the bitcell to a second component characteristic of the first component of the bitcell;determining a third operational sensitivity of the bitcell to a first component characteristic of a second component of the bitcell;determining a fourth operational sensitivity of the bitcell to a second component characteristic of the second component of the bitcell;normalizing a first plurality of sensitivities of the bitcell including the first operational sensitivity, the second operational sensitivity, the third operational sensitivity and the fourth operational sensitivity, to produce a first set of normalized sensitivity information for the bitcell;storing the first set of normalized sensitivity information;and providing the first set of normalized sensitivity information to a device simulator, the device simulator configured to simulate operation of the bitcell.
- 15Broadest claimClaim Score 53, average(NHIP)A method comprising:receiving a first set of normalized sensitivity information for a bitcell, the first set of normalized sensitivity information representing a first sensitivity of a first component of the bitcell to a first component characteristic, a second sensitivity of the first component of the bitcell to a second component characteristic, a third sensitivity of a second component of the bitcell to a first component characteristic, and a fourth sensitivity of the second component of the bitcell to a second component characteristic;adjusting the first normalized sensitivity information based on a first tolerance factor to produce first adjusted sensitivity information for the bitcell;and simulating operation of the bitcell based on the first adjusted sensitivity information.
- 19A computer readable medium storing a program comprising instructions to manipulate a processor, the instructions, when executed, causing the processor to execute instructions to:determine a first operational sensitivity of a bitcell to first component characteristic of a first component of the bitcell;determine a second operational sensitivity of the bitcell to a second component characteristic of the first component of the bitcell;determine a third operational sensitivity of the bitcell to a first component characteristic of a second component of the bitcell;determine a fourth operational sensitivity of the bitcell to a second component characteristic of the second component of the bitcell;normalize a first plurality of sensitivities of the bitcell including the first operational sensitivity, the second operational sensitivity, the third operational sensitivity and the fourth operational sensitivity to produce a first set of normalized sensitivity information for the bitcell;store the first normalized sensitivity information;and provide the first set of normalized sensitivity information to a device simulator, the device simulator configured to simulate operation of the bitcell.
Independent claims3
42 paragraphs in 4 sections, as filed
FIELD OF THE DISCLOSURE
The present disclosure relates to simulation of integrated circuit devices, and more particularly to simulation of bitcells in integrated circuit devices.
BACKGROUND
In the design of an integrated circuit device, it is typically useful to simulate functional modules of the device, such as memory (e.g. a cache), prior to building physical device samples, in order to ensure that in operation the device will comply with a specification. Accordingly, in the design process of an integrated circuit memory, bitcell models are used to simulate operation of physical bitcells of the memory. In the simulation process it is desirable to determine the extent of potential variability in the operation of a bitcell, so that the variability in bitcell operation can be accounted for in the design of the integrated circuit device.
One method of determining the variability of a bitcell includes simulating operation of the bitcell while randomly varying each of a number of component characteristics such as transistor threshold voltage, transistor channel length, and transistor channel width, for each transistor of the bitcell. However, this process can require an undesirable amount of time. For example, for a bitcell having 6 transistors with three component characteristics for each transistor, millions of simulations are run in order to determine bitcell variability, requiring hours or days of simulation time. Alternatively, the operation of the memory module can be simulated assuming that each component characteristic of the bitcell is at a specified worst-case variation from nominal values. However, these assumptions typically will not accurately reflect actual operating conditions of the memory module. Accordingly, an improved method for simulating operation of a bitcell would be desirable.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idrefs="DRAWINGS">FIG. 1</figref> is a combined block and circuit diagram of a system for determining sensitivity of a bitcell to component characteristics in accordance with one embodiment of the present disclosure.
<figref idrefs="DRAWINGS">FIG. 2</figref> is a combined block and circuit diagram of a system for simulating operation of a bitcell in accordance with one embodiment of the present disclosure.
<figref idrefs="DRAWINGS">FIG. 3</figref> is a flow diagram of a method of determining sensitivity of a bitcell to component characteristics, in accordance with one embodiment of the present disclosure.
<figref idrefs="DRAWINGS">FIG. 4</figref> is a flow diagram of a method of simulating operation of a bitcell in accordance with one embodiment of the present disclosure.
<figref idrefs="DRAWINGS">FIG. 5</figref> is a block diagram of a computer device in accordance with one embodiment of the present disclosure.
DESCRIPTION OF THE DRAWINGS
A method of simulating operation of a bitcell includes determining sensitivities of a bitcell model to different component characteristics and device parameters, such as device temperature, operating voltage, and process characteristics. The determined sensitivities are normalized, so that each normalized value represents the relative sensitivity of the bitcell, under the simulated device parameters, to the component characteristic associated with the value. The normalized sensitivity values can be scaled based on a tolerance factor, and the adjusted sensitivities used to model the behavior of each component of the bitcell in subsequent simulations.
<figref idrefs="DRAWINGS">FIG. 1</figref> illustrates a combined block and circuit diagram of a particular embodiment of a system <b>100</b> for determining sensitivity of a bitcell to different component characteristics. As used herein, the term component characteristic refers to a characteristic, such as a threshold voltage, channel length, or channel width, of a particular component, such as a transistor of the bitcell. In an embodiment, component characteristics are uniquely identified with particular components and particular characteristics. For example, as used herein, the notation V<sub>TH-148 </sub>refers to the threshold voltage for transistor <b>148</b>, while V<sub>TH-146 </sub>refers to the threshold voltage for transistor <b>146</b>. As described herein, V<sub>TH-148 </sub>and V<sub>TH-146 </sub>are each a unique component characteristic for a bitcell. The sensitivities for each component characteristic can also vary depending on device parameters for the bitcell. As used herein, device parameters refer to conditions of an integrated circuit device that can impact operation of each device component. Examples of device parameters include device temperature, operating voltage, and the semiconductor process used to form the integrated circuit device.
The system <b>100</b> includes a simulator <b>102</b>, a netlist <b>103</b>, a control module <b>104</b>, control information <b>105</b>, simulation models <b>107</b>, a simulated test fixture <b>108</b>, and operational sensitivity information <b>115</b>. The simulation models <b>107</b> include a set of models to simulate the function of components of an integrated circuit device. In particular, the simulation models <b>107</b> can include silicon simulation models of basic components of an integrated circuit device, such as transistors, resistors, capacitors, and the like, and can also include functional models for more complex components, such as latches, logic gates, and the like. Each of the simulation models <b>107</b> defines the behavior of the associated component based on particular component characteristics. For example, the simulation model of a transistor can define the behavior of the transistor based on component characteristics such as threshold voltage, channel length, and channel width.
The netlist <b>103</b> includes information to indicate the configuration and relationship of one or more of the simulation models <b>107</b> in order to simulate a more complex component. For example, in the illustrated embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, the netlist <b>103</b> reflects a configuration of transistors and other components to define the simulated test fixture <b>108</b> in order to simulate operation of a physical bitcell.
The control module <b>104</b> controls a simulation based on user entered information. For example, the control module <b>104</b> can provide an interface allowing a user to designate the netlist <b>103</b>, the library including simulation models <b>107</b>, and other information including simulation conditions (e.g. device parameters). The information can also include component characteristics for each device component being simulated. For example, for each transistor being simulated, the control module <b>104</b> can set forth the channel length, channel width, threshold voltage, and other component characteristics. In an embodiment, the control module <b>104</b> expresses the value for each component characteristic based on a distribution of possible values for the characteristic. The distribution for each characteristic is based on a known characteristic distribution for the component being simulated. Thus, the value for a particular component characteristic can be expressed based on a nominal value (e.g. an average or mean value) for that characteristic and a number of standard deviations that the characteristic value deviates from the nominal value. For example, the control module <b>104</b> can express the value for the channel length of a transistor as 0.5σ (where σ indicates the standard deviation), indicating the channel length value is equivalent to a nominal value plus one-half of a standard deviation. The control module <b>104</b> can also include multiple values, or ranges of values, for each component characteristic so that the integrated circuit device will be simulated with each of the characteristic values.
The control module <b>104</b> can also include other simulation control information, such as the type of simulation to be performed. Thus, in the illustrated example of <figref idrefs="DRAWINGS">FIG. 1</figref>, the control module <b>104</b> includes control information indicating that the simulator <b>102</b> should obtain operational sensitivity information for the bitcell model <b>110</b>.
The control information <b>105</b> stores the information provided by the control module <b>104</b> in a format that can be interpreted by the simulator <b>102</b> to perform one or more simulations. Thus, the control information <b>105</b> can reflect simulation parameters, requested results, and other information to control a simulation at the simulator <b>102</b>.
The simulator <b>102</b> is configured to simulate operation of a physical device based on input information. In particular, the simulator <b>102</b> models operation of a circuit defined by the netlist <b>103</b> and the simulation models <b>107</b>. Further, the simulator simulates the behavior and operating characteristics of the modeled circuit based on the component characteristic and device parameter information stored at the control information <b>105</b>. In addition, the simulator <b>102</b> is configured to provide simulation results <b>111</b> based on the simulated behavior and operating characteristics of the modeled device. The particular simulation results recorded at the simulation results <b>111</b> are determined by the simulator based on the control information <b>105</b>. Examples of the simulation results <b>111</b> can include voltages at particular nodes of the netlist <b>102</b>, currents through particular nodes, and the like. In addition, the simulator <b>102</b> can provide simulation results to the control module <b>104</b> for processing. Thus, in the illustrated example of <figref idrefs="DRAWINGS">FIG. 1</figref>, the simulator <b>104</b> provides simulation results to the control module <b>104</b> for determination of the operational sensitivity information <b>115</b>.
In the illustrated embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, the netlist <b>103</b> defines the simulated test fixture <b>108</b> so that operation of the simulated test fixture <b>108</b> is simulated at the simulator <b>102</b>. In particular, the simulated test fixture <b>108</b> includes the bitcell model <b>110</b> and voltage sources <b>112</b>, <b>114</b>, and <b>116</b>. It will be appreciated that although for ease of discussion the voltage sources <b>112</b>-<b>116</b>, as well as the components of the bitcell <b>110</b>, are illustrated and described as physical components, these components reflect simulated behavior of the illustrated components at the simulator <b>102</b>.
The bitcell model <b>110</b> includes pass gates (e.g. transistors) <b>134</b> and <b>135</b>, and a latch <b>150</b> including transistors <b>130</b>, <b>131</b>, <b>132</b>, and <b>133</b>. In addition, the bitcell model includes a word line <b>122</b>, labeled “WL”, a bitline <b>124</b>, labeled “BL” and a bitline <b>128</b>, labeled “BL_X.” The transistor <b>134</b> includes a source connected to the bitline <b>124</b>, a drain, and a control electrode connected to the word line <b>122</b>. The transistor <b>135</b> includes a source connected to the bitline <b>124</b>, a drain, and a control electrode connected to the word line <b>122</b>. The transistor <b>130</b> includes a drain connected to the second current electrode of the transistor <b>135</b>, a source connected to a ground reference voltage, and a control electrode connected to the second current electrode of the transistor <b>134</b>. The transistor <b>131</b> includes a source connected to a reference voltage labeled “VDD”, a source connected to the drain of the transistor <b>135</b>, and a control electrode connected to the second current electrode of the transistor <b>134</b>. The transistor <b>132</b> includes a source connected to the second current electrode of the transistor <b>134</b>, a drain connected to the ground reference voltage, and a control electrode connected to the second current electrode of the transistor <b>135</b>. The transistor <b>133</b> includes a drain connected to the reference voltage labeled “VDD”, a source connected to the drain of the transistor <b>134</b>, and a control electrode connected to the second current electrode of the transistor <b>135</b>.
The voltage source <b>112</b> includes a terminal connected to the bitline <b>128</b> and a terminal connected to the ground reference voltage. The voltage source <b>114</b> includes a terminal connected to the word line <b>122</b> and a terminal connected to the ground reference voltage. The voltage source <b>116</b> includes a terminal connected to the bitline <b>124</b> and a terminal connected to the ground reference voltage.
In the illustrated embodiment of <figref idrefs="DRAWINGS">FIG. 1</figref>, the system <b>100</b> is configured to determine operational sensitivity information for the bitcell model <b>110</b>. Accordingly, during simulation of the bitcell model <b>110</b> at the simulator <b>102</b>, the control module <b>104</b> sets the voltage at each of the voltage sources <b>112</b>, <b>114</b>, and <b>116</b> to be substantially the same as the voltage reference V<sub>DD</sub>. In addition, the voltage at the nodes <b>126</b> of the latch <b>150</b> is set to an initial value representing a logic “high”, while the voltage at the node <b>140</b> is set an initial value representing a logic “low.” This set of conditions causes the transistors <b>134</b>, <b>135</b>, <b>130</b> and <b>133</b> to become conductive. This in turn causes a simulated read current for the bitcell, labeled I<sub>READ</sub>, to flow from voltage source <b>112</b> through node <b>140</b> and to node <b>142</b>.
The current I<sub>READ </sub>will vary based on changes in the component characteristics of the bitcell model <b>110</b>, as well as changes in average conditions for the integrated circuit associated with the bitcell model <b>110</b>. In particular, the current I<sub>READ </sub>will vary based on changes in the threshold voltage, channel width, and channel length of each of the transistors <b>130</b>-<b>135</b>. In addition, the current I<sub>READ </sub>will vary based on the average threshold voltage for p-channel transistors of the integrated circuit device associated with the bitcell model <b>110</b>, the average threshold voltage for n-channel transistors of the integrated circuit device, the average channel length for transistors of the integrated circuit device, and the average channel width for transistors of the integrated circuit device. The amount of variation of the current I<sub>READ </sub>due to changes in each component characteristic can be different. For example, the amount of variation in the current I<sub>READ </sub>due to changes in the channel length of the transistor <b>131</b> can be different than the amount of variation in the current I<sub>READ </sub>due to changes in the threshold voltage of the transistor <b>133</b>. Accordingly, the amount of variation in the current I<sub>READ </sub>for a particular component characteristic reflects the operational sensitivity of the bitcell model <b>110</b> to changes in that characteristic.
To determine the operational sensitivity for a component characteristic, the simulator <b>102</b> sets the value for all other component characteristics of the bitcell <b>110</b> to their nominal values. The simulator <b>102</b> then sets the value of the component characteristic being tested to a first value. In an embodiment, this value is equivalent to −0.5σ of the nominal value for the component characteristic. The simulator <b>102</b> then determines the current I<sub>READ </sub>to obtain a current I<sub>READ1</sub>. The simulator <b>102</b> subsequently sets the value of the component characteristic being tested to a second value, such as 0.5σ, and determines the current I<sub>READ </sub>to obtain a current I<sub>READ2</sub>. To obtain a sensitivity value for the component characteristic being tested, the simulator <b>102</b> subtracts IREAD<b>1</b> from IREAD<b>2</b> and divides the result by the difference of the component characteristic values that were tested, expressed in terms of the standard deviation for the component characteristic.
For example, to obtain operational sensitivity information for V<sub>TH-130 </sub>(i.e. the threshold voltage for the transistor <b>130</b>), the simulator <b>102</b> sets the values for all other component characteristics to their nominal values. Thus, the threshold voltages, channel length, and channel widths for the transistors <b>131</b>-<b>135</b> are each set to their nominal values, as are the values for CW<sub>130 </sub>(i.e. the channel width for transistor <b>130</b>) and CL<sub>130 </sub>(i.e. the channel length for transistor <b>130</b>). In addition, the average conditions for the integrated circuit associated with the bitcell model <b>110</b> are also set to their nominal values. The simulator <b>102</b> then sets the value for V<sub>TH-130 </sub>to −0.5σ and determines the current I<sub>READ </sub>to obtain the current I<sub>READ1</sub>. The simulator <b>102</b> subsequently sets the value for V<sub>TH-130 </sub>to 0.5σ and determines the current I<sub>READ </sub>to obtain the current I<sub>READ2</sub>. The simulator <b>102</b> then obtains a sensitivity value following calculation:
<maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mrow><mrow><mi>SV</mi><mo></mo><mrow><mo>[</mo><msub><mi>V</mi><mrow><mi>TH</mi><mo>-</mo><mn>130</mn></mrow></msub><mo>]</mo></mrow></mrow><mo>=</mo><mfrac><mrow><mrow><mi>IREAD</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mn>2</mn></mrow><mo>-</mo><mrow><mi>IREAD</mi><mo></mo><mstyle><mspace width="0.3em" height="0.3ex" /></mstyle><mo></mo><mn>1</mn></mrow></mrow><mrow><msub><mi>σ</mi><mn>2</mn></msub><mo>-</mo><msub><mi>σ</mi><mn>1</mn></msub></mrow></mfrac></mrow></math></maths><br /> where SV[V<sub>TH-130</sub>] reflects the sensitivity of the bitcell model <b>110</b> to changes in the threshold voltage for the transistor <b>130</b>, and σ<sub>1 </sub>and σ<sub>2 </sub>are the values of V<sub>TH-130 </sub>associated with IREAD<b>1</b> and IREAD<b>2</b>, respectively, expressed as function of the standard deviation for those values. In this example, σ<sub>1 </sub>is equal to −0.5 and σ<sub>2 </sub>is 0.5.
The simulator <b>102</b> obtains sensitivity values for each specified component characteristic, including average integrated circuit conditions, for the bitcell model <b>110</b>. After all sensitivity values have been obtained, the simulator <b>102</b> normalizes the sensitivity values. In an embodiment, the sensitivity values are normalized so that the sum of the squares of all the values is equal to one. The simulator <b>102</b> provides the normalized sensitivity values to the control module <b>104</b>, which stores the normalized values at the operational sensitivity information <b>115</b>. Thus, the simulator <b>102</b> determines sensitivity information for the bitcell model <b>110</b> without conducting a large number of random simulations, allowing the information to be determined more quickly than with conventional methods.
The normalized sensitivity values stored at the operational sensitivity information <b>115</b> reflect the relative sensitivity of the bitcell model <b>110</b> to different component characteristics. Accordingly, the operational simulation information <b>115</b> can be used to improve the accuracy and utility of simulations including the bitcell model <b>110</b>. This can be better understood with reference to <figref idrefs="DRAWINGS">FIG. 2</figref>, which illustrates a system <b>200</b> for simulating operation of a bitcell. The system <b>200</b> includes a simulator <b>202</b>, a netlist <b>203</b>, a control module <b>204</b>, control information <b>205</b>, simulation models <b>207</b>, and operational sensitivity information <b>215</b>. Each of the illustrated items is similarly configured and performs similar functions to its correspondingly numbered counterpart of <figref idrefs="DRAWINGS">FIG. 1</figref>.
In operation, the system <b>200</b> simulates operation of simulated test fixture <b>208</b> defined by the netlist <b>203</b>, and stores the results at simulation results <b>211</b>. In the illustrated embodiment of <figref idrefs="DRAWINGS">FIG. 2</figref>, the simulated test fixture <b>208</b> represents a test fixture for the bitcell <b>110</b>. Operation of the bitcell model <b>110</b> is simulated by applying transient signals to one or more of the word line <b>122</b>, the bitline <b>124</b>, and the bitline <b>128</b>, and recording specified operational characteristics, such as the current I<sub>READ</sub>, of the bitcell model <b>110</b>.
The values of the simulated operational characteristics will depend in part on the component characteristics for the bitcell model <b>110</b>. To determine the component characteristics, the control module <b>204</b> accesses the normalized sensitivity values set forth in the operational sensitivity information <b>215</b>. In addition, the control module <b>204</b> determines a tolerance factor, which indicates a specified amount of variation in the nominal behavior of the bitcell model <b>110</b> to be simulated. In an embodiment, the tolerance factor is expressed as a number of standard deviations from a nominal value. The control module <b>204</b> multiplies the normalized sensitivity values by the tolerance factor, and provides the resulting values to the simulator <b>202</b>. Based on these values, the simulator <b>202</b> sets the values for the component characteristics of the bitcell model <b>110</b>.
This process can be better understood with reference to an example. In this example, the normalized sensitivity value associated with V<sub>TH-133 </sub>is 0.2, while the normalized sensitivity value associated with CW<sub>130 </sub>(i.e. the channel width of transistor <b>130</b>) is 0.4. These values indicate that the bitcell model <b>110</b> is more sensitive to variations in the channel width of transistor <b>130</b> than in the threshold voltage of the transistor <b>133</b>. In the example, the tolerance factor <b>207</b> is 6. Accordingly, the control module <b>204</b> multiplies the sensitivity values by the tolerance factor to obtain adjusted values of 1.2 for V<sub>TH-133 </sub>and 2.4 for CW<sub>130</sub>. The simulator <b>202</b> therefore sets the threshold voltage for the transistor <b>133</b> to be 1.2σ and the value of the channel width for the transistor <b>130</b> to be 2.4σ, and simulates operation of the bitcell using these component characteristics for the bitcell model <b>110</b>.
Accordingly, by using the normalized sensitivity values the simulator <b>202</b> will simulate operation of the bitcell using component characteristic values that vary from nominal values according to the sensitivity of the characteristic. Thus, the more sensitive a bitcell's operation is to a particular component characteristic, the more that characteristic will deviate from its nominal value during simulation. This provides for more accurate representation of the potential variability of the bitcell model <b>110</b> at the simulator <b>202</b>.
Referring to <figref idrefs="DRAWINGS">FIG. 3</figref>, a flow diagram of a particular embodiment of a method of determining sensitivity of a bitcell is illustrated. At block <b>302</b>, the device parameters for an integrated circuit associated with the bitcell are set. These parameters can include operating voltage, temperature, semiconductor process, and the like. At block <b>304</b>, component characteristics for all components of the bitcell, including average characteristics for the integrated circuit, are set to nominal values.
At block <b>306</b>, the simulator determines the component characteristic to be tested, referred to herein as the tested characteristic. At block <b>308</b>, the tested characteristic is set to a first test value, such as −0.5σ. At block <b>310</b>, the sensitivity of the bitcell is tested to determine the value SENSITIVITY<b>1</b>. In an embodiment, the sensitivity of the bitcell is tested by determining a read current for the bitcell.
At block <b>312</b>, the tested characteristic is set to a second test value, such as 0.5σ. At block <b>314</b>, the sensitivity of the bitcell is determined to obtain the value SENSITIVITY<b>2</b>. At block <b>316</b>, a sensitivity value for the tested characteristic is determined based on the values SENSITVITY<b>1</b> and SENSITIVITY<b>2</b>. In an embodiment, the sensitivity value is obtained by subtracting SENSITIVITY<b>2</b> from SENSITIVITY<b>1</b>. At block <b>318</b>, the sensitivity value for the tested characteristic is stored.
At block <b>320</b>, it is determined whether sensitivity values have been obtained for all specified component characteristics for the specified set of device parameters. If not, the method flow returns to block <b>304</b> to test another component characteristic. Accordingly, the method ensures that all specified component characteristics are tested for a specified set of device parameters. If, at block <b>320</b>, it is determined that sensitivity values have been obtained for all specified component characteristics, the method flow moves to block <b>322</b> and the stored sensitivity values are normalized to obtain normalized sensitivity information. At block <b>324</b> the normalized sensitivity information is stored. In an embodiment, the stored normalized sensitivity information will indicate the set of device parameters associated with the sensitivity information.
At block <b>326</b>, it is determined whether normalized sensitivity values have been obtained for all specified sets of device parameters. If so, the method flow proceeds to block <b>328</b> and the method ends. If not, the method flow returns to block <b>302</b> and another set of specified device parameters are determined. Thus, the illustrated method allows for normalized sensitivity information of the bitcell to be determined for different sets of specified device parameters.
Referring to <figref idrefs="DRAWINGS">FIG. 4</figref>, a flow diagram of a particular embodiment of a method for simulating operation of a bitcell. At block <b>402</b>, device parameters for an integrated circuit device associated with the bitcell are set. At block <b>404</b>, normalized sensitivity information associated with the set of device parameters are received. At block <b>406</b>, a tolerance factor for the simulation is received. In an embodiment, the tolerance factor reflects a number of standard deviations from a nominal value.
At block <b>408</b>, the received normalized sensitivity information is adjusted based on the tolerance factor. In an embodiment, the normalized sensitivity information reflected normalized sensitivity values for each of a number of component characteristics of the bitcell to be simulated, and the normalized values are adjusted by multiplying each value by the tolerance factor. At block <b>410</b>, operation of the bitcell is simulated based on the adjusted sensitivity information. For example, the adjusted normalized sensitivity values can be used to set the value of each associated component characteristic of the bitcell. At block <b>412</b>, results of the simulation are stored.
At block <b>414</b>, it is determined whether simulation results have been obtained for all specified sets of device parameters. If so, the method flow moves to block <b>416</b> and the method ends. If not, the method flow returns to block <b>402</b> and another specified set of device parameters are set for simulation. Accordingly, the illustrated method allows for simulation results to be obtained for a number of sets of device parameters, with individual sensitivity information for each set.
<figref idrefs="DRAWINGS">FIG. 5</figref> illustrates, in block diagram form, a processing device in the form of a personal computer system <b>500</b>. The computer system <b>500</b> is illustrated to include a central processing unit <b>510</b>, which may be a conventional proprietary data processor, memory including random access memory <b>512</b>, read only memory <b>514</b>, and input output adapter <b>522</b>, a user interface adapter <b>520</b>, a communications interface adapter <b>524</b>, and a multimedia controller <b>526</b>. The input output (I/O) adapter <b>526</b> is further connected to, and controls, disk drives <b>547</b>, printer <b>545</b>, removable storage devices <b>546</b>, as well as other standard and proprietary I/O devices.
The user interface adapter <b>520</b> can be considered to be a specialized I/O adapter. The adapter <b>520</b> is illustrated to be connected to a mouse <b>540</b>, and a keyboard <b>541</b>. In addition, the user interface adapter <b>520</b> may be connected to other devices capable of providing various types of user control, such as touch screen devices. The communications interface adapter <b>524</b> is connected to a bridge <b>550</b> such as is associated with a local or a wide area network, and a modem <b>551</b>. By connecting the system bus <b>502</b> to various communication devices, external access to information can be obtained. The multimedia controller <b>526</b> will generally include a video graphics controller capable of displaying images upon the monitor <b>560</b>, as well as providing audio to external components (not illustrated).
Generally, the system <b>500</b> will be capable of implementing the system and methods described herein. For example, the RAM <b>512</b>, ROM <b>514</b>, and disk drives <b>547</b> are each computer readable media that can store a computer program including instructions to manipulate the central processing unit <b>510</b> to perform one or more of the methods described herein.
Other embodiments, uses, and advantages of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. It will further be appreciated that, although some circuit elements and modules are depicted and described as connected to other circuit elements, the illustrated elements may also be coupled via additional circuit elements, such as resistors, capacitors, transistors, and the like. The specification and drawings should be considered exemplary only, and the scope of the disclosure is accordingly intended to be limited only by the following claims and equivalents thereof
Contents4
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both waysCites: the store holds 6 of 7
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US12042627B2 | Cited by | United States of America | Applicant |
| US10043572B1 | Cited by | United States of America | Applicant |
| US8656339B2 | Cited by | United States of America | Search report |
| US2012167025A1 | Cited by | United States of America | Pre-grant |
| US6181626B1 | Cites | United States of America | Search report |
| US6529436B1 | Cites | United States of America | Search report |
| US6738953B1 | Cites | United States of America | Search report |
| US7546562B1 | Cites | United States of America | Search report |
| US7672152B1 | Cites | United States of America | Search report |
| US7706174B2 | Cites | United States of America | Search report |
| Calhoun et al., Analyzing Static Noise Margin for Sub-Threshold SRAM in 65nm CMOS, Proceedings of the 31st European Solid-State Circuits Conference, Sep. 2005, pp. 363-366. | Non-patent | – | Search report |
| Wang et al., Statistical Modeling for the Minimum Standby Supply Voltage of a Full SRAM Array, 33rd European Solid-State Circuits Conference, Sep. 2007, pp. 400-403. | Non-patent | – | Search report |
| Calhoun et al., Static Noise Margin Variation for Sub-Threshold SRAM in 65-nm CMOS, IEEE Journal of Solid-State Circuits, vol. 41, No. 7, Jul. 2006, pp. 1673-1679. | Non-patent | – | Search report |
2 members in 1 office
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 5447108 | United States of America | A | |
| US20080054471 | – | – | – |
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2009248383A1 | United States of America | A1 | |
| US7933760B2This record | United States of America | B2 |
31 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Expire PatentEXP. | EXP. | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Examiner's AmendmentMEX.A | MEX.A | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Examiner Interview Summary (PTOL - 413)MEXIN | MEXIN | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Sent to Classification ContractorPGPC | PGPC | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Lapse for failure to pay maintenance feesLapsedPATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYLAPS | LAPS | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 07933760
- Publication, DOCDB
- 7933760
- Publication, EPODOC
- US7933760
- Application
- 12054471
- Application, DOCDB
- 5447108
- Application, EPODOC
- US20080054471
Titles
- English
- Bitcell simulation device and methods
Patent term adjustment
- A delay
- +576 daysthe office missed an examination deadline
- B delay
- +32 dayspendency past three years
- Net adjustment
- 608 days
Classification
- CPC, 3
- G11C29/50
- G06F30/367
- G11C29/56
- IPC, 1
- G06F17 50
- USPC, 4
- 703014000
- 702057000
- 702179000
- 703002000