- 相關推薦
用SoC實現(xiàn)視頻圖形引擎功能的研究
摘要:結合實際方案對目前國內(nèi)研究熱點的SoC設計進行一些討論,主要對系統(tǒng)集成、算法與系統(tǒng)芯片結構、可測試性設計等方面進行一些相關探討。采用基于Altera的SOPC系統(tǒng)級芯片XA10,實現(xiàn)圖形引擎功能;利用SoC平臺化設計,以達到快速進入SoC設計領域的目的;希望從用戶角度入手,逐步深入SoC的IP集成特性和AMBA技術以及軟硬件聯(lián)合設計等。關鍵詞:SOPC可編程系統(tǒng)芯片視頻圖形引擎機RTOS實時操作系統(tǒng)
引言
目前,國際上幾乎所有的半導體廠商及其相關領域的高科技公司都在進軍SoC及其應用產(chǎn)品市場,像Atmel、Xilinx、Altera、Triscend、IDT、Genesis、Cygnal、Cypress等;而國內(nèi),由于在原來分立標準器件的IC設計時代處于落后的狀況,因此迫切希望在IC設計的第3次革命來臨的時期趕上來。但是由于國內(nèi)基礎薄彈,工藝線缺乏,目前所做的研究,以偏于理論性的研究和構架的居多,而實際研究經(jīng)驗相對較少。可編程匣可配置SoC技術的出現(xiàn),使我們有機會進入構造芯片技術結構的領域。因此我們迫切要做的事就是,從事實際SoC應用產(chǎn)品的開發(fā)研制,進行電子信息產(chǎn)品核心SoC技術研制開發(fā)與實現(xiàn)。在這些研究實際工作中,逐步深入開展關于SoC的EDA工具算法研究與實現(xiàn)以及SoC核心技術IP的研究與實現(xiàn)。而目前可編程的SoC芯片及其開發(fā)平臺都提供了較理想的SoC技術應用的開發(fā)工具套件。這些套件具有了一般的編譯、仿真、調試及驗證功能,同時還針對不同的應用,提供了豐富的IP軟核。因此,借助這些工具和芯片所提供的技術和方法,可很容易進入SoC設計的應用領域。同時,系統(tǒng)集成可以說是SoC設計的真正意義所在和主要設計瓶頸。因此,我們針對實際應用的設計策略是,一開始就從系統(tǒng)方面考慮(當然在真正的SoC設計中必須考慮很多工藝集成的問題,但主要可以靠IP及代工支持來完成),進行一些實際SoC應用項目設計研究探索。
1SoC平臺的概念及意義
SoC設計最主要的一個支撐技術是超深亞微米IC設計技術?梢哉f,它具有專用集成電路ASIC設計的復雜程度,但又和ASIC不完全一樣。它是以超深亞微米IC設計技術為基礎,是建立在超深亞微米IC設計技術上的系統(tǒng)級設計,是從半導體工程師到電子系統(tǒng)整機工程師的轉手。要實現(xiàn)這一轉變,就必須要有SoC平臺和EDA的支持(并且現(xiàn)在合同外包,代加工業(yè)發(fā)展迅速,IP新經(jīng)濟模式等無不順應了這一轉變需求)。
我們要想快速地進入SoC設計行業(yè)就必須從這兩個角度入手。目前,SoC平臺主要有CSOC、SOPC、EPGA等。為了進一步明確SoC平臺的概念,有必要首先搞清楚SoC的內(nèi)涵和外延。我們知道,SoC的內(nèi)涵和外延很自然地必須包括:實現(xiàn)復雜系統(tǒng)功能的VLSI;采用超深亞微米工藝技術;使用1個或數(shù)個嵌入式CPU或DSP;具有外部對芯片編程的能力。根據(jù)這些基本的外延,很自然地可得到SoC平臺的一些概念。其中CSOC稱為可配置系統(tǒng)級芯片,一般包括1個處理內(nèi)核、可編程邏輯陣列和其它一些通用組成部件。其應用主要以芯核為主。SOPC則可以是全部的虛據(jù)點核加上FPGA模塊,像Altera的NIOS內(nèi)核模塊,而EPGA則是以FPGA為主的SoC平臺。這3者都符合SoC的外延概念。都可以說是SoC的開發(fā)設計平臺。這一市場中競爭的公司主要包括:Atmel、Quicklogic、Chameleon、Altera、Xilinx和Lucent等。利用這些現(xiàn)有的SoC平臺,SoC芯片不僅可以具有靈活編程的優(yōu)點,同時又具備系統(tǒng)芯片集成度高和價格低廉的優(yōu)勢。表現(xiàn)為:縮短開發(fā)的周期,減少開發(fā)費用;避免成本高昂的掩膜變更為重新投片;實現(xiàn)基于平臺的設計;允許設計人員快速、低成本適應標準的變化、或增加面向特定或應用定制的功能塊;在制造和質量控制過程中,允許軟硬件驗證協(xié)同進行;允許采用同一套掩膜設計多個不同功能的產(chǎn)品;允許將風險較大的元件設計到EPGA中,讓某些功能在設計完成后才予以定型;在生產(chǎn)階段改變產(chǎn)品特性或功能以延長產(chǎn)品壽命;容許在低端標準芯片中集成高端標準FPGA的功能,從而獲得高利潤。這種基于平臺的設計,可以使設計人員僅僅通過制造工藝與內(nèi)核的接口來局部地關心制造工藝,而對內(nèi)核予以更多的關注。軟硬件的協(xié)同可編程性,可以使設計人員更關注內(nèi)核功能的設計,如對內(nèi)核接口進行標記,而不必關注制造工藝和硬件診斷,這就更符合系統(tǒng)設計的目標和要求。
過去,SoC項目設計必須需要20人以上的工程師團階,而現(xiàn)在由于軟件工具和半導體技術,以及各個大公司所做的工作,使我們可以用一個很精簡的團階進行SoC設計;而且SoC設計一般都是基于FPGA、微處理器和存儲器結構的,使得我們完全可以在SoC平臺上進行SoC的初步設計。
2研究開展
根據(jù)現(xiàn)有的IC設計水平和基礎設施以及資金情況,必須很好地規(guī)劃我們的SoC設計策略。就研究的形式而言,首先必須是基于平臺的SoC設計,其次必須是應用引導為主的SoC設計,再次必須是多芯核片上總線的SoC設計,最后必須是以專用技術核心為主的IP式SoC設計。在研究過程中,必須利用好自己專用化的原有技術,達到滿足自己系統(tǒng)要求的目標;同時結合實際項目的研究,根據(jù)“Today'sPCBistomorrowASIC.”的經(jīng)驗,借鑒PCB時代的系統(tǒng)集成設計概念,進行SoC系統(tǒng)集成的研究實踐。也就是說,首先是一個以系統(tǒng)集成應用的研究為主,然后逐步摸索SoC及EDA設計方法學和深化開展自主IP技術的過程中。而就研究的工程管理來說,有必要結合SoC的新概念設
計,進行實際應用的再工程設計過程和比較性設計。這幾點都是在進行SoC研究計劃中所考慮的因素。
3方案具體組成
根據(jù)前面平臺設計的概念,我們采用的SoC為初步定型產(chǎn)品XA10。它具惡JTAG接口、PLL時鐘、UART接口、計數(shù)器、看門狗、擴展存儲器接口、中斷控制器、調試測試跟蹤器、256KB皂SRAM、128KB皂DPRAM、APEX20K多芯FPGA嚓錫及ARM922T核處理器等。初始皂系統(tǒng)芯片構成如圖1所示。
由于塔SoC設計時,很多時候是一個算法與芯片結構、軟硬件結合的系統(tǒng)設計,因此,完全有必要針對視頻圖形引擎的應用,結合邏輯組成框圖來討論這一問題。在視頻流處理中,數(shù)據(jù)傳輸和處理是兩個影響性能的關鍵部分(在視頻圖形引擎中,數(shù)據(jù)處理主要是圖形數(shù)據(jù)產(chǎn)生,而很少涉及浮點數(shù)的圖形處理,因此又可以分為視頻圖形顯示控制、繪圖填表充數(shù)據(jù)產(chǎn)生和傳輸數(shù)據(jù))。
在我們的SoS方案中,將控制、狀態(tài)處理采用基于ARM922T的實時操作系統(tǒng)來構成。也就是說,對于輸入、輸出等相關邏輯控制采用軟件實現(xiàn),繪圖的最高一級也采用軟件實現(xiàn),這樣不僅可以完全避開浮點運算的要求,而且還可以充分利用32位RISC處理器的高效率,提高整個視頻圖形引擎的性能,同時也使產(chǎn)品成本和競爭力得到大幅度的提高。而對于底層和中級的繪圖,采用FPGA的硬件實現(xiàn);對于視頻的疊加和成幀處理,同樣也采用FPGA的硬件實現(xiàn)。這樣就從根本上解決了視頻圖形引擎的處理速度問題。有一點必須說明了的是,這是我們進行SoC設計的關鍵點,更是未來SoC定制生產(chǎn)時必須升級到專用電路的部分,或者說是我們具有自主知識產(chǎn)權的IP內(nèi)核。開始時,會擔心在芯片版圖設計和微電子工藝方面的經(jīng)驗不足,沒有進行過實際工藝過程,但在經(jīng)過長期深入的調查研究之后,發(fā)現(xiàn)在市場上已經(jīng)有完整的FPGA轉化成ASIC的解決方案。現(xiàn)代EDA的迅速發(fā)展和面對SoC設計的重新構架,以及半定制ASIC的工藝列新和半導體生產(chǎn)工藝的迅猛發(fā)展,使我們消除了這種擔憂。我們所關心的只是芯片的整體結構和系統(tǒng)構成優(yōu)化,這同時也是SoC的誘人之處。在數(shù)據(jù)傳輸問題上,我們充分利用內(nèi)嵌存儲器和AMBA的片上總線體系。這樣就完全可以實現(xiàn)沒有總線速度限制的數(shù)據(jù)傳輸(這是SoC的一大優(yōu)點,因為它從根本上解決了限制總線速度的因素,如串擾、地跳、反射和PCB焊盤等效電容等)。如此,我們就可以實現(xiàn)低成本、低功耗。這兩點的實現(xiàn)都必須和實際的應用以及實際應用中解決方案緊密結合起來才有可能。
視頻圖形引擎機構成框圖如圖2所示。
①系統(tǒng)參數(shù)及繪圖指令的接受?梢杂肍PGA實現(xiàn)數(shù)字總線的接收功能,但是對于完整總線,這是一個相當復雜的設計過程(也不屬于項目重點組成部分)。因此,先采用專用外接芯片實現(xiàn)此功能,再根據(jù)經(jīng)驗用8KB的雙口存儲器(在SoC中)作為數(shù)據(jù)接收緩沖。
②系統(tǒng)控制器。采用支持實時操作系統(tǒng)的ARM922T(在SoC中)完成各種輸入輸出、中斷響應控制,以及高級繪圖指令和程序構架。實時操作系統(tǒng)采用μC/OS-II。
、圩帜<皥D例庫。采用外部非易失性存儲器加載到SRAM(在SoC中),因為要求2048×2048的筆劃信號術語,根據(jù)屏幕大小至少需要24×24以上的點陣顯示漢字(最好是有40×40或者72×72的漢字顯示)。于是需要不是127個ASCII碼和約200個漢字的字模庫、大小接近200KB的存儲容量,因此,采用嵌入式的SRAM來實現(xiàn)是不合理的。根據(jù)漢字及ASCII碼的編碼規(guī)律,我們決定采用解碼方式實現(xiàn)。應用FPGA的高速和并行性來實現(xiàn)解碼,使數(shù)字、文字等筆劃視頻信號的產(chǎn)生成為系統(tǒng)瓶頸。
④視頻格式控制。在加載FPGA程序,提供實現(xiàn)其功能時的一些控制功能;可以初步實現(xiàn)多視頻格式支持的功能;
、菀曨l圖形產(chǎn)生。主要是處理符合視頻流格式的掃描數(shù)據(jù)流。采用FPGA(在SoC中)的方式實現(xiàn),對來自筆劃、簡單圖形與合成的視頻進行圖像掃描數(shù)據(jù)流的輸出。
⑥顯示時序控制。利用PLL和ARM922T的計數(shù)器及中斷(在SoC中)來和一定的簡單邏輯產(chǎn)生視頻格式要求的時序,以達到各種控制和同步。
、咭曨l疊加控制。利用FPGA(在SoC中)實現(xiàn)與外視頻的疊加控制功能。在這里只做簡單的前景和背景處理(即簡單的疊加功能),不涉及剪裁、遮擋等三維圖形問題;
、嘁曨l協(xié)議傳輸。實現(xiàn)視頻流成幀和發(fā)送。采用一種圖形傳輸協(xié)議來進行圖形的傳輸,初步先采用專用芯片,以后再考慮升級為芯片內(nèi)集成,一級傳輸緩存采用DPRAM來傳輸(在SoC中),如果系統(tǒng)要求用到二級緩存的話,可方便地實現(xiàn)VRAM接口。
4設計的實際經(jīng)驗
在實際的設計過程中,以下幾點值得注意。
。1)IP庫的調查和庫選擇
有時候,我們會擔心所選定的SoC平臺會限制SoC設計。而實際上,我們在選用這一平臺時,做過詳細的IP庫調查。我們所選用的IP核構是十分通用的IP核,比如ARM核,一些關鍵部件均由FPGA自主研制開發(fā),因此其技術具有很大的通用性。而Altera是世界上典型的Fabless公司之一,其屬下并沒有生產(chǎn)線,所以其工藝參數(shù)也是通過代加工實現(xiàn)得到的。其生產(chǎn)廠臺積電TSMC也將馬上進駐上海,因此我們完全可以去掉這樣的擔心。
。2)算法與芯片結構
在我們所進行的SoC研究中,算法與芯片結構主要是從系統(tǒng)應用規(guī)劃、視頻處理速度要求、實現(xiàn)方便可行性以及VHDL編程實現(xiàn)結構優(yōu)化等幾個角度入手;同時結合所用FPGA的實際結構,進行算法與芯片結構的考慮。從相關系統(tǒng)應用核心算法出發(fā),討論其實現(xiàn)過程和性能比較。像底層圖形庫的
繪制算法、反走樣算法、多屏幕實時處理調度算法等等。
。3)軟硬件系統(tǒng)設計
具有一個微處理器和可編程性是SoC的基本概念外延,因此很有必要在SoC設計中進行軟硬件協(xié)同設計。軟硬件協(xié)同設計可以說一直是個挑戰(zhàn),因為它既有SoC設計的靈活性,又有SoC設計中難以揣摩、充滿變數(shù)的特征。而且它還涉及到硬件資源的規(guī)劃和艇,甚至會關系到整個系統(tǒng)性能的實現(xiàn)。這一切無不要求我們必須從一開始就仔細地考慮這一問題。在實際研究項目中,我們采用片上操作系統(tǒng)COS(ChipOperatingSystem),以求符合SoC設計中辦IP特性(主要指靈活性、可繼承性和可復用性等特性)。結合ARM922T芯核的實際體系結構、性能和指令結構進行軟硬件系統(tǒng)設計,在各個模塊之間進行通信、傳輸、控制等,實現(xiàn)設計的一體化。
。4)系統(tǒng)集成設計
在系統(tǒng)集成設計中,我們就所選用的IP核進行無縫連接系統(tǒng)設計,以及相關的可測試和低功耗管理設計,主要是通過各個模塊的測試接口和模塊來實現(xiàn)的,而低功耗管理主要是通過一些系統(tǒng)狀態(tài)和各個模塊間專用接口以及OCB的橋接控制等來實現(xiàn)。當然,由于我們選擇的是平臺設計概念,所以AMBA的橋接主要是采用Altera技術,主要工作綜合各個IP可測試性、功率管理特性以及各個IP接口的設計。
5總結
由于我國目前還是IC設計行業(yè)基礎薄弱的國家,為了提高我們的IC(SoC)設計能力,做以下方面的總結:
、貳DA工具。在本SoC設計項目中主要采用Altera的SOPC開發(fā)環(huán)境QUARTUSII,采用工業(yè)級的集成分析軟件和PowerGaugeTM分析軟件,并增強企業(yè)驗證工具,同時集成配有PowerFitTM裝配器,進行新的時間驅動布線。語言描述采用VHDL語言和C語言。
②HDL語言工具。本研究中采用VHDL語言,并且在低層上就強調其結構和傳輸連接上的性能;結合VHDL語言結構性好的特點,彌補其在系統(tǒng)設計時的缺陷(目前尚無一個完善的系統(tǒng)設計語言);采用自頂至下的模塊化設計,強調詳細的配置和接口標準化。
、跧P技術。主要是各個IP的現(xiàn)有資源、接口、可測試性、規(guī)范化,像我們實際應用中ARM核的現(xiàn)有資源與接口、APEX20K的資源規(guī)劃、實際系統(tǒng)要求等。
6結論
*以實際系統(tǒng)應用為主切入SoC設計,是符合當前SoC設計和我國實際情況的研究方式。
*系統(tǒng)集成IS是SoC設計的真正內(nèi)涵。
*采用SoC平臺概念,可以快速進入SoC設計領域。
*特有的應用IP核,是SoC設計未來生命的關鍵所在。
*系統(tǒng)集成IS設計方法、EDA等基礎討論更是SoC設計的意義所在。
【用SoC實現(xiàn)視頻圖形引擎功能的研究】相關文章:
GKD-BASE PL/SQL引擎實現(xiàn)關鍵技術研究08-06
快速實現(xiàn)搜索引擎的方法08-06
用Verilog HDL實現(xiàn)I2C總線功能08-06
射頻SoC nRF9E5及無線數(shù)據(jù)傳輸系統(tǒng)的實現(xiàn)04-12
物流中心功能研究08-06