<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于SRAM編程技術(shù)的PLD核心可重構電路結構設計

基于SRAM編程技術(shù)的PLD核心可重構電路結構設計

作者: 時(shí)間:2007-10-11 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:C相對于FPGA更適合實(shí)現時(shí)序邏輯較少而組合邏輯相對復雜的功能,比如復雜的狀態(tài)機和譯碼電路等。C的EEPROM不適合動(dòng)態(tài)可重構的應用。本文針對 C可編程結構:P-Term和可編程互連線(xiàn),采用2.5V、0.25μmCMOS工藝設計了功能相近的基于的可重構電路結構。新的電路結構可以通過(guò)可編程方式有效控制功耗和速度的折衷,并且相對于傳統的CPLD互聯(lián)結構減少了50%的編程數據。在動(dòng)態(tài)可重構系統中,采用上述新結構的PLD相對于FPGA可以更有效地實(shí)現可重構的復雜狀態(tài)機和譯碼電路等應用。
關(guān)鍵詞:CPLD;FPGA;P-Term;可編程互連線(xiàn);可重構技術(shù)

八十年代中期,高密度可編程邏輯器件(Programmable Logic Device,簡(jiǎn)稱(chēng)PLD)的出現開(kāi)辟了一種數字邏輯電路實(shí)現的新方式。高密度的PLD可以分成兩大類(lèi):復雜可編程邏輯器件(Complex Programmable Logic Device,簡(jiǎn)稱(chēng)CPLD)和現場(chǎng)可編程門(mén)陣列(Field Programmable GateArray,簡(jiǎn)稱(chēng)FPGA),主要基于三種:有限編程次數(一般數百次到上萬(wàn)次)的EEPROM(電可擦除只讀存儲器)、無(wú)限編程次數的 (靜態(tài)隨機存儲器)和僅可編程一次的Antifuse(反熔絲)。當前,主流的CPLD都是采用基于EEPROM的乘積項(Product Term,簡(jiǎn)稱(chēng)P-Term)結構,而主流的FPGA則采用基于的查找表(Look-up Table,簡(jiǎn)稱(chēng)LUT)結構和基于A(yíng)ntifuse的多路開(kāi)關(guān)單元結構。其中,基于SRAM的FPGA由于可以在系統中重構甚至動(dòng)態(tài)重構,所以應用靈活性最大。

近十年來(lái)興起的可重構技術(shù)起源于FPGA可編程結構的思想。該技術(shù)在應用中可以獲得很好的速度和靈活性之間的折衷,填補了傳統的軟、硬件應用實(shí)現方案之間的空白??芍貥嫾夹g(shù)是指利用具有硬件可重構結構的電路構建系統來(lái)滿(mǎn)足較寬范圍應用的實(shí)現技術(shù)。采用FPGA作為重構系統的既可以大大縮短系統開(kāi)發(fā)時(shí)間,又可以獲得很高的靈活性以節約資源。FPGA中含有大量的觸發(fā)器(多達上千個(gè))和結構靈活的LUT,適合實(shí)現細顆粒度的且基于流水線(xiàn)的通用計算。對于可重構多總線(xiàn)控制和網(wǎng)絡(luò )中數據包相關(guān)的不同協(xié)議處理等應用,需要時(shí)時(shí)變換的譯碼和控制。重構系統在完成上述應用時(shí),需要可以動(dòng)態(tài)重構的復雜狀態(tài)機和譯碼電路。由于這些電路中組合邏輯復雜且輸入數目大而觸發(fā)器很少,因此,用FPGA實(shí)現會(huì )造成單元中觸發(fā)器大量浪費,而且利用多個(gè)LUT的級連實(shí)現大輸入的組合邏輯,會(huì )使性能大大降低,難以滿(mǎn)足速度上的要求。

CPLD的結構非常適于實(shí)現上述邏輯功能。但是,CPLD的EEPROM編程速度低且編程次數有限又不適合要求快速頻繁重構的動(dòng)態(tài)重構系統的應用。

顯然,設計基于SRAM編程技術(shù)的CPLD可以很好解決上述應用問(wèn)題。CPLD的設計和實(shí)現的關(guān)鍵問(wèn)題是可編程電路結構的實(shí)現。因此,本文主要探討針對CPLD的核心可編程結構,如何設計具有相似功能且基于SRAM編程技術(shù)的電路結構,從而更好滿(mǎn)足動(dòng)態(tài)重構系統中實(shí)現復雜狀態(tài)機和譯碼電路的應用。

CPLD的核心可編程結構介紹

CPLD由若干宏單元和可編程互連線(xiàn)構成。每個(gè)宏單元包括5個(gè)乘積項、1個(gè)異或門(mén)、1個(gè)5輸入或門(mén)和1個(gè)觸發(fā)器。乘積項是宏單元的核心可編程結構,可以靈活實(shí)現大輸入數目寬與門(mén)功能。如圖1a所示,P-Term是一個(gè)由EEPROM晶體管構成的陣列。該陣列中每個(gè)EEPROM晶體管相當于一個(gè)可編程開(kāi)關(guān),編程之后,處于“開(kāi)”狀態(tài)的EEP2ROM晶體管同普通晶體管一樣,受柵極輸入控制充當寬與門(mén)的下拉開(kāi)關(guān),而處于“關(guān)”狀態(tài)的EEP2ROM晶體管是斷路,柵極的輸入對寬與門(mén)無(wú)貢獻。這樣,P-Term所實(shí)現的邏輯功能可由式(1)給出:


(a) 基于EEPROM的可編程寬與門(mén)結構

(b) MAX7000中的PIA可編程結構

圖1 電路結構圖

式(1)中,C1~Cn對應圖1(a)中的n個(gè)EEPROM晶體管編程后所處的狀態(tài)。當第i(i=1~n)個(gè)位置的EEPROM晶體管開(kāi)時(shí),Ci為0,反之,Ci為1。當前,主流的CPLD全部采用這種結構,比如Altera公司的MAX7000系列和MAX9000系列、Xilinx公司的XC9500系列以及Lattice公司的ispLSI系列等。

可編程互連線(xiàn)是CPLD中另一個(gè)核心可編程結構。該結構是包含大量可編程開(kāi)關(guān)的互連網(wǎng)絡(luò ),提供芯片的I/O引腳和宏單元的輸入輸出之間的靈活互連。具有固定的延時(shí)是CPLD中可編程互連線(xiàn)的最顯著(zhù)特點(diǎn)。不同于FPGA的分段式可編程互連方式,CPLD結構采用全局式的可編程互連網(wǎng)絡(luò )來(lái)集中分配互連線(xiàn)資源,這樣可以使連線(xiàn)路徑的起點(diǎn)到終點(diǎn)延時(shí)固定。而FPGA中連線(xiàn)路徑的起點(diǎn)到終點(diǎn)之間經(jīng)過(guò)的分段連線(xiàn)數目不固定,因此延時(shí)也是不固定的。相比之下,CPLD在實(shí)現較復雜的組合邏輯時(shí)可以消除信號之間的歪斜,更容易消除競爭冒險現象。目前,主流的CPLD全部采用連續式互連線(xiàn)結構,比如MAX7000中的PIA 結構和XC9500中的FastCONNECT結構。圖1(b)給出了MAX7000中PIA的邏輯結構。該結構中,每個(gè)編程節點(diǎn)的EEPROM晶體管控制2輸入與門(mén)的1個(gè)輸入端來(lái)決定另一輸入端信號的取舍。

綜上所述,CPLD的核心可編程結構是P-Term和具有固定延時(shí)的可編程互連線(xiàn)結構。

基于SRAM編程技術(shù)的PLD電路結構設計

針對CPLD的核心可編程結構――P-Term和具有固定延時(shí)的可編程互連線(xiàn),設計了基于SRAM編程技術(shù)的新電路結構,下面做詳細介紹。

SRAM編程單元的電路結構設計
基于SRAM的編程技術(shù)是將PLD的每一位配置數據相應存儲在SRAM單元中。如圖2a所示,


(a) SRAM編程單元結構

(b) SRAM單元的Hspice仿真結果

圖2 電路結構與仿真結果圖

本設計采用5管單元的SRAM結構。該結構由2個(gè)CMOS反向器組成環(huán)路形成雙穩態(tài)。不同于普通的SRAM,PLD的SRAM編程單元不需要讀出功能,僅需寫(xiě)入的字線(xiàn)和位線(xiàn)。圖2(a)中的輸出信號Q和Qn直接控制晶體管開(kāi)或關(guān)來(lái)完成可編程的功能。這種結構設計的關(guān)鍵之處在于選擇適當的晶體管尺寸以保證當字線(xiàn)選通位線(xiàn)時(shí),data信號的正常邏輯值可以改變單元的狀態(tài)。因此,本設計確定字線(xiàn)控制的晶體管和反向器A具有較強的驅動(dòng)能力,而反向器B的驅動(dòng)能力較弱,適當調節晶體管的寬長(cháng)比,以保證編程數據的快速寫(xiě)入。圖2(b)給出了本設計中SRAM單元的Hspice仿真結果(基于2.5V、0.25μmCMOS工藝庫的模型參數,后面的仿真結果都是基于這個(gè)工藝庫),圖中a和b兩條曲線(xiàn)分別代表信號Q和Qn。圖2(b)中的(1)和(2)圖分別表示Q和Qn在寫(xiě)入高電平(單元中存儲的是低電平)和低電平(單元中存儲的是高電平)時(shí)的變化情況。從圖中可以看出,寫(xiě)入的最大延時(shí)約為650ps,發(fā)生在寫(xiě)入高電平時(shí)。這樣,該結構完全可以滿(mǎn)足高速重構的配置速度要求。

基于SRAM編程技術(shù)的P-Term電路結構設計
基于SRAM的P-Term結構的設計核心是可編程寬與門(mén)的結構設計,即設計能夠實(shí)現式(1)功能的結構。理論上,實(shí)現式(1)功能的結構有很多,比如采用靜態(tài)CMOS邏輯門(mén)或傳輸門(mén)構成的邏輯,但是P-Term的輸入數目巨大,可達88個(gè)輸入,這樣,采用上述結構在電路面積和性能上根本無(wú)法接受。而采用類(lèi)NMOS電路結構在面積和性能上可以獲得很好的效果,但是這種電路在輸出低電平時(shí)存在電源到地的直流通路,存在靜態(tài)功耗,而且輸出低電平不是0,而決定于上拉和下拉倒通電阻的分壓比??梢?jiàn),這種電路的設計重點(diǎn)在于上拉結構的設計。本文設計的基于SRAM的可編程寬與門(mén)電路結構就是以類(lèi)NMOS結構為基礎的,采用可編程上拉結構控制功耗和性能的折衷。

本文設計的電路結構如圖3(a)所示,輸入個(gè)數n=88。采用NMOS晶體管構成下拉網(wǎng)絡(luò ),對應每一個(gè)輸入的下拉結構是輸入控制的NMOS管串聯(lián)SRAM 控制的NMOS管。SRAM中的編程數據控制對應晶體管的開(kāi)關(guān)來(lái)決定相應的與門(mén)輸入的取舍。輸出采用2個(gè)反向器構成緩沖,解決類(lèi)NMOS電路輸出低電平不是0的問(wèn)題??删幊痰纳侠Y構由a、b、c三個(gè)PMOS管并聯(lián)構成,其中PMOS管c常通,a和b受SRAM編程控制開(kāi)或關(guān)。這樣,該結構在SRAMa和 SRAMb的編程控制下,具有三種不同的速度和功耗模式:高速高功耗(PMOS管a和b都通)、中速而功耗中等(a通而b不通)和低速低功耗(a、b都不通)。由于三個(gè)PMOS管的導通電阻要比下拉NMOS管的大很多,本結構的關(guān)鍵路徑是圖中虛線(xiàn)表示的高電平充電路徑。

在上述三種工作模式下,關(guān)鍵路徑的Hspice仿真結果如圖3(b)所示,其中(1)、(2)和(3)圖分別表示三種模式下,輸入信號由高電平到低電平的變化導致輸出Pout由低電平到高電平的變化情況,曲線(xiàn)a為輸入信號,b為輸出信號Pout。在高速模式下,關(guān)鍵路徑延時(shí)約為1 .2ns,但電源到地的靜態(tài)電流也達到了56μA;在中速模式下,關(guān)鍵路徑延時(shí)約為2.2ns,靜態(tài)電流為29μA;在低功耗模式下,關(guān)鍵路徑延時(shí)約為 4ns,靜態(tài)電流僅為14μA。


(a) 基于SRAM的可編程寬與門(mén)電路結構

(b) 寬與門(mén)關(guān)鍵路徑的Hspice仿真結果

圖3 電路結構與仿真結果圖

基于SRAM編程技術(shù)的可編程互連線(xiàn)電路結構設計
CPLD中可編程互連線(xiàn)的作用是集中分配輸入信號以固定延時(shí)輸出到宏單元的輸入端(P- Term的輸入端)。本文所設計的可編程互連線(xiàn)是由結構完全相同的可編程連線(xiàn)單元組成的二維陣列??删幊踢B線(xiàn)單元之間不存在互連關(guān)系,每個(gè)單元的輸入信號直接來(lái)自于輸入總線(xiàn),輸出信號直接到宏單元,這樣可以保證延時(shí)固定。因此,這種結構的設計實(shí)質(zhì)上是可編程連線(xiàn)單元的結構設計。

本文設計的基于SRAM的可編程連線(xiàn)單元結構如圖4(a)所示。該結構的作用是在8條輸入線(xiàn)中選擇1條或者都不選而僅選擇低電平輸出,然后將選擇的輸出變成正反兩個(gè)信號輸出到宏單元中P-Term的輸入端。核心結構是SRAM控制的多路選擇器,其中的SRAM編程控制位SRAM1~SRAM3

(a) 基于SRAM的可編程互連單元電路結構

(b) 可編程互連單元關(guān)鍵路徑的Hspice仿真結果

圖4 電路結構與仿真結果圖

控制多路選擇器實(shí)現8選1的連線(xiàn)狀態(tài),而SRAM4控制開(kāi)關(guān)管實(shí)現輸出低電平。本設計僅用單NMOS管構成多路選擇器,相對于采用傳輸門(mén)的情況,每個(gè)開(kāi)關(guān)減少了1個(gè)晶體管。但是,NMOS傳送高電平存在閾值損耗,因此,在選擇適當晶體管尺寸的同時(shí),在第3、4級開(kāi)關(guān)處分別加了反向器A和B,保證輸出高電平的幅值和足夠的驅動(dòng)能力??删幊袒ミB線(xiàn)延時(shí)對PLD的速度起決定性作用。圖4 (a)中的虛線(xiàn)是本結構的關(guān)鍵路徑,圖4(b)給出了關(guān)鍵路徑的Hspice仿真結果,(1)和(2)圖分別為輸入信號上升和下降引起輸出的變化情況, a、b和c三條曲線(xiàn)分別表示輸入總線(xiàn)信號、輸出的正反信號OUT和OUTn。仿真結果表明,本結構的最大延時(shí)僅為300ps。

特別指出,本結構僅用了4bitSRAM編程就實(shí)現了MAX7000的PIA單元中1組開(kāi)關(guān)的功能,而圖1(b)中的結構需要8bitEEPROM。這樣,本結構同基于EEPROM的結構相比,減少了4bit編程數據,從而使基于本結構的可編程互連線(xiàn)的編程數據減少了50%。編程數據的減少,可以縮短器件配置的時(shí)間,提高在重構系統應用中動(dòng)態(tài)重構的效率。

結論

本文針對傳統CPLD的核心可編程結構――P-Term和可編程互連線(xiàn),采用2.5V、0.25μmCMOS工藝設計了新的、基于SRAM的可重構電路結構。本設計中的P-Term結構具有可編程的3種工作模式,可以根據需要獲得較好的速度和功耗折衷?;赟RAM的、延時(shí)固定的可編程互連線(xiàn)僅有 300ps的延時(shí)時(shí)間,可以獲得很高的速度,而且同基于EEPROM的互連線(xiàn)相比編程數據減少了50%,可獲得更短的配置時(shí)間,更適合動(dòng)態(tài)重構應用。采用上述新結構構成的PLD比FPGA更適合在可重構系統中實(shí)現復雜狀態(tài)機和譯碼電路。



關(guān)鍵詞: SRAM PLD 編程技術(shù) 核心

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>