《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 異構多核SoC可編程圖形系統硬件設計
異構多核SoC可編程圖形系統硬件設計
2014年電子技術應用第7期
周建偉1,韓俊剛1,李 濤1,杜慧敏2,焦繼業1
1.西安郵電大學 計算機學院,陜西 西安710061; 2.西安郵電大學 電子工程學院,陜西 西安7
摘要: 采用開源LEON3(basic version)處理器,運行Linux操作系統,并驅動西安郵電大學自主設計研發的基于傳統GPU架構的可編程圖形處理器,實現了包含可編程圖形系統的SoC平臺。將系統集成到Dini Group最新的DNV6_F2PCIE開發板上,采取OpenGL編程,通過鼠標、鍵盤、顯示器運行2D、3D程序,進行圖形的繪制,從而比較充分地驗證了圖形系統硬件設計。
中圖分類號: 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

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

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

1 系統論證

1.1 研究路線

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

1.2 關鍵技術與可行性分析

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

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

2 系統的硬件設計

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

        系統主要數據流向:

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

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

2.1 嵌入式LEON3處理器的設計

        LEON3(basic version)作為整個系統的主機,是一款由歐洲航天總局旗下的Gaisler Research公司開發研制的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等。

        作為整個系統的主機,其功能如下:

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

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

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

        (4)運行2D程序;

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

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

        LEON3結構如圖2所示。

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

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

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

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

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

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

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

        (6)視窗變換(HCW,1 core):完成3D坐標向屏幕坐標的轉換,經過HCW的處理后,基本圖元將轉變為屏幕上所見到的圖元,為后續的光柵化做準備。

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

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

        (9)片段操作(Fragment,1 ASIC):接收PS所發送的片段信息,對片段進行后期的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內存之間進行數據傳送。可編程圖形處理器結構圖如圖3所示。

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

        (1)支持OpenGL 1.3;

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

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

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

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

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

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

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

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

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

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

3 實驗數據

        采用DINI公司DNV6_F2PCIE FPGA開發板驗證系統,將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可編程圖像系統硬件設計進行深入分析,并在FPGA上驗證,得出了以下結論:

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

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

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

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

        (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] 王超.異構多核可重構片上網絡系統關鍵技術研究[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] 肖靈芝.異構多核圖形處理器存儲系統設計與實現[J].電子技術應用,2013(5):38-40.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲福利一区| 亚洲精品在线观看免费| 玖玖综合伊人| 亚洲欧美日本国产有色| 亚洲精品一区二区三区av| 午夜精品久久99蜜桃的功能介绍| 亚洲福利av| 国产偷久久久精品专区| 欧美日韩免费在线观看| 美女国内精品自产拍在线播放| 亚洲欧美激情四射在线日| 亚洲精品乱码久久久久久按摩观| 欧美一区二区三区久久精品| 一区二区三区高清| 亚洲精品1区2区| 伊人色综合久久天天五月婷| 国产美女精品在线| 国产精品porn| 欧美人与禽猛交乱配| 欧美成va人片在线观看| 久久影音先锋| 久久久欧美一区二区| 欧美一区二视频在线免费观看| 中文高清一区| 中文在线不卡视频| 一区二区三区精品视频| 亚洲乱码视频| 亚洲国产精品热久久| 黄色成人av网站| 国产综合久久久久影院| 国产精品嫩草99a| 欧美精品一区在线观看| 欧美wwwwww| 欧美顶级大胆免费视频| 久久久精彩视频| 久久久亚洲成人| 久久久噜噜噜久久中文字免| 久久av一区二区三区| 欧美在线免费观看亚洲| 久久精品国产久精国产思思| 久久久久久97三级| 久久影视精品| 欧美高清在线视频| 欧美二区在线播放| 欧美激情精品久久久久久大尺度 | 欧美精品18videos性欧美| 亚洲日本成人网| 久久精品国产99国产精品澳门| 亚洲国产精品美女| 亚洲精品中文字幕女同| 中文久久精品| 欧美在线一级va免费观看| 久久尤物视频| 欧美日韩高清区| 国产日韩欧美三区| 亚洲欧洲精品一区二区三区| 亚洲丝袜av一区| 亚洲观看高清完整版在线观看| 一本到高清视频免费精品| 欧美一区二区视频97| 蜜臀a∨国产成人精品| 欧美亚洲不卡| 精品96久久久久久中文字幕无| 亚洲日韩视频| 亚洲欧美中文日韩在线| 亚洲欧洲一级| 欧美一区国产二区| 欧美精品福利| 国产欧美一区二区精品婷婷| 亚洲第一综合天堂另类专| 亚洲无线一线二线三线区别av| 久久精品成人一区二区三区| 亚洲图片欧美日产| 久久久久久亚洲综合影院红桃 | 亚洲区国产区| 欧美一区二区三区在线播放| 日韩午夜电影av| 久久精品国产视频| 欧美日韩亚洲不卡| 极品尤物av久久免费看| 亚洲一区在线免费观看| 日韩亚洲欧美在线观看| 久久久国产精品一区| 国产精品国产一区二区| 亚洲国产福利在线| 欧美伊人久久久久久久久影院 | 黄色亚洲免费| 亚洲国产天堂久久综合| 亚洲国产精品一区二区第四页av| 亚洲国产裸拍裸体视频在线观看乱了| 在线一区二区三区四区五区| 久久久99免费视频| 国产精品二区二区三区| 亚洲国产欧美久久| 欧美一区二区三区在线视频| 亚洲美女在线国产| 欧美一区二区三区在线播放| 欧美日韩精品高清| 在线成人激情| 欧美伊人久久久久久久久影院| 亚洲一区三区视频在线观看| 欧美国产激情二区三区| 韩国av一区二区三区在线观看 | 亚洲第一级黄色片| 亚洲欧美国产77777| 欧美国产精品久久| 一区二区亚洲| 欧美在线一二三四区| 午夜精品久久久久久久99热浪潮 | 久久久久久9999| 国产精品人人爽人人做我的可爱 | 国产精品一区二区你懂的| 99视频在线观看一区三区| 亚洲乱码国产乱码精品精天堂| 另类春色校园亚洲| 国模 一区 二区 三区| 欧美亚洲一区| 久久不射2019中文字幕| 国产欧美一区二区精品秋霞影院 | 久久色在线观看| 国产亚洲一区二区在线观看 | 99re6这里只有精品| 欧美国产日本韩| 亚洲高清视频中文字幕| 亚洲激情专区| 欧美gay视频激情| 亚洲国产精品免费| 亚洲人午夜精品免费| 欧美a级片网| 亚洲激情精品| 一卡二卡3卡四卡高清精品视频| 欧美日本韩国一区二区三区| 亚洲狼人综合| 亚洲视频高清| 国产精品盗摄久久久| 亚洲午夜一区二区| 亚洲欧美一区二区激情| 国产精品区免费视频| 亚洲欧美日韩一区在线观看| 久久国内精品视频| 一区二区三区亚洲| 亚洲日本乱码在线观看| 欧美精品网站| 一区二区三区精品在线| 亚洲综合首页| 国产乱码精品一区二区三| 欧美一区二区三区在线看| 久久亚洲国产成人| 亚洲国产成人精品女人久久久| aⅴ色国产欧美| 国产精品久久久免费| 欧美在线免费观看| 欧美www在线| 99精品国产在热久久| 欧美一级免费视频| 黄色成人av| 99日韩精品| 国产精品人人爽人人做我的可爱| 欧美一级专区免费大片| 欧美二区在线看| 在线亚洲精品| 久久精品123| 亚洲国产精品va| 亚洲欧美国产高清va在线播| 国产日韩欧美一区二区三区在线观看| 亚洲第一色中文字幕| 欧美连裤袜在线视频| 亚洲一区二区视频| 久久一区二区三区超碰国产精品| 亚洲精品国产精品国自产观看浪潮 | 久久国产日本精品| 亚洲国产欧美在线人成| 亚洲欧美日韩精品久久亚洲区 | 久久精品一区中文字幕| 亚洲国产精品高清久久久| 亚洲免费婷婷| 伊人成人网在线看| 亚洲一区二区黄| 韩日欧美一区| 亚洲网址在线| 一区二区三区在线看| 亚洲一区二区在线免费观看视频| 国产一级一区二区| 99re热精品| 国产日韩欧美一区| 一区二区av在线| 国产日韩三区| 99人久久精品视频最新地址| 国产婷婷精品| 亚洲午夜性刺激影院| 在线观看视频亚洲| 性欧美8khd高清极品| 亚洲国产精品专区久久| 欧美一区二区三区日韩视频| 亚洲日本激情| 久久久久久久一区| 亚洲午夜激情网页| 欧美高清视频一区| 午夜精品偷拍| 国产精品qvod|