国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于互補(bǔ)電阻開(kāi)關(guān)的憶阻乘法器設(shè)計(jì)

2023-01-27 08:28李志剛陳輝劉鵬武繼剛
計(jì)算機(jī)工程 2023年1期
關(guān)鍵詞:乘法器阻器阻值

李志剛,陳輝,劉鵬,武繼剛

(廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510006)

0 概述

傳統(tǒng)的馮諾依曼體系結(jié)構(gòu)分別在存儲(chǔ)器和中央處理單元進(jìn)行數(shù)據(jù)存儲(chǔ)和計(jì)算。因此,物理上分離的存儲(chǔ)器與中央處理單元之間需要進(jìn)行頻繁的數(shù)據(jù)通信,導(dǎo)致性能開(kāi)銷(xiāo)和能耗增加。為提高計(jì)算機(jī)性能,研究人員探索利用新型非易失性納米器件構(gòu)建“非馮諾依曼”架構(gòu)的新領(lǐng)域[1-2]。憶阻器具有存算一體、尺寸小、低功耗等多種特性[3],成為“非馮諾依曼”架構(gòu)的關(guān)鍵器件[4]。近年來(lái),基于憶阻器的數(shù)字邏輯電路設(shè)計(jì)被廣泛應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)以及通信電路設(shè)計(jì)等領(lǐng)域。但關(guān)于憶阻乘法器的研究多數(shù)通過(guò)傳統(tǒng)的部分乘積算法來(lái)實(shí)現(xiàn),存在串行化進(jìn)位比特問(wèn)題,導(dǎo)致延時(shí)和面積開(kāi)銷(xiāo)增大。

為解決該問(wèn)題,本文提出一種弱進(jìn)位依賴(lài)的憶阻乘法器,通過(guò)對(duì)乘法運(yùn)算中的進(jìn)位比特進(jìn)行拆解,減弱計(jì)算過(guò)程中的進(jìn)位依賴(lài),使得加法操作并行化,最終實(shí)現(xiàn)在線性時(shí)間內(nèi)的憶阻乘法器。利用互補(bǔ)電阻開(kāi)關(guān)(Complementary Resistive Switch,CRS)的讀出操作破壞所存儲(chǔ)邏輯狀態(tài)的特性,設(shè)計(jì)一種基于憶阻器的部分乘積運(yùn)算方式,為實(shí)現(xiàn)憶阻乘法器奠定基礎(chǔ)。通過(guò)對(duì)傳統(tǒng)的TC 加法器和PC 加法器進(jìn)行優(yōu)化,減少加法運(yùn)算的延時(shí)和面積開(kāi)銷(xiāo)。提出一種基于互補(bǔ)電阻開(kāi)關(guān)的可并行實(shí)現(xiàn)的乘法運(yùn)算方案,并將其映射到混合CMOS/crossbar 陣列結(jié)構(gòu)之中,優(yōu)化憶阻乘法器的延時(shí)和面積開(kāi)銷(xiāo)。

1 相關(guān)工作

憶阻器被廣泛應(yīng)用在數(shù)字邏輯設(shè)計(jì)領(lǐng)域中。趙毅等基于互補(bǔ)電阻開(kāi)關(guān)提出一種可重構(gòu)的憶阻器邏輯設(shè)計(jì)方法,實(shí)現(xiàn)了與、或、非蘊(yùn)含以及異或四種基本邏輯門(mén),并設(shè)計(jì)2-1 和4-1 多路復(fù)用器電路[5]。2-1 多路復(fù)用器需要3個(gè)憶阻器通過(guò)2個(gè)步驟實(shí)現(xiàn)。4-1多路復(fù)用器需要6個(gè)憶阻器通過(guò)5個(gè)步驟實(shí)現(xiàn)。李志剛等[6]在擇多-非-圖的基礎(chǔ)上,利用憶阻器設(shè)計(jì)延時(shí)優(yōu)化和面積優(yōu)化加法器。延時(shí)優(yōu)化的一位加法器需要4 個(gè)憶阻器通過(guò)4 個(gè)步驟實(shí)現(xiàn)。面積優(yōu)化的一位加法器需要3 個(gè)憶阻器通過(guò)5 個(gè)步驟實(shí)現(xiàn)。SIEMON 等[7]從不同的優(yōu)化角度,利用互補(bǔ)電阻開(kāi)關(guān)設(shè)計(jì)TC 加法器和PC 加法器。針對(duì)面積開(kāi)銷(xiāo)性能,N位TC 加法器利用N+2 個(gè)存儲(chǔ)單元通過(guò)4N+5 個(gè)步驟實(shí)現(xiàn)。針對(duì)延時(shí)開(kāi)銷(xiāo)性能,N位PC 加法器利用2(N+1)個(gè)存儲(chǔ)單元并通過(guò)2(N+1)+2 個(gè)步驟實(shí)現(xiàn)。

在傳統(tǒng)的二進(jìn)制乘法器中,乘法運(yùn)算可分為部分乘積計(jì)算、部分乘積位移以及部分乘積累加共3 個(gè)步驟[8]。HAJ-ALI 等根據(jù)不同的 功能將憶阻交叉陣列中的一行存儲(chǔ)單元?jiǎng)澐譃槎鄠€(gè)區(qū)域,并利用TALATI 等[9]提出的加法器實(shí)現(xiàn)乘法運(yùn)算[8]。該乘法器可以在一行或一列中進(jìn)行并行運(yùn)算。而乘法運(yùn)算的方式仍然采用部分乘積算法,導(dǎo)致單次乘法運(yùn)算的延時(shí)增長(zhǎng)。IMANI 等[10]提出一種快速加法器和近似計(jì)算存內(nèi)架構(gòu),該架構(gòu)利用所提的快速加法器,以降低一定的精度為前提來(lái)加快乘法器的運(yùn)算速度。TAHERINEJAD 等[11]提出的半串行加法器結(jié)構(gòu)。RADAKOVITS 等[12]利用文獻(xiàn)[11]所提的半串行加法器結(jié)構(gòu)進(jìn)行半串行乘法的運(yùn)算。對(duì)于N位乘法運(yùn)算,該乘法器將2N-1 比特的半串行加法器電路構(gòu)建「n/2次。在半串行加法器之間并行計(jì)算兩個(gè)部分乘積,并進(jìn)行「lbn次并行加法以實(shí)現(xiàn)乘法運(yùn)算。ALAM 等設(shè)計(jì)的乘法器依賴(lài)于確定性隨機(jī)計(jì)算算法。該算法將乘數(shù)和被乘數(shù)轉(zhuǎn)換成特定的二進(jìn)制比特流,并利用時(shí)鐘分頻技術(shù)對(duì)二進(jìn)制比特流進(jìn)行邏輯與運(yùn)算來(lái)完成乘法操作[13]。該算法利用3×22n個(gè)存儲(chǔ)單元通過(guò)3 個(gè)步驟來(lái)實(shí)現(xiàn)。WANG 等在擇多-非-圖的基礎(chǔ)上設(shè)計(jì)一種利用3 個(gè)憶阻器通過(guò)4 個(gè)步驟實(shí)現(xiàn)的全加器,在此基礎(chǔ)上,進(jìn)一步利用Wallace樹(shù)實(shí)現(xiàn)一種4 bit 乘法器。該乘法器需要51 個(gè)憶阻器并通過(guò)64 個(gè)步驟完成運(yùn)算[14]。GUCKERT 等在實(shí)質(zhì)蘊(yùn)涵操作[15]和MAD(Memristors-as-Drivers)邏輯門(mén)[16]基礎(chǔ)上,采用憶阻器和傳統(tǒng)CMOS 管相結(jié)合的方式分別實(shí)現(xiàn)了兩種憶阻乘法器[17],并與傳統(tǒng)的CMOS 乘法器相比,兩種憶阻乘法器在延時(shí)和面積開(kāi)銷(xiāo)方面均有所優(yōu)化。HAI 等[18]將數(shù)字量與模擬量相混合,設(shè)計(jì)一種用于支持矩陣乘法操作的浮點(diǎn)乘法器,以加快卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。

上述所實(shí)現(xiàn)的乘法操作大多是在加法器的基礎(chǔ)上采用傳統(tǒng)的部分乘積算法實(shí)現(xiàn)。而在傳統(tǒng)的部分乘積算法中,乘法運(yùn)算過(guò)程中的多個(gè)進(jìn)位比特處于不同的時(shí)鐘周期,并且在同一時(shí)鐘周期僅利用一位進(jìn)位比特。因此,現(xiàn)有的憶阻乘法器存在串行化加法操作,導(dǎo)致延時(shí)和面積開(kāi)銷(xiāo)增大。

2 憶阻器與互補(bǔ)電阻開(kāi)關(guān)

憶阻器是具有可變電阻的雙端無(wú)源器件。憶阻器的電阻值取決于兩端施加的電壓。憶阻器與互補(bǔ)電阻開(kāi)關(guān)的電路結(jié)構(gòu)及伏安特性曲線如圖1 所示。憶阻器的器件符號(hào)和伏安特性曲線如圖1(a)所示。在憶阻器兩端施加正電壓Vreset時(shí),憶阻器的阻值狀態(tài)會(huì)切換為高電阻狀態(tài)(High Resistance State,HRS),此時(shí)對(duì)應(yīng)的電阻值為Roff,表示的邏輯狀態(tài)為邏輯0。在憶阻器兩端施加負(fù)電壓Vset時(shí),憶阻器的阻值狀態(tài)會(huì)切換為低電阻狀態(tài)(Low Resistance State,LRS),對(duì)應(yīng)電阻值為Ron,表示的邏輯狀態(tài)為邏輯1[19]。憶阻器具有尺寸小、運(yùn)算速度快、非易失性等特點(diǎn),一般采用交叉陣列的形式構(gòu)建。但無(wú)源憶阻交叉陣列存在漏電流問(wèn)題,導(dǎo)致數(shù)據(jù)讀取錯(cuò)誤[9]。

圖1 憶阻器與互補(bǔ)電阻開(kāi)關(guān)的電路結(jié)構(gòu)及伏安特性曲線Fig.1 Circuit structure and volt ampere characteristic curves of memristor and complementary resistive switch

為解決無(wú)源憶阻交叉陣列中漏電流的問(wèn)題,LINN 等提出CRS 結(jié)構(gòu)[20]。CRS 的電路結(jié)構(gòu)和伏安特性曲線如圖1(b)所示。憶阻器M1和憶阻器M2的阻值狀態(tài)組合表示CRS 的邏輯狀態(tài)。LRS/HRS 阻值狀態(tài)和施加在CRS 兩端的高電壓Vth1=max{2|Vset|,2Vreset}表示邏輯狀態(tài)1,HRS/LRS 或接地表示邏輯狀態(tài)0。在CRS 兩端施加Vth1=max{2|Vset|,2Vreset}的正電壓時(shí),CRS 的阻值狀態(tài)將切換為L(zhǎng)RS/HRS。在CRS兩端施加Vth4=min{-2|Vset|,-2Vreset}的負(fù)電壓時(shí),CRS的阻值狀態(tài)將切換為HRS/LRS。在CRS 兩端施加的電壓在Vth2~Vth3之間時(shí),CRS 的阻值狀態(tài)不 會(huì)改變。

當(dāng)CRS 處于穩(wěn)定的邏輯狀態(tài)時(shí),電阻值總為高阻,施加幅值較小的憶阻器讀出電壓,無(wú)法區(qū)分所存儲(chǔ)的邏輯值。因此,CRS 的讀出操作是在字線(Word Line,WL)端施加大于Vth1的電壓信號(hào),同時(shí)以位線(Bit Line,BL)端接地的方式實(shí)現(xiàn)。從圖1(b)可以看出,在CRS 兩端施加大于Vth1的電壓信號(hào)時(shí),若在輸出中檢測(cè)到電流脈沖,則表示該CRS 的阻值狀態(tài)為HRS/LRS,即邏輯0。若在電流輸出中無(wú)法檢測(cè)到電流脈沖,則表明CRS 的阻值狀態(tài)為L(zhǎng)RS/HRS,即邏輯1。在此讀出過(guò)程中,CRS 的阻值狀態(tài)會(huì)被置為邏輯1,所存儲(chǔ)的邏輯值有可能被破壞[7]。

CRS 的邏輯轉(zhuǎn)換機(jī)制由有限狀態(tài)機(jī)表示。CRS有限狀態(tài)機(jī)示意圖如圖2 所示。

圖2 互補(bǔ)電阻開(kāi)關(guān)有限狀態(tài)機(jī)示意圖Fig.2 Schematic diagram of finite state machine of complementary resistive switch

CRS 的邏輯表達(dá)如式(1)所示:

其中:w和b分別為連接CRS 字線和位線的電壓信號(hào)所對(duì)應(yīng)的邏輯變量;Z′和Z分別為施加電壓信號(hào)前和施加電壓信號(hào)后的邏輯狀態(tài);RIMP 和NIMP 分別為實(shí)質(zhì)蘊(yùn)含邏輯的求逆和取反。RIMP 和NIMP 的邏輯表達(dá)[21]如式(2)和式(3)所示:

LINN 等進(jìn)一步利用CRS 實(shí)現(xiàn)了14 種基本邏輯[21]。由CRS 的邏輯表達(dá)式可知,當(dāng)w為邏輯1,b為邏輯0 時(shí),CRS 的邏輯狀態(tài)將被置為邏輯1,實(shí)現(xiàn)了TRUE 邏輯操作:

將CRS 置為邏輯狀態(tài)1 后,令w為邏輯q,b為邏輯1,其邏輯狀態(tài)將被置為邏輯q:

將CRS 置為邏輯狀態(tài)0 后,通過(guò)將w設(shè)置為邏輯1,b設(shè)置為邏輯,也可實(shí)現(xiàn)置q邏輯操作:

BREUER 等[22]通過(guò)簡(jiǎn)化加法器公式實(shí)現(xiàn)基于互補(bǔ)電阻開(kāi)關(guān)的全加器。全加器表示如式(7)~式(9)所示:

其中:a、b和Ci為一位全加器的輸入;和Si分別為中間和最終求和輸出值;Ci+1為進(jìn)位輸出值。

3 乘法器設(shè)計(jì)

本文針對(duì)延時(shí)開(kāi)銷(xiāo)和面積開(kāi)銷(xiāo),在TC 加法器和PC 加法器優(yōu)化方案基礎(chǔ)上,利用CRS 構(gòu)建乘法器電路,并將其映射到混合CMOS/crossbar 結(jié)構(gòu)中。混合CMOS/crossbar 結(jié)構(gòu)如圖3 所示。該結(jié)構(gòu)由多個(gè)陣列和一個(gè)控制單元組成。控制單元用于協(xié)調(diào)每個(gè)陣列并將信號(hào)尋址到特定的字線和位線。

圖3 混合CMOS/crossbar 結(jié)構(gòu)Fig.3 Structure of hybrid CMOS/crossbar

3.1 加法器優(yōu)化

加法器是乘法器運(yùn)算過(guò)程中必不可少的一部分。加法器的優(yōu)化有利于降低乘法器的延時(shí)開(kāi)銷(xiāo)和面積開(kāi)銷(xiāo)。在傳統(tǒng)的TC 加法器和PC 加法器中,包括最高輸出位在內(nèi)的所有結(jié)果均在Ci+1和的基礎(chǔ)上運(yùn)算得到。然而,加法器的最高輸出位運(yùn)算結(jié)果本質(zhì)上是進(jìn)位比特,其運(yùn)算過(guò)程并不需要計(jì)算,只計(jì)算Ci+1。因此,本文通過(guò)簡(jiǎn)化最高輸出位的運(yùn)算步驟來(lái)優(yōu)化TC 加法器和PC 加法器。

優(yōu)化后的一位TC 加法器的電路結(jié)構(gòu)如圖4 所示,其中A0(1)表示在陣列0 中的第1 個(gè)存儲(chǔ)單元。優(yōu)化后的一位TC 加法器的實(shí)現(xiàn)步驟如表1 所示。

圖4 優(yōu)化后一位TC 加法器電路結(jié)構(gòu)Fig.4 The circuit structure of optimized 1-bit TC adder

表1 優(yōu)化的一位TC 加法器實(shí)現(xiàn)步驟Table 1 Implementation steps of optimized 1-bit TC adder

從表1 可以看出,優(yōu)化后的TC 加法器的實(shí)現(xiàn)步驟主要有初始化操作、C0的計(jì)算、C1和的計(jì)算、讀出操作以及最終S0的運(yùn)算。由式(4)可知,在初始化操作中,將代表邏輯1 的高電壓信號(hào)Vth1施加在WL0上,同時(shí)將BL0-2三個(gè)端口接地,A0(0)、A0(1)、A0(2)三個(gè)CRS 被置為邏輯1。為了將C0寫(xiě)入到A0(0)、A0(1)、A0(2)中,根據(jù)式(5)可知,表示C0和邏輯1 的電壓被分別施加在WL0和BL0-2上。根據(jù)式(1)和式(8)可知,在WL0和BL1上分別施加與邏輯a和邏輯b對(duì)應(yīng)的電壓值,運(yùn)算結(jié)果將以阻值的形式存儲(chǔ)在A0(1)中。同時(shí),根據(jù)式(1)和式(7)可知,在WL0上施加與邏輯a對(duì)應(yīng)的電壓信號(hào)基礎(chǔ)上,BL0和BL2上施加與邏輯對(duì)應(yīng)的電壓值,得到兩個(gè)邏輯運(yùn)算結(jié)果C1,并分別存儲(chǔ)于A0(0)和A0(2)中。其中存儲(chǔ)于A0(0)中的C1作為最終運(yùn)算結(jié)果保存,而存儲(chǔ)于A0(2)中的C1則作為步驟5的輸入。為了利用A0(2)中的C1,讀出操作將讀出C1的阻值。在S0的運(yùn)算過(guò)程中,根據(jù)式(9),在WL0和BL1上分別施加與邏輯b和邏輯C1對(duì)應(yīng)的電壓信號(hào),得到邏輯運(yùn)算結(jié)果S0并存儲(chǔ)于A0(1)中。至此,優(yōu)化后的一位TC 加法器完成加法操作,C1和S0的邏輯值存儲(chǔ) 在A0(0)和A0(1)中。

優(yōu)化后的一位PC 加法器的電路結(jié)構(gòu)和實(shí)現(xiàn)步驟分別如圖5 和表2 所示。PC 加法器的前三個(gè)步驟與TC 加法器相似,唯一不同之處在于PC 加法器采用兩個(gè)陣列,需要在兩個(gè)WL 端施加對(duì)應(yīng)的電壓值。PC 加法器最關(guān)鍵之處在于其步驟4 利用兩個(gè)陣列的并行性來(lái)同時(shí)完成C1的讀出操作和S0的運(yùn)算,減少了一個(gè)執(zhí)行步驟。

圖5 優(yōu)化后一位PC 加法器電路結(jié)構(gòu)Fig.5 The circuit structure of optimized 1-bit PC adder

表2 優(yōu)化的一位PC 加法器實(shí)現(xiàn)步驟Table 2 Implementation steps of optimized 1-bit PC adder

3.2 乘法器

N位乘法運(yùn)算產(chǎn)生2N位的運(yùn)算結(jié)果,其中包含了大量的加法運(yùn)算。如何優(yōu)化乘法運(yùn)算的加法過(guò)程尤為重要。在傳統(tǒng)的乘法計(jì)算過(guò)程中,只有完成低位的加法運(yùn)算后,才能產(chǎn)生相應(yīng)的進(jìn)位比特并開(kāi)始高位的加法運(yùn)算過(guò)程,極大地限制了計(jì)算速度。為了提高乘法運(yùn)算中加法的并行性,本文基于優(yōu)化的TC 加法器和PC 加法器,提出一種弱進(jìn)位依賴(lài)性乘法器。該乘法器基于混合CMOS/crossbar 結(jié)構(gòu)的并行能力實(shí)現(xiàn)N位乘法運(yùn)算。

在乘法運(yùn)算中首要步驟是計(jì)算部分乘積。部分乘積由兩比特的“與”邏輯運(yùn)算得到。“與”邏輯是利用一個(gè)CRS 通過(guò)3 個(gè)步驟實(shí)現(xiàn)。部分乘積計(jì)算的實(shí)現(xiàn)步驟如表3 所示。

表3 部分乘積計(jì)算的實(shí)現(xiàn)步驟Table 3 Implementation steps of partial product calculation

首先,在WL 和BL 上分別施加與邏輯1 和邏輯0對(duì)應(yīng)的電壓信號(hào),CRS 被初始化為邏輯1;其次,在WL 和BL 上分別施加與邏輯p和邏輯1 對(duì)應(yīng)的電壓信號(hào),CRS 被置為邏輯p;最后,在WL 和BL 上分別施加與邏輯q和邏輯1 對(duì)應(yīng)的電壓信號(hào),得到pq運(yùn)算結(jié)果并存儲(chǔ)于CRS 中。

乘法運(yùn)算的后續(xù)步驟是對(duì)部分乘積進(jìn)行加法運(yùn)算。與傳統(tǒng)乘法運(yùn)算不同,本文采用分解一位進(jìn)位比特為多位進(jìn)位比特求和的方式來(lái)減弱乘法運(yùn)算過(guò)程中的數(shù)據(jù)依賴(lài)性,使乘法運(yùn)算中的加法運(yùn)算過(guò)程得以并行化,加快乘法運(yùn)算速度。圖6 所示為二位乘法運(yùn)算的進(jìn)位比特分解過(guò)程以及對(duì)應(yīng)的數(shù)據(jù)依賴(lài)圖。圓圈表示一個(gè)三輸入和二輸出的加法器。指向加法器的箭頭表示加法器所需的輸入值,由加法器指出的箭頭表示加法器的輸出值。

圖6 二位乘法器數(shù)據(jù)依賴(lài)圖Fig.6 The data dependency graph of 2-bit multiplier

從圖6(b)可以看出,在完成部分乘積運(yùn)算后,二位乘法器的弱化數(shù)據(jù)依賴(lài)圖共有三層運(yùn)算過(guò)程,包含了兩層并行加法運(yùn)算(L1 和L2)以及一層串行加法運(yùn)算(L3)。在L3 中的兩個(gè)加法器之間由于存在C4的進(jìn)位依賴(lài),因此必須串行實(shí)現(xiàn)。此外,每一層并行計(jì)算得到的中間計(jì)算結(jié)果用于下一層的計(jì)算。經(jīng)過(guò)L1 層和L2 層的并行加法后將得到二位乘法運(yùn)算結(jié)果的低2 位P0和P1。L3 層的串行加法運(yùn)算將得到乘法運(yùn)算結(jié)果的高2 位P2和P3。

本文采用混合CMOS/crossbar 結(jié)構(gòu)實(shí)現(xiàn)所提的弱進(jìn)位依賴(lài)性乘法器。二位乘法器的電路結(jié)構(gòu)如圖7 所示。

圖7 二位乘法器電路結(jié)構(gòu)Fig.7 The circuit structure of 2-bit multiplier

從圖7 可以看出,A0(0-2)和A1(0-2)表示用于運(yùn)算加法的計(jì)算陣列,au_A(0-4)表示用于存儲(chǔ)運(yùn)算結(jié)果的輔助陣列。對(duì)于二位乘法器,每個(gè)計(jì)算陣列利用3 個(gè)CRS 來(lái)執(zhí)行一位加法器,輔助陣列采用5 個(gè)CRS 來(lái)存儲(chǔ)臨時(shí)和最終的運(yùn)算結(jié)果。

二位乘法器的流程圖和具體執(zhí)行步驟分別如圖8 和表4 所示。

表4 二位乘法器實(shí)現(xiàn)步驟Table 4 Implementation steps of 2-bit multiplier

圖8 二位乘法器實(shí)現(xiàn)流程Fig.8 Implementation procedure of 2-bit multiplier

步驟1 是初始化操作,將表示邏輯1 的電壓信號(hào)施加在WL0-1上,BL00-02以及BL10-12接地,實(shí)現(xiàn)了A0(0-2)和A1(0-2)的置1 操作。同時(shí),為了完成au_A(0-4)的置0 操作,外圍電路將與邏輯1 對(duì)應(yīng)的電壓信號(hào)施加在BL20-24上,WL2接地。步驟2 和步驟3 是在BL00-02與BL10-12端口均施加代表邏輯1 的高電壓,但在步驟2中WL0-1施加代表X0的電壓值,而在步驟3 中,WL0和WL1上分別施加代表Y1和Y0的電壓值。當(dāng)步驟3 完成后,得到兩個(gè)部分乘積X0Y1和X0Y0并分別存儲(chǔ)于A0(0-2)以及A1(0-2)中。

由于本文提出的優(yōu)化TC 加法器和乘法運(yùn)算過(guò)程中的加法操作均可以并行實(shí)現(xiàn),因此步驟4~步驟6 利用優(yōu)化TC 加法器進(jìn)行L1 層的并行加法。為進(jìn)行L2 層的并行加法運(yùn)算,步驟7 在WL0-2上施加與邏輯1 對(duì)應(yīng)的電壓信號(hào),同時(shí)將BL00-01以及BL10-11接地,讀出上一個(gè)步驟中的運(yùn)算結(jié)果,其中包含結(jié)果P0,并進(jìn)一步利用反相器在BL24上施加邏輯對(duì)應(yīng)的電壓信號(hào),將P0以阻值形式重新寫(xiě)入au_A(4)中。

步驟8~步驟13 利用優(yōu)化TC 加法器完成L2 層的并行加法運(yùn)算,以得到邏輯運(yùn)算結(jié)果P1并存儲(chǔ)于au_A(3)中。為了復(fù)用存儲(chǔ)單元,需要A0(0-2)和A1(0-2)初始化為邏輯0,因此,在步驟14 中將表示邏輯1 的電壓信號(hào)施加在BL00-02以及BL10-12上,WL0-1接地。步驟15~步驟18 則利用優(yōu)化的PC 加法器進(jìn)行串行加法運(yùn)算,最終得到邏輯運(yùn)算結(jié)果P2和P3。步驟19 是在WL0-2上施加與邏輯1 對(duì)應(yīng)的電壓信號(hào),同時(shí)將BL00-01以及BL10-11接地,讀出P2和P3并將其以電壓形式施加到BL21-22上,最終以阻值形式分別存儲(chǔ)于au_A(1-2)中。

N位乘法運(yùn)算的數(shù)據(jù)依賴(lài)圖如圖9 所示,其執(zhí)行步驟可由二位乘法運(yùn)算的步驟擴(kuò)展得到。在N位乘法運(yùn)算中,每層并行加法產(chǎn)生2N-1 位中間計(jì)算結(jié)果和一位最終乘法運(yùn)算結(jié)果。為了在不同層之間重用存儲(chǔ)單元,本文分別采用優(yōu)化的TC 加法器和優(yōu)化的PC 加法器進(jìn)行乘法器中的并行加法運(yùn)算和串行加法運(yùn)算。因此,每一層的并行加法需要3N個(gè)存儲(chǔ)單元,串行加法需要2N+1 個(gè)存儲(chǔ)單元。

圖9 N 位乘法運(yùn)算的數(shù)據(jù)依賴(lài)圖Fig.9 The data dependency graph of N-bit multiplier

第一層的并行操作需要7 個(gè)步驟,其中包含步驟1~步驟3 的部分乘積計(jì)算,步驟4~步驟6 的TC 加法器以及步驟7 的讀寫(xiě)操作。由于CRS 的讀出操作會(huì)將其邏輯狀態(tài)重置為邏輯1,因此省略了在后續(xù)部分乘積運(yùn)算中的第一步初始化步驟。N位乘法器的并行加法運(yùn)算需要6N+1 個(gè)步驟。在N位乘法器中采用優(yōu)化的PC加法器實(shí)現(xiàn)的串行加法器需要2N+2個(gè)步驟。因此,本文所提的N位弱進(jìn)位依賴(lài)性乘法器需要8N+3 個(gè)步驟。此外,所需存儲(chǔ)單元的數(shù)量將由計(jì)算陣列中的存儲(chǔ)單元和輔助單元的總和決定。

本文所提的乘法器能夠有效提升延時(shí)和面積開(kāi)銷(xiāo)性能,其原因?yàn)閳D6 中乘法運(yùn)算方案的并行性。本文對(duì)乘法運(yùn)算過(guò)程中的進(jìn)位比特進(jìn)行分解,減弱了進(jìn)位依賴(lài)性,通過(guò)混合CMOS/crossbar 陣列結(jié)構(gòu)的分陣列形式并行實(shí)現(xiàn)乘法運(yùn)算過(guò)程中的串行加法操作,執(zhí)行N個(gè)一位加法操作僅需要一位TC 加法器,極大地優(yōu)化了乘法器的延時(shí)開(kāi)銷(xiāo)。此外,本文分別采用一位TC 加法器和N位PC 加法器作為乘法運(yùn)算過(guò)程中的并行和串行加法器,減少額外的存儲(chǔ)空間,在每層加法運(yùn)算過(guò)程中的CRS 均可以復(fù)用,進(jìn)一步減少面積開(kāi)銷(xiāo)。

4 仿真

研究人員提出多種憶阻器模型,包括Simmons隧道勢(shì)壘模型[23]、非線性離子漂移模型[24]、閾值自適應(yīng)憶阻器模型(TEAM)[25]、電壓閾值自適應(yīng)憶阻器模型(VTEAM)[26]等。VTEAM 具有簡(jiǎn)單、通用、靈活的特點(diǎn)。因此,本文選擇VTEAM 模型進(jìn)行仿真。VTEAM 模型的相關(guān)參數(shù)參考文獻(xiàn)[26],具體如下:Voff=0.5 V,Von=-0.5 V,Roff=2.5 kΩ,Ron=100 Ω,koff=4.03×10-8m/s,kon=-80m/s,aoff=1,aon=3,其中Voff和Von為憶阻器的閾值電壓,Roff和Ron為憶阻器的高阻和低阻,koff、kon、aoff以及aon為VTEAM 模型擬合Pt-Hf-Ti憶阻器實(shí)體器件后的常量參數(shù)。在此參數(shù)下VTEAM 模型與Pt-Hf-Ti 實(shí)體器件相擬合后的伏安特性曲線可參考文獻(xiàn)[26]。

本文利用CRS 的與邏輯實(shí)現(xiàn)了部分乘積。圖10 所示為所有一位輸入組合下部分乘積計(jì)算的仿真結(jié)果??v坐標(biāo)表示憶阻器阻值。10 ns 為一個(gè)時(shí)鐘周期。從 圖10 可以看出:當(dāng)q=1、p=1 時(shí),M1與M2的阻值狀態(tài)分別為L(zhǎng)RS 和HRS,代表輸出邏輯1;對(duì)于其他輸入情況,M1與M2的最終阻值狀態(tài)分別為HRS 和LRS,代表輸出邏輯0,與理論分析相符。

圖10 部分乘積運(yùn)算的仿真結(jié)果Fig.10 Simulation results of partial product operation

圖11 所示為在a=0、b=1、Ci=1 情況下優(yōu)化的TC加法器的仿真結(jié)果。從圖11 可以看出,TC 加法器仿真 結(jié)果 中A0(0)和A0(1)最終的阻值狀態(tài)分別為L(zhǎng)RS/HRS 和HRS/LRS,代表運(yùn)算結(jié)果為10。

圖11 一位TC 加法器的仿真結(jié)果Fig.11 Simulation results of 1-bit TC adder

圖12 所示為在a=00、b=11、Ci=01 輸入情況下優(yōu)化的PC加法器的仿真結(jié)果。PC加法器仿真結(jié)果中A0(0)、A0(1)、A0(2)最終的阻值狀態(tài)分別為L(zhǎng)RS/HRS、HRS/LRS、HRS/LRS,表示最終運(yùn)算結(jié)果為100。兩種加法器的仿真結(jié)果均與理論預(yù)期相符。

圖12 二位PC 加法器的仿真結(jié)果Fig.12 Simulation results of 2-bit PC adder

本文驗(yàn)證輸入為01 與11 情況下所提出的弱進(jìn)位依賴(lài)乘法器的可行性。圖13 和圖14 分別所示為計(jì)算陣列A0以及A1的仿真結(jié)果。圖15 所示為輔助陣列au_A 的仿真結(jié)果。從圖15 可以看出,二位乘法運(yùn)算共需要19 個(gè)步驟和11 個(gè)CRS。輔助陣列中au_A(1-4)的仿真結(jié)果為0011,與理論相符。

圖13 在乘法器運(yùn)算中A0的仿真結(jié)果Fig.13 Simulation results of A0 in multiplier operation

圖14 在乘法器運(yùn)算中A1仿真結(jié)果Fig.14 Simulation results of A1 in multiplier operation

圖15 在乘法器運(yùn)算中au_A 仿真結(jié)果Fig.15 Simulation results of au_A in multiplier operation

表5 所示為本文所設(shè)計(jì)的方法與其他方法的結(jié)果對(duì)比,延時(shí)表示N位乘法器的執(zhí)行步驟個(gè)數(shù),面積表示N位乘法器執(zhí)行所需要的憶阻器個(gè)數(shù)。與文獻(xiàn)[8]相比,本文的延時(shí)開(kāi)銷(xiāo)降低了一個(gè)數(shù)量級(jí),并且面積開(kāi)銷(xiāo)降低了約70%。與文獻(xiàn)[10]和文獻(xiàn)[12]相比,本文所提的方法在面積和延時(shí)開(kāi)銷(xiāo)性能上均降低了一個(gè)數(shù)量級(jí)。文獻(xiàn)[13]在延時(shí)開(kāi)銷(xiāo)方面為常數(shù)級(jí)別,但其所提的方法需要在陣列的外圍中增加額外的CMOS 晶體管電路,用于連接陣列的字線或位線,以構(gòu)建MAGIC 電路,增加了面積開(kāi)銷(xiāo),并且該方法并未計(jì)算輸入的乘法運(yùn)算數(shù)據(jù)與特定的二進(jìn)制比特流之間轉(zhuǎn)換所需的延時(shí)開(kāi)銷(xiāo)和面積開(kāi)銷(xiāo)。同時(shí),本文所提的方法在面積開(kāi)銷(xiāo)方面相比文獻(xiàn)[13]方法降低到了線性級(jí)別。

表5 N 位乘法器性能對(duì)比Table 5 Performance comparison of N-bit multiplier

5 結(jié)束語(yǔ)

本文針對(duì)現(xiàn)有憶阻乘法器設(shè)計(jì)的局限性,提出兩種不同的加法器優(yōu)化方案,并在此基礎(chǔ)上設(shè)計(jì)一種乘法器。通過(guò)設(shè)計(jì)基于憶阻器的部分乘積運(yùn)算,并對(duì)TC 加法器和PC 加法器進(jìn)行優(yōu)化,同時(shí),針對(duì)乘法器的串行加法部分,通過(guò)減弱進(jìn)位比特的數(shù)據(jù)依賴(lài)性,設(shè)計(jì)一種基于互補(bǔ)電阻開(kāi)關(guān)的可并行實(shí)現(xiàn)的乘法運(yùn)算方案。仿真實(shí)驗(yàn)結(jié)果表明,該乘法器減弱進(jìn)位比特的數(shù)據(jù)依賴(lài)性,實(shí)現(xiàn)了并行乘法運(yùn)算,與大部分現(xiàn)有乘法器相比,在延時(shí)和面積開(kāi)銷(xiāo)性能方面均有所提升。下一步將在本文工作的基礎(chǔ)上,將憶阻加法器與憶阻乘法器相結(jié)合,研究憶阻浮點(diǎn)乘法器的實(shí)現(xiàn)方案,進(jìn)一步完善憶阻器的復(fù)雜邏輯設(shè)計(jì)。

猜你喜歡
乘法器阻器阻值
導(dǎo)電電極對(duì)電阻漿料阻值的影響
一種基于中國(guó)剩余定理的高效乘法器設(shè)計(jì)
四線制阻值檢測(cè)電路實(shí)驗(yàn)研究
一種低開(kāi)銷(xiāo)的近似乘法器設(shè)計(jì)
基于憶阻器的多路復(fù)用器設(shè)計(jì)與實(shí)現(xiàn)
勵(lì)磁線圈對(duì)插入式電磁流量計(jì)的影響
對(duì)一道電學(xué)實(shí)驗(yàn)題的思考
一種高性能快速傅里葉變換的硬件設(shè)計(jì)
真實(shí)憶阻器數(shù)學(xué)建模以及電學(xué)仿真
具有脈沖的憶阻器神經(jīng)網(wǎng)絡(luò)周期解的穩(wěn)定性