HDTV_SoC集成芯片的總線設計與驗證.doc_第1頁
HDTV_SoC集成芯片的總線設計與驗證.doc_第2頁
HDTV_SoC集成芯片的總線設計與驗證.doc_第3頁
HDTV_SoC集成芯片的總線設計與驗證.doc_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

一種基于AMBA的HDTV SoC總線設計方案聞 彬,沈 泊(復旦大學 專用集成電路與系統國家重點實驗室,上海 200433)摘 要:提出了一種適合于HDTV SOC的AMBA總線設計方案,并對整個架構進行了詳細的驗證;實踐證明,AMBA總線非常適用于HDTV SOC系統;與用硬件描述語言構建的測試平臺相比,軟硬件協同的驗證方法不但有更高的仿真覆蓋率,而且更加高效省時。關鍵詞 : HDTV SOC;AMBA總線;軟硬件協同驗證 中圖分類號:TN 492;TN 949.17 文獻標識碼:ABus Design and Verification for HDTV SoCWEN Bin, SHEN Bo(State Key Laboratory of ASIC & System, Fudan University, Shanghai 200433, China)Abstract: An AMBA based bus architecture suitable for HDTV SOC and an efficient verification methodology are presented. It is proven that AMBA bus is well suitable for HDTV SOC. Compared with writing testbench using HDL language, the HW/SW co-verification methodology has higher coverage and simulates more efficiently. Keywords: HDTV SOC;AMBA;HW/SW co-verification1 引言高清晰度數字電視(HDTV)是數字技術在電視領域里的應用,其主要優點在于能實現無失真的傳輸,并能充分利用有限的頻譜資源,為用戶提供高質量的影音服務。HDTV已經成為電視技術的發展趨勢,HDTV SOC集成芯片設計作為其核心技術,成為當今研究的熱點。HDTV SOC集成芯片的性能不但取決于系統中的各個模塊,而且越來越依賴于總線架構的設計??偩€為系統中的各個模塊提供有效的通信,通信的效率會在很大程度上影響整個系統的性能。此外,系統的大部分功耗也集中在總線上。可見,選擇恰當的總線架構,是非常重要的。HDTV SOC集成芯片對總線的具體要求是:(1)為了減少芯片面積,總線的結構要盡量簡單。(2)為了提高總線的速度,時序要盡量簡單。(3)支持burst傳輸模式,進一步提高總線速度。目前常用的片上總線有3種:Coreconnect,Wishbone和AMBA1總線。這3種總線都支持burst操作,其中Coreconnect總線由高速總線和低速總線組成,其結構和時序都比較復雜,適用于工作站等復雜系統的設計;Wishbone總線結構簡單而且非常靈活,很多總線參數都由用戶自定義,支持多種通信模式,幾乎適用于所有系統的設計,沒有針對性。但因為沒有高速總線和低速總線之分,導致總線效率大大下降。使用多個Wishbone總線時,又沒有規范的橋接模塊的定義;AMBA總線不但結構和時序都很簡單,而且非常規范,高速總線AHB(the Advanced High-performance Bus)和低速總線APB(the Advanced Peripheral Bus)以及二者之間的橋接模塊,都有嚴格的定義,非常適用于HDTV這種中等復雜度的系統的設計。本文給出了HDTV SOC系統的AMBA架構解決方案,分析了各個部分的帶寬占用情況,并且在文章的后半部分重點介紹了AMBA總線的驗證方法。2 HDTV SOC概述基于AMBA總線的HDTV SOC系統4如圖1所示。整個系統采用雙CPU結構:其中系統CPU(SYSTEM CPU)運行操作系統(OS)和中間件(Middle Ware),并負責對整個系統進行主控和調度。另一個CPU,即音頻CPU(AUDIO CPU),負責音頻的解碼。解復用器TSD(Transport Stream Demux)的主要任務是將TS流(Transport Stream)中的音頻流和視頻流分開。其中的音頻流通過總線送往外部32 bit SDRAM,視頻流直接送往視頻解碼器VD(Video Decoder)進行解碼。音頻流由AUDIO CPU解碼后,通過PCM OUT 和AUDIO DA CTRL傳至音箱輸出。視頻流由VD解碼后,暫存在專用的64 bit SDRAM里,而后通過視頻格式變換器VTP(Video Translation Processor)處理后,由VIDEO DA CTRL傳至電視屏幕輸出。 屏幕顯示模塊OSD (On Screen Display)用來顯示一些屏幕操作菜單或者小型游戲畫面,可以和VTP的輸出信號混合后一起輸出到電視屏幕上。VTP可以同時輸出高清(HDTV)和標清(SDTV)兩組視頻信號,所以此芯片架構可以適應于高清和標清兩種數字電視系統中,具有很高的靈活性。另外,由DMAC模塊控制各片內緩存以及USB等外設與外部32 bit SDRAM之間的數據傳送。圖1 基于AMBA總線的HDTV SOC系統3 適合HDTV SOC的AMBA總線設計31 主設備與從設備在高速總線AHB總線上有3個主設備:SYSTEM CPU,AUDIO CPU和DMAC。8個從設備:MEMORY CONTROLLER,AHB-APB BRIDGE,TSD,VD,VTP,MIX,OSD,PCM OUT 。在任一時刻,總線只能被一個主設備占用。所以,任何一個主設備都必須向總線仲裁器發出請求信號,由仲裁器授權后,才可獲得總線使用權。被授權的主設備再通過中央譯碼器選中一個從設備,從而建立了一個一對一的實際通道。為了簡化設計,HRESP作為握手信號只保留了OKAY和ERROR兩種狀態。對低速總線APB總線而言,AHB-APB BRIDGE是其唯一的主設備,USB,INTC,TIMER,UART等低速模塊均為從設備。APB總線的時序要比AHB總線簡單許多,只保留了最基本的地址信號、數據信號和控制信號,沒有握手信號。32 央譯碼器與仲裁器中央譯碼器的任務是將高位地址信號翻譯成從設備的片選信號,以選中指定的從設備。譯碼器采用簡單的組合電路以提高響應速度。為提高操作系統的可移植性,可根據操作系統中給從設備分配的地址對譯碼器進行設計。圖2 總線移交的流程仲裁器的作用是判決由哪一個主設備占用總線。圖2是通過總線仲裁實現總線使用權移交的流程圖。假設當前的總線被主設備A占用,如果主設備A鎖住總線,則仲裁器不進行新的仲裁。如果主設備A沒有鎖住總線或主設備A給總線解鎖后,則仲裁器根據既定的仲裁算法進行新的仲裁。設仲裁的結果是,主設備B目前的優先級最高。此時仲裁器不會立即將總線移交給主設備B,還需繼續觀察。如果主設備A此時進行的是BURST操作,則必須等待BURST操作結束,仲裁器才能將總線使用權授予主設備B,即通知主設備B其將要獲得總線的使用權。如果主設備A此時的操作不是BURST操作,則仲裁器直接將總線使用權授予主設備B。此后等待直至HREADY信號有效,仲裁器才最終將總線移交給主設備B。在HDTV SOC系統中,仲裁器采用固定優先級算法,此算法的優點是電路結構簡單,并且已經可以滿足本設計的需要。3個主設備的優先級從高到低依次為:DMAC,AUDIO CPU和SYSTEM CPU。SYSTEM CPU的優先級最低,且為默認主設備,在沒有主設備申請總線的時候,系統將總線移交給SYSTEM CPU。DMAC的優先級最高,系統啟動后,由SYSTEM CPU對各模塊進行初始化,并在適當的時候啟動DMAC,按照一定的順序完成各種DMA操作。而AUDIO CPU的優先級則位于兩者之間。33 橋接模塊橋接模塊AHB-APB BRIDGE負責AHB和APB總線之間的通信,其狀態圖如圖3所示。IDLE是開始時的默認狀態,當讀操作發生時,在下一個時鐘轉移到SETUP狀態。SETUP狀態下,PSELx信號被啟動,一個時鐘后,無條件地轉移到ENABLE狀態。ENABLE狀態下,啟動PENABLE信號,一個時鐘后,若有讀操作(寫操作)發生,則直接轉至SETUP狀態,若無數據傳輸操作,則返回IDLE狀態。寫操作的過程和讀操作相似,不同之處在于鑒于AHB總線上寫操作的地址信號先于數據信號一個時鐘周期,在處理時必須先將兩個信號對齊,所以寫操作多了一個PRE_SETUP狀態。由于AHB總線圖3 AHB-APB BRIDGE的狀態圖上的信號采用流水線結構,數據的傳輸在一個時鐘內就可以完成,而APB總線沒有流水線操作,數據的傳輸需要兩個時鐘,所以每次傳輸都需要在SETUP狀態中將HREADY信號拉低一次,讓AHB總線等待一個周期,以保持兩種總線的同步。34 帶寬分析視頻解碼部分(VD和VTP)對內存的訪問過于頻繁,如果直接接入AHB總線共享內存空間會大量占用總線帶寬,導致系統不能正常運行。為此,給VD和VTP分配了專用的內存。這樣,對帶寬需求最大的視頻解碼部分有自己的專用內存,不占用總線的帶寬;SYSTEM CPU有自帶的cache緩存器,可以大大減少對內存的訪問次數,假設SYSTEM CPU的工作頻率為100 MHz,數據線為32 bit,對cache的命中率為90,那么SYSTEM CPU對總線帶寬的最大需求應為:100 M/s(32/8)B1040 MB/s;而音頻相關的部分對總線帶寬的需求很小,以立體聲192 KHz、16 bit高保真音頻為例,所需帶寬也只有800 KB/s,AUDIO CUP寫內存所需帶寬和PCM OUT相同,而讀內存的帶寬(等于TSD寫內存的帶寬)遠遠小于寫內存,音頻相關的總帶寬需求不大于2MB/s;OSD是菜單顯示模塊,整個菜單的背景和框架是靜態圖象,變化的只有一些簡單的字符和光標位置,而且OSD有自己的視頻緩沖區,所以對總線帶寬的需求更小,可以忽略。因此,整個系統對總線帶寬的需求不過50MB/s。假設總線頻率為133 MHz,總線位寬為32 bit,對內存的訪問效率為60,那么能夠提供的帶寬為:133 M/s(32/8)B60 319.2 MB/s??梢?,單層的AHB總線完全可以滿足HDTV SOC系統的需要。4 總線的驗證方法 圖4 測試平臺驗證的主要內容是各模塊的接口是否符合AMBA規范,以及各模塊之間能否正常通信,完成整個系統的工作。本設計采用軟硬件協同的驗證方法。實踐證明,用單純的硬件描述語言構建測試環境,很難準確地仿真復雜的時序。而軟硬件協同的驗證方法,可以準確地模仿總線上發生的事件2。圖5 驗證流程如圖4所示,測試平臺由SYSTEM CPU,SDRAM模型(其中映射有測試程序),譯碼器,仲裁器和AHB總線構成。在測試各個模塊之前,必須首先保證測試平臺的正確性。SYSTEM CPU使用的是標準模塊,SDRAM模型結構比較簡單,不容易出錯。驗證的重點是SYSTEM CPU和SDRAM模型的AHB接口3部分。需要驗證的特征有:(1)讀操作(2)寫操作(3)burst讀操作(4)burst寫操作(5)讀寫交替的操作(6)對握手信號的驗證。以上的6個特征分別對應6個不同的測試程序,每個測試程序驗證其中的一個特征。通過了這6個特征以后,基本上就可以確保SYSTEM CPU和SDRAM模型的AHB接口的正確性。平臺上的譯碼器和仲裁器,用窮舉的方法進行初步的驗證。這種驗證的方法能夠驗證譯碼器和仲裁器的功能,但不能驗證二者的時序,更加完備的驗證在后面會提到。APB總線的驗證比AHB總線簡單,只需要驗證(1)(2)(5)三個特征。驗證的整個流程如圖5所示。首先構建如圖4所示的測試平臺,并對測試平臺進行比較完備的驗證。如果平臺未通過驗證,就修改平臺的代碼,直到通過為止。測試平臺通過驗證后,就可以測試其他模塊了。所有被測模塊(包括主設備和從設備)的AHB接口,都可以通過前面提到的6個程序來驗證。首先測試從設備(或者說各個模塊的從接口),從設備逐一通過驗證后,將所有從設備都接入平臺,構成一個單主設備(SYSTEM CPU)多從設備系統,用一段相應的程序可以再次驗證譯碼器,使譯碼器的驗證更加完備。然后測試主設備(或者說各個模塊的主接口),主設備逐一通過驗證后,將所有主設備都接入平臺,構成一個單從設備(SDRAM模型)多主設備系統,用一段相應的程序可以再次驗證仲裁器,使仲裁器的驗證更加完備。最后將所有的從設備和主設備都接入平臺,構成一個完整的HDTV系統,在其上運行完整的操作系統,應用軟件以及真實的TS流,進行最后的驗證。圖6是SYSTEM CPU對UART的一個初始化過程:SYSTEM CPU先從SDRAM模型中讀取程序,再對UART的各個寄存器進行賦值。這一初始化過程可以驗證UART模塊的寫操作。事實證明,這種軟硬件協同的驗證方法是非常有效的,與用硬件描述語言構建的測試平臺相比,軟硬件協同的驗證方法不但有更高的仿真覆蓋率,而且更加高效省時。 圖6 UART寫操作的驗證5 結論提出了一種基于單層AMBA總線的HDTV SOC設計方案,并用軟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論