-
全球数据量呈指数级暴涨, 传统存算分离的计算系统存在显著性能瓶颈, 不仅限制了计算速度, 更导致系统高功耗、高时延等问题[1–3]. 存内计算作为后摩尔时代计算新范式的研究热点, 被认为是极具潜力的革命性技术, 其核心是实现计算单元与存储单元的深度融合, 在完成数据存储的同时直接执行计算操作, 从而彻底消除冯·诺依曼架构中数据频繁搬移带来的额外开销与时延, 大幅提升运算效率, 实现计算与存储的高效节能[4–8].
新型纳米忆阻器具备双稳态/多稳态电阻、非易失性、纳米级尺寸、低功耗及可三维堆叠等独特特性, 兼具高效计算能力与高密度存储能力, 成为适配未来以数据为中心计算需求的核心候选器件[9–13]. 尤为重要的是, 忆阻器可在同一器件内同步实现数据存储与逻辑运算, 其天然的存算一体特性与存内计算架构高度契合, 为加法器等基础算术单元的设计提供了颠覆性的实现路径, 也为基于忆阻器交叉阵列构建高效存内计算系统奠定了基础[14–16]. 加法器作为现代微处理器、加密电路等系统中的核心算术部件, 其运算速度、面积开销、功耗表现直接决定了整个系统的性能, 因此优化加法器性能、提升其集成度与效率具有重要意义[17,18].
目前, 基于忆阻器的全加器设计已成为研究热点[19–21], 相关成果不断涌现, Miao等[22]基于与(AND)、或(OR)、异或(XOR)基本逻辑门, 实现了1位全加器, 需6个忆阻器、1个电阻和6个操作步骤. Dias等[23]提出了“积之和”形式的状态逻辑计算范式, 实现1位全加器同样需要6个忆阻器、1个电阻和6个步骤. Wang等[24]基于V (电压)/R(电阻)-R逻辑设计了2-1多路选择器(multiplexer, MUX), 以XOR和MUX作为逻辑原语, 需4步操作实现1位全加器, 但该设计中逻辑级联需额外引入
$ R{\text{-}}V $ 转换电路, 不可避免地增加了系统功耗、延迟与设计复杂度. Luo等[25]基于可重构布尔逻辑运算构建1位全加器, 采用9个忆阻器, 需7个操作步骤. Kim等[26]以蕴含非(inverse implication, NIMP)和AND逻辑门为基础, 用8个忆阻器、6步操作实现了1位全加器.现有忆阻器全加器方案多采用分立基础逻辑门级联的设计思路, 通过XOR, AND, OR, NIMP等门电路组合实现全加器和与输出进位, 不仅依赖大量忆阻器, 还需多步操作完成运算, 存在器件数量多、运算步长长、传输延迟高、硬件面积开销大等问题, 难以满足高速数据处理与实时加密运算的应用需求, 也限制了忆阻器存内计算架构在安全加解密、多位并行运算场景的工程落地. 针对上述不足, 本文面向存内计算与硬件图像加解密应用需求, 开展基于忆阻器交叉阵列的新型存内加法器设计. 首先设计低器件开销、少运算步数的忆阻器阵列1位全加器; 在此基础上构建基于全加器的存内加解密硬件电路; 进一步基于1位全加器, 实现n位行波进位存内加法器. 在精简器件规模与操作步骤的同时, 提升存内加法运算效率与硬件安全加密能力, 为忆阻器存算一体安全电路的设计与应用提供新的可行方案.
-
本节设计了一种基于忆阻器交叉阵列的全加器电路, 将两个一位二进制数与来自低位的进位相加, 输出和与进位, 如图1所示, 该电路包括输入忆阻器M1、输入忆阻器M2、输入忆阻器M3、辅助忆阻器M4、输出忆阻器M5和输出忆阻器M6, 其中忆阻器M1—忆阻器M6的顶电极分别与位线BL1—BL6相连, 各忆阻器的底端电极均连接在同一字线(word line, WL)上. 图1全加器电路中采用的是同种类型忆阻器, 不同颜色忆阻器用于区分不同功能, 其中蓝色表示用作输入的忆阻器, 紫色表示用作辅助计算的忆阻器, 绿色表示用作输出的忆阻器. 忆阻器的置位(SET)和复位(RESET)电压分别为
$ V_{\mathrm{SET}} $ 和$ V_{\mathrm{RES}} $ ($ 2 |V_{\mathrm{RES}}| \lt V_{\mathrm{SET}} $ ), 忆阻器包括高阻态$ R_{\mathrm{H}} $ 和低阻态$ R_{\mathrm{L}} $ , 分别定义为逻辑0和1. 忆阻器M1、忆阻器M2和忆阻器M3的阻态分别表示全加器的被加数a、加数b和输入进位$ c_{\mathrm{in}} $ , 忆阻器M5和忆阻器M6的阻态分别表示全加器的和s与输出进位$ c_{\mathrm{o}} $ . 进行运算之前, 将忆阻器M1、忆阻器M2和忆阻器M3分别置为被加数a、加数b和输入进位$ c_{\mathrm{in}} $ 逻辑值所对应的阻态, 忆阻器M4、忆阻器M5和忆阻器M6的初始状态都为低阻态. 基于忆阻器交叉阵列的全加器具体操作步骤如下.步骤1: 给位线BL1施加电压
$ V_{\mathrm{A1}} $ , 位线BL2施加电压$ V_{\mathrm{B1}} $ , 位线BL3施加电压$ V_{\mathrm{CIN1}} $ , 位线BL4施加电压$ V_{\mathrm{AS1}} $ , 而位线BL5接地(G), 位线BL6悬空(F), 得到全加器的输出进位$ c_{\mathrm{o}} $ , 同时存储在忆阻器M5中;步骤2: 在上一步操作基础上, 给位线BL1施加电压
$ V_{\mathrm{A2}} $ , 位线BL2施加电压$ V_{\mathrm{B2}} $ , 位线BL3施加电压$ V_{\mathrm{CIN2}} $ , 位线BL4施加电压$ V_{\mathrm{AS2}} $ , 位线BL5施加电压$ V_{\mathrm{CO}} $ , 而位线BL6接地, 得到全加器的和s, 同时存储在忆阻器M6中.为了得到输出进位, 操作电压
$ V_{\mathrm{A1}} $ ,$ V_{\mathrm{B1}} $ ,$ V_{\mathrm{CIN1}} $ ,$ V_{\mathrm{AS1}} $ 大小设置在[0,$ V_{\mathrm{X}} $ ]范围内. 为了避免输入忆阻器发生SET切换,$ V_{\mathrm{X}} $ 应小于忆阻器的SET电压$ V_{\mathrm{SET}} $ . 当给全加器电路施加操作电压时, 输出忆阻器M5根据输入a, b和$ c_{\mathrm{in}} $ 进行条件RESET切换. 也就是说, 对于特定的逻辑输入, 忆阻器M5两端的电压$ V_{\mathrm{M5}} $ ($ V_{\mathrm{M5}} = V_{\mathrm{WL}} - {G} = V_{\mathrm{WL}} $ , 其中$ V_{\mathrm{WL}} $ 是字线WL处的结点电压)大于RESET电压绝对值$ |V_{\mathrm{RES}}| $ , 将忆阻器M5从低阻态$ R_{\mathrm{L}} $ 切换到高阻态$ R_{\mathrm{H}} $ ; 而对于其他逻辑输入, 忆阻器M5两端的电压$ V_{\mathrm{M5}} $ 小于$ |V_{\mathrm{RES}}| $ , 忆阻器M5保持在低阻态$ R_{\mathrm{L}} $ 不变. 根据基尔霍夫定律, 可得到下式:其中,
$ R_{\mathrm{M1}} $ ,$ R_{\mathrm{M2}} $ ,$ R_{\mathrm{M3}} $ ,$ R_{\mathrm{M4}} $ 和$ R_{\mathrm{M5}} $ 分别是忆阻器M1、忆阻器M2、忆阻器M3、忆阻器M4和忆阻器M5的阻值. 将$ R_{\mathrm{M4}} = R_{\mathrm{M5}} = R_{\mathrm{L}} $ 代入(1)式可得到:根据(2)式和表1全加器真值表中输入、输出情况, 可得到操作电压
$ V_{\mathrm{A1}} $ ,$ V_{\mathrm{B1}} $ ,$ V_{\mathrm{CIN1}} $ ,$ V_{\mathrm{AS1}} $ 的确认条件, 具体为其中,
$ V_{\mathrm{WL1}} , V_{\mathrm{WL2}} , V_{\mathrm{WL3}} , V_{\mathrm{WL4}} ,V_{\mathrm{WL5}} , V_{\mathrm{WL6}} , V_{\mathrm{WL7}} , V_{\mathrm{WL8}} $ 分别表示全加器输入$ abc_{\mathrm{in}} $ 为000, 001, 010, 011, 100, 101, 110, 111的结点电压. 为了简化操作电压确认条件, 操作电压$ V_{\mathrm{A1}} $ ,$ V_{\mathrm{B1}} $ ,$ V_{\mathrm{CIN1}} $ 可选取相同大小的电压$ V_{\mathrm{CM1}} $ , 于是,$ V_{\mathrm{WL2}} = V_{\mathrm{WL3}} = V_{\mathrm{WL5}} $ ,$ V_{\mathrm{WL4}} = V_{\mathrm{WL6}} = V_{\mathrm{WL7}} $ , 因而操作电压确认条件可简化为4个:进而为了避免输入忆阻器M1—M3和辅助忆阻器M4的阻态被破坏, 以便能够多次使用. 在输出忆阻器M5发生RESET切换情况下, 处于低阻态的输入忆阻器M1—M3以及辅助忆阻器M4两端电压都应小于
$ |V_{\mathrm{RES}}| $ . 于是, 电压$ V_{\mathrm{CM1}} $ 和$ V_{\mathrm{AS1}} $ 增加如下选择约束:根据(11)—(17)式即可确认操作电压
$ V_{\mathrm{CM1}} $ 和$ V_{\mathrm{AS1}} $ 的大小. 为了计算$ V_{\mathrm{CM1}} $ 和$ V_{\mathrm{AS1}} $ , 将参数$ V_{\mathrm{SET}} = 0.78 $ V,$ V_{\mathrm{RES}} = -0.21 $ V,$ V_{\mathrm{X}} = 0.6 $ V,$ R_{\mathrm{H}} = 616\;{\mathrm{k}}\Omega $ 和$ R_{\mathrm{L}} = 530\;\Omega $ 代入(11)—(17)式, 这些值来自用于电路仿真的忆阻器模型参数, 仿真实验情况将在2.2节讨论. 图2显示了用于全加器输出进位的操作电压$ V_{\mathrm{CM1}} $ 和$ V_{\mathrm{AS1}} $ 的确认条件可视化图, 洋红色阴影区域表示适用于全加器输出进位$ V_{\mathrm{CM1}} $ 和$ V_{\mathrm{AS1}} $ 的有效范围, 例如, 可选择$ V_{\mathrm{CM1}}= 0.14 $ V和$ V_{\mathrm{AS1}} = 0.52 $ V来进行全加器输出进位操作.同理, 为了实现加法运算的和, 操作电压
$ V_{\mathrm{A2}} $ ,$ V_{\mathrm{B2}} $ ,$ V_{\mathrm{CIN2}} $ ,$ V_{\mathrm{AS2}} $ ,$ V_{\mathrm{CO}} $ 大小设置在$ [0, V_{\mathrm{X}}] $ ($ V_{\mathrm{X}} \lt V_{\mathrm{SET}} $ )范围内. 当给全加器电路施加操作电压时, 输出忆阻器M6根据a, b,$ c_{\mathrm{in}} $ 和$ c_{\mathrm{o}} $ 组合情况进行条件RESET切换. 也就是说, 对于特定的组合情况($ abc_{\mathrm{in}}c_{\mathrm{o}} = 0000 $ , 0111, 1011, 1101), 忆阻器M6两端的电压$ V_{\mathrm{M6}} $ ($ V_{\mathrm{M6}} = V_{\mathrm{WL}} - G = V_{\mathrm{WL}} $ )大于$ |V_{\mathrm{RES}}| $ , 将忆阻器M6从低阻态$ R_{\mathrm{L}} $ 切换到高阻态$ R_{\mathrm{H}} $ ; 而对于其他组合情况, 忆阻器M6两端的电压$ V_{\mathrm{M6}} $ 小于$ |V_{\mathrm{RES}}| $ , 忆阻器M6保持在低阻态$ R_{\mathrm{L}} $ 不变. 根据基尔霍夫定律, 可得到:其中,
$ R_{\mathrm{M6}} $ 是忆阻器M6的阻值. 将$ R_{\mathrm{M4}} $ =$ R_{\mathrm{M6}} $ =$ R_{\mathrm{L}} $ 代入(18)式可得到:根据(19)式和表1全加器真值表中输入、输出情况, 可得到操作电压
$ V_{\mathrm{A2}} $ ,$ V_{\mathrm{B2}} $ ,$ V_{\mathrm{CIN2}} $ ,$ V_{\mathrm{AS2}} $ ,$ V_{\mathrm{CO}} $ 的确认条件, 具体为为了简化操作电压确认条件, 操作电压
$ V_{\mathrm{A2}} $ ,$ V_{\mathrm{B2}} $ ,$ V_{\mathrm{CIN2}} $ 可选取相同大小的电压$ V_{\mathrm{CM2}} $ , 于是,$ V_{\mathrm{WL2}} = V_{\mathrm{WL3}} = V_{\mathrm{WL5}} $ ,$ V_{\mathrm{WL4}} = V_{\mathrm{WL6}} = V_{\mathrm{WL7}} $ , 因而操作电压确认条件可简化为4个:为了避免输入忆阻器M1—M3、辅助忆阻器M4和输出忆阻器M5的阻态被破坏, 在输出忆阻器M6发生RESET切换情况下, 处于低阻态的输入忆阻器M1—M3、输出忆阻器M5以及辅助忆阻器M4两端电压都应小于
$ |V_{\mathrm{RES}}| $ . 于是, 电压$ V_{\mathrm{CM2}} $ 和$ V_{\mathrm{AS2}} $ 增加如下选择约束:根据(28)—(35)式即可确认操作电压
$ V_{\mathrm{CM2}} $ ,$ V_{\mathrm{AS2}} $ 和$ V_{\mathrm{CO}} $ 的大小. 因而, 全加器和的操作电压的确认条件是关于$ V_{\mathrm{CM2}} $ ,$ V_{\mathrm{AS2}} $ 和$ V_{\mathrm{CO}} $ 的不等式, 可通过如图3所示的三维图确定, 如选择$ V_{\mathrm{CM2}} = 0.1 $ V,$ V_{\mathrm{AS2}} = 0.45 $ V和$ V_{\mathrm{CO}} = 0.45 $ V. -
为了验证所提出的忆阻器全加器设计, 在Cadence Virtuoso中进行SPICE (simulation program with integrated circuit emphasis)仿真验证. 本文采用文献[25]中改进的模型对全加器进行仿真实验, 利用MATLAB基于该模型对Cu/CuI/Pt忆阻器
$ I{\text{-}}V $ 特性曲线(由半导体测试系统B1500A测得)进行拟合, 图4(a)所示为拟合结果, 图4(b)列出了具体的拟合参数$ V_{\mathrm{L}} $ ,$ V_{\mathrm{H}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{H}} $ ,$ A_{\mathrm{L}} $ ,$ A_{\mathrm{H}} $ ,$ x_{\mathrm{L}} $ ,$ x_{\mathrm{H}} $ ,$ \alpha_{\mathrm{L}} $ 和$ \alpha_{\mathrm{H}} $ , 其中$ V_{\mathrm{SET}} = V_{\mathrm{L}} $ ,$ V_{\mathrm{RES}} = V_{\mathrm{H}} $ . 基于拟合得到的参数, 构建Verilog-A模型, 用于后续的SPICE电路仿真. 根据2.1节给出的操作步骤和得到的操作电压, 第一步, 给位线BL1, BL2和BL3施加0.14 V电压, 位线BL4施加0.52 V电压, 而位线BL5接地, 位线BL6悬空; 第二步, 给位线BL1, BL2和BL3施加0.1 V电压, 位线BL4和BL5施加0.45 V电压, 而位线BL6接地.图5为1位全加器的所有8种输入情况的仿真结果, 其中浅紫色(530.0 Ω)表示低电阻
$ R_{\mathrm{L}} $ (逻辑1), 深紫色(616.0 kΩ)表示高阻态$ R_{\mathrm{H}} $ (逻辑0). 图5从左往右的每一列依次显示被加数a、加数b、输入进位$ c_{\mathrm{in}} $ 、辅助忆阻器、输出进位$ c_{\mathrm{o}} $ 以及和s对应的阻态, 每一行显示1位全加器的一种输入情况(即$ abc_{\mathrm{in}} $ )及其对应的输出($ c_{\mathrm{o}}s $ ). 从下往上的每一行的输入组合依次为000, 001, 010, 011, 100, 101, 110和111, 根据图5, 得到的对应输出为00, 01, 01, 10, 01, 10, 10和11, 该结果与表1所列的1位全加器真值表一致, 说明所设计的基于忆阻器的全加器电路有效. -
在所提出的全加器中, 结点电压
$ V_{\mathrm{WL}} $ 是实现正确运算的关键, 而该电压受忆阻器电阻窗口($ R_{\mathrm{H}}/ R_{\mathrm{L}} $ )波动的影响. 图6(a)和图6(b)分别展示了计算输出进位$ c_{\mathrm{o}} $ 和本位和s时, 电阻窗口从10增大到10000的过程中结点电压$ V_{\mathrm{WL}} $ 的变化情况. 对于所有输入组合, 结点电压$ V_{\mathrm{WL}} $ 随电阻窗口的波动均较小, 尤其当$ R_{\mathrm{H}}/R_{\mathrm{L}} $ 大于500时, 结点电压$ V_{\mathrm{WL}} $ 趋于稳定. 进一步由图6(a)可知, 当输入$ abc_{\mathrm{in}} $ 为000, 001, 010, 100时, 结点电压$ V_{\mathrm{WL1, 2, 3, 5}} $ 始终大于RESET电压绝对值$ |V_{\mathrm{RES}}| $ , 对应输出进位$ c_{\mathrm{o}}= 0 $ ; 其余输入组合下结点电压$ V_{\mathrm{WL4, 6, 7, 8}} $ 始终小于$ |V_{\mathrm{RES}}| $ , 对应$ c_{\mathrm{o}}= 1 $ . 类似地, 图6(b)表明, 当输入$ abc_{\mathrm{in}} $ 为000, 011, 101, 110时, 结点电压$ V_{\mathrm{WL1, 4, 6, 7}} $ 始终大于$ |V_{\mathrm{RES}}| $ , 本位和$ s = 0 $ ; 其余输入组合下结点电压$ V_{\mathrm{WL2, 3, 5, 8}} $ 始终小于$ |V_{\mathrm{RES}}| $ , 对应$ s = 1 $ . 由此可见, 在$ R_{\mathrm{H}}/R_{\mathrm{L}} $ 从10到10000的范围内, 结点电压$ V_{\mathrm{WL}} $ 与参考电压$ |V_{\mathrm{RES}}| $ 的相对关系始终保持不变, 全加器计算正确, 该设计对忆阻器阻态波动具有优异的鲁棒性. -
本文设计的基于忆阻器交叉阵列的1位全加器突破了传统逻辑门组合设计思路, 其性能优势通过与现有基于忆阻器的全加器设计[23–27]的对比得到充分验证, 如图7所示. 操作步骤方面, 本文设计的全加器仅需2步即可完成运算, 相较于文献[23](6步)、文献[24](4步)、文献[25](7步)、文献[27]串行架构(13步)、文献[27]半串行架构(15步)及文献[26](6步), 操作步骤显著减少, 步骤效率分别提升200%, 100%, 250%, 550%, 650%, 200%. 器件开销方面, 本文设计的全加器仅需6个忆阻器即可实现运算功能, 无需额外辅助电阻器件, 而文献[23,24]的设计除忆阻器外, 还需额外搭配无源电阻, 增加了硬件面积开销; 文献[25–27]虽仅采用忆阻器, 但器件数量均多于本文方案, 其中文献[25]需9个忆阻器、文献[27]串行架构需15个忆阻器、文献[27]半串行架构需21个忆阻器、文献[26]需8个忆阻器. 综上, 本文设计的1位全加器在操作步骤与器件开销两方面均具备显著优势, 有效解决了传统方案延迟高、面积开销大的缺陷, 实现了低开销、高效率的原位加法运算, 充分验证了所提的全加器在存内算术运算中的优势.
-
传统加密需要频繁在内存与加密运算单元之间搬运图像、大数据等海量数据, 传输功耗占比极高. 硬件存算加密原位存储、原位运算, 减少数据搬移, 大幅降低传输功耗与延迟, 能效远高于传统CPU(central processing unit)/GPU(graphics processing unit) 软件加密, 适配图像加密、边缘终端、物联网轻量化场景. 利用第2节设计的1位全加器操作方法, 基于忆阻器(one-memristor, 1M)交叉阵列可构建新型存内加解密电路, 充分发挥阵列的并行计算优势, 提升加解密速度. 但多行多列1M交叉阵列存在潜通路问题, 一晶体管一忆阻器(one-transistor-one-memristor, 1T1M)结构可有效解决该问题. 图8(a)所示的1T1M交叉阵列由晶体管和忆阻器构建, 每个交叉点包含一个NMOS(N-metal-oxide-semiconductor)晶体管和一个忆阻器, 同一列忆阻器的顶电极连接到位线(bit line, BL), 同一列晶体管的栅极连接到栅线(gate line, GL), 同一行晶体管的源极连接到字线(WL). 所提1位全加器设计仍适用于1T1M结构, 其计算实现方式为: 向选定GLs施加电压
$ V_{\mathrm{G}} $ 以导通对应晶体管(等效闭合开关), 未选择GLs接地则对应晶体管不导通(等效断开开关); 同时向选定BLs施加操作电压, 未选择BLs与选定WLs悬空, 并向未选择WLs施加电压$ V_{\mathrm{ISO}} $ 以隔离未选择行.存内加解密单元(encryption-decryption unit, EDU)由一位全加器构成(如图8(a)所示), 其中A, B, C, S分别对应全加器的被加数a、加数b、输入进位
$ c_{\mathrm{in}} $ 及和s, 单个加解密电路包含$ m\times n $ 个EDU单元. 为实现图像加解密, 电路中A, B, C分别表示原始/加密图像、密钥1、密钥2, S则输出加密/解密图像, 其核心原理为: 原始图像对应的二值矩阵(1对应忆阻器低阻态、0对应高阻态)与随机生成的密钥1、密钥2矩阵相加得到加密图像, 加密图像与两密钥矩阵再次相加即可完成解密. 提出两种加解密方式: 第一种为半并行式, 如图8(b)所示, 由$ m\times n $ 个EDU构成加解密交叉阵列, 每次仅用一列EDU并行处理图像某一列所有像素, 逐列依次完成加密(解密), 处理$ m\times n $ 二值图像需$ 2 n $ 步操作; 第二种为全并行式, 如图8(c)所示, 通过开关断开交叉阵列各列, 使不同列EDU可同时处理图像所有列像素, 仅需2步即可完成全部加密(解密)操作. -
为验证方案有效性, 选用256 × 256图像(见图9)开展实验. 首先通过MATLAB的rgb2gray函数灰度化、imbinarize函数二值化, 得到对应二进制矩阵; 随后创建两个与该矩阵尺寸一致的随机密钥矩阵; 采用图8(c)所示的全并行方式对三个矩阵进行加法运算, 得到加密矩阵以完成加密; 最终将加密矩阵与两密钥矩阵相加, 得到解密图像, 如图10所示. 对比加解密前后图像可知, 该基于全加器的存内加解密电路可成功实现图像加解密. 硬件存内加密突破了传统软件加密的性能瓶颈, 从物理底层构建了信息安全防护体系, 在图像加密、边缘物联网、隐私计算等领域具有重要理论研究与工程应用价值, 是后摩尔时代信息安全硬件化的重要发展方向.
-
利用1位全加器可实现n位行波进位加法器, 须在1T1M交叉阵列内执行复制(COPY)逻辑运算, 以将一个忆阻器的阻态复制到另一个忆阻器. 图11所示为基于1T1M阵列的COPY逻辑电路图, 包含三个1T1M单元, 其中橘色、蓝色、紫色忆阻器分别为输入、输出及辅助忆阻器. 其实现方法为: 向参与逻辑运算忆阻器所在列的GL施加电压
$ V_{\mathrm{G}} $ , 向输入、输出、辅助忆阻器所在行的WL分别施加电压$ 0.8 V_{\mathrm{CP}} $ ,$ V_{\mathrm{CP}} $ ,$ 0.1 V_{\mathrm{CP}} $ (满足$ 2 |V_{\mathrm{RES}}| \lt V_{\mathrm{CP}} \lt V_{\mathrm{SET}} $ ), 未选择的GLs接地, 所有BLs与未选择WLs悬空, 如图11所示, 即可将忆阻器M15中存储的数据$ c_{\mathrm{2}} $ 复制到忆阻器M25中.图12所示为基于1T1M交叉阵列的n位行波进位加法器, 被加数
$ a_i $ 和加数$ b_i $ ($ i = 1, 2, 3, \cdots, n $ )分别存储于1T1M交叉阵列第一列和第二列忆阻器中, 最低位输入进位$ c_1 $ 存储于忆阻器M13中. 计算前, 假设所有输入已预存于对应忆阻器中, 阵列中其余忆阻器均设为低阻态. 由于第i位输出进位$ c_{i+1} $ 与第$ i-1 $ 位输出进位$ c_i $ 相关, 需串行计算每一位输出进位, 即先计算第$ i-1 $ 位输出进位$ c_i $ , 再将$ c_i $ 复制到同列第i行忆阻器, 重复该串行计算与COPY操作, 直至得到所有输出进位; 随后, 分别并行计算奇数位和$ s_i $ ($ i = 1, 3, 5, \cdots $ )与偶数位和$ s_i $ ($ i = 2, 4, 6, \cdots $ ). 该n位行波进位加法器的完整操作过程如表2所述, 共需$ 2 n+1 $ 个操作步骤. -
以4位行波进位加法器为例, 根据表2, 实现4位加法器需要9步, 图13给出了操作示意图, 其中一个圆圈表示一个1T1M单元, 蓝色、绿色、紫色和灰色圆圈分别表示输入、输出、辅助和未选择单元. 图14所示为4位行波进位加法器的SPICE仿真结果, 为清晰展示时序变化与忆阻器阻态特性, 仿真单步操作时长设为1 s, 该时间并非忆阻器实际响应时间. 图14(a)所示为4位行波进位加法器的输入, 其中表示
$ a_4 $ ,$ a_3 $ ,$ a_2 $ ,$ a_1 $ ,$ b_4 $ ,$ b_3 $ ,$ b_2 $ ,$ b_1 $ 和$ c_1 $ 的忆阻器电阻状态分别为$ R_{\mathrm{L}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{H}} $ ,$ R_{\mathrm{H}} $ ,$ R_{\mathrm{H}} $ ,$ R_{\mathrm{L}} $ 和$ R_{\mathrm{H}} $ , 意味着被加数、加数和最低位输入进位分别为1111, 0001和0. 从图14(a)可知, 在逻辑操作期间, 表示输入的忆阻器电阻状态一直保持不变. 图14(b)所示为4位行波进位加法器的输出, 表示$ c_5 $ ,$ c_4 $ ,$ c_3 $ ,$ c_2 $ ,$ s_4 $ ,$ s_3 $ ,$ s_2 $ 和$ s_1 $ 的忆阻器电阻状态分别为$ R_{\mathrm{L}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{L}} $ ,$ R_{\mathrm{H}} $ ,$ R_{\mathrm{H}} $ ,$ R_{\mathrm{H}} $ 和$ R_{\mathrm{H}} $ , 得到输出进位1111及和0000, 这与1111, 0001和0相加的理论结果一致, 验证了所提出的n位行波进位加法器在1T1M阵列中的可行性. -
为客观评价本文所设计行波进位加法器的综合性能, 采用文献[28]提出的品质因数(
$ {\mathrm{FoM}} $ )作为评价指标, 该指标综合考量操作步骤数量($ N_{\mathrm{S}} $ )与所需忆阻器数量($ N_{\mathrm{M}} $ )两个核心性能参数, 其中,$ {\mathrm{FoM}}_{\mathrm{B}} $ 为$ N_{\mathrm{S}} $ 与$ N_{\mathrm{M}} $ 同等权重下的品质因数, 其计算方式如(36)式所示;$ {\mathrm{FoM}}_{\mathrm{S}} $ 则侧重于对加法器操作步骤数的全面评估, 计算方式如(37)式所示.为清晰展示本文加法器的性能改进效果, 图15给出了本文设计与现有方案[22,25–27,29]中64位行波进位加法器的综合性能对比, 其中
${\mathrm{ IMP}}_{\mathrm{B}} $ 表示本文${\mathrm{ FoM}}_{\mathrm{B}} $ 与现有对应设计${\mathrm{ FoM}}_{\mathrm{B}} $ 的比值(即性能改进幅度),$ {\mathrm{IMP}}_{\mathrm{S}} $ 表示本文$ {\mathrm{FoM}}_{\mathrm{S}} $ 与现有对应设计$ {\mathrm{FoM}}_{\mathrm{S}} $ 的比值. 由图15可知, 无论基于$ {\mathrm{FoM}}_{\mathrm{B}} $ 还是$ {\mathrm{FoM}}_{\mathrm{S}} $ 指标, 本文设计均优于现有设计方案[22,25–27,29]. 在${\mathrm{ FoM}}_{\mathrm{B}} $ 指标下, 性能改进幅度范围为$ 1.37\times — 12.18\times $ ; 在$ {\mathrm{FoM}}_{\mathrm{S}} $ 指标下, 性能改进幅度范围为$ 1.80\times — 41.98\times $ . 这表明, 无论在操作步骤数与忆阻器数同等重要的场景, 还是侧重操作步骤数优化的场景, 本文所设计的行波进位加法器均具备显著的综合性能优势. -
本文提出了一种基于忆阻器交叉阵列的存内加法器设计方案, 完成了存内加解密电路及n位行波进位加法器的设计与验证. 与现有方案对比表明, 所设计的1位全加器仅需6个忆阻器和2步操作, 在器件开销与运算效率方面均具有显著优势; 基于该全加器构建的存内加解密电路实现了存储、运算与加解密功能的一体化融合, 能够适配安全敏感应用场景; 设计的n位行波进位加法器经品质因数评估, 在
$ {\mathrm{FoM}}_{\mathrm{B}} $ 与$ {\mathrm{FoM}}_{\mathrm{S}} $ 指标下, 性能改进幅度分别达到$ 1.37\times — 12.18\times $ 和$ 1.80\times — 41.98\times $ , 综合性能优于现有设计. 研究结果表明, 本文设计方案有效突破了传统忆阻器加法器的性能瓶颈, 兼顾了运算效率和硬件开销, 为忆阻器交叉阵列在存算一体中的应用奠定了理论基础并提供了技术参考.
基于忆阻器交叉阵列的低开销存内加法器及加解密电路设计
Design of a low-overhead in-memory adder and encryption-decryption circuit based on memristor crossbar array
-
摘要: 针对传统冯·诺依曼架构存算分离导致的存储墙瓶颈, 以及现有忆阻器全加器方案存在器件开销大、运算步骤多、硬件复杂度高等问题, 本文基于忆阻器交叉阵列开展新型存内加法器设计. 首先, 提出一种低开销、少步骤的1位全加器, 仅需6个忆阻器和2步操作即可完成求和与进位输出, 在器件数量与运算效率上优于现有方案. 其次, 基于该全加器构建存内加解密电路, 实现存储、运算与加解密功能的一体化融合, 可满足安全敏感应用场景的需求. 进一步, 通过全加器设计n位行波进位加法器, 经品质因数(figure of merit, FoM)评估, 在${\mathrm{FoM}}_{\mathrm{B}}$(步骤数和器件数同等权重)和${\mathrm{FoM}}_{\mathrm{S}}$(侧重步骤数)指标下性能改进分别达到$1.37\times — 12.18\times$和$1.80\times— 41.98\times$. 本文设计为基于忆阻器的存算一体加法电路的高效实现提供了可行方案.Abstract:
The adder is a core arithmetic component in modern microprocessors, cryptographic circuits, and other systems. Most existing memristor-based full adders adopt the cascaded discrete basic logic gate approach, which leads to large device overhead and long operation steps, making it difficult to meet the requirements of high-speed data processing and real-time encryption. To address these issues, this paper first designs a low-overhead full adder circuit based on the memristor array, which consists of input memristors, output memristors, and an auxiliary memristor. The entire computation is performed within the memristors, using the high-resistance state and low-resistance state to represent logic 0 and logic 1, respectively. Based on Ohm’s law, Kirchhoff’s law, and the full adder truth table, a detailed derivation of the circuit is carried out, and the operating voltages are determined. During computation, specific operating voltages are applied to the bit lines of involved memristors, triggering conditional resistance switching of the output memristor determined by inputs. The proposed full adder requires only six memristors and two operation steps to produce the sum and carry, outperforming existing schemes in both device count and operation efficiency. Based on the above one-bit full adder, this paper further adopts a one-transistor-one-memristor (1T1M) array to construct an in-memory encryption-decryption circuit. The circuit uses a single-bit full adder as the basic unit to form an encryption-decryption unit (EDU), and an $m\times n$ array of EDUs is integrated to form the encryption-decryption array. For image encryption and decryption applications, two operating modes are developed: 1) Semi-parallel mode: a single column of EDUs is activated at a time to process all pixels in one column of the image in parallel, completing encryption or decryption column by column. Processing an $m\times n$ binary image requires only $2n$ operation steps. 2) Fully parallel mode: by disconnecting the columns of the array through switches, all columns of EDUs can simultaneously process all columns of pixels, completing the encryption or decryption of the entire image in only 2 steps. Verification using $256\times 256$ binary images shows, by comparing the images before and after encryption and decryption, that the proposed encryption-decryption circuit can correctly perform image encryption and decryption. Finally, this paper proposes a COPY logic operation based on the 1T1M crossbar array, which can copy the resistance state of one memristor to another. By integrating the proposed full adder and COPY gate, an n-bit ripple-carry adder is designed. Specifically, the output carry $c_i$ of the ($i-1$)-th bit is calculated serially and copied to the memristor at the i-th row of the same column via COPY operation. This serial computation and copying process is iterated until all carries $c_{i+1}$ ($i = 1, 2, 3,\cdots$) are generated. Subsequently, the odd-indexed sums $s_i$ ($i = 1, 3, 5,\cdots$) and the even-indexed sums $s_i$ ($i = 2, 4, 6,\cdots$) are computed in parallel, respectively. The complete operation of this n-bit ripple-carry adder requires only $2n+1$ operation steps. Compared with existing works, the proposed design achieves improvements of 1.37× to 12.18× in ${\rm FoM}_{\mathrm{B}}$ (equally weighted by step and device count) and 1.80× to 41.98× in ${\rm FoM}_{\mathrm{S}}$ (weighted toward step count), exhibiting distinctly superior overall performance. -
Key words:
- memristor /
- in-memory computing /
- full adder /
- encryption-decryption circuit .
-
-
图 14 基于忆阻器阵列的4位行波进位加法器的SPICE仿真结果 (a) 被加数
$ a_4 a_3 a_2 a_1 $ (1111)、加数$ b_4 b_3 b_2 b_1 $ (0001)及最低位输入进位$ c_1 $ (0); (b) 输出进位$ c_5 c_4 c_3 c_2 $ (1111)及和$ s_4 s_3 s_2 s_1 $ (0000)Figure 14. SPICE simulation results of a 4-bit ripple carry adder based on a memristor array: (a) Augend
$ a_4 a_3 a_2 a_1 $ (1111), addend$ b_4 b_3 b_2 b_1 $ (0001), and least significant bit input carry$ c_1 $ (0); (b) output carries$ c_5 c_4 c_3 c_2 $ (1111) and sum$ s_4 s_3 s_2 s_1 $ (0000).表 1 1位全加器真值表
Table 1. One-bit full adder truth table.
输入 输出 a b $ c_{\mathrm{in}} $ $ c_{\mathrm{o}} $ s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 表 2 基于1T1M交叉阵列实现n位行波进位加法器的操作算法
Table 2. Operation algorithm for n-bit ripple carry adder implemented on a 1T1M crossbar array.
输入: 被加数 $ a_i (i = 1, 2, 3, …, n) $ 存储在BL1的$ \mathrm{M}_{i1} $ 中, 加数$ b_i $ 存储在BL2的$ \mathrm{M}_{i2} $ 中, 输入进位$ c_1 $ 存储在M13; 输出: 第i位的输入进位$ c_{i} $ 、输出进位$ c_{i+1} $ 存储在BL3的$ \mathrm{M}_{i3} $ 或者BL5的$ \mathrm{M}_{i5} $ 中; 和$ s_i $ 存储在BL6的$ \mathrm{M}_{i6} $ 中.Begin $ i = 1 $ ;//串行计算 for每个输入 $ a_i $ ,$ b_i $ ,$ c_{i} $ doif i为奇数then 对 $ \mathrm{M}_{i1} $ ,$ \mathrm{M}_{i2} $ ,$ \mathrm{M}_{i3} $ ,$ \mathrm{M}_{i4} $ ,$ \mathrm{M}_{i5} $ 进行输出进位操作, 同时得到的输出进位结果$ c_{i+1} $ 存储在$ \mathrm{M}_{i5} $ 中;if ( $ i< n $ ) then对 $ \mathrm{M}_{i5} $ ,$ \mathrm{M}_{(i+1)5} $ ,$ \mathrm{M}_{(n+1)5} $ 进行COPY逻辑运算, 同时运算结果$ c_{i+1} $ 存储在$ \mathrm{M}_{(i+1)5} $ ;end if else 对 $ \mathrm{M}_{i1} $ ,$ \mathrm{M}_{i2} $ ,$ \mathrm{M}_{i3} $ ,$ \mathrm{M}_{i4} $ ,$ \mathrm{M}_{i5} $ 进行输出进位操作, 同时得到的输出进位结果$ c_{i+1} $ 存储$ \mathrm{M}_{i3} $ 中;if ( $ i< n $ ) then对 $ \mathrm{M}_{i3} $ ,$ \mathrm{M}_{(i+1)3} $ ,$ \mathrm{M}_{(n+1)3} $ 进行COPY逻辑运算, 同时运算结果$ c_{i+1} $ 存储在$ \mathrm{M}_{(i+1)3} $ ;end if end if $ i = i + 1 $ ;end for //并行计算 for奇数位的操作数 $ a_i $ ,$ b_i $ ,$ c_{i} $ ,$ c_{i+1} $ do对阵列的BL1, BL2, BL3, BL4, BL5和BL6并行进行奇数位的和操作, 得到所有奇数位的 $ s_i $ , 同时$ s_i $ 存储在BL6的$ \mathrm{M}_{i6} $ 中;end for for偶数位的操作数 $ a_i $ ,$ b_i $ ,$ c_{i} $ ,$ c_{i+1} $ do对阵列的BL1, BL2, BL3, BL4, BL5和BL6并行进行偶数位的和操作, 得到所有偶数位的 $ s_i $ , 同时$ s_i $ 存储在BL6的$ \mathrm{M}_{i6} $ 中;end for return $ c_{i+1} $ 和$ s_i $ ;end -
[1] He Y, Ma C, Jia Z, Su Y, Tang J 2026 Nat. Rev. Electr. Eng. 3 139 doi: 10.1038/s44287-025-00250-x [2] Yan A, Yan J, Shen P, et al. 2026 Nature 649 1165 doi: 10.1038/s41586-025-09931-x [3] Mannocci P, Zucchelli C, Andreoli I, Pezzoli A, Melacarne E, Pedretti G, Sancandi F, Villa C, Sun Z, Spagnolini U 2026 Nature Electronics 9 200 doi: 10.1038/s41928-025-01549-1 [4] 赵亮, 高世凡, 张圣波, 邱翔, 杨帆, 李杰, 陈泽志, 赵毅 2022 中国科学: 信息科学 52 176 doi: 10.1360/SSI-2021-0157 Zhao L, Gao S F, Zhang S B, Qiu X, Yang F, Li J, Chen Z Z, Zhao Y 2022 Sci. China Inf. Sci. 52 176 doi: 10.1360/SSI-2021-0157 [5] Ortner T, Petschenig H, Vasilopoulos A, Renner R, Brglez Š, Limbacher T, Piñero E, Linares-Barranco A, Pantazi A, Legenstein R 2025 Nat. Commun. 16 1243 doi: 10.1038/s41467-025-56345-4 [6] Ansari M H R, El-Atab N 2024 IEEE Trans. Electron Devices 71 1879 doi: 10.1109/TED.2024.3353703 [7] Ji X, Dong Z, Han Y, Lai C S, Qi D 2023 IEEE Trans. Circuits Syst. Video Technol. 33 7928 doi: 10.1109/TCSVT.2023.3275708 [8] 郑好, 刘慧雯, 方语萱, 范冬宇, 韩玉辉, 侯春源, 刘威, 夏志良, 霍宗亮 2025 物理学报 74 248502 doi: 10.7498/aps.74.20250891 Zheng H, Liu H W, Fang Y X, Fan D Y, Han Y H, Hou C Y, Liu W, Xia Z L, Huo Z L 2025 Acta Phys. Sin. 74 248502 doi: 10.7498/aps.74.20250891 [9] Kim S, Shin D H, Choi W, et al. 2026 Adv. Mater.38 e10635 doi: 10.1002/adma.202510635 [10] Lanza M, Pazos S, Aguirre F, et al. 2025 Nature 640 613 doi: 10.1038/s41586-025-08733-5 [11] Wang Z, Song W, Wang T, et al. 2025 Sci. Adv. 11 eadv3436 doi: 10.1126/sciadv.adv3436 [12] Gao S, Ding S, Ho-Ching Iu H, Erkan U, Toktas A, Simsek C, Wu R, Xu X, Cao Y, Mou J 2025 Chaos 35 073105 doi: 10.1063/5.0270220 [13] 朱媛媛, 杨梓怡, 杨淑宁, 张云飞, 张苗, 王鑫, 王红军, 徐静 2025 物理学报 74 217301 doi: 10.7498/aps.74.20250971 Zhu Y Y, Yang Z Y, Yang S N, Zhang Y F, Zhang M, Wang X, Wang H J, Xu J 2025 Acta Phys. Sin. 74 217301 doi: 10.7498/aps.74.20250971 [14] You J, Hu Y, Yang D, Lin Y, Meng W, Xu N, Sun L 2025 Adv. Electron. Mater. 11 2500221 doi: 10.1002/aelm.202500221 [15] Gao K, Sun B, Cao Z, Duan X, Yan W, Tong G, Zhou G, Chen X, Shao J 2024 Advanced Functional Materials 34 2401132 doi: 10.1002/adfm.202401132 [16] Tun T T T, Mitra S, Su H, Huo J, Zheng H, Bosman M, Ang Y S, Ang K W 2026 Adv. Funct. Mater. 36 e28751 doi: 10.1002/adfm.202528751 [17] Wind L, Maierhofer M, Fuchsberger A, Sistani M, Weber W M 2024 IEEE Electron Device Lett. 45 724 doi: 10.1109/LED.2024.3368110 [18] Seiler F, TaheriNejad N 2024 IEEE Trans. Circuits Syst. Regul. Pap. 71 5141 doi: 10.1109/TCSI.2024.3426926 [19] Yao L, Wu J, Liu P, Lam S K 2026 IEEE Trans. Circuits Syst. Regul. Pap. 73 411 doi: 10.1109/TCSI.2025.3586726 [20] Fu X, Li Q, Wang W, Xu H, Wang Y, Wang W, Yu H, Li Z 2022 IEEE Trans. Circuits Syst. Express Briefs 69 3889 doi: 10.1109/TCSII.2022.3174219 [21] Wang X Y, Dong C T, Huang J T, Li H, Iu H H C, Kang S M 2026 Int. J. Circuit Theory Appl. DOI: 10.1002/cta.70385 [22] Song Y, Wang X, Wu Q, Yang F, Wang C, Wang M, Miao X 2022 Adv. Sci. 9 2200036 doi: 10.1002/advs.202200036 [23] de Dias C S, de Lima H S, Brum R M, Butzen P F 2025 IEEE Trans. Circuits Syst. Regul. Pap. 72 4686 doi: 10.1109/TCSI.2024.3515011 [24] Gan Z, Zhang C, Yang F, Zhang D, Ma Y, Huang M, Miao X, Wang X 2025 IEEE Trans. Electron Devices 72 1118 doi: 10.1109/TED.2025.3532581 [25] Luo L, Li B, Wang L, Tan J, Duan S, Zhu C 2024 IEEE Trans. Very Large Scale Integr. VLSI Syst. 32 835 doi: 10.1109/TVLSI.2024.3370176 [26] Park J, Lee J, Youn S, Kim H 2026 Adv. Intell. Syst. 8 e202501001 doi: 10.1002/aisy.202501001 [27] Senthil S J, Srinivasu B 2025 38th International Conference on VLSI Design and 2024 23rd International Conference on Embedded Systems (VLSID) (IEEE), Bangalore, India, January 4–8, 2025 p534 [28] Radakovits D, TaheriNejad N, Cai M, Delaroche T, Mirabbasi S 2020 IEEE Trans. Circuits Syst.Regul. Pap. 67 1495 doi: 10.1109/TCSI.2020.2965935 [29] Cheng L, Li Y, Yin K S, Hu S Y, Su Y T, Jin M M, Wang Z R, Chang T C, Miao X S 2019 Adv. Funct. Mater. 29 1905660 doi: 10.1002/adfm.201905660 -
首页
登录
注册


下载: