CN111445934A - 一种用于内存计算的电路结构 - Google Patents

一种用于内存计算的电路结构 Download PDF

Info

Publication number
CN111445934A
CN111445934A CN202010224134.7A CN202010224134A CN111445934A CN 111445934 A CN111445934 A CN 111445934A CN 202010224134 A CN202010224134 A CN 202010224134A CN 111445934 A CN111445934 A CN 111445934A
Authority
CN
China
Prior art keywords
port
tube
bit line
random access
static random
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010224134.7A
Other languages
English (en)
Other versions
CN111445934B (zh
Inventor
赖振安
陈俊晟
黄召颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Huali Integrated Circuit Manufacturing Co Ltd
Original Assignee
Shanghai Huali Integrated Circuit Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Huali Integrated Circuit Manufacturing Co Ltd filed Critical Shanghai Huali Integrated Circuit Manufacturing Co Ltd
Priority to CN202010224134.7A priority Critical patent/CN111445934B/zh
Publication of CN111445934A publication Critical patent/CN111445934A/zh
Priority to US17/096,958 priority patent/US11238922B2/en
Application granted granted Critical
Publication of CN111445934B publication Critical patent/CN111445934B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/025Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/412Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger using field-effect transistors only
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/418Address circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/063Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B10/00Static random access memory [SRAM] devices
    • H10B10/12Static random access memory [SRAM] devices comprising a MOSFET load element
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B10/00Static random access memory [SRAM] devices
    • H10B10/18Peripheral circuit regions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06JHYBRID COMPUTING ARRANGEMENTS
    • G06J1/00Hybrid computing arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Static Random-Access Memory (AREA)

Abstract

本发明涉及一种用于内存计算的电路结构。该电路结构包括多个八管静态随机存取存储器、四条位线、两条字线,以及方向配置电路。每一八管静态随机存取存储器包括两组读写双向端口、两个字线端口及两个方向配置端口。每组所述读写双向端口的第一读写端口与第二读写端口的数据反相。各位线连接对应处理器,并按行方向和列方向连接各八管静态随机存取存储器的对应读写双向端口的各读写端口。各字线连接对应处理器,并连接各八管静态随机存取存储器的对应字线端口。方向配置电路连接各八管静态随机存取存储器的各方向配置端口,配置用于激活各八管静态随机存取存储器的任一方向配置端口,以进行各八管静态随机存取存储器在对应方向的逻辑运算。

Description

一种用于内存计算的电路结构
技术领域
本发明涉及存储电路和单元阵列设计领域,尤其涉及一种基于八管静态随机存取存储器(Eight-transistor Static Random Access Memory,8T SRAM)的可配置的内存计算(In-Memory Computing,IMC)电路结构。
背景技术
在存储电路和单元阵列设计领域,现有技术普遍使用八管二端口静态随机存取存储器(8T 2-port SRAM)或特殊的六管单端口静态随机存取存储器(6T Single-port SRAM)来实现内存计算。然而,上述8T 2P-SRAM和特殊6T SP-SRAM都存在需要复杂设计,以及无法提供并行内存计算的缺点。尤其是上述特殊6T SP-SRAM还进一步存在需要特殊工艺的缺点。
请参考图1,图1示出了特殊六管单端口静态随机存取存储器的结构示意图。如图1所示,在特殊6T SP-SRAM的制备工艺上还需要有Vt设置层和屏蔽层等特殊工艺,提升了静态随机存取存储器制备工艺的难度。
因此,为了克服现有技术存在的上述缺陷,本领域亟需一种内存计算架构,用于简化内存计算装置的制备工艺和设计,并提供并行内存计算的功能。
发明内容
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之前序。
为了克服现有技术存在的上述缺陷,本发明提供了一种基于8T SRAM的可配置的内存计算电路结构,用于简化内存计算装置的制备工艺和设计,并提供并行内存计算的功能。
本发明提供的上述用于内存计算的电路结构,包括多个八管静态随机存取存储器(8T SRAM)、四条位线(Bit Line)、两条字线(Word Line),以及方向配置电路。
每一所述八管静态随机存取存储器包括两组读写双向端口、两个字线端口及两个方向配置端口。每组所述读写双向端口的第一读写端口与第二读写端口的数据反相。
第一位线连接第一处理器,并按行方向连接各所述八管静态随机存取存储器的第一组读写双向端口的第一读写端口。第二位线按所述行方向连接各所述八管静态随机存取存储器的第一组读写双向端口的第二读写端口。第三位线连接第二处理器,并连接各所述八管静态随机存取存储器的第二组读写双向端口的第一读写端口。第四位线按所述行方向连接各所述八管静态随机存取存储器的第二组读写双向端口的第二读写端口。
第一字线连接所述第一处理器,并连接各所述八管静态随机存取存储器的第一字线端口。第二字线连接所述第二处理器,并连接各所述八管静态随机存取存储器的第二字线端口。
所述方向配置电路连接各所述八管静态随机存取存储器的各所述方向配置端口,配置用于激活各所述八管静态随机存取存储器的任一方向配置端口,以进行各所述八管静态随机存取存储器在对应方向的逻辑运算。
可选地,在本发明的一些实施例中,所述八管静态随机存取存储器可以包括第一门管、第二门管、第三门管、第四门管、第一上拉管、第二上拉管、第一下拉管,以及第二下拉管。
所述第一门管的漏极可以连接所述第一组读写双向端口的第一读写端口。所述第一门管的栅极可以连接行方向配置端口。所述第一门管的源极可以连接所述八管静态随机存取存储器的内部节点。
所述第二门管的漏极可以连接所述第一组读写双向端口的第二读写端口。所述第二门管的栅极可以连接所述第一字线端口。所述第二门管的源极可以连接所述八管静态随机存取存储器的反相内部节点。
所述第三门管的漏极可以连接所述第二组读写双向端口的第一读写端口。所述第三门管的栅极可以连接列方向配置端口。所述第三门管的源极可以连接所述八管静态随机存取存储器的所述内部节点。
所述第四门管的漏极可以连接所述第二组读写双向端口的第二读写端口。所述第四门管的栅极可以连接所述第二字线端口。所述第四门管的源极可以连接所述八管静态随机存取存储器的所述反相内部节点。
所述第一上拉管的源极可以连接高电平。所述第一上拉管的漏极可以连接所述内部节点。所述第一上拉管的栅极可以连接所述反相内部节点。
所述第二上拉管的源极可以连接高电平。所述第二上拉管的漏极可以连接所述反相内部节点。所述第二上拉管的栅极可以连接所述内部节点。
所述第一下拉管的源极可以连接低电平。所述第一下拉管的漏极可以连接所述内部节点。所述第一下拉管的栅极可以连接所述反相内部节点。
所述第二下拉管的源极可以连接低电平。所述第二下拉管的漏极可以连接所述反相内部节点。所述第二下拉管的栅极可以连接所述内部节点。
优选地,在本发明的一些实施例中,所述第二位线可以通过一个双向I/O电路的写入端口连接所述第一处理器。所述第四位线可以通过另一个双向I/O电路的写入端口连接所述第二处理器。响应于需要对所述第二位线或所述第四位线执行写入操作,所述方向配置电路可以向各所述八管静态随机存取存储器的各所述方向配置端口输出低电平,对应的字线可以连接到高电平,对应的双向I/O电路的写入端口可以导通以供对应的处理器向所述第二位线或所述第四位线写入数据。
优选地,在本发明的一些实施例中,所述第二位线还可以通过所述一个双向I/O电路的读取端口连接所述第一处理器。所述第四位线还可以通过所述另一个双向I/O电路的读取端口连接所述第二处理器。响应于需要对所述第二位线或所述第四位线执行读取操作,所述方向配置电路可以向各所述八管静态随机存取存储器的各所述方向配置端口输出低电平,对应的字线连接到高电平,对应的双向I/O电路的读取端口导通以供对应的处理器从所述第二位线或所述第四位线读取数据。
可选地,在本发明的一些实施例中,所述方向配置电路可以包括行方向使能端口、列方向使能端口及逻辑运算使能端口。所述方向配置电路可以配置为:响应于所述逻辑运算使能端口及所述行方向使能端口的高电平信号,向各所述八管静态随机存取存储器的所述行方向配置端口输出高电平,以取在行方向相邻的所述八管静态随机存取存储器的值进行逻辑运算;或响应于所述逻辑运算使能端口及所述列方向使能端口的高电平信号,向各所述八管静态随机存取存储器的所述列方向配置端口输出高电平,以取在列方向相邻的所述八管静态随机存取存储器的值进行逻辑运算。
优选地,在本发明的一些实施例中,所述第一处理器可以配置为:响应于需要对在行方向相邻的所述八管静态随机存取存储器的值进行与非逻辑运算,将所述第一位线预充至高电平,并向所述逻辑运算使能端口及所述行方向使能端口输出高电平信号;响应于所述第一位线的电平保持高电平而判断所述与非逻辑运算的结果为0;以及响应于所述第一位线的电平降低而判断所述与非逻辑运算的结果为1。
所述第二处理器可以配置为:响应于需要对在列方向相邻的所述八管静态随机存取存储器的值进行与非逻辑运算,将所述第三位线预充至高电平,并向所述逻辑运算使能端口及所述列方向使能端口输出高电平信号;响应于所述第三位线的电平保持高电平而判断所述与非逻辑运算的结果为0;以及响应于所述第三位线的电平降低而判断所述与非逻辑运算的结果为1。
可选地,在本发明的一些实施例中,各所述八管静态随机存取存储器的所述行方向配置端口可以通过第一晶体管接地。各所述八管静态随机存取存储器的所述列方向配置端口可以通过第二晶体管接地。
所述第一处理器配置为:响应于需要对在行方向相邻的所述八管静态随机存取存储器的值进行或非逻辑运算,将所述第一位线预充至高电平,将所述第一晶体管导通以拉低所述行方向配置端口的电位,并向所述逻辑运算使能端口及所述行方向使能端口输出高电平信号;响应于所述第一位线的电平保持高电平而判断所述或非逻辑运算的结果为0;以及响应于所述第一位线的电平降低而判断所述或非逻辑运算的结果为1。
所述第二处理器可以配置为:响应于需要对在列方向相邻的所述八管静态随机存取存储器的值进行或非逻辑运算,将所述第三位线预充至高电平,将所述第二晶体管导通以拉低所述行方向配置端口的电位,并向所述逻辑运算使能端口及所述列方向使能端口输出高电平信号;响应于所述第三位线的电平保持高电平而判断所述或非逻辑运算的结果为0;以及响应于所述第三位线的电平降低而判断所述或非逻辑运算的结果为1。
可选地,在本发明的一些实施例中,所述电路结构还可以包括两个选择模块。所述第二位线可以通过第一选择模块连接所述第一处理器。所述第四位线可以通过第二选择模块连接所述第二处理器。所述两个选择模块可以配置为响应于输入的选择信号而对各所述八管静态随机存取存储器的值进行保持原位操作、向左移位操作或向右移位操作。
优选地,在本发明的一些实施例中,每一所述选择模块可以包括多个选择单元。所述选择单元的数量可以对应于所述八管静态随机存取存储器的行数。每一所述选择单元可以包括一个选择端口及三个输入端口。每一所述输入端口可以对应一种操作。各行所述八管静态随机存取存储器的对应位线可以分别连接到本行选择单元的保持原位输入端口、上一行选择单元的向右移位输入端口及下一行选择单元的向左移位输入端口。所述选择模块的各选择单元根据所述选择端口输入的所述选择信号,选通对应的输入端口以进行所述保持原位操作、所述向左移位操作或所述向右移位操作。
可选地,在本发明的一些实施例中,所述电路结构还可以包括过渡检测电路。所述过渡检测电路可以配置为响应于输入端的电平出现变化而输出一个脉冲波。
所述第一处理器可以配置为:响应于需要将所述八管静态随机存取存储器的值与外部数据进行比较而将所述第一位线作为所述外部数据,并连接到所述过渡检测电路的输入端;接通所述八管静态随机存取存储器的所述行方向配置端口;响应于所述过渡检测电路输出的电平无变化,判断所述八管静态随机存取存储器的值与外部数据相同;以及响应于所述过渡检测电路输出所述脉冲波,判断所述八管静态随机存取存储器的值与外部数据不同。
所述第二处理器可以配置为:响应于需要将所述八管静态随机存取存储器的值与外部数据进行比较而将所述第三位线作为所述外部数据,并连接到所述过渡检测电路的输入端;接通所述八管静态随机存取存储器的所述列方向配置端口;响应于所述过渡检测电路输出的电平无变化,判断所述八管静态随机存取存储器的值与外部数据相同;以及响应于所述过渡检测电路输出所述脉冲波,判断所述八管静态随机存取存储器的值与外部数据不同。
附图说明
在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本发明的上述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。
图1示出了特殊六管单端口静态随机存取存储器的结构示意图。
图2示出了根据本发明的一些实施例提供的用于内存计算的电路结构示意图。
图3示出了根据本发明的一些实施例提供的以八管双端口静态随机存取存储器进行并行内存计算的示意图。
图4示出了根据本发明的一些实施例提供的双向I/O电路的结构示意图。
图5示出了根据本发明的一些实施例提供的方向配置电路的结构示意图。
图6示出了根据本发明的一些实施例提供的用于实施数据移位功能的电路示意图。
图7示出了根据本发明的一些实施例提供的第一处理器控制第一选择模块实施数据移位的示意图。
图8示出了根据本发明的一些实施例提供的过渡检测电路的示意图。
图9示出了根据本发明的一些实施例提供的过渡检测电路的时序示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。虽然本发明的描述将结合优选实施例一起介绍,但这并不代表此发明的特征仅限于该实施方式。恰恰相反,结合实施方式作发明介绍的目的是为了覆盖基于本发明的权利要求而有可能延伸出的其它选择或改造。为了提供对本发明的深度了解,以下描述中将包含许多具体的细节。本发明也可以不使用这些细节实施。此外,为了避免混乱或模糊本发明的重点,有些具体细节将在描述中被省略。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
能理解的是,虽然在此可使用用语“第一”、“第二”、“第三”等来叙述各种组件、区域、层和/或部分,这些组件、区域、层和/或部分不应被这些用语限定,且这些用语仅是用来区别不同的组件、区域、层和/或部分。因此,以下讨论的第一组件、区域、层和/或部分可在不偏离本发明一些实施例的情况下被称为第二组件、区域、层和/或部分。
如上所述,现有技术普遍存在需要复杂设计及特殊工艺,并无法提供并行内存计算的缺点。为了克服现有技术存在的上述缺陷,本发明提供了一种基于八管静态随机存取存储器(Eight-transistor Static Random Access Memory,8T SRAM)的可配置的内存计算(In-Memory Computing,IMC)电路结构,用于简化内存计算装置的制备工艺和设计,并提供并行内存计算的功能。
请参考图2,图2示出了根据本发明的一些实施例提供的用于内存计算的电路结构示意图。
如图2所示,在本发明的一些实施例中,用于内存计算的电路结构可以包括多个八管静态随机存取存储器(8T SRAM)21-24、四条位线BL_A、BLb_A、BL_B、BLb_B、两条字线WL_A、WL_B,以及方向配置电路(未绘示)。
每个上述8T SRAM 21-24可以包括两组读写双向端口、两个字线端口及两个方向配置端口。具体来说,第一组读写双向端口可以包括连接第一位线BL_A的第一读写端口,以及连接第二位线BLb_A的第二读写端口。第二组读写双向端口可以包括连接第三位线BL_B的第一读写端口,以及连接第四位线BLb_B的第二读写端口。两个字线端口可以包括连接第一字线WL_A的第一字线端口,以及连接第二字线WL_B的第二字线端口。两个方向配置端口可以包括分别连接方向配置电路的行方向配置端口XC及列方向配置端口YC。
上述第一位线BL_A可以连接第一处理器,并按行方向连接各8T SRAM21-24的第一组读写双向端口的第一读写端口。上述第二位线BLb_A按行方向连接各8T SRAM 21-24的第一组读写双向端口的第二读写端口。上述第三位线BL_B可以连接第二处理器,并连接各8TSRAM 21-24的第二组读写双向端口的第一读写端口。上述第四位线BLb_B按行方向连接各8T SRAM 21-24的第二组读写双向端口的第二读写端口。
上述第一字线WL_A可以连接第一处理器,并连接各8T SRAM 21-24的第一字线端口。上述第二字线WL_B可以连接第二处理器,并连接各8T SRAM 21-24的第二字线端口。
上述方向配置电路可以包括两个输出端口,分别连接各8T SRAM 21-24的行方向配置端口XC及列方向配置端口YC,配置用于激活各8T SRAM 21-24的行方向配置端口XC,以进行各8T SRAM 21-24在行方向的逻辑运算;或激活各8T SRAM 21-24的列方向配置端口YC以进行各8T SRAM 21-24在列方向的逻辑运算。
通过采用上述直接在片上(On-chip)存储器的宏内部进行数据处理的内存计算电路结构,处理器可以同时激活存储器阵列中多个行的8T SRAM,并直接在位线(Bit Line,BL)上进行逻辑功能运算。因此,该内存计算电路结构仅需要一个周期即可在存储器访问结束时立即获得计算结果,而不需要等待多个延迟周期,从而实现功耗和等待时间的最小化。
在本发明的一些实施例中,八管静态随机存取存储器(8T SRAM)21-24可以选用八管双端口静态随机存取存储器(8T Dual-port SRAM)。该8T DP-SRAM有两条字线WL_A、WL_B及两条位线BL_A、BL_B可以分别连接两个处理器,以供该两个处理器分别对其进行控制和操作。因此,该8T DP-SRAM的架构可以支持并行内存计算的功能。
请进一步参考图3,图3示出了根据本发明的一些实施例提供的以八管双端口静态随机存取存储器进行并行内存计算的示意图。
如图3所示,在本发明的一些实施例中,8T DP-SRAM可以包括第一门管PGA1、第二门管PGA2、第三门管PGB1、第四门管PGB2、第一上拉管PU1、第二上拉管PU2、第一下拉管PD1,以及第二下拉管PD2。
在一些实施例中,第一门管PGA1的漏极可以连接第一组读写双向端口的第一读写端口,以供第一处理器CPU_A从内部节点Q读取数据或向内部节点Q写入数据。第一门管PGA1的栅极可以连接行方向配置端口XC,以供方向配置电路控制是否需要对本8T DP-SRAM的内部节点Q的值进行逻辑运算。第一门管PGA1的源极可以连接本8T DP-SRAM的内部节点Q,以引出该内部节点Q进行数据读取或数据写入。
在一些实施例中,第二门管PGA2的漏极可以连接第一组读写双向端口的第二读写端口。第二门管PGA2的栅极可以连接第一字线端口,以供第一处理器CPU_A控制第二门管PGA2的通断。该第二门管PGA2的源极可以连接本8T DP-SRAM的反相内部节点
Figure BDA0002427079840000091
以引出该反相内部节点
Figure BDA0002427079840000092
进行数据读取或数据写入。
在一些实施例中,第三门管PGB1的漏极可以连接所述第二组读写双向端口的第一读写端口,以供第二处理器CPU_B从内部节点Q读取数据或向内部节点Q写入数据。第三门管PGB1的栅极可以连接列方向配置端口YC,以供方向配置电路控制是否需要对本8T DP-SRAM的内部节点Q的值进行逻辑运算。第三门管PGB1的源极可以连接本8T DP-SRAM的内部节点Q,以引出该内部节点Q进行数据读取或数据写入。
在一些实施例中,第四门管PGB2的漏极可以连接第二组读写双向端口的第二读写端口。第四门管PGB2的栅极可以连接第二字线端口,以供第二处理器CPU_B控制第四门管PGB2的通断。第四门管PGB2的源极可以连接本8T DP-SRAM的反相内部节点
Figure BDA0002427079840000093
以引出该反相内部节点
Figure BDA0002427079840000094
进行数据读取或数据写入。
在一些实施例中,第一上拉管PU1的源极可以连接高电平的器件内部工作电压VDD。第一上拉管PU1的漏极可以连接内部节点Q。第一上拉管PU1的栅极可以连接反相内部节点
Figure BDA0002427079840000095
响应于第二位线BLb_A或第四位线BLb_B向反相内部节点
Figure BDA0002427079840000096
写入低电平的数据0,第一上拉管PU1将导通并将内部节点Q的电平上拉为高电平的数据1。
在一些实施例中,第二上拉管PU2的源极也可以连接高电平的器件内部工作电压VDD。第二上拉管PU2的漏极可以连接反相内部节点
Figure BDA0002427079840000097
第二上拉管PU2的栅极可以连接内部节点Q。响应于第一位线BL_A或第三位线BL_B向内部节点Q写入低电平的数据0,第二上拉管PU2将导通并将反相内部节点
Figure BDA0002427079840000098
的电平上拉为高电平的数据1。
在一些实施例中,第一下拉管PD1的源极可以连接低电平的公共接地端电压VSS。第一下拉管PD1的漏极可以连接内部节点Q。第一下拉管PD1的栅极可以连接反相内部节点
Figure BDA0002427079840000101
响应于第二位线BLb_A或第四位线BLb_B向反相内部节点
Figure BDA0002427079840000102
写入高电平的数据1,第一下拉管PD1将导通并将内部节点Q的电平下拉为低电平的数据0。
在一些实施例中,第二下拉管PD2的源极也可以连接低电平的公共接地端电压VSS。第二下拉管PD2的漏极可以连接反相内部节点
Figure BDA0002427079840000103
第二下拉管PD2的栅极可以连接内部节点Q。响应于第一位线BL_A或第三位线BL_B向内部节点Q写入高电平的数据1,第二下拉管PD2将导通并将反相内部节点
Figure BDA0002427079840000104
的电平下拉为低电平的数据0。
由此可知,8T DP-SRAM内的内部节点Q和反相内部节点
Figure BDA0002427079840000105
的值必为反相。相应地,各组读写双向端口的第一读写端口与第二读写端口的数据也必为反相。也就是说,第一位线BL_A与第二位线BLb_A的数据必为反相,而第三位线BL_B与第四位线BLb_B的数据也必为反相。
两个处理器CPU_A和CPU_B可以分别通过第一组读写双向端口的第一读写端口和第二组读写双向端口的第一读写端口,对8T DP-SRAM内的内部节点Q进行数据读写。也就是说,8T DP-SRAM可以支持两个处理器CPU_A和CPU_B,在一个周期内进行同时读取的操作、一写一读的操作,以及同时写入相同数据的操作。
请参考图4,图4示出了根据本发明的一些实施例提供的双向I/O电路的结构示意图。
如图4所示,在本发明的一些实施例中,双向I/O电路可以包括读/写操作使能端口
Figure BDA0002427079840000106
写入端口41及读取端口42。第二位线BLb_A可以分别连接双向I/O电路的写入端口41和读取端口42,并通过该双向I/O电路连接第一处理器CPU_A。第一处理器CPU_A可以通过向读/写操作使能端口
Figure BDA0002427079840000107
输出使能信号,控制写入端口41和读取端口42的通断,从而对各8TSRAM 21-24执行读/写操作。
具体来说,响应于需要对第二位线BLb_A执行写入操作,方向配置电路可以首先向各8T SRAM 21-24的行方向配置端口XC输出低电平,以切断各内部节点Q与第一处理器CPU_A的连接关系。同时,第一处理器CPU_A可以将第一字线WL_A连接到高电平,以实现各反相内部节点
Figure BDA0002427079840000111
与第一处理器CPU_A的连接关系。之后,第一处理器CPU_A可以向双向I/O电路的读/写操作使能端口
Figure BDA0002427079840000112
输出高电平信号。响应于该
Figure BDA0002427079840000113
的使能信号,双向I/O电路将关断晶体管M1及M2以截止读取端口42提供的数据。第一处理器CPU_A可以通过写入端口41向第二位线BLb_A写入数据。
响应于需要对第二位线BLb_A执行读取操作,方向配置电路可以向各8T SRAM 21-24的行方向配置端口XC输出低电平,以切断各内部节点Q与第一处理器CPU_A的连接关系。同时,第一处理器CPU_A可以将第一字线WL_A连接到高电平,以实现各反相内部节点
Figure BDA0002427079840000114
与第一处理器CPU_A的连接关系。之后,第一处理器CPU_A可以向双向I/O电路的读/写操作使能端口
Figure BDA0002427079840000115
输出低电平信号。响应于该
Figure BDA0002427079840000116
的使能信号,双向I/O电路将激活晶体管M1及M2。第一处理器CPU_A可以通过读取端口42从第二位线BLb_A读取数据。
在本发明的另一些实施例中,第四位线BLb_B可以分别连接另一个双向I/O电路的写入端口41和读取端口42,并通过该另一个双向I/O电路连接第二处理器CPU_B。第二处理器CPU_B可以通过向读/写操作使能端口
Figure BDA0002427079840000117
输出使能信号,控制写入端口41和读取端口42的通断,从而对各8T SRAM 21-24执行读/写操作。第二处理器CPU_B对各8T SRAM 21-24执行读/写操作的原理基于与第一处理器CPU_A相同,在此不再赘述。
请参考图5,图5示出了根据本发明的一些实施例提供的方向配置电路的结构示意图。
如图5所示,在本发明的一些实施例中,方向配置电路可以包括行方向使能端口XCE、列方向使能端口YCE,以及逻辑运算使能端口NOR和NAND。在一些实施例中,第一处理器CPU_A可以向行方向使能端口XCE输出使能信号(例如:XCE=1),激活各8T SRAM 21-24的行方向配置端口XC以进行跨字逻辑运算(Cross-word logic operation)。在一些实施例中,第二处理器CPU_B可以向列方向使能端口YCE输出使能信号(例如:YCE=1),激活各8TSRAM21-24的列方向配置端口YC以进行跨位逻辑运算(Cross-bit logic operation)。
请结合参考图2和图5,在一些实施例中,响应于需要对在行方向相邻的8T SRAM21及8T SRAM 22存储的值进行与非逻辑运算,第一处理器CPU_A可以先将第一位线BL_A预充至高电平。同时,第一处理器CPU_A可以向逻辑运算使能端口NAND及行方向使能端口XCE输出高电平信号,从而向8T SRAM 21及8T SRAM 22的行方向配置端口XC输出高电平。此时,8T SRAM21及8T SRAM 22的第一门管PGA1将响应于行方向配置端口XC的高电平而导通,从而将各自的内部节点Q1及Q2连接到第一位线BL_A。第一处理器CPU_A可以通过监测第一位线BL_A的电平来判断与非逻辑运算的结果。
具体来说,在一些实施例中,若8T SRAM 21的内部节点Q1的值及8T SRAM 22的内部节点Q2的值都为1,则第一位线BL_A的电平将保持高电平。此时,第一处理器CPU_A可以判断与非逻辑运算的结果为0。在一些实施例中,若8T SRAM 21的内部节点Q1的值及8T SRAM22的内部节点Q2的值不都为1,则第一位线BL_A的电平将被下拉为低电平。此时,第一处理器CPU_A可以判断与非逻辑运算的结果为1。
在一些实施例中,基于相同原理,第一处理器CPU_A也可以响应于第一位线BL_A的电平保持高电平而判断与逻辑运算的结果为1,并响应于第一位线BL_A的电平降低而判断与逻辑运算的结果为0。
相应地,在另一些实施例中,响应于需要对在列方向相邻的8T SRAM 21及8T SRAM23存储的值进行与非逻辑运算或与逻辑运算,第二处理器CPU_B可以先将第三位线BL_B预充至高电平。同时,第二处理器CPU_B可以向逻辑运算使能端口NAND及列方向使能端口YCE输出高电平信号,从而向8T SRAM 21及8T SRAM 23的列方向配置端口YC输出高电平。此时,8T SRAM21及8T SRAM 23的第三门管PGB1将响应于列方向配置端口YC的高电平而导通,从而将各自的内部节点Q1及Q3连接到第三位线BL_B。第二处理器CPU_B可以通过监测第三位线BL_B的电平来判断与非逻辑运算及与逻辑运算的结果。该跨位与非逻辑运算及与逻辑运算的具体判断方式与上述跨字与非逻辑运算及与逻辑运算相仿,在此不再赘述。
如图5所示,在本发明的一些实施例中,方向配置电路连接行方向配置端口XC的输出端可以通过第一晶体管51接地,而其连接列方向配置端口YC的输出端可以通过第二晶体管52接地。
请结合参考图2和图5,在一些实施例中,响应于需要对在行方向相邻的8T SRAM21及8T SRAM 22存储的值进行或非逻辑运算,第一处理器CPU_A可以先将第一位线BL_A预充至高电平,并向逻辑运算使能端口NOR及行方向使能端口XCE输出高电平信号,从而向8TSRAM 21及8T SRAM 22的行方向配置端口XC输出高电平。同时,第一处理器CPU_A还可以将第一晶体管51导通以拉低行方向配置端口XC的电位。此时,行方向配置端口XC的电位低于器件内部电压VDD,8T SRAM 21及8T SRAM 22的第一门管PGA1无法完全导通。
在上述情况下,只有当8T SRAM 21的内部节点Q1的值及8T SRAM 22的内部节点Q2的值都为0时,第一位线BL_A的电平才会被下拉为低电平。因此,第一处理器CPU_A可以响第一位线BL_A的电平保持高电平而判断或非逻辑运算的结果为0,也可以响应于第一位线BL_A的电平降低而判断或非逻辑运算的结果为1。
在一些实施例中,基于相同原理,第一处理器CPU_A还可以响应于第一位线BL_A的电平保持高电平而判断或逻辑运算的结果为1,并响应于第一位线BL_A的电平降低而判断或逻辑运算的结果为0。
相应地,在另一些实施例中,响应于需要对在列方向相邻的8T SRAM 21及8T SRAM23存储的值进行或非逻辑运算或与逻辑运算,第二处理器CPU_B可以先将第三位线BL_B预充至高电平,并向逻辑运算使能端口NOR及列方向使能端口YCE输出高电平信号,从而向8TSRAM 21及8T SRAM 23的列方向配置端口YC输出高电平。同时,第二处理器CPU_B还可以将第二晶体管52导通以拉低列方向配置端口YC的电位。此时,列方向配置端口YC的电位低于器件内部电压VDD,8T SRAM 21及8T SRAM 23的第三门管PGB1无法完全导通。第二处理器CPU_B可以通过监测第三位线BL_B的电平来判断或非逻辑运算及或逻辑运算的结果。该跨位或非逻辑运算及或逻辑运算的具体判断方式与上述跨字或非逻辑运算及或逻辑运算相仿,在此不再赘述。
请参考图6,图6示出了根据本发明的一些实施例提供的用于实施数据移位功能的电路示意图。
如图6所示,在本发明的一些实施例中,用于内存计算的电路结构还可以包括两个选择模块MUX1、MUX2,用于对存储器阵列中各8T SRAM 61-69存储的数据执行移位(Shift)操作。在一些实施例中,第二位线BLb_A可以通过第一选择模块MUX1连接第一处理器CPU_A,从而受第一处理器CPU_A的控制来对各8T SRAM 61-69存储的数据执行左右移位的操作。第四位线BLb_B通过第二选择模块MUX2连接第二处理器CPU_B,从而受第二处理器CPU_B的控制来对各8T SRAM 61-69存储的数据执行左右移位的操作。
在一些实施例中,第一选择模块MUX1和第二选择模块MUX2可以分别包括多个选择单元。每一选择模块包括的选择单元的数量可以对应存储器阵列中8T SRAM 61-69的行数。在一些实施例中,选择单元可以选用N选1数据选择器(N to 1Multiplexer),其中,N对应存储器阵列的输入/输出(I/O)数据的数量。在本实施例中,该I/O数据的数量可以为移位操作的数量,即N=3。
在一些实施例中,每一选择单元可以包括一个选择端口SELECT及三个输入端口00、01、10,其中,每一输入端口可以对应一种移位操作。在一些实施例中,输入端口00可以对应保持原位操作。在一些实施例中,输入端口01可以对应向右移位操作。在一些实施例中,输入端口10可以对应向左移位操作。
在一些实施例中,各行8T SRAM 61-69的第二位线BLb_A可以分别连接到本行选择单元的保持原位输入端口00、上一行选择单元的向右移位输入端口01及下一行选择单元的向左移位输入端口10。在一些实施例中,各行8T SRAM61-69的第四位线BLb_B可以分别连接到本行选择单元的保持原位输入端口00、上一行选择单元的向右移位输入端口01及下一行选择单元的向左移位输入端口10。各选择单元可以根据自身选择端口SELECT输入的选择信号,选通对应的输入端口以进行保持原位操作、向左移位操作或向右移位操作。
以下将结合第一处理器CPU_A控制第一选择模块MUX1实施数据移位的实施例来进行描述。请进一步参考图7,图7示出了根据本发明的一些实施例提供的第一处理器控制第一选择模块实施数据移位的示意图。
如图6和图7所示,在本发明的一些实施例中,响应于需要对第一行8T SRAM 61-63存储的数据bit0、第二行8T SRAM 64-66存储的数据bit1,以及第三行8T SRAM 67-69存储的数据bit3执行向右移位的操作,第一处理器CPU_A可以向第一选择模块MUX1的各选择单元的选择端口SELECT输入SELECT=01的选择信号。响应于该SELECT=01的选择信号,第一选择模块MUX1的各选择单元将选通各自的向右移位输入端口01,从而将存储器阵列原本存储的数据010向右移位成001,并从第一选择模块MUX1的输出端发送到第一处理器CPU_A。
在一些实施例中,第一处理器CPU_A还可以向第一选择模块MUX1的各选择单元的选择端口SELECT输入SELECT=10的选择信号,以执行向右移位操作。在一些实施例中,第一处理器CPU_A还可以向第一选择模块MUX1的各选择单元的选择端口SELECT输入SELECT=00的选择信号,以执行保持原位操作。
基于相同原理,在一些实施例中,第二处理器CPU_B可以向第二选择模块MUX2的各选择单元的选择端口SELECT输入SELECT=01的选择信号,以执行向左移位操作;向第二选择模块MUX2的各选择单元的选择端口SELECT输入SELECT=10的选择信号,以执行向右移位操作;以及向第二选择模块MUX2的各选择单元的选择端口SELECT输入SELECT=00的选择信号,以执行保持原位操作。
在本发明的一些实施例中,用于内存计算的电路结构还可以包括过渡检测电路,用于实现将二进制内容地址存储器(Binary Content Address Memory,BCAM)的内部数据Q与外部数据SL进行比较的功能。
请结合参考图8和图9,图8示出了根据本发明的一些实施例提供的过渡检测电路的电路示意图。图9示出了根据本发明的一些实施例提供的过渡检测电路的时序示意图。
如图8和图9所示,在本发明的一些实施例中,该过渡检测电路可以包括延时模块Td和异或门逻辑模块XOR。在一些实施例中,延时模块Td可以对输入信号A进行时长为Td的延迟,以产生延迟信号B。响应于输入端IN的电平出现变化,输入信号A将不同于延迟信号B,从而在过渡检测电路的输出端OUT输出一个脉宽为Td的脉冲波。
在一些实施例中,第一位线BL_A可以连接外部数据SL,并连接到过渡检测电路的输入端IN,从而通过该过渡检测电路连接第一处理器CPU_A。第一处理器CPU_A可以通过监测过渡检测电路的输出端OUT的电平变化,判断内部数据Q与外部数据SL的比较结果。
具体来说,在一些实施例中,响应于需要将任一8T SRAM存储的内部数据Q与第一位线BL_A连接的外部数据SL进行比较,第一处理器CPU_A可以向行方向使能端口XCE输出使能信号,从而向对应8T SRAM的行方向配置端口XC输出高电平,以接通该8T SRAM的第一门管PGA1。
在一些实施例中,若8T SRAM存储的内部数据Q与第一位线BL_A连接的外部数据SL一致,则过渡检测电路的输入端IN不会产生电平变化。过渡检测电路的输出端OUT不会输出脉冲波。响应于过渡检测电路输出的电平无变化,第一处理器CPU_A可以判断8T SRAM存储的内部数据Q与第一位线BL_A连接的外部数据SL相同。
在一些实施例中,若8T SRAM存储的内部数据Q与第一位线BL_A连接的外部数据SL不同,则过渡检测电路的输入端IN将会产生电平变化。过渡检测电路的输出端OUT将会输出脉宽为Td的脉冲波。响应于过渡检测电路输出的该脉宽为Td的脉冲波,第一处理器CPU_A可以判断8T SRAM存储的内部数据Q与第一位线BL_A连接的外部数据SL不同。
在另一些实施例中,第三位线BL_B可以连接外部数据SL,并连接到另一过渡检测电路的输入端IN,从而通过该过渡检测电路连接第二处理器CPU_B。第二处理器CPU_B可以通过监测过渡检测电路的输出端OUT的电平变化,判断内部数据Q与外部数据SL的比较结果。第二处理器CPU_B判断8T SRAM存储的内部数据Q与第一位线BL_A连接的外部数据SL是否相同的原理,与第一处理器CPU_A基本相同,在此不再赘述。
基于以上描述,本发明提供的上述用于内存计算的电路结构具有简化的制备工艺和设计,并提供并行内存计算的功能。在一些实施例中,上述可配置的电路结构还可以优选地执行跨字逻辑运算及跨位逻辑运算,并提供Shift功能和BCAM功能,从而进一步扩充存储器阵列的功能。
本领域技术人员将可理解,信息、信号和数据可使用各种不同技术和技艺中的任何技术和技艺来表示。例如,以上描述通篇引述的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光学粒子、或其任何组合来表示。
本领域技术人员将进一步领会,结合本文中所公开的实施例来描述的各种解说性逻辑板块、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、框、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文所公开的实施例描述的各种解说性逻辑模块、和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文所描述功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
结合本文中公开的实施例描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取和写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现为计算机程序产品,则各功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,这样的计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或能被用来携带或存储指令或数据结构形式的合意程序代码且能被计算机访问的任何其它介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据,而碟(disc)用激光以光学方式再现数据。上述的组合也应被包括在计算机可读介质的范围内。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员来说都将是显而易见的,且本文中所定义的普适原理可被应用到其他变体而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖性特征相一致的最广范围。

Claims (10)

1.一种用于内存计算的电路结构,其特征在于,包括:
多个八管静态随机存取存储器,每一所述八管静态随机存取存储器包括两组读写双向端口、两个字线端口及两个方向配置端口,每组所述读写双向端口的第一读写端口与第二读写端口的数据反相;
第一位线,连接第一处理器,并按行方向连接各所述八管静态随机存取存储器的第一组读写双向端口的第一读写端口;
第二位线,按所述行方向连接各所述八管静态随机存取存储器的第一组读写双向端口的第二读写端口;
第三位线,连接第二处理器,并连接各所述八管静态随机存取存储器的第二组读写双向端口的第一读写端口;
第四位线,按所述行方向连接各所述八管静态随机存取存储器的第二组读写双向端口的第二读写端口;
第一字线,连接所述第一处理器,并连接各所述八管静态随机存取存储器的第一字线端口;
第二字线,连接所述第二处理器,并连接各所述八管静态随机存取存储器的第二字线端口;以及
方向配置电路,连接各所述八管静态随机存取存储器的各所述方向配置端口,配置用于激活各所述八管静态随机存取存储器的任一方向配置端口,以进行各所述八管静态随机存取存储器在对应方向的逻辑运算。
2.如权利要求1所述的电路结构,其特征在于,所述八管静态随机存取存储器包括:
第一门管,所述第一门管的漏极连接所述第一组读写双向端口的第一读写端口,所述第一门管的栅极连接行方向配置端口,所述第一门管的源极连接所述八管静态随机存取存储器的内部节点;
第二门管,所述第二门管的漏极连接所述第一组读写双向端口的第二读写端口,所述第二门管的栅极连接所述第一字线端口,所述第二门管的源极连接所述八管静态随机存取存储器的反相内部节点;
第三门管,所述第三门管的漏极连接所述第二组读写双向端口的第一读写端口,所述第三门管的栅极连接列方向配置端口,所述第三门管的源极连接所述八管静态随机存取存储器的所述内部节点;
第四门管,所述第四门管的漏极连接所述第二组读写双向端口的第二读写端口,所述第四门管的栅极连接所述第二字线端口,所述第四门管的源极连接所述八管静态随机存取存储器的所述反相内部节点;
第一上拉管,所述第一上拉管的源极连接高电平,所述第一上拉管的漏极连接所述内部节点,所述第一上拉管的栅极连接所述反相内部节点;
第二上拉管,所述第二上拉管的源极连接高电平,所述第二上拉管的漏极连接所述反相内部节点,所述第二上拉管的栅极连接所述内部节点;
第一下拉管,所述第一下拉管的源极连接低电平,所述第一下拉管的漏极连接所述内部节点,所述第一下拉管的栅极连接所述反相内部节点;以及
第二下拉管,所述第二下拉管的源极连接低电平,所述第二下拉管的漏极连接所述反相内部节点,所述第二下拉管的栅极连接所述内部节点。
3.如权利要求1所述的电路结构,其特征在于,所述第二位线通过一个双向I/O电路的写入端口连接所述第一处理器,所述第四位线通过另一个双向I/O电路的写入端口连接所述第二处理器,
响应于需要对所述第二位线或所述第四位线执行写入操作,所述方向配置电路向各所述八管静态随机存取存储器的各所述方向配置端口输出低电平,对应的字线连接到高电平,对应的双向I/O电路的写入端口导通以供对应的处理器向所述第二位线或所述第四位线写入数据。
4.如权利要求3所述的电路结构,其特征在于,所述第二位线还通过所述一个双向I/O电路的读取端口连接所述第一处理器,所述第四位线还通过所述另一个双向I/O电路的读取端口连接所述第二处理器,
响应于需要对所述第二位线或所述第四位线执行读取操作,所述方向配置电路向各所述八管静态随机存取存储器的各所述方向配置端口输出低电平,对应的字线连接到高电平,对应的双向I/O电路的读取端口导通以供对应的处理器从所述第二位线或所述第四位线读取数据。
5.如权利要求1所述的电路结构,其特征在于,所述方向配置电路包括行方向使能端口、列方向使能端口及逻辑运算使能端口,所述方向配置电路配置为:
响应于所述逻辑运算使能端口及所述行方向使能端口的高电平信号,向各所述八管静态随机存取存储器的所述行方向配置端口输出高电平,以取在行方向相邻的所述八管静态随机存取存储器的值进行逻辑运算;或
响应于所述逻辑运算使能端口及所述列方向使能端口的高电平信号,向各所述八管静态随机存取存储器的所述列方向配置端口输出高电平,以取在列方向相邻的所述八管静态随机存取存储器的值进行逻辑运算。
6.如权利要求5所述的电路结构,其特征在于,所述第一处理器配置为:
响应于需要对在行方向相邻的所述八管静态随机存取存储器的值进行与非逻辑运算,将所述第一位线预充至高电平,并向所述逻辑运算使能端口及所述行方向使能端口输出高电平信号;
响应于所述第一位线的电平保持高电平而判断所述与非逻辑运算的结果为0;以及
响应于所述第一位线的电平降低而判断所述与非逻辑运算的结果为1,
所述第二处理器配置为:
响应于需要对在列方向相邻的所述八管静态随机存取存储器的值进行与非逻辑运算,将所述第三位线预充至高电平,并向所述逻辑运算使能端口及所述列方向使能端口输出高电平信号;
响应于所述第三位线的电平保持高电平而判断所述与非逻辑运算的结果为0;以及
响应于所述第三位线的电平降低而判断所述与非逻辑运算的结果为1。
7.如权利要求5所述的电路结构,其特征在于,各所述八管静态随机存取存储器的所述行方向配置端口通过第一晶体管接地,各所述八管静态随机存取存储器的所述列方向配置端口通过第二晶体管接地,其中,
所述第一处理器配置为:
响应于需要对在行方向相邻的所述八管静态随机存取存储器的值进行或非逻辑运算,将所述第一位线预充至高电平,将所述第一晶体管导通以拉低所述行方向配置端口的电位,并向所述逻辑运算使能端口及所述行方向使能端口输出高电平信号;
响应于所述第一位线的电平保持高电平而判断所述或非逻辑运算的结果为0;以及
响应于所述第一位线的电平降低而判断所述或非逻辑运算的结果为1,
所述第二处理器配置为:
响应于需要对在列方向相邻的所述八管静态随机存取存储器的值进行或非逻辑运算,将所述第三位线预充至高电平,将所述第二晶体管导通以拉低所述行方向配置端口的电位,并向所述逻辑运算使能端口及所述列方向使能端口输出高电平信号;
响应于所述第三位线的电平保持高电平而判断所述或非逻辑运算的结果为0;以及
响应于所述第三位线的电平降低而判断所述或非逻辑运算的结果为1。
8.如权利要求1所述的电路结构,其特征在于,还包括两个选择模块,所述第二位线通过第一选择模块连接所述第一处理器,所述第四位线通过第二选择模块连接所述第二处理器,所述两个选择模块配置为响应于输入的选择信号而对各所述八管静态随机存取存储器的值进行保持原位操作、向左移位操作或向右移位操作。
9.如权利要求8所述的电路结构,其特征在于,每一所述选择模块包括多个选择单元,所述选择单元的数量对应于所述八管静态随机存取存储器的行数,每一所述选择单元包括一个选择端口及三个输入端口,每一所述输入端口对应一种操作,其中,
各行所述八管静态随机存取存储器的对应位线分别连接到本行选择单元的保持原位输入端口、上一行选择单元的向右移位输入端口及下一行选择单元的向左移位输入端口,
所述选择模块的各选择单元根据所述选择端口输入的所述选择信号,选通对应的输入端口以进行所述保持原位操作、所述向左移位操作或所述向右移位操作。
10.如权利要求1所述的电路结构,其特征在于,还包括过渡检测电路,所述过渡检测电路配置为响应于输入端的电平出现变化而输出一个脉冲波,
所述第一处理器配置为:
响应于需要将所述八管静态随机存取存储器的值与外部数据进行比较而将所述第一位线作为所述外部数据,并连接到所述过渡检测电路的输入端;
接通所述八管静态随机存取存储器的所述行方向配置端口;
响应于所述过渡检测电路输出的电平无变化,判断所述八管静态随机存取存储器的值与外部数据相同;以及
响应于所述过渡检测电路输出所述脉冲波,判断所述八管静态随机存取存储器的值与外部数据不同,
所述第二处理器配置为:
响应于需要将所述八管静态随机存取存储器的值与外部数据进行比较而将所述第三位线作为所述外部数据,并连接到所述过渡检测电路的输入端;
接通所述八管静态随机存取存储器的所述列方向配置端口;
响应于所述过渡检测电路输出的电平无变化,判断所述八管静态随机存取存储器的值与外部数据相同;以及
响应于所述过渡检测电路输出所述脉冲波,判断所述八管静态随机存取存储器的值与外部数据不同。
CN202010224134.7A 2020-03-26 2020-03-26 一种用于内存计算的电路结构 Active CN111445934B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010224134.7A CN111445934B (zh) 2020-03-26 2020-03-26 一种用于内存计算的电路结构
US17/096,958 US11238922B2 (en) 2020-03-26 2020-11-13 Circuit structure for in-memory computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010224134.7A CN111445934B (zh) 2020-03-26 2020-03-26 一种用于内存计算的电路结构

Publications (2)

Publication Number Publication Date
CN111445934A true CN111445934A (zh) 2020-07-24
CN111445934B CN111445934B (zh) 2023-08-15

Family

ID=71650867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010224134.7A Active CN111445934B (zh) 2020-03-26 2020-03-26 一种用于内存计算的电路结构

Country Status (2)

Country Link
US (1) US11238922B2 (zh)
CN (1) CN111445934B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259137A (zh) * 2020-11-02 2021-01-22 海光信息技术股份有限公司 内存运算电路及芯片结构
CN113205846A (zh) * 2021-05-13 2021-08-03 上海科技大学 适用于高速内容寻址和存内布尔逻辑计算的sram单元
CN117219140A (zh) * 2023-11-03 2023-12-12 安徽大学 基于8t-sram和电流镜的存内计算电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090244955A1 (en) * 2008-03-27 2009-10-01 Fujitsu Limited Semiconductor storage device
US20100315859A1 (en) * 2009-06-10 2010-12-16 Taiwan Semiconductor Manufacturing Company, Ltd. Eight-Transistor SRAM Memory with Shared Bit-Lines
US20120020146A1 (en) * 2010-07-23 2012-01-26 Jonghoon Jung Static Random Access Memory Device Including Negative Voltage Level Shifter
CN103106918A (zh) * 2012-12-24 2013-05-15 西安华芯半导体有限公司 一种使用单端口存储单元的两端口静态随机存储器
US20150049540A1 (en) * 2013-08-15 2015-02-19 Samsung Electronics Co., Ltd. Static random access memory

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111780A (en) * 1998-06-05 2000-08-29 Lockheed Martin Corporation Radiation hardened six transistor random access memory and memory device
US7859921B2 (en) * 2008-06-09 2010-12-28 International Business Machines Corporation Apparatus and method for low power sensing in a multi-port SRAM using pre-discharged bit lines
US20140104960A1 (en) * 2012-10-15 2014-04-17 Sundar Iyer Methods and Apparatus for Designing and Constructing High-Speed Memory Circuits
US9208853B2 (en) * 2013-03-15 2015-12-08 Intel Corporation Dual-port static random access memory (SRAM)
US9870818B1 (en) * 2016-10-04 2018-01-16 Qualcomm Incorporated Separate read and write address decoding in a memory system to support simultaneous memory read and write operations
US11379714B2 (en) * 2018-05-29 2022-07-05 British Cayman Islands Intelligo Technology Inc. Architecture of in-memory computing memory device for use in artificial neuron
US20200135266A1 (en) * 2018-10-30 2020-04-30 Intel Corporation Random-access memory with loaded capacitance
US11011222B2 (en) * 2019-03-06 2021-05-18 Arm Limited Memory structure with bitline strapping
US11145660B2 (en) * 2019-07-31 2021-10-12 Taiwan Semiconductor Manufacturing Co., Ltd. Dual-port SRAM cell structure
US11024347B2 (en) * 2019-10-17 2021-06-01 Marvell Asia Pte, Ltd. Multiple sense amplifier and data path-based pseudo dual port SRAM

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090244955A1 (en) * 2008-03-27 2009-10-01 Fujitsu Limited Semiconductor storage device
US20100315859A1 (en) * 2009-06-10 2010-12-16 Taiwan Semiconductor Manufacturing Company, Ltd. Eight-Transistor SRAM Memory with Shared Bit-Lines
US20120020146A1 (en) * 2010-07-23 2012-01-26 Jonghoon Jung Static Random Access Memory Device Including Negative Voltage Level Shifter
CN103106918A (zh) * 2012-12-24 2013-05-15 西安华芯半导体有限公司 一种使用单端口存储单元的两端口静态随机存储器
US20150049540A1 (en) * 2013-08-15 2015-02-19 Samsung Electronics Co., Ltd. Static random access memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259137A (zh) * 2020-11-02 2021-01-22 海光信息技术股份有限公司 内存运算电路及芯片结构
CN112259137B (zh) * 2020-11-02 2023-05-23 海光信息技术股份有限公司 内存运算电路及芯片结构
CN113205846A (zh) * 2021-05-13 2021-08-03 上海科技大学 适用于高速内容寻址和存内布尔逻辑计算的sram单元
CN117219140A (zh) * 2023-11-03 2023-12-12 安徽大学 基于8t-sram和电流镜的存内计算电路
CN117219140B (zh) * 2023-11-03 2024-01-30 安徽大学 基于8t-sram和电流镜的存内计算电路

Also Published As

Publication number Publication date
US20210304815A1 (en) 2021-09-30
CN111445934B (zh) 2023-08-15
US11238922B2 (en) 2022-02-01

Similar Documents

Publication Publication Date Title
CN111445934A (zh) 一种用于内存计算的电路结构
US7916563B2 (en) Programmable control block for dual port SRAM application
US7495969B2 (en) Techniques for improving write stability of memory with decoupled read and write bit lines
US11257540B2 (en) Write data processing methods associated with computational memory cells
US10847212B1 (en) Read and write data processing circuits and methods associated with computational memory cells using two read multiplexers
US20190212767A1 (en) Apparatuses for reducing clock path power consumption in low power dynamic random access memory
US7009871B1 (en) Stable memory cell
US6078527A (en) Pipelined dual port integrated circuit memory
JP2009528635A (ja) 集積回路の動作パラメータを調整するための装置及び方法
US10964357B2 (en) Skewed sense amplifier for single-ended sensing
JP2022536209A (ja) メモリデバイスのラッチ回路
JP2006134379A (ja) 半導体記憶装置
CN114115507A (zh) 存储器及写数据的方法
JP4685997B2 (ja) パイプラインド・デュアル・ポート集積回路メモリ
JP3729665B2 (ja) 半導体装置
CN114097037A (zh) 可移位存储器和操作可移位存储器的方法
KR20200004259A (ko) 펄스 스트레처 회로
JP3828847B2 (ja) 半導体記憶装置
TWI737534B (zh) 記憶體電路及其操作方法與訊號網路
US20230410928A1 (en) Design for Testability Circuit and Read and Write Path Decoupling Circuit of SRAM
US12080330B2 (en) Memory array with compensated word line access delay
CN212724727U (zh) 一种宽电压sram时序跟踪电路
US20240071456A1 (en) Memory array with compensated word line access delay
US20240071431A1 (en) Memory array with compensated word line access delay
JP3793580B2 (ja) 半導体記憶装置及びラインメモリの制御方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant