Embodiments herein relate to an in-memory computation circuit utilizing a static random access memory (SRAM) array and, in particular, to the selective application of a clamping voltage to the bit line during a simultaneous access of multiple rows of the SRAM array for an in-memory compute operation.
Reference is made to
Each SRAM cell 14 includes a word line WL and a pair of complementary bit lines BLT and BLC. The 8T-type SRAM cell would additionally include a read word line RWL and a read bit line RBT. The cells 14 in a common row of the matrix are connected to each other through a common word line WL (and through the common read word line RWL in the 8T-type implementation). The cells 14 in a common column of the matrix are connected to each other through a common pair of complementary bit lines BLT and BLC (and through the common read bit line RBL in the 8T-type implementation). Each word line WL, RWL is driven by a word line driver circuit 16 which may be implemented as a CMOS driver circuit (for example, a series connected p-channel and n-channel MOSFET transistor pair forming a logic inverter circuit). The word line signals applied to the word lines, and driven by the word line driver circuits 16, are generated from feature data input to the in-memory computation circuit 10 and controlled by a row controller circuit 18. A column processing circuit 20 senses the analog signal voltages on the pairs of complementary bit lines BLT and BLC (and/or on the read bit line RBL) for the M columns and generates a decision output for the in-memory compute operation from those analog signal voltages. The column processing circuit 20 can be implemented to support processing where the voltages on the columns are first processed individually and then followed by a recombination of multiple column outputs.
Although not explicitly shown in
With reference now to
The row controller circuit 18 performs the function of selecting which ones of the word lines WL<0> to WL<N−1> are to be simultaneously accessed (or actuated) in parallel during an in-memory compute operation, and further functions to control application of pulsed signals to the word lines in accordance with the feature date for that in-memory compute operation.
The implementation illustrated in
A bit line precharge circuit 22 is connected to each pair of complementary bit lines BLT and BLC and functions in response to an assertion of a precharge control signal PCH to charge the bit lines to a precharge voltage level (for example, the level of the high supply voltage Vdd). The bit line precharge operation is performed prior to the simultaneous access of the word lines WL<0> to WL<N−1> during a computation cycle of the in-memory compute operation, and is also performed in connection with the normal operation to write data bits to, and read data bits from, the SRAM cells 14 of the memory array 12. Additionally, bit line precharge is applied at the end of each computation cycle of the in-memory compute operation to reset the bit line voltages in advance of the execution of the next computation cycle.
It will be noted that a risk exists that the analog voltage on at least one of the bit lines BLT and BLC may fall from the Vdd voltage to a level where an unwanted data flip occurs with respect to the stored data bit value in one of the memory cells 14 of the column. For example, a logic “1” state stored in the cell 14 of a column may be flipped to a logic “0” state. This data flip introduces a data error in the computational weight stored in the memory cells, thus jeopardizing the accuracy of subsequent in-memory compute operations.
The unwanted data flip that occurs due to an excess of bit line voltage lowering is mainly an effect of the simultaneous parallel access of the word lines in matrix vector multiplication mode during the in-memory compute operation. This problem is different from normal data flip of an SRAM bit cell due to Static-Noise-Margin (SNM) issues which happens in serial bit cell access when the bit line is close to the level of the supply voltage Vdd. During serial access, the normal data flip is instead caused by a ground bounce of the data storage nodes QT or QC at the bit cell.
There is a need in the art to support in-memory computation circuit use of SRAM cells while ensuring against unwanted data flip during simultaneous row access.
In an embodiment, a circuit comprises: a memory array including a plurality of static random access memory (SRAM) cells arranged in a matrix with plural rows and plural columns, each row including a word line connected to the SRAM cells of the row, and each column including at least one bit line connected to the SRAM cells of the column; a word line driver circuit for each row having an output connected to drive the word line of the row; a row controller circuit configured to simultaneously actuate the plurality of word lines by applying pulses through the word line driver circuits to the word lines for an in-memory compute operation; a column processing circuit connected to the bit line for each column and configured to process an analog voltage developed on the bit line in response to the simultaneous actuation of the plurality of word lines to generate a decision output for the in-memory compute operation; and a bit line clamping circuit comprising a sensing circuit configured to compare the analog voltage on a given bit line to a threshold voltage and a voltage clamp circuit that is actuated in response to the comparison to preclude the analog voltage on that given bit line from decreasing below a clamping voltage level.
In an embodiment, a circuit comprises: a memory array including a plurality of static random access memory (SRAM) cells arranged in a matrix with plural rows and plural columns, each row including a word line connected to the SRAM cells of the row, and each column including a pair of bit lines connected to the SRAM cells of the column; a word line driver circuit for each row having an output connected to drive the word line of the row; a row controller circuit configured to simultaneously actuate the plurality of word lines by applying pulses through the word line driver circuits to the word lines for an in-memory compute operation; a column processing circuit connected to the pair of bit lines for each column and configured to process analog voltages developed on the pair of bit lines in response to the simultaneous actuation of the plurality of word lines to generate a decision output for the in-memory compute operation; and a bit line clamping circuit comprising a sensing circuit configured assert a clamp actuate signal if the analog voltage on either bit line of a given pair of bit lines fall below a threshold voltage and a voltage clamp circuit that is actuated in response to assertion of the clamp actuate signal to clamp the analog voltages on that given pair of bit lines to a clamping voltage level.
For a better understanding of the embodiments, reference will now be made by way of example only to the accompanying figures in which:
Reference is now made to
The clamping voltage level Vcl is specifically set by circuit design, calibration and/or modulation to be higher than a voltage Vdf where there is a risk that an unwanted data flip in a memory cell 14 could occur. In an embodiment, the clamping voltage level Vcl may have a nominal voltage substantially equal to (i.e., within plus/minus a few percent) about one-half of the supply voltage (i.e., Vdd/2). Some selected modulation of the clamping voltage level Vcl plus/minus some amount away from the nominal Vdd/2 voltage may be supported in view of integrated circuit process and/or temperature conditions.
In an embodiment, the threshold voltage level for triggering actuation of the voltage clamping circuit may be substantially equal to (i.e., within plus/minus a few percent of) the clamping voltage level Vcl. In any case, however, the threshold voltage level for triggering actuation of the voltage clamping circuit is preferably set at a level where the risk of an unwanted data flip is a concern.
The selective clamping circuits 112 may be configured to generate a flag signal (Flag) each time the voltage clamp circuit is activated. This flag signal can provide feedback to the in-memory computation system to indicate that some loss of sensitivity in the in-memory compute operation has occurred due to activation of the bit line clamping function. Based on this information, some corrective action can be taken by the in-memory computation system (for example, by taking an action to repeat the computation cycle with a data reorganization designed to preclude generation of the dangerous analog voltage level or taking an action to ignore the results of this specific computation cycle where the flag is asserted). Additionally, based on this information, the in-memory computation system can evaluate whether the decision output for the in-memory compute operation can be considered as valid, notwithstanding the loss of sensitivity due to activation of the bit line clamping function.
Although the selective clamping circuits 112 are shown as distinct from the bit line precharge circuit 22, it will be understood that in an embodiment the selective clamping circuits 112 may be implemented as a part of the bit line precharge circuit 22.
Reference is now made to
A first detection circuit 118 (for example, comprising a Schmitt trigger circuit or series connected MOS inverter circuits) for threshold crossing detection has an input coupled (preferably directly connected) to the true bit line BLT, and a second detection circuit 120 (for example, comprising a Schmitt trigger circuit or series connected MOS inverter circuits) for threshold crossing detection has an input coupled (preferably directly connected) to the complement bit line BLC. The first and second detection circuits 118, 120 are configured to sense the voltage levels on the true and complement bit lines BLT, BLC, respectively. A comparison of the sensed bit line voltage against a threshold voltage level is made by each detection circuit 118, 120, with the threshold voltage level being the high-to-low threshold switching voltage set by the circuit configuration of the detection circuit. The output of each detection circuit 118, 120 generates a trigger signal Tr1, Tr2, respectively, having logic level associated with the result of the comparison of the sensed bit line voltage to the threshold voltage level. The trigger signals Tr1, Tr2 output from the detection circuits 118, 120 are logically combined by a logic circuit 122 to generate the clamp actuate signal Cmp. In an embodiment, the logic circuit is a logic AND gate, and each trigger signal Tr1, Tr2 would be asserted logic low in the event that the threshold voltage level is crossed. The detection circuits 118, 120 and logic circuit 122 together form a sensing circuit which controls actuation of the voltage clamp circuit formed by transistors 114 and 116. When either trigger signal Tr1 or Tr2 is asserted logic low, the clamp actuate signal Cmp is likewise asserted logic low through the AND logic and both of the first and second transistors 114 and 116 are turned on to actuate the voltage clamp circuit and clamp the maximum permitted voltage drop on the pair of bit lines BLT and BLC to the clamping voltage level Vcl. Conversely, when both trigger signals Tr1 and Tr2 are asserted logic high, the clamp actuate signal Cmp is likewise asserted logic high through the AND logic in order to turn off the first and second transistors 114 and 116.
The level of the high to low switching threshold for each detection circuit 118, 120 (i.e., the threshold voltage level) may be tuned by the circuit designer to ensure that the level is sufficient to protect against unwanted data flip while still permitting a sufficient voltage swing on the bit lines. Additionally, some process dependent compensation of the detection circuit can be designed in order to tune the threshold voltage level. In this regard, it will be noted that the data flip voltage Vdf level is process dependent and tuning of the threshold voltage level as function of this process dependency will effectuate and adjustment of the clamping circuit operation to provide the necessary protection while also allowing the circuit to achieve a better (higher) bit line swing range.
In this implementation, the clamp actuate signal Cmp may further comprise the flag signal (Flag). Alternatively, the clamp actuate signal Cmp may be input to a logic circuit which responds to assertion of the clamp actuate signal Cmp by controlling assertion of the flag signal.
A voltage generator circuit 332 receives a control signal Vsel. In an embodiment, the control signal Vsel is a multi-bit digital signal, but it will be understood that the control signal can instead be implemented as an analog signal. The value of the control signal (in particular, the digital values of the bits of the control signal Vsel) select the level of the bias voltage Vbias output by the voltage generator circuit 332. The control signal Vsel is generated by a control circuit 314 in response to integrated circuit process and/or temperature information, and thus the level of the bias voltage Vbias is modulated in a manner which is dependent on that integrated circuit process and/or temperature information.
The integrated circuit process information is a digital code generated and stored in a memory M within the control circuit 314. The digital code represents the centering of the process lot and is generated by circuitry such as, for example, ring oscillators (RO) whose output frequency varies dependent on integrated circuit process. The output frequencies of the RO circuits thus represent the process centering and can easily be converted into a digital code (for example, through the use of counter circuits). A process monitoring circuit 316 within the control circuit 314 can generate the value of the control signal Vsel as a function of the stored digital code for the integrated circuit process. For example, the process monitoring circuit 316 may include a look-up table (LUT) that correlates each digital code with a value of the control signal Vsel for providing a specific level of the bias voltage Vbias that will produce an optimal level of strength for clamping circuit operation in clamping to the bit line clamping voltage Vcl for the integrated circuit process corner (i.e., control the conductivity of the third and fourth MOSFET devices 115 and 117 so as to set the strength of the clamped circuit operation when the clamp actuate signal Cmp is asserted and the transistors 114 and 116 are turned on). The control circuit 314 outputs the digital value of the control signal Vsel correlated to the stored digital code and the voltage generator circuit 332 responds by generating the corresponding level for the bias voltage Vbias.
The temperature information is generated by a temperature sensing circuit 318 and represents a current temperature of the integrated circuit. The temperature sensing circuit 318 may select, modify or adjust the digital value of the control signal Vsel as a function of the sensed temperature. For example, the temperature sensing circuit 318 may include a look-up table (LUT) that specifies a certain (positive or negative) adjustment in the digital value of the control signal Vsel for providing a corresponding tuning of the specific level of the bias voltage Vbias that will produce optimal bit line clamping circuit performance given the integrated circuit process corner and current temperature condition.
Reference is now made to
In the implementation of the circuit 112 shown in
Reference is now made to
A first circuit 128 includes a detection circuit (for example, comprising a Schmitt trigger circuit or series connected MOS inverter circuits) 118′ for threshold crossing detection having an input coupled (preferably directly connected) to the true bit line BLT, and a second circuit 130 includes a detection circuit (for example, comprising a Schmitt trigger circuit or series connected MOS inverter circuits) 120′ for threshold crossing detection having an input coupled (preferably directly connected) to the complement bit line BLC. The detection circuits 118, 120 (see,
The enable clamp signal En may be generated by a control circuit of the overall system. The same enable clamp signal En may be applied by the control circuit to all of the selective clamping circuits 112. Alternatively, an individual enable clamp signal En may be applied by the control circuit to each selective clamping circuit 112. The determination as whether the control circuit will assert/deassert the enable clamp signal En can be made based on data and layer statistics. For example, the enable clamp signal En may be deasserted dependent on the data values for the computational weights stored in the memory. For example, if the stored computational weights for the in-memory compute operation are viewed as being unlikely because of their arrangement in the memory to result in a bit line voltage drop that could cause an unwanted data flip, then there is no need to enable operation of the clamping function. Furthermore, the enable clamp signal En may be deasserted dependent on the feature (sensor) data for the in-memory compute operation. For example, if the feature (sensor) data are viewed as being unlikely because of their values to result in a bit line voltage drop that could cause an unwanted data flip, then the control circuit can deassert the enable clamp signal En and disable the clamping function.
In this implementation, the clamp actuate signal Cmp may further comprise the flag signal (Flag). Alternatively, the clamp actuate signal Cmp may be input to a logic circuit which responds to assertion of the clamp actuate signal Cmp by controlling assertion of the flag signal.
Reference is now made to
A first differential amplifier circuit 138 has a first input coupled (preferably directly connected) to the true bit line BLT and a second input coupled to receive a reference voltage Vref. The first differential amplifier circuit 138 is enabled for differential operation in response to an enable clamp signal En. A second differential amplifier circuit 140 has a first input coupled (preferably directly connected) to the complement bit line BLC and a second input coupled to receive the reference voltage Vref. The second differential amplifier circuit 140 is enabled for differential operation in response to the enable clamp signal En. The output signals O1 and O2 from the differential amplifier circuits 138, 140 are logically combined by a logic AND circuit 132 to generate the clamp actuate signal Cmp. The amplifier circuits 138, 140 and logic AND circuit 132 together form a sensing circuit which controls actuation of the voltage clamp circuit formed by transistors 114 and 116.
The logic value of the enable clamp signal En determines whether the bit line clamping protection provided by the selective clamping circuit 112 is enable or disabled. In this regard, there may be instances where it is desired for bit line clamping to be deactivated and deasserting the enable clamp signal En will cause this to happen. In this condition, the outputs O1 and O2 of the first and second differential amplifier circuits 138 and 140 will each be logic high and the logic AND circuit will deassert the clamp actuate signal Cmp logic high to turn off both of the first and second transistors 114 and 116.
However, when the enable clamp signal En is asserted, the first and second differential amplifier circuits 138 and 140 are enabled for operation to perform the comparison and the generation of a logic low signal at either of the outputs O1 and O2 of the first and second differential amplifier circuits 138 and 140 is dependent on the sensed bit line voltage falling from the precharge voltage level Vdd to below a threshold voltage set by the reference voltage Vref. In response to a logic low state for either of the outputs O1 and O2 (which occurs when the sensed bit line voltage falls below the threshold voltage), the logic AND circuit will assert the clamp actuate signal Cmp logic low to turn on both of the first and second transistors 114 and 116 to clamp the maximum permitted voltage drop on the pair of bit lines BLT and BLC.
The enable clamp signal En may be generated by a control circuit of the overall system. The same enable clamp signal En may be applied by the control circuit to all of the selective clamping circuits 112. Alternatively, an individual enable clamp signal En may be applied by the control circuit to each selective clamping circuit 112. The determination as whether the control circuit will assert/deassert the enable clamp signal En can be made based on data and layer statistics. For example, the enable clamp signal En may be deasserted dependent on the data values for the computational weights stored in the memory. For example, if the stored computational weights for the in-memory compute operation are viewed as being unlikely because of their arrangement in the memory to result in a bit line voltage drop that could cause an unwanted data flip, then there is no need to enable operation of the clamping function. Furthermore, the enable clamp signal En may be deasserted dependent on the feature (sensor) data for the in-memory compute operation. For example, if the feature (sensor) data are viewed as being unlikely because of their values to result in a bit line voltage drop that could cause an unwanted data flip, then the control circuit can deassert the enable clamp signal En and disable the clamping function.
It will further be noted that the use of the enable clamp signal En is optional in an embodiment of this selective clamping circuit 112. In other words, the first and second differential amplifier circuits 138 and 140 are configured in this mode to always operate in the differential comparison mode where the logic state of the outputs O1 and O2 is solely dependent on the comparison of the bit line voltages to the reference voltage Vref.
In an implementation, the clamp actuate signal Cmp may further comprise the flag signal (Flag). Alternatively, the clamp actuate signal Cmp may be input to a logic circuit which responds to assertion of the clamp actuate signal Cmp by controlling assertion of the flag signal.
The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of the exemplary embodiment of this invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of this invention will still fall within the scope of this invention as defined in the appended claims.
This application claims priority from U.S. Provisional Application for Patent No. 63/219,987, filed Jul. 9, 2021, the disclosure of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6198671 | Aoyama et al. | Mar 2001 | B1 |
6282137 | Lee | Aug 2001 | B1 |
6529400 | Bhavnagarwala et al. | Mar 2003 | B1 |
6785161 | Pekny | Aug 2004 | B2 |
7120061 | Daga | Oct 2006 | B2 |
7173837 | Bettman et al. | Feb 2007 | B1 |
7227769 | Fukushi et al. | Jun 2007 | B2 |
7289354 | Houston | Oct 2007 | B2 |
7342845 | Somasekhar et al. | Mar 2008 | B2 |
7502247 | Houston | Mar 2009 | B2 |
7508697 | Mukhopadhyay et al. | Mar 2009 | B1 |
7525834 | Sohn | Apr 2009 | B2 |
7564725 | Houston | Jul 2009 | B2 |
7570527 | Houston | Aug 2009 | B2 |
7742326 | Houston | Jun 2010 | B2 |
7760575 | Tooher et al. | Jul 2010 | B2 |
7773407 | Huang et al. | Aug 2010 | B2 |
7813163 | Pille et al. | Oct 2010 | B2 |
8004907 | Russell et al. | Aug 2011 | B2 |
8064241 | Morita et al. | Nov 2011 | B2 |
8134874 | Shiu et al. | Mar 2012 | B2 |
8213257 | Chuang et al. | Jul 2012 | B2 |
8441829 | Huang et al. | May 2013 | B2 |
8451652 | Seikh et al. | May 2013 | B2 |
8559248 | Dally et al. | Oct 2013 | B2 |
8947970 | Pelley et al. | Feb 2015 | B2 |
8966329 | Clark et al. | Feb 2015 | B2 |
8971146 | Sharpe-Geisler et al. | Mar 2015 | B2 |
9001579 | Song et al. | Apr 2015 | B2 |
9013949 | Schreiber et al. | Apr 2015 | B2 |
9087566 | Song et al. | Jul 2015 | B2 |
9142284 | Lee et al. | Sep 2015 | B2 |
9147451 | Chong et al. | Sep 2015 | B2 |
9263121 | Karl et al. | Feb 2016 | B2 |
9286952 | McLaury | Mar 2016 | B2 |
9336865 | Chu et al. | May 2016 | B1 |
9455023 | Xu et al. | Sep 2016 | B1 |
9799393 | Ramamurthy et al. | Oct 2017 | B1 |
9831852 | Boakye et al. | Nov 2017 | B2 |
9928898 | Sahu et al. | Mar 2018 | B2 |
9953699 | Ichihashi | Apr 2018 | B2 |
9953986 | Wang | Apr 2018 | B2 |
9997236 | Pathak | Jun 2018 | B1 |
10319434 | Jung et al. | Jun 2019 | B2 |
10403629 | Mann et al. | Sep 2019 | B2 |
10541013 | Schreiber et al. | Jan 2020 | B1 |
10559573 | Wang et al. | Feb 2020 | B2 |
10642922 | Knag et al. | May 2020 | B2 |
10650909 | Chen et al. | May 2020 | B2 |
10679694 | Kumar et al. | Jun 2020 | B2 |
10685703 | Singh et al. | Jun 2020 | B2 |
10748911 | Singh et al. | Aug 2020 | B2 |
10796732 | Yoshihara et al. | Oct 2020 | B2 |
10811088 | Raj et al. | Oct 2020 | B2 |
11048434 | Kumar et al. | Jun 2021 | B2 |
20020105825 | Marshall et al. | Aug 2002 | A1 |
20060044018 | Chang | Mar 2006 | A1 |
20080037358 | Yabuuchi et al. | Feb 2008 | A1 |
20080144365 | Yamaoka et al. | Jun 2008 | A1 |
20090046519 | Wang et al. | Feb 2009 | A1 |
20110261633 | Chandra et al. | Oct 2011 | A1 |
20140185364 | Iyer et al. | Jul 2014 | A1 |
20140204657 | Dally | Jul 2014 | A1 |
20150179232 | Felix et al. | Jun 2015 | A1 |
20160232951 | Shanbhag et al. | Aug 2016 | A1 |
20180012648 | Ichihashi | Jan 2018 | A1 |
20190042160 | Kumar et al. | Feb 2019 | A1 |
20190042199 | Sumbul et al. | Feb 2019 | A1 |
20190198093 | Khellah | Jun 2019 | A1 |
20200075090 | Kumar et al. | Mar 2020 | A1 |
20200082876 | Singh et al. | Mar 2020 | A1 |
20210035614 | Schreiber | Feb 2021 | A1 |
Number | Date | Country |
---|---|---|
110503995 | Nov 2019 | CN |
0461430 | Dec 1991 | EP |
3437098 | Jul 2019 | EP |
1020200091697 | Jul 2020 | KR |
0051131 | Aug 2000 | WO |
Entry |
---|
Lin, Zhiting, et al.: “Cascade Current Mirror to Improve Linearity and Consistency in SRAM In-Memory Computing,” IEEE Journal of Solid-State Circuits, vol. 56, No. 8, Aug. 2021, 13 pgs. |
Zhang, Jintao, et al.: “In-Memory Computation of a Machine-Learning Classifier in a Standard 6T SRAM Array,” IEEE Journal of Solid-State Circuits, vol. 52, No. 4, Apr. 2017, 10 pgs. |
Definition of “Buffer Amplifier,” Wikipedia, 2021, 6 pgs. |
Chang, Chip-Hong, et al.: “Sizing of SRAM Cell with Voltage Biasing Techniques for Reliability Enhancement of Memory and PUF Functions,” Journal of Low Power Electronics and Applications, 2016, 6, 16; doi: 10.3390/jlpea6030016, 17 pgs. |
Agrawal, Amogh, et al: X-SRAM: Enabling In-Memory Boolean Computations in CMOS Static Random Access Memories, IEEE Transactions on Circuits and Systems-I: Regular Papers, vol. 65, No. 12, Dec. 2018. |
Biswas, Avishek, et al: CONF-SRAM: An Energy-Efficient SRAM With In-Memory Dot-Product Computation for Low-Power Convolution for Low-Power Convolutional Neural Networks, IEEE Journal of Solid-State Circuits, vol. 54, No. 1, Jan. 2019. |
Biswas, Avishek: “Energy-Efficient Smart Embedded Memory Design for IoT and AI,” Massachusetts Institute of Technology, Jun. 2018. |
Dong, Qing, et al: A 351TOPS/W and 372.4GOPS Compute-in-Memory SRAM Macro in 6nm FinFET CMOS for Machine-Learning Applications, ISSCC 2020, Session 15, SRAM & Compute-In-Memory, 15.3. |
H. Jia et al., 15.1 A Programmable Neural-Network Inference Accelerator Based on Scalable In-Memory Computing, 2021 IEEE International Solid-State Circuits Conference (ISSCC), 2021, pp. 236-238, doi: 10.1109/SSCC42613.2021.9365788. |
H. Jia et al., Scalable and Programmable Neural Network Inference Accelerator Based on In-Memory Computing, in IEEE Journal of Solid-State Circuits, vol. 57, No. 1, pp. 198-211, Jan. 2022, doi: 10.1109/JSSC.2021.3119018. |
J.-W. Su et al., 16.3 A 28nm 384kb 6T-SRAM Computation-in-Memory Macro with 8b Precision for AI Edge Chips, 2021 IEEE International Solid- State Circuits Conference (ISSCC), 2021, pp. 250-252, doi: 10.1109/ISSCC42613.2021.9365984. |
J. Lee, H. Valavi, Y. Tang and N. Verma, Fully Row/Column-Parallel In-memory Computing SRAM Macro employing Capacitor-based Mixed-signal Computation with 5-b Inputs, 2021 Symposium on VLSI Circuits, 2021, pp. 1-2, doi: 10.23919/VLSICircuits52068.2021.9492444. |
Jia, Hongyang, et al: A Microprocessor Implemented in 65nm CMOS with Configurable and Bit-scalable Accelerator for Programmable In-memory Computing, IEEE Journal of Solid-State Circuits, vol. 55, No. 9, pp. 2609-2621, Sep. 2020. |
Jia, Hongyang, et al: A Programmable Heterogeneous Microprocessor Based on Bit-Scalable In-Memory Computing, IEEE Journal of Solid-State Circuits, vol. 55, No. 9, Sep. 2020. |
Jiang, Zhewei, et al: C3SRAM: An In-Memory-Computing SRAM Macro Based on Robust Capacitive Coupling Computing Mechanism, IEEE Journal of Solid-State Circuits, vol. 55, No. 7, Jul. 2020. |
Kang, Mingu, et al: A Multi-Functional In-Memory Inference Processor Using a Standard 6T SRAM Array, IEEE Journal of Solid-State Circuits, vol. 53, No. 2, Feb. 2018. |
Kim, Jinseok, et al: Area-Efficient and Variation-Tolerant In-Memory BNN Computing using 6T SRAM Array, 2019 Symposium on VLSI Circuits Digest of Technical Papers. |
Si, Xin, et al: A 28nm 64Kb 6T SRAM Computing-in-Memory Macro with 8b MAC Operation for AI Edge Chips, ISSCC 2020, Session 15, SRAM & Compute-In-Memorya, 15.5. |
Si, Xin, et al: A Twin-8T SRAM Computation-In-Memory Macro for Multipe-Bit CNN-Based Machine Learning, ISSCC 2019, Session 24, SRAM & Computation-In-Memory, 24.5. |
Singh, Jawar, et al: “A 2-Port 6T SRAM Bitcell Design with Multi-Port Capabilities at Reduced Area Overhead,” 2010 IEEE. |
Su, Jian-Wei, et al: A 28nm 64Kb Inference-Taining Two-Way Transpose Multibit 6T SRAM Compute-in-Memory Macro for AI Edge Chips, ISSCC 2020, Session 15, SRAM & Compute-In-Memory, 15.2. |
V. K. Rajanna, S. Taneja and M. Alioto, SRAM with In-Memory Inference and 90% Bitline Activity Reduction for Always-On Sensing with 109 TOPS/mm2 and 749-1,459 TOPS/W in 28nm, ESSDERC 2021—IEEE 51st European Solid-State Device Research Conference (ESSDERC), 2021, pp. 127-130, doi: 10.1109/ESSDERC53440.2021.9631782. |
Valavi, Hossein, et al: A 64-Tile 2.4-Mb In-Memory-Computing CNN Accelerator Employing Charge-Domain Compute, IEEE Journal of Solid-State Circuits, vol. 54, No. 6, Jun. 2019. |
Y.-D. Chih et al., 16.4 An 89TOPS/W and 16.3TOPS/mm2 All-Digital SRAM-Based Full-Precision Compute-In Memory Macro in 22nm for Machine-Learning Edge Applications, 2021 IEEE International Solid-State Circuits Conference (ISSCC), 2021, pp. 252-254, doi: 10.1109/ISSCC42613.2021.9365766. |
Yin, Shihui, et al: XNOR-SRAM: In-Memory Computing SRAM Macro for Binary/Ternary Deep Neural Networks, IEEE Journal of So.id-State Circuits, vol. 55, No. 6, Jun. 2020. |
Z. Chen, X. Chen and J. Gu, 15.3 A 65nm 3T Dynamic Analog RAM-Based Computing-in-Memory Macro and CNN Accelerator with Retention Enhancement, Adaptive Analog Sparsity and 44TOPS/W System Energy Efficiency, 2021 IEEE International Solid-State Circuits Conference (ISSCC), 2021, pp. 240-242, doi: 10.1109/ISSCC42613.2021.9366045. |
Zhang, Jintao, et al: In-Memory Computation of a Machine-Learning Classifier in a Standard 6T SRAM Array, IEEE Journal of Solid-State Circuits, vol. 52, No. 4, Apr. 2017. |
Kushwah, C.B., et al: “Single-Ended Boost-Less (SE-BL) 7T Process Tolerant SRAM Design in Sub-threshold Regime for Ultra-Low-Power Applications,” Springer Link, Jun. 3, 2015. |
Lorenzo, Rohit, et al: “A novel 9T SRAM architecture for low leakage and high performance,” Analog Integrated Circuits and Signal Processing, 92, 315-325 (2017). |
Luo, Shien-Chun, et al: “A Subthreshold SRAM Cell with Autonomous Bitline-Voltage Clamping,” 2010 IEEE. |
Number | Date | Country | |
---|---|---|---|
20230012303 A1 | Jan 2023 | US |
Number | Date | Country | |
---|---|---|---|
63219987 | Jul 2021 | US |