像是智慧型手機、可攜式媒體播放器、以及全球定位系統(GPS)等手持式裝置的設計工程師不停地在研究藉由降低功率的耗損,以便延長其產品內電池使用時間的方法。複雜可編程邏輯元件(CPLD)在單一個低功率封裝當中,針對隨機邏輯(random logic)的整合以及特定的可編程功能提供了彈性。對於相當注重功率耗損的設計工程師而言,CPLD更具吸引力之處乃在於有數種“ Zero–Power ”CPLD家族能夠提供延長電池使用時間的額外特點。
可編程邏輯通常會被用來取代手持式應用裝置中隨機邏輯、控制或是小型資料路徑的執行電路。具有極低功率耗損以及小巧尺寸的CPLD很適合使用在這些應用裝置當中。由Lattice半導體以及其他供應商所開發的Zero–Power(零功耗)元件具有多項引以為傲的創新特點,能夠支援手持式裝置的設計。本文中將會重新檢視在零功耗CPLD當中,用以降低功率耗損的技術以及先進特點。
在CPLD當中降低功率耗損的技術
工程師可以有好幾種方式來架構其設計,以便降低功率耗損的方法,其中包括有降低的時脈速度、匯流排終端設備、低電壓運作、以及匯流排負載限制等等。這些設計技術可以降低整體系統的電源需求,並且延長電池的使用時間。然而即便是利用了這些減少耗電量的技術,傳統的CPLD電源需求通常還是會使其被排除在電池供電的元件之外。為了要克服這種限制,CPLD元件的生產廠商開發出了Zero -Power CPLD家族。
“Zero -Power”其實是個誤稱。就像是「零卡路里」不代表說該食物真的毫無熱量,“Zero -Power”也不代表說該元件真的不會消耗功率。“Zero -Power”真正的意思是該CPLD具有多項引以為傲的省電特點,以及被設計成能夠在多數應用裝置中大幅降低電源需求的核心邏輯。這些延伸的特點當中包括了輸入閘控以及轉換率(Slew Rate)的控制。
輸入閘控(Gating)
輸入閘控被Lattice半導體稱為“Power Guard”(不同的供應商對於這項特點有不同的名稱),它是一種將邏輯陣列與外部輸入信號的改變斷開,藉以降低CPLD運作功率的簡單方法。任何會改變狀態的邏輯都會消耗功率。當外部的激發動作沒有用途時,將其從邏輯陣列上移除就可以暫停內部的邏輯動作,這樣就可以省電。當輸入閘控被啟用時,內部邏輯以及相對應的輸出會維持在相同的狀態,直到輸入閘控信號被移除為止。輸入閘控的控制包含介於I /O接腳以及輸入緩衝之間的邏輯。閘控邏輯乃是藉由一組位於邏輯陣列當中內部巨細胞(macrocells)之一的輸出來加以控制。輸入閘控的特點能夠在每一接腳之基礎上予以啟動或是停用。有某些CPLD家族對所有的輸入線路提供單一輸入閘控區塊,其他CPLD家族部份則以多重閘控區塊加以建構,以便在I /O的獨立區域上提供精準的控制。
轉換率的控制(Slew Rate)
轉換率的控制為每一組I /O接腳提供了兩組作為輸出緩衝狀態改變的設定:快速與慢速轉換。採用短走線或是經過良好終端處理線路的設計可以採用快速轉換模式,它能夠以最快的速率在狀態之間進行切換,同時消耗較少的功率。對於具有較長、無終端處理走線的高速設計,慢速轉換模式可以產生較少的反射、較少的雜訊,並且將地電位彈跳(ground bounce)維持在最小狀態。
其他一般會包含在這些超低功耗CPLD元件中的先進特點還有輸入延遲、晶片內建振盪器以及可編程終端等。
輸入磁滯(Hysteresis)
輸入磁滯為慢速轉換的輸入訊號提供了改良過的抗雜訊能力。最新的CPLD家族擁有極具效率的I /O元件以及在3.3與2.5 V輸入下的全時輸入磁滯(full time hysteresis)。效率稍差的CPLD則提供設計工程師可以將延遲功能停用的選項,以做為在I/O元件中節省功耗的方法。
晶片內建振盪器
為了要協助降低整體的系統成本,目前的先進CPLD會在晶片中內建能夠提供系統時脈的振盪器,可以將其與內部邏輯連結,以及做為計時器功能之用。振盪器的典型用途包括有電源啟動的定序、小型鍵盤的掃描、以及顯示控制器等應用領域。將振盪器整合至CPLD當中可以減少系統元件的總數量,同時省去了專用振盪器晶片的成本。在不需要晶片內建振盪器的設計當中,該區塊可以停用,進而節省更多的功耗。只有少數的供應商─其中也包括了Lattice會在他們最小的CPLD元件當中內建振盪器。
可編程終端(Programmable Termination)
所有的零功耗 CPLD都具有能夠應用在輸入接腳上某些形式的可編程I/O終端,這是為了要減少由於外部三態(tri -stated)匯流排所造成的功率耗損。未經終端處理或是浮動的輸入可能會因為雜散於高低標準邏輯位準之間的信號而使用過量的功率。依據所選用的CPLD家族為何,各自有針對匯流排保持器(bus -keeper)鎖定、pull -up、pull -down、或是無終端處理等的選項。舉例來說,Lattice提供了前述的四個選項,而且這些選項可以被安排在每個獨立的輸入接腳上。其他供應商的元件則具有在每一接腳的基礎上執行「增強」與「匯流排保存器」選項的能力,或是針對「匯流排保存器」與「增強」的全域終端分配,且每隻接腳都可以被終端群組包含於其中或是被摒除在外。
適合有空間限制使用者的小巧封裝
每個世代的手持式裝置都會將額外的產品功能放入更小的空間當中。這可以透過電路的整合來加以實現,而CPLD則是此解決方案中不可或缺的一部分。CPLD之所以不可或缺的原因之一,就是其對於發生在ASSP與ASIC元件中問題所具有的「快速修正(quick fix)」執行方法。它們也能夠將個別獨立的邏輯解決方案、記憶體控制器之類的特殊功能、介面橋接、LCD/觸控式螢幕介面、看門狗(watchdog)功能以及電源管理等予以整合。
在手持式裝置的設計上,可用的電路板空間是受到極度重視的。CPLD供應商以廣大範圍具有成本效益的封裝方式來提供zero-power元件。最小的封裝是5 x 5 mm,而且仍然具有多種選項,最大的封裝則可以到達28 x 28 mm。可用的I/O接腳其範圍則是從5 x 5 mm QFP封裝中的21組I/O一直到324隻接腳BGA中的270組 I/O。晶片尺寸大小的BGA封裝具有I/O線路相對於封裝尺寸的最佳化比例。舉例來說,Lattice 64 -macrocell ispMACH 4000ZE CPLD在其小巧的5 x 5 mm尺寸大小中提供了52組I/O線路。
Lattice ispMACH 4000ZE CPLD家族將Power Guard輸入閘控制功能加入其整個元件家族當中,藉此擴充其較早期4KZ家族元件的能力。不同於一些其他的實現方案,Lattice將2至16個Power Guard區段加入至每個元件當中,這使得獨立I/O接腳的電源控制具有較佳的細微度(granularity)。經過增強的晶片內建振盪器也被加入至元件當中,其包含有divide-by-n計時器模組以及對於 pull up、pull down與「匯流排控制器」能夠在每隻接腳的基礎上加以啟動的完整I/O支援。
在電源啟動的週期當中,所有的I/O接腳都是處於pull down模式下,此可以降低來自於外部信號線路的電流。新的Lattice CPLD同時也擁有來自於32 -macrocell 元件之10 uA的最低典型待機用電量。元件的密度範圍是從32至256個macrocell,以及36至112組I/O接腳。
CPLD使設計得以最佳化
隨著功能的需求日益增加,對於手持式裝置之設計工程師而言,電池的使用時間是一項主要的考量。附加在既有設計中的額外介面以及邏輯電路的整合,只要使用先進的zero-power CPLD元件就可以在符合系統功率預算範圍內輕易的加以實現。近期在對於頗為熱門的可攜式GPS接收器的重新檢視當中發現到,有數個獨立的元件被使用做介面與邏輯功能,其中包括有SD卡介面、匯流排發射接收器以及連結埠擴充器等。所有的這些功能都可以被整合至單一組zero -power CPLD元件當中,進而減少電路板上的元件數量,同時降低生產成本,增加總體的可靠度。
由於市場的需求會快速的改變,因此快速的上市時間是必要的。針對CPLD而非ASIC或是ASSP進行標準化,將可以顯著的縮短其從產品開發到上市發表的時間。Zero-power CPLD為產品設計工程師提供了一個只需要極低電源的邏輯電路解決方案,同時又具有極為小巧的封裝尺寸,而這兩項特性都使得zero-power CPLD很適合在手持式裝置中實現。