一種可變延時(shí)預(yù)測(cè)方法及基于預(yù)測(cè)的可變延時(shí)加法器的制造方法
【專利摘要】本發(fā)明公開了一種可變延時(shí)預(yù)測(cè)方法,其包括以下步驟:S101、輸入待執(zhí)行加法運(yùn)算的操作數(shù)中的第i至第i+n位以及轉(zhuǎn)移態(tài),其中,轉(zhuǎn)移態(tài)為操作數(shù)中第i-1位對(duì)應(yīng)的加法器輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)與進(jìn)位信號(hào)的保留態(tài)比較的結(jié)果;S102、根據(jù)對(duì)第i至第i+n位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)是否存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況;S103、基于轉(zhuǎn)移態(tài)和部分當(dāng)前操作數(shù)產(chǎn)生的使能信號(hào)來(lái)決定是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘,同時(shí)產(chǎn)生進(jìn)位選擇信號(hào)來(lái)確定傳播給當(dāng)前操作數(shù)中的第i位對(duì)應(yīng)的加法器的進(jìn)位值。采用本預(yù)測(cè)方法的改進(jìn)的加法器電路結(jié)構(gòu)能夠保證加法器正確無(wú)誤運(yùn)行的同時(shí),進(jìn)一步降低電路供電電壓或者提高電路的運(yùn)行頻率。
【專利說(shuō)明】一種可變延時(shí)預(yù)測(cè)方法及基于預(yù)測(cè)的可變延時(shí)加法器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字電子【技術(shù)領(lǐng)域】,具體而言,涉及一種可變延時(shí)預(yù)測(cè)方法及基于預(yù)測(cè)的可變延時(shí)加法器。
【背景技術(shù)】
[0002]在現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)中,不論是嵌入式電路系統(tǒng)還是大規(guī)模專用集成電路,高性能和低功耗都是設(shè)計(jì)者主要追求的指標(biāo)。一般來(lái)說(shuō),在數(shù)字信號(hào)處理(DSP)領(lǐng)域中,所有的復(fù)雜運(yùn)算都可以歸結(jié)為加法和乘法運(yùn)算。因此設(shè)計(jì)高性能低功耗的加法器是大規(guī)模數(shù)字系統(tǒng)設(shè)計(jì)的重要組成部分。
[0003]隨著CMOS器件特征尺寸的不斷減小,加法器的運(yùn)行頻率也得以大幅度提升,同時(shí)其供電電壓也不斷降低。但是器件尺寸的減小同樣帶來(lái)了其他負(fù)面效應(yīng),其中較為突出的是工藝參數(shù)的偏移幅度隨著器件尺寸的不斷減小而加重。這一參數(shù)偏移效應(yīng)極大限制了加法器供電電壓的進(jìn)一步降低或運(yùn)行頻率的提高。其中的主要原因是,小尺寸器件所帶來(lái)的參數(shù)偏移會(huì)導(dǎo)致加法器關(guān)鍵路徑的延時(shí)在實(shí)際運(yùn)行中產(chǎn)生較大波動(dòng)。
[0004]因此,設(shè)計(jì)者不得不在前期的規(guī)劃中為這一參數(shù)偏移現(xiàn)象留出余量,從而能夠保證加法器正確無(wú)誤的運(yùn)行。在傳統(tǒng)的加法器設(shè)計(jì)方法中,為了保證電路在參數(shù)有所偏移的狀況下依舊保持正確運(yùn)算,往往采用提升電路供電電壓或者降低電路的運(yùn)行頻率兩種手段。
[0005]顯然,這兩種較為保守的方法為電路帶來(lái)了功耗或者性能上的負(fù)面作用。提升供電電壓雖然可以縮短關(guān)鍵路徑的延時(shí),但是同樣會(huì)為電路系統(tǒng)增加額外的能耗,且增加的能耗最終會(huì)使電路系統(tǒng)的運(yùn)行溫度進(jìn)一步提升,從而導(dǎo)致參數(shù)偏移現(xiàn)象的不斷加重,最終形成惡性循環(huán)。如果采用降低電路運(yùn)行頻率的辦法,則無(wú)疑會(huì)折損特征尺寸減小所帶來(lái)的高性能這一優(yōu)勢(shì),且在某些特定的應(yīng)用領(lǐng)域中,電路系統(tǒng)的運(yùn)行頻率是固定的設(shè)計(jì)指標(biāo)而無(wú)法折中。
[0006]因此,在CMOS器件的特征尺寸進(jìn)入20納米后,面對(duì)參數(shù)偏移的狀況,如何能夠保證加法器正確無(wú)誤運(yùn)行的同時(shí),進(jìn)一步降低電路供電電壓或者提高電路的運(yùn)行頻率已經(jīng)成為熱點(diǎn)問(wèn)題。
【發(fā)明內(nèi)容】
[0007]本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提出了一種可變延時(shí)預(yù)測(cè)方法,以及基于該方法的加法器,改進(jìn)的加法器結(jié)構(gòu)能夠保證加法器正確無(wú)誤運(yùn)行的同時(shí),進(jìn)一步降低電路供電電壓或者提聞電路的運(yùn)行頻率。
[0008]所述可變延時(shí)預(yù)測(cè)方法包括以下步驟:
[0009]S101、輸入待執(zhí)行加法運(yùn)算的操作數(shù)中的第i至第i + η位以及轉(zhuǎn)移態(tài),其中,所述轉(zhuǎn)移態(tài)為所述操作數(shù)中第i 一 I位對(duì)應(yīng)的加法器輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)與所述進(jìn)位信號(hào)的保留態(tài)比較的結(jié)果;[0010]S102、根據(jù)對(duì)第i至第i + η位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)是否存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況;
[0011]S103、基于所述轉(zhuǎn)移態(tài)和部分當(dāng)前操作數(shù)產(chǎn)生的使能信號(hào)來(lái)決定是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘,同時(shí)產(chǎn)生進(jìn)位選擇信號(hào)來(lái)確定傳播給當(dāng)前操作數(shù)中的第i位對(duì)應(yīng)的加法器的進(jìn)位值。
[0012]根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)不存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況時(shí),選擇所述當(dāng)前態(tài)作為第i個(gè)加法器的進(jìn)位輸入,然后將加法器執(zhí)行運(yùn)算的關(guān)鍵路徑從第i 一 I位處開始分成兩段進(jìn)行。
[0013]根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況時(shí),對(duì)所述當(dāng)前態(tài)進(jìn)行預(yù)測(cè),并采用預(yù)測(cè)的進(jìn)位信號(hào)作為第i個(gè)加法器的進(jìn)位輸入,然后將加法器執(zhí)行運(yùn)算的關(guān)鍵路徑從第i 一I位處開始分成兩段進(jìn)行。
[0014]根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述預(yù)測(cè)的進(jìn)位信號(hào)為第i 一 I位進(jìn)位信號(hào)的保留態(tài)。
[0015]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在所述當(dāng)前態(tài)穩(wěn)定時(shí),比較所述預(yù)測(cè)的進(jìn)位信號(hào)與所述當(dāng)前態(tài)以確定預(yù)測(cè)是否準(zhǔn)確,如果是,則不啟用延時(shí),如果預(yù)測(cè)不準(zhǔn)確,則啟用延時(shí),給運(yùn)算操作分配額外的時(shí)鐘以重新進(jìn)行運(yùn)算。
[0016]根據(jù)本發(fā)明的一個(gè)實(shí)施例,給運(yùn)算操作分配額外的時(shí)鐘包括鎖存輸入寄存器和輸出寄存器額外的時(shí)鐘。
[0017]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在步驟S102中,如果所述操作數(shù)(對(duì)應(yīng)的第i至第i + η位全部不同,則會(huì)出現(xiàn)進(jìn)位傳播,在此所進(jìn)行的邏輯運(yùn)算為:(Ai十Bi)Π...Π (Ai +η 0Bi+n) 0
[0018]根據(jù)本發(fā)明的一個(gè)方面,還提供了 一種基于預(yù)測(cè)的可變延時(shí)加法器,其包括:
[0019]M個(gè)加法運(yùn)算單元,用于接收操作數(shù)輸入并進(jìn)行加法運(yùn)算輸出;
[0020]寄存器單元,以加法器FAp1輸出的進(jìn)位信號(hào)為輸入以產(chǎn)生所述進(jìn)位信號(hào)的保留態(tài);
[0021]比較單元,對(duì)加法器FAp1輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)與所述保留態(tài)進(jìn)行比較以產(chǎn)生轉(zhuǎn)移態(tài);
[0022]延時(shí)預(yù)測(cè)單元,將操作數(shù)中的第i至第i + η位以及所述轉(zhuǎn)移態(tài)作為輸入,根據(jù)對(duì)第i至第i + η位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)是否存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況并輸出進(jìn)位選擇信號(hào),然后,基于所述轉(zhuǎn)移態(tài)和部分當(dāng)前操作數(shù)所組成的異或函數(shù)來(lái)預(yù)測(cè)是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘。
[0023]根據(jù)本發(fā)明的一個(gè)實(shí)施例,可變延時(shí)串行加法器還包括:選擇器,其以所述當(dāng)前態(tài)和所述保留態(tài)為輸入,以所述進(jìn)位選擇信號(hào)為選擇端,
[0024]當(dāng)長(zhǎng)關(guān)鍵路徑未被激發(fā)時(shí),所述選擇端控制選擇所述當(dāng)前態(tài)進(jìn)行輸出,
[0025]當(dāng)長(zhǎng)關(guān)鍵路徑被激發(fā)時(shí),在第一個(gè)時(shí)鐘里以所述保留態(tài)作為加法器FAi的進(jìn)位信號(hào)進(jìn)行輸出,
[0026]在所述當(dāng)前態(tài)穩(wěn)定后,所述延時(shí)預(yù)測(cè)單元基于轉(zhuǎn)移態(tài)來(lái)判斷以所述保留態(tài)作為加法器FAi的進(jìn)位信號(hào)的預(yù)測(cè)是否準(zhǔn)確,如果準(zhǔn)確,計(jì)算照常進(jìn)行,如果不準(zhǔn)確,則選擇所述進(jìn)位信號(hào)的當(dāng)前態(tài)作為輸出,同時(shí),所述延時(shí)預(yù)測(cè)單元發(fā)出啟用延時(shí)的信號(hào),并給運(yùn)算操作分配額外的時(shí)鐘以重新進(jìn)行運(yùn)算。[0027]本發(fā)明帶來(lái)了以下有益效果:本加法器電路結(jié)構(gòu)在延時(shí)預(yù)測(cè)單元的構(gòu)成上同時(shí)考慮了輸入進(jìn)位信號(hào)的當(dāng)前態(tài)和轉(zhuǎn)移態(tài)。新的結(jié)構(gòu)消除了實(shí)際運(yùn)算中由于數(shù)據(jù)之間的相關(guān)性而產(chǎn)生的冗余時(shí)鐘開銷。當(dāng)所處理的輸入數(shù)據(jù)變化較為緩慢時(shí),如計(jì)算來(lái)自溫度傳感網(wǎng)所采集的數(shù)據(jù),由于輸入數(shù)據(jù)之間在這一情況下具有更為強(qiáng)烈的相關(guān)性,因此通過(guò)本發(fā)明的加法器延時(shí)預(yù)測(cè)方法可消除更多的時(shí)鐘冗余,因此消耗的能量更低。
[0028]本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
【專利附圖】
【附圖說(shuō)明】
[0029]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要的附圖做簡(jiǎn)單的介紹:
[0030]圖1是現(xiàn)有技術(shù)中傳統(tǒng)的串行加法器的示意圖;
[0031]圖2是ECIP可變延時(shí)加法器示意圖;
[0032]圖3是根據(jù)本發(fā)明的實(shí)施例可變延時(shí)低功耗加法器示意圖;
[0033]圖4是實(shí)際運(yùn)算中輸入的操作數(shù)間具有相關(guān)性時(shí)的加法運(yùn)算示意圖;
[0034]圖5是用于產(chǎn)生PTSP控制信號(hào)的電路結(jié)構(gòu)原理圖。
【具體實(shí)施方式】
[0035]以下將結(jié)合附圖來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成技術(shù)效果的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。需要說(shuō)明的是,只要不構(gòu)成沖突,本發(fā)明各實(shí)施例以及各實(shí)施例中的各個(gè)特征可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0036]許多研究者對(duì)現(xiàn)有技術(shù)存在的問(wèn)題提出了相應(yīng)的方案,如優(yōu)化調(diào)整器件尺寸大小或者動(dòng)態(tài)改變器件偏置電壓。
[0037]具體到加法器的設(shè)計(jì)中,一些研究試圖通過(guò)對(duì)傳統(tǒng)加法器結(jié)構(gòu)的進(jìn)一步改造來(lái)實(shí)現(xiàn)參數(shù)偏移效應(yīng)下的高性能低功耗目的。加法器作為數(shù)字電路的重要組成部分有較多的類型和結(jié)構(gòu)。
[0038]如圖1所示的串行加法器,其通過(guò)將單比特全加器進(jìn)行串聯(lián)后,當(dāng)前的輸入信號(hào)會(huì)產(chǎn)生各自的進(jìn)位信號(hào)并一級(jí)一級(jí)的傳遞下去。顯然,F(xiàn)A1至FA16的進(jìn)位信號(hào)所走過(guò)的路徑是整個(gè)串行加法器的關(guān)鍵路徑,電路的供電電壓和運(yùn)行頻率必須依照這一關(guān)鍵路徑進(jìn)行設(shè)計(jì)。即在一定的供電電壓下,系統(tǒng)單個(gè)時(shí)鐘的時(shí)長(zhǎng)必須大于關(guān)鍵路徑的延時(shí),否則就會(huì)出現(xiàn)時(shí)序錯(cuò)誤。
[0039]針對(duì)這一結(jié)構(gòu),Mohapatra提出了一種低功耗可容忍參數(shù)偏移的可變延時(shí)加法器(Elastic Clocking Based on Input Prediction,簡(jiǎn)稱為 ECIP),如圖 2所不。關(guān)于ECIP 的詳細(xì)介紹請(qǐng)見(jiàn)文獻(xiàn)Mohapatra D, Karakonstantis G, Roy K.Low-power process-variationtolerant arithmetic units using input-based elastic clocking.Proceedingsof the2007international symposium on Low power electronics and design.ACM,2007:74-79 (Mohapatra Dj Karakonstantis G,Roy K,“基于輸入數(shù)據(jù)彈性時(shí)鐘技術(shù)的低功耗工藝偏差可容忍的計(jì)算單元設(shè)計(jì)”,2007年國(guó)際低功耗電子與設(shè)計(jì)會(huì)議,ACM, 2007:74-79。)。在此僅介紹與本發(fā)明相關(guān)的部分,其它不作贅述。
[0040]ECIP這一結(jié)構(gòu)的提出基于三點(diǎn)考慮:
[0041]第一,由于電路的功耗正比于供電電壓的二次方,因此降低電路的供電電壓是獲得低功耗的有效手段。
[0042]第二,降低電壓雖然可以獲得低功耗的效果,但是電路的延時(shí)會(huì)隨著電壓的降低而增大。參數(shù)偏移效應(yīng)同樣會(huì)隨著電壓的降低而增強(qiáng)。如果想要保證電路時(shí)序不發(fā)生錯(cuò)誤,則必須降低運(yùn)行頻率。顯然這種傳統(tǒng)設(shè)計(jì)方法不適用構(gòu)造高性能低功耗加法器。因此,必須在降低電壓的同時(shí)改造原有的電路結(jié)構(gòu),使其關(guān)鍵路徑的延時(shí)減小。
[0043]第三,通過(guò)對(duì)當(dāng)前輸入數(shù)據(jù)的提前預(yù)測(cè),可以將原有的關(guān)鍵路徑延時(shí)縮小一半。以32比特加法器為例,其工作原理是:將串行加法器的第13位至第17位全加器的輸入送入延時(shí)預(yù)測(cè)單元中,同時(shí)降低整個(gè)電路供電電壓,運(yùn)行頻率保持不變。當(dāng)預(yù)測(cè)模塊中每個(gè)全加器當(dāng)前的兩個(gè)輸入比特都不相同時(shí),如A13...17=10101,B13...17=01010,表示第12位全加器的進(jìn)位輸出會(huì)通過(guò)中間的5個(gè)比特傳播到后面的全加器,此時(shí)關(guān)鍵路徑有可能被激發(fā)。
[0044]由于供電電壓已經(jīng)降低且運(yùn)行頻率保持不變,因此當(dāng)遇到這一情況時(shí),預(yù)測(cè)模塊會(huì)輸出低電平,使得加法器的輸入和輸出寄存器保持鎖定狀態(tài),從而使得整個(gè)加法器在這一情況下可以獲得一個(gè)額外的時(shí)鐘,保證了運(yùn)算能夠正確進(jìn)行。
[0045]在其他情況下,當(dāng)預(yù)測(cè)模塊中沒(méi)有形成進(jìn)位傳播的狀況時(shí),整個(gè)加法器的進(jìn)位鏈就會(huì)被打斷。此時(shí),預(yù)測(cè)模塊輸出高電平,整個(gè)加法器只需要一個(gè)時(shí)鐘周期就可以獲得正確的運(yùn)算結(jié)果。由于在實(shí)際的運(yùn)算中形成5比特連續(xù)進(jìn)位傳播的概率較小,因此,這一結(jié)構(gòu)使得加法器在低電壓工作狀況下運(yùn)行頻率沒(méi)有被降低,且有利于容忍一定程度的參數(shù)偏移所帶來(lái)的誤差。
[0046]但是為了使得額外的時(shí)鐘開銷被限制在較小的量級(jí),該結(jié)構(gòu)不得不采用5比特以上的預(yù)測(cè),這一要求在設(shè)計(jì)位數(shù)較短的串行加法器時(shí)不能被接收,且該結(jié)構(gòu)沒(méi)有考慮在連續(xù)計(jì)算中,前一進(jìn)位狀態(tài)的保留會(huì)對(duì)加法器的運(yùn)算造成不同結(jié)果,從而導(dǎo)致了部分冗余時(shí)鐘。
[0047]鑒于此,本發(fā)明提出了一種可變延時(shí)預(yù)測(cè)方法。在此方法中,首先執(zhí)行步驟S101,輸入待執(zhí)行加法運(yùn)算的操作數(shù)A和B中的第i至第i + η位以及轉(zhuǎn)移態(tài)CompSignal,其中,轉(zhuǎn)移態(tài)CompSignal為操作數(shù)中第i 一 I位對(duì)應(yīng)的加法器輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)Cout —Present與進(jìn)位信號(hào)的保留態(tài)Cout — Preserved比較的結(jié)果。
[0048]在步驟S102中,根據(jù)對(duì)第i至第i + η位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)A和B中是否存在進(jìn)位傳播的情況或者說(shuō)長(zhǎng)關(guān)鍵路徑被激發(fā)的情況,并輸出進(jìn)位選擇信號(hào)Carry
—Tmp,如圖3所示也是進(jìn)位選擇信號(hào)Carry —sel。本發(fā)明判斷是否出現(xiàn)進(jìn)位傳播主要是判斷操作數(shù)A,B對(duì)應(yīng)的第i至第i + η位是否全部不同,如果是,則會(huì)出現(xiàn)進(jìn)位傳播。因此,所進(jìn)行的邏輯運(yùn)算為:(Ai十Bi) Π...Π (Ai n 0 Bi ?)...[0049]在步驟S103中,基于轉(zhuǎn)移態(tài)CompSignal和部分當(dāng)前操作數(shù)Α,B產(chǎn)生的使能信號(hào)來(lái)決定是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘,同時(shí)產(chǎn)生進(jìn)位選擇信號(hào)Carry — sel來(lái)確定傳播給當(dāng)前操作數(shù)A,B中的第i位對(duì)應(yīng)的加法器的進(jìn)位值。
[0050]當(dāng)長(zhǎng)關(guān)鍵路徑未被激發(fā)時(shí),選擇第i 一 I位對(duì)應(yīng)的加法器輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)Cout — Present作為第i個(gè)加法器的進(jìn)位輸入,然后將加法器執(zhí)行運(yùn)算的關(guān)鍵路徑從第i 一 I位處開始分成兩段進(jìn)行。因此,在一個(gè)時(shí)鐘內(nèi)運(yùn)算可以完成。
[0051]當(dāng)長(zhǎng)關(guān)鍵路徑被激發(fā)時(shí),對(duì)當(dāng)前態(tài)Cout — Present進(jìn)行預(yù)測(cè),并采用預(yù)測(cè)的進(jìn)位信號(hào)作為第i個(gè)加法器的進(jìn)位輸入,然后將加法器執(zhí)行運(yùn)算的關(guān)鍵路徑從第i 一 I位處開始分成兩段進(jìn)行。在一個(gè)實(shí)施例中,預(yù)測(cè)的進(jìn)位信號(hào)為第i 一 I位進(jìn)位信號(hào)的保留態(tài)Cout
—Preserved。在第一時(shí)鐘周期中,由于Cout_Preserved信號(hào)處于穩(wěn)定狀態(tài),因此整個(gè)加法器同樣在第i 一 I位處被打成兩段,一個(gè)時(shí)鐘的時(shí)間內(nèi)前后兩段加法可以穩(wěn)定計(jì)算出來(lái)。
[0052]在第i 一 I位進(jìn)位信號(hào)的當(dāng)前態(tài)Cout —Present穩(wěn)定時(shí),比較預(yù)測(cè)的進(jìn)位信號(hào)(也就是本實(shí)施例中的保留態(tài)Cout — Preserved)與當(dāng)前態(tài)Cout — Present以確定預(yù)測(cè)是否準(zhǔn)確,如果是,則不啟用延時(shí),如果預(yù)測(cè)不準(zhǔn)確,則啟用延時(shí),給運(yùn)算操作分配額外的時(shí)鐘以重新進(jìn)行運(yùn)算。
[0053]在這里,給運(yùn)算操作分配額外的時(shí)鐘包括鎖存輸入寄存器和輸出寄存器額外的時(shí)鐘。
[0054]根據(jù)本發(fā)明的一個(gè)實(shí)施例,還提供了一種基于上述預(yù)測(cè)方法的可變延時(shí)串行加法`器。其包括:M個(gè)加法運(yùn)算單元FAm、寄存器單元、比較單元以及延時(shí)預(yù)測(cè)單元。其中,M個(gè)加法運(yùn)算單元FAm用于接收操作數(shù)輸入并進(jìn)行加法運(yùn)算輸出,寄存器單元以加法器FAp1輸出的進(jìn)位信號(hào)為輸入,用以產(chǎn)生進(jìn)位信號(hào)的保留態(tài)Cout — Preserved。比較單元對(duì)加法器FAi^1輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)Cout — Present與保留態(tài)Cout — Preserved進(jìn)行比較以產(chǎn)生轉(zhuǎn)移態(tài)CompSignal。在延時(shí)預(yù)測(cè)單元中,將操作數(shù)中的第i至第i + η位以及所述轉(zhuǎn)移態(tài)CompSignal作為輸入,根據(jù)對(duì)第i至第i + η位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)是否存在進(jìn)位傳播的情況并輸出進(jìn)位選擇信號(hào)Carry — sel,然后,基于轉(zhuǎn)移態(tài)CompSignal和部分當(dāng)前操作數(shù)A,B的異或邏輯運(yùn)算來(lái)預(yù)測(cè)是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘。
[0055]此外,在一個(gè)實(shí)施例中,加法器還包括選擇器,其以當(dāng)前態(tài)Cout — Present和保留態(tài)Cout — Preserved為輸入,以進(jìn)位選擇信號(hào)Carry — sel為選擇端,當(dāng)無(wú)進(jìn)位傳播時(shí),選擇端控制選擇當(dāng)前態(tài)Cout — Present進(jìn)行輸出,當(dāng)有進(jìn)位傳播時(shí),在第一個(gè)時(shí)鐘里以保留態(tài)Cout — Preserved作為加法器FAi的進(jìn)位信號(hào)進(jìn)行輸出,在當(dāng)前態(tài)Cout — Present穩(wěn)定后,延時(shí)預(yù)測(cè)單元基于轉(zhuǎn)移態(tài)CompSignal來(lái)判斷以保留態(tài)Cout — Preserved作為加法器FAi的進(jìn)位信號(hào)的預(yù)測(cè)是否準(zhǔn)確,如果準(zhǔn)確,計(jì)算照常進(jìn)行,如果不準(zhǔn)確,則選擇所述進(jìn)位信號(hào)的當(dāng)前態(tài)Cout —Present作為輸出,同時(shí),延時(shí)預(yù)測(cè)單元發(fā)出啟用延時(shí)的信號(hào),并給運(yùn)算操作分配額外的時(shí)鐘以重新進(jìn)行運(yùn)算。
[0056]下面以32比特串行加法器為例來(lái)更詳細(xì)地描述本發(fā)明。
[0057]如圖3所示,顯示了基于數(shù)據(jù)當(dāng)前態(tài)和轉(zhuǎn)移態(tài)的可變延時(shí)加法器PTSP。在該加法器中,i為13,η取0,1,2,3,4。因此,預(yù)測(cè)單元的輸入信號(hào)為當(dāng)前的輸入信號(hào)A13, A14, A15,A16, A17,和 B13, B14, B15, B16, B17,同時(shí)包括 I 比特轉(zhuǎn)移態(tài) CompSignal。轉(zhuǎn)移態(tài) CompSignal 是由第12個(gè)全加器FA12的進(jìn)位輸出信號(hào)經(jīng)過(guò)I比特觸發(fā)器后與原始信號(hào)相比較得到的。在本實(shí)施例中,延時(shí)預(yù)測(cè)單元輸出單比特信號(hào)Enable和Carry_Tmp,前者用來(lái)鎖定輸出和輸出寄存器,后者用來(lái)選擇傳送給全加器FA13的進(jìn)位信號(hào)。這里,可稱單比特信號(hào)Enable為鎖存信號(hào)。
[0058]當(dāng)(An十B1QΠ...Π〔Α17φΒ17〕=0時(shí),表示當(dāng)前的輸入信號(hào)沒(méi)有在第13至17位形成進(jìn)位傳播的情況。此時(shí),加法器的關(guān)鍵路徑被打成兩段,Enable和Carry_Tmp信號(hào)被置為高電平,傳送給FA13的進(jìn)位信號(hào)是當(dāng)前的FA12的輸出進(jìn)位信號(hào)Cout_PreSent,在一個(gè)時(shí)鐘內(nèi)整個(gè)計(jì)算得以完成。
[0059]當(dāng)(Α_π十B 1.0 Π...Π (Al 7十BI7)=I時(shí),Carry_Tmp被置為低電平,F(xiàn)A13的進(jìn)位信號(hào)
選擇前一狀態(tài)遺留下來(lái)的進(jìn)位信號(hào)Cout_Preserved。即,此時(shí)對(duì)進(jìn)位信號(hào)進(jìn)行猜測(cè)。在第一時(shí)鐘周期中,由于Cout_Preserved信號(hào)處于穩(wěn)定狀態(tài),因此,整個(gè)加法器同樣在第12位處被打成兩段,一個(gè)時(shí)鐘的時(shí)間內(nèi)前后兩段加法可以穩(wěn)定計(jì)算出來(lái)。在第一個(gè)時(shí)鐘末尾,新的Cout_Present會(huì)穩(wěn)定下來(lái),此時(shí)如果CompSignal信號(hào)為低電平,則表示在第一個(gè)時(shí)鐘的猜測(cè)正確,在這一情況下,Enable置為高電平,整個(gè)計(jì)算不需要重新計(jì)算,一個(gè)時(shí)鐘就可以得出正確結(jié)果。
[0060]但是,如果此時(shí)CompSignal為高電平,則表示前期的猜測(cè)是錯(cuò)誤的,此時(shí)Enable信號(hào)被置為低電平,將輸入和輸出寄存器鎖存,同時(shí)Carry_Tmp信號(hào)被置為低電平,F(xiàn)A13獲得當(dāng)前正確的進(jìn)位輸入信號(hào),如此整個(gè)計(jì)算需要一個(gè)額外的時(shí)鐘周期才能正確計(jì)算完畢。[0061 ] 相比較于ECIP加法器,本發(fā)明不僅考慮了輸入數(shù)據(jù)當(dāng)前態(tài)對(duì)關(guān)鍵路徑的激發(fā),同時(shí)考慮了進(jìn)位位的保留態(tài)。在ECIP電路結(jié)構(gòu)中,如果預(yù)測(cè)單元檢測(cè)到進(jìn)位傳播的狀態(tài),電路就會(huì)認(rèn)為當(dāng)前數(shù)據(jù)的運(yùn)算需要兩個(gè)時(shí)鐘周期。顯然這一作法在實(shí)際運(yùn)算中并不合適,會(huì)造成一定程度上的時(shí)鐘冗余。
[0062]如圖4所示,如果不考慮計(jì)算的連續(xù)性,按照ECIP的電路結(jié)構(gòu),第二次運(yùn)算一定會(huì)被延時(shí)預(yù)測(cè)單元認(rèn)定為長(zhǎng)關(guān)鍵路徑激發(fā)態(tài),從而會(huì)分配兩個(gè)時(shí)鐘給整個(gè)加法器。
[0063]但是,如果考慮運(yùn)算的連續(xù)性,則第二次運(yùn)算雖然具有進(jìn)位傳播的特點(diǎn),但是由于第一次運(yùn)算穩(wěn)定后,其進(jìn)位比特值與第二次運(yùn)算結(jié)果恰好相等。因此在實(shí)際運(yùn)算中,第二次運(yùn)算只需要一個(gè)時(shí)鐘就可以得到正確結(jié)果。本發(fā)明就是利用了這一現(xiàn)象,將進(jìn)位比特通過(guò)寄存器保留后,對(duì)已經(jīng)激發(fā)長(zhǎng)關(guān)鍵路徑的運(yùn)算做進(jìn)一步預(yù)測(cè),消除了部分時(shí)鐘冗余,從而使得加法器在計(jì)算一定量數(shù)據(jù)的前提下消耗更低的能量。
[0064]圖5是延時(shí)預(yù)測(cè)單元中產(chǎn)生進(jìn)位選擇信號(hào)Carry_Sel的具體電路結(jié)構(gòu),這一結(jié)構(gòu)在整個(gè)加法器的實(shí)現(xiàn)中有重要的作用。
[0065]本加法器電路結(jié)構(gòu)在延時(shí)預(yù)測(cè)單元的構(gòu)成上同時(shí)考慮了輸入數(shù)據(jù)的當(dāng)前態(tài)和轉(zhuǎn)移態(tài)。新的結(jié)構(gòu)去除了實(shí)際運(yùn)算中由于數(shù)據(jù)之間的相關(guān)性而產(chǎn)生的冗余時(shí)鐘開銷。當(dāng)所處理的輸入數(shù)據(jù)變化較為緩慢時(shí),如計(jì)算來(lái)自溫度傳感網(wǎng)所采集的數(shù)據(jù),由于輸入數(shù)據(jù)之間在這一情況下具有更為強(qiáng)烈的相關(guān)性,因此通過(guò)本發(fā)明所消除的時(shí)鐘冗余會(huì)更多,消耗的能量將更低。同時(shí),在ECIP電路結(jié)構(gòu)中,為了保證長(zhǎng)關(guān)鍵路徑的激發(fā)概率保持在較小的范圍,至少有5個(gè)全加器的輸入被送入預(yù)測(cè)模塊。這一約束使得ECIP電路結(jié)構(gòu)在設(shè)計(jì)短比特加法器時(shí)越到較大困難,即過(guò)長(zhǎng)的預(yù)測(cè)比特使得電壓降低或頻率提升的幅度有限。在本發(fā)明中,由于考慮了轉(zhuǎn)移態(tài)這一因素,使得送入延時(shí)預(yù)測(cè)單元的全加器個(gè)數(shù)減小到3個(gè)或3個(gè)以下,為設(shè)計(jì)短比特加法器提供了良好的策略,使其電壓降低或頻率提升幅度有進(jìn)一步提聞。
[0066]根據(jù)本發(fā)明的特點(diǎn),可將其命名為PTSP (Present and Transitional StatePrediction,簡(jiǎn)稱為PTSP)加法器。為了比較本發(fā)明所提出的低功耗可變延時(shí)加法器相對(duì)于傳統(tǒng)串行加法器和ECIP加法器的性能特點(diǎn),我們采用了 SMIC65nm工藝,使用電路仿真工具HSPICE對(duì)三種不同電路結(jié)構(gòu)進(jìn)行了仿真比較和分析。
[0067]表1為仿真的具體環(huán)境和相關(guān)參數(shù)。在仿真測(cè)試中,我們比較了傳統(tǒng)串行加法器,ECIP加法器和本發(fā)明的PTSP加法器。在測(cè)試中,首先采用Matlab生成隨機(jī)輸入數(shù)據(jù),然后通過(guò)仿真工具HSPICE測(cè)量功耗和能量。
[0068]表1仿真環(huán)境和相關(guān)參數(shù)
[0069]
【權(quán)利要求】
1.一種可變延時(shí)預(yù)測(cè)方法,其特征在于,包括以下步驟: 5101、輸入待執(zhí)行加法運(yùn)算的操作數(shù)(A,B)中的第i至第i+ η位以及轉(zhuǎn)移態(tài)(CompSignal),其中,所述轉(zhuǎn)移態(tài)(CompSignal)為所述操作數(shù)中第i 一 I位對(duì)應(yīng)的加法器輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)(Cout — Present)與所述進(jìn)位信號(hào)的保留態(tài)(Cout — Preserved)比較的結(jié)果; 5102、根據(jù)對(duì)第i至第i+ η位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)(Α,B)是否存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況; 5103、基于所述轉(zhuǎn)移態(tài)(CompSignal)和部分當(dāng)前操作數(shù)(Α,B)產(chǎn)生的使能信號(hào)來(lái)決定是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘,同時(shí)產(chǎn)生進(jìn)位選擇信號(hào)(Carry — sel)來(lái)確定傳播給當(dāng)前操作數(shù)(A,B)中的第i位對(duì)應(yīng)的加法器的進(jìn)位值。
2.如權(quán)利要求1所述的可變延時(shí)預(yù)測(cè)方法,其特征在于,當(dāng)不存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況時(shí),選擇所述當(dāng)前態(tài)(Cout —Present)作為第i個(gè)加法器的進(jìn)位輸入,然后將加法器執(zhí)行運(yùn)算的關(guān)鍵路徑從第i 一 I位處開始分成兩段進(jìn)行。
3.如權(quán)利要求1所述的可變延時(shí)預(yù)測(cè)方法,其特征在于,當(dāng)存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況時(shí),對(duì)所述當(dāng)前態(tài)(Cout — Present)進(jìn)行預(yù)測(cè),并采用預(yù)測(cè)的進(jìn)位信號(hào)作為第i個(gè)加法器的進(jìn)位輸入,然后將加法器執(zhí)行運(yùn)算的關(guān)鍵路徑從第i 一 I位處開始分成兩段進(jìn)行。
4.如權(quán)利要求3所述的可變延時(shí)預(yù)測(cè)方法,其特征在于,所述預(yù)測(cè)的進(jìn)位信號(hào)為第i一I位進(jìn)位信號(hào)的保留態(tài)(Cout — Preserved)。
5.如權(quán)利要求4所述的可變延時(shí)預(yù)測(cè)方法,其特征在于,在所述當(dāng)前態(tài)(Cout—Present)穩(wěn)定時(shí),比較所述 預(yù)測(cè)的進(jìn)位信號(hào)與所述當(dāng)前態(tài)(Cout — Present)以確定預(yù)測(cè)是否準(zhǔn)確,如果是,則不啟用延時(shí),如果預(yù)測(cè)不準(zhǔn)確,則啟用延時(shí),給運(yùn)算操作分配額外的時(shí)鐘以重新進(jìn)行運(yùn)算。
6.如權(quán)利要求5所述的可變延時(shí)預(yù)測(cè)方法,其特征在于,給運(yùn)算操作分配額外的時(shí)鐘包括鎖存輸入寄存器和輸出寄存器額外的時(shí)鐘。
7.如權(quán)利要求1所述的可變延時(shí)預(yù)測(cè)方法,其特征在于,在步驟S102中,如果所述操作數(shù)(A,B)對(duì)應(yīng)的第i至第i + η位全部不同,則會(huì)出現(xiàn)進(jìn)位傳播,所進(jìn)行的邏輯運(yùn)算為:(A, ? B,)門…門(Ah11 ? Bh.η)。
8.一種基于預(yù)測(cè)的可變延時(shí)加法器,其特征在于,包括: M個(gè)加法運(yùn)算單元(FAm),用于接收操作數(shù)輸入并進(jìn)行加法運(yùn)算輸出; 寄存器單元,以加法器FAp1輸出的進(jìn)位信號(hào)為輸入以產(chǎn)生所述進(jìn)位信號(hào)的保留態(tài)(Cout — Preserved); 比較單元,對(duì)加法器FAp1輸出的進(jìn)位信號(hào)的當(dāng)前態(tài)(Cout —Present)與所述保留態(tài)(Cout — Preserved)進(jìn)行比較以產(chǎn)生轉(zhuǎn)移態(tài)(CompSignal); 延時(shí)預(yù)測(cè)單元,將操作數(shù)中的第i至第i + η位以及所述轉(zhuǎn)移態(tài)(CompSignal)作為輸入,根據(jù)對(duì)第i至第i十η位進(jìn)行的邏輯運(yùn)算判斷當(dāng)前操作數(shù)是否存在長(zhǎng)關(guān)鍵路徑被激發(fā)的情況并輸出進(jìn)位選擇信號(hào)(Carry — sel),然后,基于所述轉(zhuǎn)移態(tài)(CompSignal)和部分當(dāng)前操作數(shù)(A,B)所組成的異或函數(shù)來(lái)預(yù)測(cè)是否給待執(zhí)行加法運(yùn)算分配額外的時(shí)鐘。
9.如權(quán)利要求8所述的可變延時(shí)加法器,其特征在于,還包括:選擇器,其以所述當(dāng)前態(tài)(Cout — Present)和所述保留態(tài)(Cout — Preserved)為輸入,以所述進(jìn)位選擇信號(hào)(Carry — sel)為選擇端, 當(dāng)長(zhǎng)關(guān)鍵路徑未被激發(fā)時(shí),所述選擇端控制選擇所述當(dāng)前態(tài)(Cout — Present)進(jìn)行輸出, 當(dāng)長(zhǎng)關(guān)鍵路徑被激發(fā)時(shí),在第一個(gè)時(shí)鐘里以所述保留態(tài)(Cout — Preserved)作為加法器進(jìn)位信號(hào)進(jìn)行輸出, 在所述當(dāng)前態(tài)(Cout — Present)穩(wěn)定后,所述延時(shí)預(yù)測(cè)單元基于轉(zhuǎn)移態(tài)(CompSignal)來(lái)判斷以所述保留態(tài)(Cout —Preserved)作為加法器FAi的進(jìn)位信號(hào)的預(yù)測(cè)是否準(zhǔn)確,如果準(zhǔn)確,計(jì)算照常進(jìn)行,如果不準(zhǔn)確,則選擇所述進(jìn)位信號(hào)的當(dāng)前態(tài)(Cout — Present)作為輸出,同時(shí),所述延時(shí)預(yù)測(cè)單元發(fā)出啟用延時(shí)的信號(hào),并給運(yùn)算操作分配額外的時(shí)鐘以重新進(jìn)行運(yùn)算。
【文檔編號(hào)】G06F7/50GK103488457SQ201310446397
【公開日】2014年1月1日 申請(qǐng)日期:2013年9月26日 優(yōu)先權(quán)日:2013年9月26日
【發(fā)明者】楊興華, 喬飛, 楊華中 申請(qǐng)人:清華大學(xué)