劉蓉
(揚州大學物理科學與技術(shù)學院,江蘇 揚州225002)
在現(xiàn)代超大規(guī)模集成(VLSI)技術(shù)中,高速性能是最重要特性之一。通過在超大規(guī)模集成電路設計中引入高速算法,可以做到在數(shù)據(jù)處理中是非常小的延遲。一般高性能集成電路的特點是它們工作時的時鐘頻率較高。因此,高速設計可以提高各設計階段的性能。時鐘信號由同步性元件執(zhí)行,如觸發(fā)器(FF)或鎖存器,其如何操作取決于所應用的時鐘脈沖。在實際計算的系統(tǒng)中可能存在兩種計時錯誤,即保持時間違例和設置時間違例。當輸入信號在時鐘主動轉(zhuǎn)換后變化太快時,就會發(fā)生時間步長的計算錯誤。在設定時間誤差時,信號到達太晚,錯過了應該提前的時間。信號到達時間的變化有很多原因,是輸入數(shù)據(jù)的變化、電路的不同操作、溫度和電壓的變化以及設計中各個部分的特性參數(shù)差異導致的。
人們曾多次嘗試利用混沌現(xiàn)象產(chǎn)生隨機數(shù),尤其采用一維混沌映射來設計出各種類型的混沌序列。在蒙特卡羅模擬中,隨機數(shù)的產(chǎn)生是最重要的環(huán)節(jié)。此外,為了提高蒙特卡羅模擬的準確性,我們需要周期很長的隨機數(shù),最好是無限周期的物理隨機數(shù)。產(chǎn)生具有特定統(tǒng)計性質(zhì)的非周期隨機數(shù)的方法之一是后處理物理隨機數(shù)或模擬混沌電路產(chǎn)生的非周期隨機數(shù)。例如,我們提出了使用LFSR(線性反饋移位寄存器)生成相關二進制序列的后處理方法,其中利用了混沌理論的伯努利映射。然而,這種基于LFSR 的后處理生成的二進序列的自相關函數(shù)并不是指數(shù)消失的,即它們不是馬爾科夫二進序列。
HM-FF 觸發(fā)器的單時鐘脈沖基于掃描寄存器,使用3 個復用器組成D-FF,如圖1 所示。
圖1 保持模式觸發(fā)器
圖2 無保持模式觸發(fā)器
與D-FF 等其他觸發(fā)器相比,具有保持模式(HM-FF)的單時鐘脈沖多一個輸入和一個輸出。除了時鐘和Din (數(shù)據(jù)輸入),scan-enable(scen)存在。Scan-output (Sout)是額外添加的輸出。內(nèi)部邏輯提供以保持模式運行的寄存器,它可以繞過寄存器直接驅(qū)動(Scin)的值。
而無保持模式單時鐘脈沖(WHMFF) 觸發(fā)器基于掃描寄存器,使用2 個多路復用器形成D-FF,如圖2 所示。與傳統(tǒng)的D-FF 相比,單時鐘脈沖無保持模式(WHMFF)觸發(fā)器多一個輸入和一個輸出。除了時鐘和Din (Data in),還有scan-enable(Scen)。Scan-output (Sout)是額外添加的輸出。它被用來減少保持模式(HM)觸發(fā)器的單時鐘脈沖的面積。
采用單時鐘脈沖保持模式(HM-FF)觸發(fā)器可以構(gòu)造串行輸入串行輸出(SISO)移位寄存器。這種類型的移位寄存器串行地接收數(shù)據(jù),即一次接收一位數(shù)據(jù),并在其輸出上串行地產(chǎn)生存儲的信息。這里,四個具有保持模式(HM-FF)觸發(fā)器的單時鐘脈沖級聯(lián)。由于每個HM- FF 只能存儲一位,寄存器最多可以存儲四位。更多的觸發(fā)器可以級聯(lián)存儲超過4 位。時鐘在一個時間內(nèi)應用于所有觸發(fā)器同步計時。另外還有一個信號叫掃描使能信號,它有兩行選擇信號,掃描使能信號選擇輸出信號。使用Scan enable 的主要優(yōu)點是它在一個時間內(nèi)只選擇特定的輸出,從而減少了定時延遲。
雖然鎖存可以用來替換FFs,但由于其寬透明窗口,出現(xiàn)了定時限制。因此,PL RFs 可以在FF 和latch RFs 之間提供最佳的折衷,因為它們的定時模型接近FFs,同時它們消耗更少的面積和電力。唯一額外的開銷是增加脈沖發(fā)生器。然而,這個開銷很小,因為相同的脈沖將在相同寄存器的鎖存器之間共享。此外,由于脈沖電路控制鎖存的透明度,它可以取代FF RFs 寫入邏輯所需的時鐘門控單元。
利用Xilinx Virtex 6 低功耗系列,對采用D-FF、單時鐘脈沖保持模式 (HM-FF) 觸發(fā)器和單時鐘脈沖無保持模式(WHM-FF)觸發(fā)器的移位寄存器進行靜態(tài)時序分析比較。從設計中得到的延遲比較如下。
圖3 觸發(fā)器的延遲比較圖
使用UMC 28nm 技術(shù)實現(xiàn)了具有不同寄存器數(shù)目的普通32 位射頻。由于SRAM 的位元是用最小的尺寸設計的,由標準單元組成的存儲單元預計會大得多。然而,對于小尺寸的RFs,SRAM 外圍電路的區(qū)域開銷可能非常大。比較不同的實現(xiàn),基于PL 的RFs 的面積總是比對應的FF 要小20%以上。與SRAM 相比,區(qū)域上的差異將取決于寄存器的數(shù)量。對于32 字RF, PL RF 的面積比SRAM 高出17%。
假設我們有如圖3 所示的具有正或負自相關的非周期隨機二進制序列,將其輸入到所提出的后處理電路中。目標是(p1,p2) =(1/4,1/4)和(p1,p2) =(3/4,3/4)的2 態(tài)馬爾可夫源。
二值序列后處理后的自相關函數(shù),在這些k = 4 的情況下,我們發(fā)現(xiàn)一些較大的誤差。另一方面在k = 10 的情況下,我們找不到這樣的誤差。為了研究誤差與k 之間的關系,我們使用自相關函數(shù)與相應的理論自相關函數(shù)MSE。
與傳統(tǒng)寄存器方案相比,多端口RFs 是超標量微處理器的關鍵部件。然而,隨著端口數(shù)量的增加,面積和功耗都顯著增加。多端口sram 的直接實現(xiàn)方式是增加更多的接入晶體管。因此,位單元需要更大的尺寸。加上多余的字行和位行布線,內(nèi)存大小可以隨端口的總數(shù)呈二次增長。為了減少面積,使用了兩種技術(shù):時間多路復用和陣列復制。在時間多路復用中,同一個端口可以在同一個時鐘周期內(nèi)被訪問多次。在數(shù)組復制中,內(nèi)存數(shù)組被復制到兩個或多個銀行,每個銀行都有一些讀端口,同時共享相同的寫端口。類似地,標準單元RFs 可以擴展為具有多個讀和寫端口。
由于PL 操作依賴于使用脈沖發(fā)生器,這些脈沖發(fā)生器可以在相同的時鐘周期內(nèi)多次訪問相同的寄存器。此外,還可以將其他脈沖發(fā)生器分組,對讀或?qū)戇^程執(zhí)行一些必要的控制操作。這將導致?lián)碛幸粋€具有許多虛擬端口的RF,這些虛擬端口由數(shù)量少得多的物理端口生成,使用一些控制邏輯用于讀和寫端口。在這些控制邏輯中,除了保存一些中間數(shù)據(jù)如內(nèi)部讀寫地址和數(shù)據(jù)外,還使用不同的脈沖組來產(chǎn)生所需的控制信號。
在本文中簡要地研究了不同的寄存器文件實現(xiàn),比較了用SRAM 和觸發(fā)器實現(xiàn)1R1W 寄存器文件的傳統(tǒng)方法,提出了一種適用于小尺寸寄存器文件的脈沖鎖存實現(xiàn)及基于動態(tài)MCML三態(tài)緩沖區(qū)的動態(tài)寄存器。對所提出的寄存器的檢查表明,在存在時鐘重疊時所提出的寄存器的行為會發(fā)生偏差,因此提出了兩種處理方法。為了實現(xiàn)高速設計,討論了不同的觸發(fā)器和移位寄存器。提出了利用單時鐘脈沖保持模式(HM-FF)觸發(fā)器、無保持模式(WHM-FF)觸發(fā)器和移位寄存器實現(xiàn)D-FF 的各種實現(xiàn)方法。比較了各模型靜態(tài)時序分析的各個方面。該方法針對Xilinx Virtex 6 族,在速度上有一定的提高。與現(xiàn)有方法相比,該方法可減少41.9%的延遲。仿真結(jié)果表明,當k 足夠大時,所提出的后處理電路可以產(chǎn)生馬爾可夫二值序列。此外,簡要討論了多端口寄存器的文件結(jié)構(gòu),并介紹了一種新的脈沖鎖存器實現(xiàn)。與其他實現(xiàn)相比,提出的虛擬端口實現(xiàn)在面積和電力方面都有巨大的節(jié)省。