《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 異構多核SoC可編程圖形系統(tǒng)硬件設計
異構多核SoC可編程圖形系統(tǒng)硬件設計
2014年電子技術應用第7期
周建偉1,韓俊剛1,李 濤1,杜慧敏2,焦繼業(yè)1
1.西安郵電大學 計算機學院,陜西 西安710061; 2.西安郵電大學 電子工程學院,陜西 西安7
摘要: 采用開源LEON3(basic version)處理器,運行Linux操作系統(tǒng),并驅動西安郵電大學自主設計研發(fā)的基于傳統(tǒng)GPU架構的可編程圖形處理器,實現了包含可編程圖形系統(tǒng)的SoC平臺。將系統(tǒng)集成到Dini Group最新的DNV6_F2PCIE開發(fā)板上,采取OpenGL編程,通過鼠標、鍵盤、顯示器運行2D、3D程序,進行圖形的繪制,從而比較充分地驗證了圖形系統(tǒng)硬件設計。
中圖分類號: TP302
文獻標識碼: A
文章編號: 0258-7998(2014)07-0040-04
Hardware design of programmable graphics system in heterogeneous multi-core SoC
Zhou Jianwei1,Han Jungang1,Li Tao1,Du Huimin2,Jiao Jiye1
1.School of Computer,Xi′an University of Posts & Telecommunications, Xi′an 710061,China;2.School of Electrical Engineering,Xi′an University of Posts & Telecommunications,Xi′an 710061,China
Abstract: Based on the Linux operating system platform and open source LEON3 processor, combined with programmable Graphics processor designed by Xi′an University of Posts Telecommunications, a heterogeneous multi-core SoC is implemented in DNV6_F2PCIE development board made by Dini Group. Running various OpenGL 2D and 3D programs on the SoC through the mouse, keyboard and display,the hardware design of graphics processing unit is validated sufficiently.
Key words : graphics processing unit;LEON3 processor;heterogeneous multi-core;Linux operating system

       為打破國外壟斷,研發(fā)擁有自主知識產權的圖形處理器GPU(Graphics Processing Unit)對國民經濟以及增強國防力量具有極其重要的意義。西安郵電大學GPU項目組2009年研發(fā)了GPU及其配套軟件OpenGL。為了驗證設計的GPU,并為GPU應用開發(fā)建立平臺,本文研發(fā)了一個異構多核片上系統(tǒng)SoC(System on Chip)平臺。

        本文在分析了嵌入式開源LEON3處理器[1]、Linux操作系統(tǒng)和西安郵電大學自主研發(fā)的可編程圖形處理器的基礎上,提出異構多核SoC圖形系統(tǒng)[2]的設計,最后在DNV6_F2PCIE FPGA開發(fā)板進行系統(tǒng)驗證。

1 系統(tǒng)論證

1.1 研究路線

        首先構建一個C++的GPU算法仿真平臺,并在其上進行圖像渲染算法的研究;其次設計搭建System Verilog[3]建立驗證平臺,并開始Verilog語言設計硬件和OpenGL相關軟件的開發(fā),為了加快硬件設計速度,采用了第三方IP;由于此系統(tǒng)電路規(guī)模較大,選擇Xilinx公司的XC6VLX550T[4]進行原型開發(fā),并運行大量裸機OpenGL應用程序;最后加上嵌入式LEON3處理器、Linux操作系統(tǒng),通過軟件驅動和硬件接口完成CPU與GPU的數據交互,實現了一個完整的移動異構多核SoC圖形處理系統(tǒng),通過外部可編程的方式在FPGA上驗證整個SoC系統(tǒng),進而驗證硬件設計的正確性。

1.2 關鍵技術與可行性分析

        本系統(tǒng)采取軟硬件協同設計技術、IP設計和復用技術、超深亞微米設計技術。涉及的關鍵技術包括系統(tǒng)描述、高層次的算法分析與設計、軟硬件的劃分、語言和編譯器設計、微處理器設計、Linux操作系統(tǒng)在LEON3處理器上的運行、驅動軟件和硬件接口設計、圖形處理器的軟硬件協同設計、異構系統(tǒng)的協同仿真驗證以及圖形界面的生成。針對上述涉及的關鍵技術提出了理論分析與仿真、驗證和原型測試相結合的研究方法,制訂了從系統(tǒng)的算法級到電路的RTL級,再到原型系統(tǒng)實現,逐級細化、逐級驗證的技術路線。

        采用Top-to-Down方法[5]設計SoC芯片,充分考慮了異構多核SoC可編程圖形處理器設計過程中所面臨的挑戰(zhàn),保證了芯片功能和性能技術指標達到設計要求,有利于縮短開發(fā)周期,降低開發(fā)成本及產品的單片價格,符合SoC研究設計的客觀規(guī)律。

2 系統(tǒng)的硬件設計

        系統(tǒng)的硬件設計主要包括作為系統(tǒng)主機的嵌入式開源LEON3處理器設計和作為從機的可編程圖形處理器設計。系統(tǒng)的整體硬件結構如圖1所示。

        系統(tǒng)主要數據流向:

        (1)2D程序:上位機將鏡像文件通過JTAG傳到CPU-DDR中,CPU從中取出相應2D數據進行運算,將運算結果通過AHB/APB Bridge傳到VGA,再將VGA的數據發(fā)送到GPU中的顯控,最終傳到顯示器上顯示。

        (2)3D程序:CPU從CPU-DDR中取出相應的3D命令數據環(huán),將數據環(huán)通過AHB Bridge傳到GPU;GPU經過各級渲染,將渲染結果存儲到GPU-DDR中;顯控通過存儲管理器從中取出數據,傳到顯示器上顯示。

2.1 嵌入式LEON3處理器的設計

        LEON3(basic version)作為整個系統(tǒng)的主機,是一款由歐洲航天總局旗下的Gaisler Research公司開發(fā)研制的32 bit、符合SPARC V8[6]架構的、可配置、可綜合適用于SoC設計中的開源處理器IP核[7],遵循GNU LGPL協議。LEON3內部包含7級整數流水線,具有可配置的TLB的內存管理MMU(Memory Management Unit)單元,支持硬件乘/除法器以及分立的指令與數據緩存,并將其設計為4核。它的源代碼由可綜合的VHDL代碼構成,同時LEON系列處理器的性能也比較理想,可以達到大約0.85 MIPS/MHz。更大的好處是LEON處理器是一個公開源代碼,遵循GNU。通過高速的AMBA AHB[8]總線鏈接內存控制器及高速外部接口,低速的AMBA APB總線實現片上外設的接口,如定時器、串口、VGA等。

        作為整個系統(tǒng)的主機,其功能如下:

        (1)處理上位機發(fā)來的命令,并在主存中設置命令數據環(huán),將處理命令放入環(huán)中;

        (2)采用Linux操作系統(tǒng)作為系統(tǒng)運行平臺,完成圖形驅動處理;

        (3)管理系統(tǒng)內存和輸入/輸出設備(鍵盤、鼠標、顯示器);

        (4)運行2D程序;

        (5)支持Sparc V8指令集、多核運行;

        (6)支持以太網、串口、PS2、GPIO、WatchDog、Timer等外設,支持AHB總線擴展。

        LEON3結構如圖2所示。

2.2 可編程圖形處理器硬件設計

        可編程圖形處理器采用傳統(tǒng)GPU架構,并結合了可編程技術,經過9級流水線處理后,完成了一個3D基本圖元的渲染過程。作為整個系統(tǒng)的從機,各級流水線及功能如下:

        (1)命令處理器(CMD,1 core):CPU在主存中設置命令數據環(huán),將處理命令放入環(huán)中,命令處理器通過總線接口、DMA引擎從環(huán)中獲取命令、數據或向量地址并進行解析,如果獲得的命令是3D處理命令,則將命令下發(fā)給3D引擎;如果是命令處理器需要處理的命令(緩沖區(qū)對象操作、顯示列表操作等),則在命令處理器中進行處理,而不發(fā)送給3D引擎。

        (2)頂點染色器(VS,2 core):完成幾何變換(平移、縮放、旋轉)、光照染色等功能。

        (3)圖元裝配器(AS,1 ASIC):圖元裝配將從VS發(fā)送出來的帶有屬性的頂點根據用戶指定裝配模式(由glBegin指定)裝配為點、線、三角形。經過AS處理后,GPU后續(xù)的流水部件將不會識別頂點,而是識別基本圖元點、線和三角形。

        (4)平面裁剪(CLIP-Plane,1 core):根據用戶自定義裁剪平面(最多支持6個自定義裁剪平面)對基本圖元進行裁剪。

        (5)視景體裁剪(CLIP-3D,1 core):根據用戶所定義的視景體對基本圖元進行視景體裁剪操作。

        (6)視窗變換(HCW,1 core):完成3D坐標向屏幕坐標的轉換,經過HCW的處理后,基本圖元將轉變?yōu)槠聊簧纤姷降膱D元,為后續(xù)的光柵化做準備。

        (7)光柵化(Rasterization,5 core):Rasterization根據圖元的屏幕坐標計算圖元內部的所有像素值,并將像素傳送給像素染色器。

        (8)像素染色器(PS,4 core):根據Rasterization所發(fā)送的片段信息計算片段的具體顏色,如果啟用了紋理操作,則根據紋理函數參數信息對片段進行像素染色,最終將片段染色的值傳送給段操作部件。

        (9)片段操作(Fragment,1 ASIC):接收PS所發(fā)送的片段信息,對片段進行后期的FOP等處理,處理完畢后將最終的像素值寫入Frame Buffer中。

        可編程圖形處理器由15個處理器以及圖元裝配、片斷操作、內部圖像處理子集、MMU和直接內存存取DMA(Direct Memory Access)5個專用圖形加速單元所構成。15個處理器均為可編程處理器,其中CMD和PS為定點處理器,其他的處理器為浮點處理器。圖像處理子集、MMU和DMA功能如下:

        (1)圖像處理子集(PS_IMG_PROC, 1 ASIC):完成對像素數據的處理,以及紋理和霧相關信息的存儲。

        (2)內存管理[9](MMU,1 ASIC):實現對GPU存儲空間分配、存儲讀/寫控制、存儲空間回收以及存儲保護、地址映射等,對有訪存要求的SoC圖形處理芯片渲染管線部件進行仲裁并予以實時響應,協調各模塊對存儲的訪問,保證各個模塊能夠順利地對存儲器進行讀/寫操作;

        (3)直接存儲訪問(DMA,1 ASIC):從命令處理器那完全接管對總線的控制,數據交換不再經過命令處理器、圖像處理子集,而直接在DDR或片上存儲與CPU內存之間進行數據傳送??删幊虉D形處理器結構圖如圖3所示。

        可編程圖形處理器功能如下:

        (1)支持OpenGL 1.3;

        (2)支持3D圖元及相應幾何變換;

        (3)支持緩沖區(qū)對象、頂點數組和顯示列表;

        (4)每個時鐘周期可同時支持4個像素的處理;

        (5)支持6個平面裁剪、三維裁剪;

        (6)支持多達8盞燈的方向性光照和位置性光照;

        (7)支持Phong和Gouraud兩種光照模型;

        (8)采用32位深度緩沖,實現隱藏面消除;

        (9)支持6幅紋理貼圖;

        (10)支持顏色、深度、累計、幀緩沖區(qū);

        (11)支持位圖、圖像繪制、圖像讀取、圖像復制等圖像操作。

3 實驗數據

        采用DINI公司DNV6_F2PCIE FPGA開發(fā)板驗證系統(tǒng),將LEON3集成到A片,ISE14.4綜合頻率為86.895 MHz,所占Slice為33%。將可編程圖形處理器集成到B片,綜合頻率為97.032 MHz,所占Slice為76%。在Dini公司配套的EMU軟件下,GPU實際工作頻率最高為120 MHz(高于綜合頻率),每個時鐘周期可同時支持4個像素的處理,其圖形渲染速度為120×4=480 MPixels/s,顯示窗口為800×600,顯示圖像大小為640×480,38個時鐘渲染完一個像素,如圖4所示。

        本文對異構SoC可編程圖像系統(tǒng)硬件設計進行深入分析,并在FPGA上驗證,得出了以下結論:

        (1)采用開源LEON3處理器,大大降低了系統(tǒng)硬件開發(fā)成本,加快了硬件開發(fā)速度。

        (2)CPU和GPU之間采用AHB總線通信,滿足高性能、高時鐘頻率的系統(tǒng)模塊之間的數據交互。

        (3)采用自主研發(fā)的并行多核處理器架構,由15個微處理器和硬件加速協處理器構成可編程GPU。

        (4)為了優(yōu)化系統(tǒng)性能和節(jié)省芯片面積,部分微處理器的運算單元采用了定點設計,而其他處理器采用浮點設計,支持處理器并行SIMT運算,通過軟件協調圖形系統(tǒng)運行精度、性能、面積和功耗的平衡。

        (5)為了加速圖形運算,設計了GPU的圖元裝配、片段操作、圖像處理子集、MMU和DMA 5個專用圖形加速單元。

參考文獻

[1] Aeroflex Gaisler.LEON/GRLIB configuration and development guide[EB/OL].(2014-04)[2014-05-08].http://gaisler.com/products/grlib/guide.pdf.

[2] 王超.異構多核可重構片上網絡系統(tǒng)關鍵技術研究[D].合肥:中國科學技術大學,2011.

[3] 山蕊,蔣林,李濤.基于System Verilog的可重用驗證平臺[J].電子技術應用,2013,39(5):128-131.

[4] Xlinx中文官方網址[EB/OL].(2014)[2014].http://china.xilinx.com/products/boards-and-kits/1-2BIW6U.htm.

[5] 沈理.SOC/ASIC設計驗證和測試方法學[M].廣州:中山大學出版社,2006.

[6] SPARC International.The SPARC architecture manual,version 8[M].Prentice Hall,1992.

[7] Aeroflex Gaisler.GRLIB IP library user′s manual version 1.3.0-B4133[EB/OL].(2013-01)[2014-05].http://gaisler.com.

[8] Aeroflex Gaisler.GRLIB IP core user′s manual version 1.3.0-B4133[EB/OL].(2013-07)[2014-05].http://gaisler.com.

[9] 肖靈芝.異構多核圖形處理器存儲系統(tǒng)設計與實現[J].電子技術應用,2013(5):38-40.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
主站蜘蛛池模板: 中文字幕在线观看亚洲 | 欧美伊人激情 | 宅男深夜免费必看 | 黄色在线 | 激性欧美激情在线aa | 国产成人午夜性a一级毛片 国产成人午夜视频 | 99麻豆视频| 白洁性荡生活96 | 亚洲欧美日韩精品高清 | 骚片免费| 亚洲精品tv久久久久久久久久 | 亚洲一区二区三区不卡视频 | 欧美日韩中文视频 | 黄色刺激网站 | 国产a视频精品免费观看 | 国产高清视频在线观看不卡v | 免费看一级特黄a大片 | 永久免费av网站 | 一个人看的www在线视频播放 | 手机看片日韩在线 | 一区二区三区四区日韩 | 日本黄色小说网站 | 91在线精品你懂的免费 | 午夜影院免费在线观看 | 中文字幕欧美日韩在线不卡 | 欧美视频在线第一页 | 狠狠色噜狠狠狠狠色综合久 | 国产色在线com | 狠狠操2018 | 制服丝袜中文在线 | 一区二区三区波多野结衣 | 91全国探花精品正在播放 | 最近2019年最中文字幕视频 | 久久久久久国产精品视频 | 2o2o天天看夜夜看狠狠看 | 黄色精品| 男女免费观看视频 | 欧美日韩亚洲成人 | 国产 日韩 欧美 在线 | 亚洲欧美国产视频 | 欧美干色|