CN111737941A - 一种可配置、可重构的逻辑计算系统、芯片及控制方法 - Google Patents
一种可配置、可重构的逻辑计算系统、芯片及控制方法 Download PDFInfo
- Publication number
- CN111737941A CN111737941A CN202010376396.5A CN202010376396A CN111737941A CN 111737941 A CN111737941 A CN 111737941A CN 202010376396 A CN202010376396 A CN 202010376396A CN 111737941 A CN111737941 A CN 111737941A
- Authority
- CN
- China
- Prior art keywords
- logic
- mtj
- tree
- module
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000003860 storage Methods 0.000 claims abstract description 22
- 230000005291 magnetic effect Effects 0.000 claims abstract description 14
- 230000000295 complement effect Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 14
- 125000004122 cyclic group Chemical group 0.000 abstract description 6
- 230000005012 migration Effects 0.000 abstract description 4
- 238000013508 migration Methods 0.000 abstract description 4
- 238000011065 in-situ storage Methods 0.000 abstract description 3
- 230000005415 magnetization Effects 0.000 description 7
- 230000015654 memory Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000005294 ferromagnetic effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 229910001385 heavy metal Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- G06F30/343—Logical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种可配置、可重构的逻辑计算系统、芯片及控制方法,其中系统包括写数据选择模块、数据输入驱动模块、MTJ模块、逻辑配置感应模块和多逻辑重构模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树。本发明通过灵活构建的逻辑MTJ树和参考MTJ树能够使一种计算架构附加简单的配置信号实现多种逻辑输出,而且利用磁隧道结的存储与计算一体实现了数据的原位计算,避免了数据频繁迁移造成的高功耗、互联延迟等现象产生,同时采用时间迭代中间逻辑的循环运算方式替代传统CMOS简单逻辑门的级联实现更加复杂的运算,极大地节省硬件资源,降低嵌入成本。可广泛的应用于集成电路领域。
Description
技术领域
本发明涉及集成电路技术系统,尤其涉及一种可配置、可重构的逻辑计算系统、芯片及控制方法。
背景技术
术语解释:
VLSI:超大规模集成电路(Very Large Scale Integration,VLSI)。
SRAM:静态随机存取存储器(Static Random-Access Memory,SRAM)。
DRAM:动态随机存取存储器(Dynamic Random Access Memory,DRAM)。
MRAM:非易失性的磁性随机存储器(Magnetic Random Access Memory,MRAM)
CMOS:互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)。
STT-MTJ:自旋转移力矩-磁隧道结(Spin Transfer Torque-Magnetic TunnelJunction,STT-MTJ)。
现代是信息化的社会,作为信息化载体的计算机技术、数据处理技术、人工智能技术等带来了指数级递增的数据计算量、超高速的计算速度需求和超低功耗的便携式嵌入系统的应用需要。因此,如何发展和实现低功耗、高速度、高稳定性的集成电路系统已经成制约现代社会发展的一大关键技术。
CMOS作为传统的集成电路的基础元器件,数十年来一直遵循着“摩尔定律”的发展规律,带来和集成电路性能的持续提高。但是,随着CMOS工艺向着10nm节点之下发展时,其被物理极限和生产技术所限,器件本身受到量子效应和短沟道效应的影响越来越严重,泄漏电流增加、器件稳定性降低,更小尺寸的开发技术成本增高,尺寸缩小带来的性能红利已基本丧失。并且VLSI系统中随着尺寸缩小而增长的寄生电容和电阻更是导致了系统总功耗显著增加、全局互联延迟增加、整体稳定性逐步降低。此外,现在主流的计算架构大多为存储和处理器分离开来的冯诺依曼架构,中央处理器本身不具备数据存储的功能,其输入(输出)来自于(写入)缓存或者内存等存储单元,这就导致了大量的功耗浪费在了频繁的处理器与存储之间的数据交互上。另外,由于不同的存储等级之间存在速度差异、数据传输和逻辑运算之间存在速度差,导致计算机逻辑运算的整体速度受限,此为现代计算架构固有的“存储墙”和“功耗墙”问题。
为了解决以上问题,学术界和工业界分别提出了相关方法,主要有以新加工工艺改进和新结构、新材料开发的“More Moore”方向,及异构集成、专用集成芯片的“More thanMoore”方向。其中自旋转移力矩-磁隧道结(STT-MTJ)凭借其自身具有的超小尺度、无限可擦写次数、非易失性、存储与运算一体化、防辐射、低电流驱动、与CMOS工艺兼容等优点而被认为是替代传统半导体逻辑器件的下一代超大规模集成电路设计的逻辑器件的有力候选者,并取得一定的成效。成熟的MRAM存储器已经商品化,并且有望在近年内取代部分DRAM/SRAM进而缓解甚至消除现有存储之间的速度差问题。此外(而且),因磁隧道结具有存储和运算双重功能,因此构建非冯诺依曼架构的新型存算一体的计算架构条件已然成熟。并且由于磁隧道结具有非易失电阻转换特性,能够实现不同于CMOS逻辑的可配置、可重构的逻辑运算架构即同一种架构通过简单的控制信号的配置,可以实现不同的逻辑运算。并且能够通过以时间迭代实现中间逻辑的循环运算的方式代替传统CMOS简单逻辑门的级联实现更加复杂的逻辑运算。
MTJ的核心通常是由一个极薄的氧化层分隔开来的两层铁磁金属层的三明治结构。其中一层铁磁层中的磁化方向会被以重金属为衬底而固定住,称之为固定层(Fixedlayer)。另一层铁磁金属层的磁化方向能够通过外加磁场或者外加电场而在两个稳定的方向上被改变,称之为自由层(Free layer);其中完全通过流经其中的电流而改变的其磁化方向的驱动方式称之为自旋转移力矩。当自由层中的磁化方向和固定层中的磁化方向平行时,磁隧道结表现出低阻状态(Resistance of Parallel),通常代表存储逻辑“0”;当自由层中的磁化方向和固定层中的磁化方向反平行时,磁隧道结表现出高阻状态(Resistanceof Anti-Parallel),通常代表存储逻辑“1”。
发明内容
为了解决上述技术问题,本发明的目的是提供一种可配置、可重构的逻辑计算系统、芯片及控制方法,不仅实现基于一种计算架构实现多种逻辑,而且打破了传统冯诺依曼架构存储与计算的分离模式,减少数据迁移导致的功耗,同时采用时间迭代实现更加复杂的逻辑运算,极大的节省硬件资源,降低嵌入式成本。
本发明所采用的第一技术方案是:
一种可配置、可重构的逻辑计算系统,包括写数据选择模块、数据输入驱动模块、MTJ树模块、逻辑配置感应模块和多级逻辑重构模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树;
所述写数据选择模块用于根据选择信号选择第一数据;
所述数据输入驱动模块用于将第一数据写入MTJ模块;
所述逻辑配置感应模块用于根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值;
所述多级逻辑重构模块用于对第一逻辑值进行锁存,生成第二逻辑值,并将所述第二逻辑值写回所述写数据选择模块的写数据选择端口。
可选地,所述逻辑MTJ树用于提供第一电压信号,所述参考MTJ树用于提供第二电压信号,所述逻辑MTJ树和参考MTJ树均包括至少一对MTJ。
可选地,所述数据输入驱动模块还用于根据MTJ与数据输入驱动模块的连接方式定义正存储或反存储。
可选地,所述逻辑配置感应模块用于根据配置信息将所述逻辑MTJ树提供的第一电压信号和所述参考MTJ树提供的第二电压信号输出第一逻辑值。
可选地,所述逻辑配置感应模块包括至少一个电压比较器,所述电压比较器用于输出一对互补的逻辑值。
可选地,所述多级逻辑重构模块包括第一读锁存NMOS管、第一读锁存PMOS管、第二读锁存NMOS管、第二读锁存PMOS管和锁存电路;所述第一读锁存PMOS管的漏极与所述第二读锁存PMOS管的漏极分别和所述电压比较器的第一输出端与第二输出端连接,所述第一读锁存NMOS管的漏极分别与第一读锁存PMOS管的源极和锁存电路的第一输入端连接,所述第二读锁存NMOS管的漏极分别与第二读锁存PMOS管的源极和锁存电路的第二输入端连接,所述第一读锁存NMOS管的源极和所述第二读锁存NMOS管的源极均接地。
可选地,所述锁存电路包括第一或非门和第二或非门,所述第一或非门包括第一输入端、第二输入端和输出端,所述第二或非门包括第三输入端、第四输入端和输出端,所述第一读锁存NMOS管的漏极和第二或非门的输出端分别与第一或非门第一输入端和第二输入端连接,所述第二读锁存NMOS管的漏极和所述第一或非门的输出端分别与第二或非门的第三输入端和第四输入端连接。
本发明所采用的第二技术方案是:
一种芯片,包括时钟电路模块,时序控制模块、译码模块和逻辑计算模块,所述逻辑计算模块采用上述的一种可配置、可重构的逻辑计算系统。
本发明所采用的第三技术方案是:
一种可配置、可重构的逻辑计算系统的控制方法,包括以下步骤:
获取选择信号,根据选择信号将写数据选择模块选择的第一数据写入MTJ模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树;
获取配置信号,根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值;
获取锁存指令,根据锁存指令对第一逻辑值进行锁存后,生成第二逻辑值,并将所述第二逻辑值写回写数据选择模块写数据选择端口。
可选地,所述获取配置信号,根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值这一步骤,具体包括:
获取配置信号,并选择逻辑MTJ树和参考MTJ树;
结合配置信号、所述逻辑MTJ树提供的第一电压信号与所述参考MTJ树提供的第二电压信号输出第一逻辑值。
本发明的有益效果是:通过灵活构建的逻辑MTJ树和参考MTJ树能够使一种计算架构附加简单的配置信号实现多种逻辑输出,而且利用磁隧道结的存储与计算一体实现了数据的原位计算,避免了数据频繁迁移造成的高功耗、互联延迟等现象产生,同时采用时间迭代中间逻辑的循环运算方式替代传统CMOS简单逻辑门的级联实现更加复杂的运算,极大地节省硬件资源,降低嵌入成本。
附图说明
图1是实施例中可配置、可重构的逻辑计算系统架构示意图;
图2是实施例中数据输入驱动模块和“正/反存储”的MTJ电路连接示意图;
图3是实施例中14种可配置逻辑的MTJ树和逻辑配置感应模块示意图;
图4是实施例中多级逻辑可重构模块的示意图;
图5是实施例中时间迭代循环运算实现的同或与异或逻辑架构流程示意图;
图6是实施例中一种可配置、可重构的逻辑计算系统的控制方法的步骤流程图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
本实施例提供一种芯片,包括时钟电路模块、时序控制模块、译码模块和可配置、可重构的逻辑计算系统,如图1所示,可配置、可重构的逻辑计算系统具体包括写数据选择模块、数据输入驱动模块、MTJ树模块、逻辑配置感应模块和多级逻辑重构模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树。
所述时钟电路模块用于产生系统所需要的时钟信号。
所述时序控制模块用于控制各模块的使能信号,包括时钟电路模块、译码模块、写数据选择模块、数据输入驱动模块、MTJ树模块、逻辑配置感应模块和多级逻辑重构模块。
所述译码模块用于将二进制指令翻译为电路所需要的信息。
所述写数据选择模块用于根据选择信号选择第一数据;
所述第一数据包括外部输入的原始逻辑数Data和来自于多级逻辑重构模块写回的中间逻辑值Middle logic Write Back。
所述数据输入驱动模块用于将第一数据写入MTJ模块。
所述MTJ模块设有逻辑MTJ树和参考MTJ树,所述逻辑MTJ树用于提供第一电压信号,所述参考MTJ树用于提供第二电压信号,所述逻辑MTJ树和参考MTJ树均包括至少一对MTJ;
其中,逻辑MTJ树和参考MTJ树可根据逻辑运算的需要任意定制,并不限制MTJ的数量和串并联方式;逻辑MTJ树的数据需要通过数据输入驱动模块写入,并具有“正存储”和“反存储”的不同存储方式,存储数据会根据输入数据进行实时刷新;参考MTJ树中存储数据是固定不变的,当然也可以根据要实现逻辑运算需求对参考MTJ树中的存储数据进行定制。
所述逻辑配置感应模块用于根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值;
所述多级逻辑重构模块用于对第一逻辑值进行锁存,生成第二逻辑值,并将所述第二逻辑值写回所述写数据选择模块的写数据选择端口。
其中,多级逻辑重构模块可以锁存多级逻辑运算的中间逻辑值Middle logicWrite Back(即第二逻辑值),并能够在下一时钟计算周期将所述的中间逻辑值Middlelogic Write Back(即第二逻辑值)重新写回到数据输入驱动模块写入数据选择端口进行迭代计算,通过以时间迭代实现中间逻辑的循环运算能够实现包括但不限于同或、异或逻辑在内的复杂逻辑运算。
下面结合图2-图5对可配置、可重构的逻辑计算系统的工作原理进行详细解释。
写入数据选择模块和数据输入驱动模块如图2(a)所示,当选择信号sel为1时,选择输入MTJ的数据是外部输入的原始逻辑数Data;当sel为0时,选择的数据为来自于多级逻辑重构模块写回的中间逻辑值Middle logic Write Back即第二逻辑值。
具体地,数据输入驱动模块包括第一与非门in1、第二与非门in2、第一非门in3、第二非门in4、第三非门、第一PMOS管MP1、第一NMOS管MN1、第二PMOS管MP2、第二NMOS管MN2和MTJ;其中,第一PMOS管的栅极与第一NMOS管栅极分别和第二与非门in2与第一非门in3连接,第二PMOS管MP2的栅极与第二NMOS管MN2的栅极分别和第一与非门in1与第二非门in4连接,第一PMOS管MP1的源极与第二PMOS管MP2的源极均与电源VDD连接,第一NMOS管MN1的漏极与第二NMOS管MN2的漏极均接地GND,MTJ连接至第一PMOS管MP1与第一NMOS管MN1的中间节点和第二PMOS管与第二NMOS管的中间节点之间;概括地说即第一PMOS管MP1、第二PMOS管MP2、第一NMOS管MN1和二NMOS管MN2均串联连接在电源VDD和地GND之间如图2(a)和图2(b)所示。
参照图2输入数据IN(第一数据)和写能信号EN共同驱动数据IN(第一数据)写入。
写能信号EN高电平有效,1).当数据IN(第一数据)为0时,第一与非门in1输出为1,第二与非门in2输出为0,第一非门in3输出为0,第二非门in4输出为1;此时第一PMOS管MP1导通,第二PMOS管MP2关断,第一NMOS管MN1关断,第二NMOS管MN2导通,形成VDD→MP1→MTJ→MN2→GND流向的写电流通路,且该写电流使MTJ存储数据为“0”,称之为“正存储”,即MTJ表现低阻态,如图2(b)所示;2).当数据IN(第一数据)为1时,第一与非门in1输出为0,第二与非门in2输出为1,第一非门in3输出为1,第二非门in4输出为0;此时第一PMOS管MP1关断,第二PMOS管MP2导通,第一NMOS管MN1导通,第二NMOS管MN2关断,形成VDD→MP2→MTJ→MN1→GND流向的写电流通路,且该写电流使MTJ存储据为1,称之为“反存储”,即MTJ表现高阻态,如图2(c)所示。写能信号EN低电平有效,第一PMOS管MP1、第一NMOS管MN1、第二PMOS管MP2和第二NMOS管MN2均关断,无写电流产生,MTJ阻态保持不变。即输入驱动模块根据写电流的方向和MTJ摆放方式的不同,当MTJ的N端接第一PMOS管MP1和第一NMOS管MN1的中间节点的连接方式就确定了正存储如图2(b),相反,MTJ的P端接MP1和MN1中间的连接方式就确定了是反存储如图2(c);具体地外在表征为第一数据(输入数据)和存储数据相同的即为正存储(如输入数据为1,存储数据为1);而所述的正存储和反存储是后续构成逻辑配置感应模块需求的逻辑操作数的组成部分。
参照图3给出了可实现14种布尔逻辑值的MTJ树模块和相应的逻辑配置感应模块示意图,其中逻辑配置感应模块设有电压比较器V1和V2。
使能信号EN低电平有效,图3(a)所示为逻辑MTJ树,A、B表示正存储输入逻辑操作数,表示反存储输入逻辑操作数;K1、K2为逻辑配置信号,通过选择不同逻辑MTJ树实现不同的逻辑值;当K1为0时,选择1、3逻辑MTJ树支路,当K1为1时,选择2、4逻辑MTJ树支路;VMiddle表示不同MTJ阻值构成的逻辑MTJ树支路的中间节点电压信号(第一电压信号);图3(b)所示为参考MTJ树,Rap表示MTJ高阻值,Rp表示MTJ低阻值;当K2为1时,选择1、3参考MTJ树支路,当K2为0时,选择2、4参考MTJ树支路;VRef表示不同MTJ阻值构成的参考MTJ树支路的固定参考电压信号(第二电压信号);图3(c)为电压比较器V1和V2,各电压比较器通过比较逻辑MTJ支路的各种输入数据下VMiddle(中间节点电压)的数值和参考MTJ支路固定的VRef(固定参考电压)的大小关系,将不同的输入情况进行分类,并输出逻辑值;例如,当K1=0,K2=0时,逻辑MTJ树支路1和参考MTJ树支路2连接到电压比较器V1的两个输入端,根据输入的逻辑操作数的不同,VMiddle会有四种不同的数值大小。然后和固定大小的参考电压VRef比较,即可得出A&B、逻辑,详情见下表1:
表1
根据实际情况,用于商业应用的MTJ的穿隧磁阻(TMR:TunnelingMagnetoresistance)其中TMR=(RAP-RP)/RP,x=RAP/RP;由于TMR数值不小于100%,即x为不小于2的正数,因逻辑MTJ和参考MTJ除了MTJ阻值不同,其他附加电阻值完全对称,因此其它附加(如电路连线电阻、通路EN使能管电阻等)和寄生电阻值产生的影响相互抵消,根据上表,则有:
根据上表真值表,可以很容易得到
其他情况同理,下面表2给出完整的14种布尔逻辑值及K1、K2配置信息:
表2
如图4所示,给出了多逻辑配置感应模块与电压比较器的连接方式。如图4曲线框内所示,多级逻辑重构模块包括第一读锁存NMOS管MN1′、第一读锁存PMOS管MP1′、第二读锁存NMOS管MN2′、第二读锁存PMOS管MP2′和锁存电路;所述第一读锁存PMOS管MP1′的漏极与所述第二读锁存PMOS管MP2′的漏极分别和所述电压比较器V的第一输出端Qm与第二输出端连接,所述第一读锁存NMOS管MN1′的漏极分别与所述第一读锁存PMOS管MP1′的源极和锁存电路的第一输入端连接,所述第二读锁存NMOS管MN2′的漏极分别与第二读锁存PMOS管MP2′的源极和锁存电路的第二输入端连接,所述第一读锁存NMOS管MN1′的源极和所述第二读锁存NMOS管MN2′的源极均接地GND;所述锁存电路包括第一或非门1和第二或非门2,所述第一或非门1包括第一输入端、第二输入端和输出端,所述第二或非门2包括第三输入端、第四输入端和输出端,所述第一读锁存NMOS管MN1′的漏极和第二或非门2的输出端分别与第一或非门1第一输入端和第二输入端连接,所述第二读锁存NMOS管MN2′的漏极和所述第一或非门1的输出端分别与第二或非门2的第三输入端和第四输入端连接。
当使能信号EN为0时,即输入数据写关闭,电压比较器打开时,第一读锁存PMOS管MP1′与第二读锁存PMOS管MP2′均导通,第一读锁存NMOS管MN1′与第二读锁存NMOS管MN2′均关断,将多级逻辑的中间逻辑值Qm锁存,当使能信号EN为1时,即输入数据写开启,电压比较器断开时,第一读锁存PMOS管MP1′与第二读锁存PMOS管MP2′均关断,第一读锁存NMOS管MN1′与第二读锁存NMOS管MN2′均导通,此时,第一与非门1、第二与非门2的两个输入数据都被拉到电源地,中间逻辑值Middle Logic数值将被锁存不会更新,直到下一次的逻辑运算和读取开启,保证了中间逻辑值能够正常被写入MTJ中进行逻辑循环计算,从而能够通过时间迭代实现中间逻辑值的循环运算,进而实现更加复杂的逻辑值运算。
如图5所示给出时间迭代循环运算实现的同或、异或逻辑架构流程示意图,在第一时钟计算周期内,输入原始逻辑操作数A、B,并将配置信号设置为①K1=0,K2=0和②K1=0,K2=1得到中间逻辑值A&B、然后将两个中间逻辑值A&B、通过多逻辑重构模块锁存,并在第二时钟计算周期作为数据输入驱动模块的输入数据写入MTJ,再次将配置信号设置为①K1=0,K2=0和②K1=0,K2=1,则可以得出 当然该结构还可以通过设置其他配置信号实现包括但不限于同或、异或逻辑在内的更加复杂逻辑运算。
上述实施例的可配置、可重构的逻辑计算系统构成的芯片,至少具有如下的有益效果:
1)通过灵活的逻辑MTJ树和参考MTJ树的构建,能够在没有CMOS逻辑门参与逻辑构建的基础上至少实现14种布尔逻辑,并且由于输入数据的非易失,使得逻辑上电即能恢复,无需输入数据的二次输入;
2)利用多级逻辑的重构模块,能够以时间迭代实现中间逻辑的循环运算的方式实现包括但不限于同或、异或在内的多种复杂逻辑计算;
3)利用磁隧道结的存储与计算一体化,实现了数据“原位计算”,避免了数据在内存和处理器之间的频繁迁移,大大降低功耗;
4)多级逻辑重构模块利用时间迭代实现中间逻辑的循环运算的方式代替传统CMOS简单逻辑门的级联实现更加复杂的逻辑运算,能很大程度上节省硬件资源,降低嵌入式小系统的成本。
如图6所示,本实施例的还提供一种可配置、可重构的逻辑计算系统的控制方法,包括以下步骤:
S1、获取选择信号,根据选择信号将写数据选择模块选择的第一数据写入MTJ模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树;
S2、获取配置信号,根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值;
S3、获取锁存指令,根据锁存指令对第一逻辑值进行锁存后,生成第二逻辑值,并将所述第二逻辑值写回写数据选择模块写数据选择端口。
本实施例中所述第一数据具体写入逻辑MTJ树,能够实现根据第一数据(输入数据)进行实时刷新,通常参考MTJ树中存储的数据是固定不变的;所述第一数据包括外部输入的原始逻辑数Data和来自于多级逻辑重构模块写回的中间逻辑值Middle logic WriteBack。
可选地,所述步骤S2包括以下步骤:
S21、获取配置信号,并选择逻辑MTJ树和参考MTJ树;
S22、结合配置信号、所述逻辑MTJ树提供的第一电压信号与所述参考MTJ树提供的第二电压信号输出第一逻辑值。
本实施例提供的一种可配置、可重构的逻辑计算系统的控制方法,与上述实施例具有相应的功能和有益效果。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种可配置、可重构的逻辑计算系统,其特征在于,包括写数据选择模块、数据输入驱动模块、MTJ树模块、逻辑配置感应模块和多级逻辑重构模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树;
所述写数据选择模块用于根据选择信号选择第一数据;
所述数据输入驱动模块用于将第一数据写入MTJ模块;
所述逻辑配置感应模块用于根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值;
所述多级逻辑重构模块用于对第一逻辑值进行锁存,生成第二逻辑值,并将所述第二逻辑值写回所述写数据选择模块的写数据选择端口。
2.根据权利要求1所述的一种可配置、可重构的逻辑计算系统,其特征在于,所述逻辑MTJ树用于提供第一电压信号,所述参考MTJ树用于提供第二电压信号,所述逻辑MTJ树和参考MTJ树均包括至少一对MTJ。
3.根据权利要求2所述的一种可配置、可重构的逻辑计算系统,其特征在于,所述数据输入驱动模块还用于根据MTJ与数据输入驱动模块的连接方式定义正存储或反存储。
4.根据权利要求3所述的一种可配置、可重构的逻辑计算系统,其特征在于,所述逻辑配置感应模块用于根据配置信息将所述逻辑MTJ树提供的第一电压信号和所述参考MTJ树提供的第二电压信号输出第一逻辑值。
5.根据权利要求4所述的一种可配置、可重构的逻辑计算系统,其特征在于,所述逻辑配置感应模块包括至少一个电压比较器,所述电压比较器用于输出一对互补的逻辑值。
6.根据权利要求5所述的一种可配置、可重构的逻辑计算系统,其特征在于,所述多级逻辑重构模块包括第一读锁存NMOS管、第一读锁存PMOS管、第二读锁存NMOS管、第二读锁存PMOS管和锁存电路;所述第一读锁存PMOS管的漏极与所述第二读锁存PMOS管的漏极分别和所述电压比较器的第一输出端与第二输出端连接,所述第一读锁存NMOS管的漏极分别与第一读锁存PMOS管的源极和锁存电路的第一输入端连接,所述第二读锁存NMOS管的漏极分别与第二读锁存PMOS管的源极和锁存电路的第二输入端连接,所述第一读锁存NMOS管的源极和所述第二读锁存NMOS管的源极均接地。
7.根据权利要求6所述的一种可配置、可重构的逻辑计算系统,其特征在于,所述锁存电路包括第一或非门和第二或非门,所述第一或非门包括第一输入端、第二输入端和输出端,所述第二或非门包括第三输入端、第四输入端和输出端,所述第一读锁存NMOS管的漏极和第二或非门的输出端分别与第一或非门第一输入端和第二输入端连接,所述第二读锁存NMOS管的漏极和所述第一或非门的输出端分别与第二或非门的第三输入端和第四输入端连接。
8.一种芯片,其特征在于,包括时钟电路模块、时序控制模块、译码模块和逻辑计算模块,所述逻辑计算模块采用权利要求1-7任一项所述的一种可配置、可重构的逻辑计算系统。
9.一种可配置、可重构的逻辑计算系统的控制方法,其特征在于,包括以下步骤:
获取选择信号,根据选择信号将写数据选择模块选择的第一数据写入MTJ模块,所述MTJ模块设有逻辑MTJ树和参考MTJ树;
获取配置信号,根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值;
获取锁存指令,根据锁存指令对第一逻辑值进行锁存后,生成第二逻辑值,并将所述第二逻辑值写回写数据选择模块写数据选择端口。
10.根据权利要求9所述的一种可配置、可重构的逻辑计算系统的控制方法,其特征在于,所述获取配置信号,根据配置信号选择逻辑MTJ树与参考MTJ树输出第一逻辑值这一步骤,具体包括:
获取配置信号,并选择逻辑MTJ树和参考MTJ树;
结合配置信号、所述逻辑MTJ树提供的第一电压信号与所述参考MTJ树提供的第二电压信号输出第一逻辑值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010376396.5A CN111737941B (zh) | 2020-05-07 | 2020-05-07 | 一种可配置、可重构的逻辑计算系统、芯片及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010376396.5A CN111737941B (zh) | 2020-05-07 | 2020-05-07 | 一种可配置、可重构的逻辑计算系统、芯片及控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737941A true CN111737941A (zh) | 2020-10-02 |
CN111737941B CN111737941B (zh) | 2023-07-21 |
Family
ID=72646979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010376396.5A Active CN111737941B (zh) | 2020-05-07 | 2020-05-07 | 一种可配置、可重构的逻辑计算系统、芯片及控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737941B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2798443C1 (ru) * | 2022-12-09 | 2023-06-22 | Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" | Реконфигурируемая вычислительная система |
CN117056279A (zh) * | 2023-10-12 | 2023-11-14 | 之江实验室 | 可重构电路、可重构芯粒间互联的装置及其方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761478A (en) * | 1994-12-12 | 1998-06-02 | Texas Instruments Incorporated | Programmable memory interface for efficient transfer of different size data |
CN109766309A (zh) * | 2018-12-29 | 2019-05-17 | 北京航空航天大学 | 自旋存算一体芯片 |
US20190258482A1 (en) * | 2018-02-22 | 2019-08-22 | Purdue Research Foundation | Memory device having in-situ in-memory stateful vector logic operation |
-
2020
- 2020-05-07 CN CN202010376396.5A patent/CN111737941B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761478A (en) * | 1994-12-12 | 1998-06-02 | Texas Instruments Incorporated | Programmable memory interface for efficient transfer of different size data |
US20190258482A1 (en) * | 2018-02-22 | 2019-08-22 | Purdue Research Foundation | Memory device having in-situ in-memory stateful vector logic operation |
CN109766309A (zh) * | 2018-12-29 | 2019-05-17 | 北京航空航天大学 | 自旋存算一体芯片 |
Non-Patent Citations (1)
Title |
---|
MASANORI NATSUI等: "Design of MTJ-Based nonvolatile logic gates for quantized neural networks", MICROELECTRONICS JOURNAL, vol. 82, pages 13 - 21 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2798443C1 (ru) * | 2022-12-09 | 2023-06-22 | Федеральное государственное унитарное предприятие "Научно-исследовательский институт "Квант" | Реконфигурируемая вычислительная система |
CN117056279A (zh) * | 2023-10-12 | 2023-11-14 | 之江实验室 | 可重构电路、可重构芯粒间互联的装置及其方法 |
CN117056279B (zh) * | 2023-10-12 | 2024-01-26 | 之江实验室 | 可重构电路、可重构芯粒间互联的装置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111737941B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yin et al. | Ferroelectric FETs-based nonvolatile logic-in-memory circuits | |
Yin et al. | Exploiting ferroelectric FETs for low-power non-volatile logic-in-memory circuits | |
Zhang et al. | Time-domain computing in memory using spintronics for energy-efficient convolutional neural network | |
Umesh et al. | A survey of spintronic architectures for processing-in-memory and neural networks | |
Natsui et al. | Nonvolatile logic-in-memory LSI using cycle-based power gating and its application to motion-vector prediction | |
Deng et al. | Synchronous 8-bit non-volatile full-adder based on spin transfer torque magnetic tunnel junction | |
US8218349B2 (en) | Non-volatile logic devices using magnetic tunnel junctions | |
CN110427170B (zh) | 一种基于自旋轨道矩的全加器 | |
He et al. | Exploring a SOT-MRAM based in-memory computing for data processing | |
CN111341363B (zh) | 基于stt-mtj的存算一体系统、芯片及控制方法 | |
Huang et al. | A low-power low-VDD nonvolatile latch using spin transfer torque MRAM | |
Patil et al. | Spintronic logic gates for spintronic data using magnetic tunnel junctions | |
Zarei et al. | Power and area-efficient design of VCMA-MRAM based full-adder using approximate computing for IoT applications | |
Wang et al. | Reconfigurable bit-serial operation using toggle SOT-MRAM for high-performance computing in memory architecture | |
He et al. | Accelerating low bit-width deep convolution neural network in MRAM | |
Monga et al. | A dual-mode in-memory computing unit using spin Hall-assisted MRAM for data-intensive applications | |
Guillemenet et al. | A non-volatile run-time FPGA using thermally assisted switching MRAMS | |
Huang et al. | A low power and high sensing margin non-volatile full adder using racetrack memory | |
Nasab et al. | Hybrid MTJ/CNTFET-based binary synapse and neuron for process-in-memory architecture | |
Marchand et al. | FeFET based Logic-in-Memory: an overview | |
Usami et al. | Energy efficient write verify and retry scheme for MTJ based flip-flop and application | |
Chang et al. | CORN: In-buffer computing for binary neural network | |
Cai et al. | Toward energy-efficient STT-MRAM design with multi-modes reconfiguration | |
US9659650B2 (en) | Multistate register having a flip flop and multiple memristive devices | |
CN111737941B (zh) | 一种可配置、可重构的逻辑计算系统、芯片及控制方法 |
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 |