Chip123 科技應用創新平台

標題: 採用Xtensa設計印表機SoC的影像處理管線 [打印本頁]

作者: masonchung    時間: 2008-3-1 03:18 PM
標題: 採用Xtensa設計印表機SoC的影像處理管線
高品質彩色印表機在家庭中越來越普及。一般來說,印表機都是隨著PC電腦一起購買使用。但隨著需求的變化,這種情況正改變,其中數位相機是促進這種變革的最大因素,消費者希望可以透過數位相機將相片直接列印出來。在這個過程中,只需要透過USB介面將數位相機拍攝到的相片傳入到印表機中就可以直接列印,無需經過電腦處理。
3 U. b# ?, T: u, Y
% g6 Z1 i+ J( j; T這種消費者的需求使得印表機的基本原理在產生變化,原來由PC準備需要列印的文件,印表機只負責列印,現在這些工作都需要由印表機全部完成。這就需要印表機提供更加強大的影像處理功能。如今,印表機允許消費者直接透過CD或DVD列印影像,就像透過數位相機和數位相機一樣,並提供一個LCD顯示螢幕供使用者在列印前進行預覽。
! C& I2 a* U3 m: {/ s; \3 Z% p3 A
廠商一方面需要不斷提升印表機的影像處理能力,另一方面也面臨著巨大的成本壓力,因此大部份功能需要盡可能的整合在一顆晶片中完成。此外,從成本考慮也不可能為每款印表機單獨設計不同的SoC晶片,因此需要一次設計可以滿足多種款式印表機的要求。印表機SoC晶片中通常會有一顆系統控制處理器,用於協調影像處理功能和列印控制功能。列印控制功能通常由幾顆小的微控制器實現,用於控制印表機針頭的速度和方向。在影像處理方面則由過去使用的硬體連線RTL轉向使用多個DSP處理器。
2 h8 k3 G4 Y2 B. @' V, r7 K
6 s' |, m. U7 L5 l3 T7 h功能的靈活性需求使得印表機SoC晶片的設計者往往選擇可編程平台作為影像處理管線的基礎。與硬體連線的RTL模組相較,使用處理器可以提供更多的靈活性,支援更多的演算法,且透過軟體就可以進行升級和最佳化。例如,對於印表機中的半色調(half-toning)演算法,即使在印表機晶片被設計出來以後也可以不斷地最佳化。處理器的可編程性可支援不斷更新的影像壓縮演算法,並透過軟體修復原有設計中的一些缺陷,而不需重新設計晶片。此外,基於處理器的SoC晶片可應用於不同類型的印表機設計,根據不同的需求開啟或關閉晶片中的一些功能,透過這種方式可以大幅節省印表機廠商的成本。最後,透過簡單的增加或減少SoC中的處理器,我們可以開發出更多不同的晶片。 7 z: P  a+ {& c

+ u0 s- \5 E9 q可配置處理器 2 R3 ]0 N# M2 j1 D/ b5 w4 J
6 A* W0 U( k9 n5 h
可編程處理器,例如Tensilica公司的Xtensa處理器,已被廣泛應用於多種噴墨印表機和雷射印表機設計中。大型印表機製造商中有四分之三在印表機SOC中使用了Xtensa處理器。 8 W( K# f; ]& i

: |; }5 }; D& n( u) \Xtensa處理器允許架構設計師針對特定任務設計專用的DSP處理引擎。考慮如圖1所示的印表機SoC原理示意圖。在這個例子中,採用了多個Xtensa處理器來完成不同的功能,如JPEG解壓縮、影像增強、色彩處理等。 " n; j8 F$ g! z+ a3 S

7 S" R# p5 i9 l: t0 Y1 Y7 j8 ]: _) D運用Xtensa處理器獨特的功能,可以為特定應用設計專有指令,因而裁剪出最適合的處理器功能。因為每一部份都是針對需要實現的功能而設計,沒有多餘的指令和功能,所以與一般的DSP處理器相較效率更高,面積也更小。
! s7 W/ n* A$ d, P[attach]3061[/attach]
) |2 F9 f" u* ?" M用Xtensa實現影像管線 - _  v( k7 K0 i4 C# j
: ~8 x, I3 ~: V2 M; `* p' g
除了自身的可編程特性以外,在列印和影像處理設備中使用Xtensa處理器具有5大優勢:
& X/ a7 h  X; m. X3 Q2 t) [9 \$ j$ g: [
  
% {# F% G9 a0 I: [. ?5 r
" k# ?9 k: t3 q7 [% h! a. O1 E5 }1. 透過在Xtensa處理器中增加特殊影像處理指令來製作特殊任務引擎:這些指令可以在各種相似的演算法中重複使用。同時,因為處理器中不需要增加非任務性專用指令,所以DSP可以說是為這些任務量身定做的。這種DSP可以輕鬆獲得通用DSP處理器無法獲得的性能水準。和硬體連線的RTL模組相較,在面積和功耗上面因而也具有很強的競爭優勢。 # ?; t) Q" P3 O% L  z1 ~. B* Q

9 m' _+ e& K# w5 Z2. Xtensa處理器能以極具競爭力的面積和功率指標獲得接近RTL的性能:Xtensa處理器的基本核心只有大約2萬閘左右,設計師做的擴充部份可以被正確地插入處理器管線中,其閘數量通常與RTL方案相近。另外,透過擴展針對影像處理最佳化的專用指令,不需要提高主頻,也不要求非常高頻的深度管線(這樣做極耗面積)就能顯著地提高性能。因此,總體面積優於硬體連線的RTL模組。在功耗方面,在設計師完成Xtensa處理器的最佳化後,Xtensa處理器的產生器可以自動在處理器管線中插入超細顆粒的閘控時脈,設計師不需要做任何事,一切完全自動執行。這種方式可以比一般的RTL模組更節省功耗。
2 D& \0 |' w3 o3 F% B+ G' h7 a8 _$ A& ?3 m% i9 q8 o& M" F; c
3. 為專用指令擴展提供優秀的編譯器和軟體工具鏈支援:一旦設計者確定了新的專用指令,Tensilica的Xtensa C/C++編譯器(XCC)和其他的軟體工具鏈可以立即自動更新,以支援新增加的指令,這些指令在應用程式碼中以C原語(函數調用)的形式使用。XCC編譯器自動調度設計師定義的指令,並根據設計師定義的暫存器文件進行暫存器分配。指令模擬器(ISS)可以用於對新增加的指令進行模擬,完善有關多週期作業的時序資訊。除錯器則顯示新指令以及在用戶定義暫存器和暫存器文件中的值等資訊。 % h3 R. S, i  l- X( a3 F+ a
; I0 w* \1 o# k' ~3 n3 Y6 y
4. 比RTL更快的上市時間:採用Tensilica的設計方法學,設計一個新的功能模組在時間上比RTL模組要短很多。因為新的專用指令採用高層次的TIE語言來定義。TIE語言與Verilog語言比較類似(支援C數據類型),不過設計者只需要定義作業的功能而不需要定義架構,這使得設計非常容易驗證,因為只需要驗證輸入與輸出之間的關係,而RTL不僅要驗證功能,還必須驗證架構。Tensilica可保證根據設計師TIE描述產生的處理器RTL是預先驗證過的,與硬體連線的RTL模組開發相較,這樣做大幅簡化了驗證過程,並縮短了上市時間。 ( n' L" n9 z6 k' _
5 y' K# [0 L- W; [
5. 可實現靈活高效的影像處理管線:Tensilica技術具有專門針對影像處理應用的多種優勢。特別是Tensilica的Xtensa LX 2處理器能夠製作複雜的指令集,使處理器成為多時隙超長指令集(VLIW)處理器。設計者還可添加可變寬度的單指令多數據串流(SIMD)作業。設計師還可以透過在處理器上增加定製I/O埠和FIFO介面以重建晶片上數據串流。 % _/ N/ P" V  y2 K) u$ @, K6 X

% L- ]! c% _4 |6 B$ E+ k  J案例分析
" C& p9 K# q9 `% R
- E! V$ e, a8 q, q9 I
+ J+ _* B! ~; U* W4 W[ 本帖最後由 masonchung 於 2008-3-1 03:27 PM 編輯 ]




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2