《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于UML & SystemC的GPU幾何管線光柵化硬件建模
基于UML & SystemC的GPU幾何管線光柵化硬件建模
2019年電子技術應用第1期
陳 佳1,田 澤1,2,吳曉成1,樓曉強1
1.中航工業西安航空計算技術研究所,陜西 西安710068; 2.集成電路與微系統設計航空科技重點實驗室,陜西 西安710068
摘要: 架構與算法是決定GPU性能的重要因素,需要盡可能早地對其進行評估和驗證。提出基于統一建模語言(Unified Modeling Language,UML)的模型,詳述了針對GPU幾何管線架構和線圖元光柵化算法建模的過程及方法,并采用SystemC語言實現了事務級建模(Transaction-level Modeling,TLM)模型和仿真。驗證了架構和算法的正確性以及模型的有效性和可行性,為RTL設計提供了參考依據。
關鍵詞: UML TLM SystemC 建模仿真
中圖分類號: TP391
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181691
中文引用格式: 陳佳,田澤,吳曉成,等. 基于UML & SystemC的GPU幾何管線光柵化硬件建模[J].電子技術應用,2019,45(1):23-26.
英文引用格式: Chen Jia,Tian Ze,Wu Xiaocheng,et al. Hardware modeling of GPU geometric pipeline rasterization based on UML & SystemC[J]. Application of Electronic Technique,2019,45(1):23-26.
Hardware modeling of GPU geometric pipeline rasterization based on UML & SystemC
Chen Jia1,Tian Ze1,2,Wu Xiaocheng1,Lou Xiaoqiang1
1.AVIC Computing Technique Research Institute,Xi′an 710068,China; 2.Aviation Key Laboratory of Science and Technology on Integrated Circuit and Micro-System Design,Xi′an 710068,China
Abstract: Architecture and algorithm determine the performance of GPU, and they need be verified as soon as possible. The paper brings forward a method of modeling based on UML(Unified Modeling Language), and describes the process of modeling GPU geometry engine unit architecture and line primitive rasterization algorithm in detail. Model and simulation are implemented in SystemC language. The model verifies the correctness of architecture and algorithm, and its own effectiveness and feasibility, provides reference to RTL design.
Key words : UML;TLM;SystemC;model simulation

0 引言

    隨著微電子技術的快速發展以及人們對顯卡的要求越來越高,應用于圖形處理的計算機從圖形工作站逐漸發展到單芯片圖形處理器芯片(GPU)直到現在可編程大規模并行處理器,集成電路的規模及復雜度成倍增加。

    在GPU的設計與開發中,需要在RTL設計之前盡可能早地對架構和算法進行驗證,為RTL設計提供參考依據。雖然RTL模型會提供更為精確的時間信息用于分析,但是開發比事務級建模(Transaction-Level Modeling,TLM)要困難,當進行結構優化時,帶有物理細節的模型要比TLM更難以更改。

    GPU畫圖的核心是幾何管線及光柵化,畫圖的基本圖元是點、線、三角形,本文搭建的GPU模型將幾何管線及光柵化封裝為幾何引擎單元,針對幾何引擎的架構以及線圖元光柵化的算法搭建了基于統一建模語言(Unified Modeling Language,UML)的模型,并采用SystemC語言實現了TLM模型和仿真,通過模型畫出的圖像證明架構和算法的正確性,以及模型的有效性和可行性。

1 UML建模語言

    UML是一種定義良好、易于表達、功能強大且普遍適用的建模語言,UML適用于以面向對象技術來描述任何類型的系統,而且適用于系統開發的不同階段,從需求規格描述直至系統完成后的測試和維護。在UML中,從任何一個角度對系統所做的抽象都可能需要用幾種模型圖來描述,而這些來自不同角度的模型圖最終組成了系統的完整模型。

2 TLM模型

    本文搭建的模型屬于TLM模型,TLM從更高的層次描述系統的行為,當要建模的目標系統十分復雜時,利用TLM快速建模,使得設計者在做RTL設計前就對目標系統有更清楚的理解,有利于硬件體系結構的性能分析和行為分析、軟硬件劃分和協同設計,并且事務級模型可帶有時間信息可以做周期性能分析,能夠提供非常快速的硬件仿真速度,是精確到周期的模型。

3 UML建模

    本文針對GPU的幾何引擎單元搭建UML模型,整個開發過程以系統的建模行為為驅動,在進行建模之前,應當分析系統需求,根據建模的不同階段,按照顆粒度從大到小,將單元的架構和算法一層層進行梳理。建模的方法和過程主要包括以下視圖。

3.1 類圖

    在面向對象的建模技術中,類、對象和它們之間的關系是最基本的建模元素。類圖描述了系統中的類及相互之間的各種關系,其本質反映了系統中包含的各種對象的類型以及對象間的各種靜態關系。

    本文搭建的幾何引擎單元(GEU)是GPU系統的子模塊,其接口輸入是染色器輸出控制單元(OCU),輸出是任務調度單元(JSU)、深度緩沖區(ZCACHE)和寄存器接口(SPMU)。染色器輸出控制單元將頂點數據發送給幾何引擎單元,幾何引擎單元處理完成后形成片元數據并輸出給任務調度單元,任務調度單元按照數據屬性類型封裝發送給下級單元,同時通過深度緩沖區接口將深度信息寫入深度緩沖區用來進行深度測試,以及通過寄存器接口更新寄存器以備后面單元計算使用。圖1就是幾何引擎單元的類圖,也稱為接口圖。

wdz2-t1.gif

3.2 結構圖

    結構圖顯示類元內部結構,包括此模塊與系統其他部分的交互點,也顯示類里各模塊的關系,這些模塊一起執行類的行為。用結構圖搭建幾何引擎單元的架構,可以清晰地展現出單元內部的組成部分,以及單元內部的數據通路。幾何引擎單元的架構根據圖形學的幾何管線和光柵化原理由以下7個模塊組成,分別是圖元組裝、平面剪裁、投影變換、三維剪裁、視窗變換、背面消隱以及光柵化單元,其結構圖建模如圖2所示。

wdz2-t2.gif

3.3 行為圖

    行為圖是對類的一種補充描述,描述了對象之間動態的交互關系,展示了此類對象所具有的可能的狀態以及某些事件發生時其狀態的轉移情況。對于計算機圖形學算法的理解首先要求具有較好的數學基礎、良好的空間思維和非常清晰的思路。從結構圖可以看出光柵化是幾何引擎單元的最后一步,由應用程序指定的頂點按照結構圖的流程執行到光柵化,完成了一系列空間轉換后,由頂點繪制成圖元就是光柵化單元所要做的事情。

    光柵化的算法是整個模型最復雜的算法,行為圖可以準確有條理地描述算法的思路和實現,邏輯性地表達出算法的細節及其數據流和控制流。本文重點針對線圖元光柵化算法,采用行為圖搭建了其模型,圖3是線圖元光柵化算法總體流程,其細節在每個子模塊的內部詳細描述。

wdz2-t3.gif

    本文從GPU的整體架構出發層次性地搭建模型,首先針對幾何引擎單元的外部互聯建模類圖,再根據原理細化單元內部結構圖,最后詳解線圖元光柵化的算法行為圖,準確描述出基于UML的模型搭建方法和過程。

4 SystemC建模及仿真

    本文采用SystemC語言實現了TLM模型以及仿真,SystemC是針對系統級和事務級設計流程的軟/硬件建模和仿真平臺,它在C++的基礎上擴充了硬件庫和仿真內核,具備硬件描述語言的基本特性。SystemC提供了支持硬件描述的類庫和解釋硬件描述的調度器,并從C++繼承了對軟件的描述能力,是一種可描述硬件和軟件的建模語言[1-2]。SystemC的最大特點在于可支持軟/硬件的協同設計和仿真,且較硬件描述語言有著極高的仿真速度。TLM將模型間的通信細節與函數單元或通信架構的細節分離出來,通信機制被建模成信道,并且以SystemC接口類的形式向模塊呈現[3-4]

    根據UML建模的過程,本文通過SystemC語言將模型實現并仿真。

4.1 根據UML類圖建模

    SystemC支持對模塊的定義,模塊實際上是一個類,內部包括了輸入/輸出端口、內部信號以及方法/線程[5]。SystemC定義的模塊可對應RTL代碼中的module。

    在完成各個模塊的定義和描述后,就需要對模塊進行端口綁定,以實現完整的功能架構。例如圖1中的任務調度單元和幾何引擎單元,任務調度單元通過端口向幾何引擎單元傳輸頂點屬性,則定義一個接口。同時分別在任務調度單元和幾何引擎單元定義此接口類型的端口,并在幾何引擎單元內部實現該接口函數。

    幾何引擎單元模塊的內部定義如下:

    wdz2-4.1-x1.gif

    wdz2-4.1-x2.gif

4.2 根據UML結構圖建模

    幾何引擎單元類G3D_GEU 內部例化7個子模塊:

    G3D_GEU_PAU  *pau;

    G3D_GEU_PCU  *pcu;

    G3D_GEU_PTU  *ptu;

    G3D_GEU_TDU  *tdu;    

    G3D_GEU_VTU  *vtu;

    G3D_GEU_BCU  *bcu;

    G3D_GEU_PRU  *pru;

4.3 根據UML的行為圖建模

    模塊內部的算法細節采用線程實現,線程則會在每個時鐘變化沿(可以是上升沿,下降沿,或者上升下降沿)被執行,并且引入了時序,可用于模型的時序性能分析[6]。一個模塊內部可以擁有多個線程,在光柵化模塊中就分別有實現點圖元、線圖元、三角形圖元光柵化的線程,本文以線圖元的線程為例描述建模方法。

    wdz2-4.3-x1.gif

    wdz2-4.3-x2.gif

4.4 模型仿真

    在完成SystemC建模后,需要對模型進行仿真調試。SystemC庫自帶仿真內核,用于調度事件與線程的執行順序。與Verilog和VHDL類似,SystemC的仿真內核支持delta cycle、支持立即事件觸發和延遲事件觸發。SystemC的仿真內核按照一定的規則對所有的線程進行調度與執行[7-8]。完成對模型的仿真調試后,模型可以作為RTL仿真的參考模型,與RTL進行聯合仿真,這是下一步的工作。

    本文搭建的GPU模型實現了OpenGL2.0標準,針對線圖元光柵化算法及幾何引擎單元架構做的仿真驗證實例圖如下,圖4和圖5分別是模型和Mesa啟用了點畫模式的線圖元。Mesa是國際官方組織發布的實現OpenGL應用程序接口純軟模型,不依賴于任何硬件。

wdz2-t4.gif

wdz2-t5.gif

    本文模型(圖4)設置的分辨率是2 048×1 536,Mesa(圖5)設置的分辨率是1 024×768,因此從兩個模型結果對比,圖4基本上是圖5密集度的兩倍,但是兩幅圖的點畫效果是一致的,說明幾何引擎的架構與線圖元光柵化算法正確。

5 結論

    本文基于UML視圖搭建了GPU幾何管線光柵化的模型,并通過SystemC語言進行了仿真驗證,快速地驗證系統架構和算法,為RTL設計提供參考依據;同時為RTL設計建立早期的驗證平臺,縮短驗證時間;并且可以作為RTL驗證平臺的參考模型,提高驗證的正確性和完整性;加速了GPU的軟硬件協同設計。

參考文獻

[1] SWAN S.An introduction to system level modeling in SystemC 2.0.cadence design systems[Z].2001.

[2] IEEE 1666-2011,IEEE standard for standard systemc language reference manual[S].2011.

[3] Open SystemC Initiative,SystemC 2.0 User’s Guide[Z].

[4] 張俊新.基于SystemC的事物級建模研究[D].武漢:武漢大學,2004.

[5] 王忠海,葉以正,喻明艷.使用SystemC 2.0進行SoC設計建模仿真[J].計算機仿真,2005,22(5):78-81.

[6] 唐進.SystemC架起了橋梁[J].中國集成電路,2005(5):44-46.

[7] 石柯.基于SystemC的嵌入式系統軟硬件協同設計[J].計算機應用研究,2002,19(6):117-119.

[8] 李揮,陳曦.SystemC電子系統設計[M].北京:科學出版社,2010.



作者信息:

陳  佳1,田  澤1,2,吳曉成1,樓曉強1

(1.中航工業西安航空計算技術研究所,陜西 西安710068;

2.集成電路與微系統設計航空科技重點實驗室,陜西 西安710068)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日韩国产影院| 在线观看亚洲专区| 免费成人av在线| 久久黄色级2电影| 午夜视频在线观看一区| 亚洲一级高清| 中文国产一区| 亚洲午夜精品久久久久久浪潮| 日韩一级片网址| 亚洲精品一区二区三区不| 亚洲国产精品精华液2区45| 久久国产精品久久w女人spa| 欧美一级视频一区二区| 亚洲欧美在线高清| 羞羞视频在线观看欧美| 欧美一级片久久久久久久| 欧美一区二区三区播放老司机| 午夜久久久久久| 欧美一区二区三区四区夜夜大片| 亚久久调教视频| 欧美主播一区二区三区美女 久久精品人| 性久久久久久久| 亚洲成色777777女色窝| 最新成人在线| 亚洲精品专区| 亚洲视频综合| 亚洲欧美国内爽妇网| 亚洲欧美中文另类| 久久国产精品99精品国产| 久久久综合视频| 欧美成人免费网| 欧美精品一区在线| 国产精品高潮呻吟久久av黑人| 国产精品你懂的在线欣赏| 国产农村妇女毛片精品久久莱园子 | 一区免费视频| 最新成人av网站| 亚洲视频axxx| 欧美在线国产精品| 亚洲免费黄色| 亚洲免费视频一区二区| 久久久精品日韩| 欧美大片一区二区| 国产精品av久久久久久麻豆网| 国产精品色婷婷久久58| 国语对白精品一区二区| 在线观看亚洲a| 亚洲婷婷国产精品电影人久久| 欧美在线观看一区二区| 99精品国产一区二区青青牛奶| 午夜欧美不卡精品aaaaa| 巨乳诱惑日韩免费av| 欧美日韩成人综合在线一区二区 | 影院欧美亚洲| 一区二区免费在线播放| 欧美制服丝袜| 在线亚洲伦理| 久久久久久亚洲精品中文字幕| 欧美国产综合视频| 国产欧美一区二区精品婷婷| 亚洲国产一区在线| 亚洲欧美日韩国产精品| 亚洲人成人99网站| 欧美一区二区视频在线| 欧美精品午夜视频| 国产综合在线视频| 99在线热播精品免费99热| 久久精品视频免费| 亚洲欧美日韩爽爽影院| 欧美激情性爽国产精品17p| 国产麻豆综合| 日韩一二在线观看| 91久久久久久久久| 久久精品成人| 国产精品免费网站| 亚洲精品久久久久| 亚洲高清视频一区| 欧美亚洲视频在线观看| 欧美女激情福利| 在线播放精品| 欧美一区成人| 亚洲欧美日韩在线播放| 欧美激情 亚洲a∨综合| 国产一本一道久久香蕉| 亚洲性感美女99在线| 一本色道久久综合亚洲精品高清 | 亚洲国产精品ⅴa在线观看| 小嫩嫩精品导航| 亚洲一区中文| 欧美美女bbbb| 亚洲国内欧美| 亚洲高清视频在线观看| 久久精品视频免费播放| 国产精品美女| 日韩亚洲欧美中文三级| 99国产精品久久久久久久久久| 久久国产精品久久久久久| 国产精品久久久久999| 99热在这里有精品免费| av成人天堂| 欧美精品色综合| 亚洲激情视频| 亚洲精品美女91| 欧美1区视频| 亚洲国产一区二区精品专区| 亚洲国产美女久久久久| 久久露脸国产精品| 狠久久av成人天堂| 久久成人精品电影| 久久精品最新地址| 国产亚洲亚洲| 欧美影院视频| 久久久久在线| 激情久久久久久久久久久久久久久久 | 欧美中文字幕久久| 久久久久久久综合色一本| 国产日韩一区| 欧美一区午夜精品| 久久久久久久久久久成人| 国产一区视频观看| 久久aⅴ国产紧身牛仔裤| 久久久久久久一区| 伊人伊人伊人久久| 最新国产成人在线观看| 欧美成人精品在线播放| 亚洲精品日产精品乱码不卡| 一区二区高清视频| 欧美性猛交99久久久久99按摩 | 久久精品av麻豆的观看方式| 久久久久久电影| 伊人久久大香线蕉av超碰演员| 亚洲电影免费在线观看| 欧美福利视频网站| 日韩亚洲欧美综合| 亚洲欧美福利一区二区| 国产精品制服诱惑| 亚洲第一毛片| 欧美精品一区二区高清在线观看| 亚洲人人精品| 亚洲欧美成人一区二区在线电影 | 亚洲国产婷婷综合在线精品| 日韩亚洲欧美成人一区| 欧美日韩亚洲综合一区| 亚洲一区二区成人在线观看| 久久精品国产久精国产一老狼| 韩国福利一区| 99在线精品免费视频九九视| 国产精品黄色| 久久精品国产综合| 欧美伦理影院| 午夜精品视频在线观看一区二区| 久久蜜桃香蕉精品一区二区三区| 亚洲高清视频的网址| 中日韩视频在线观看| 国产欧美日韩亚洲| 亚洲精品日韩在线| 国产精品国产三级欧美二区 | 欧美大片在线观看一区二区| 日韩亚洲在线观看| 久久精彩视频| 最新国产の精品合集bt伙计| 亚洲欧美视频在线观看| 激情亚洲一区二区三区四区| 在线综合亚洲| 国精品一区二区三区| 99国产精品视频免费观看一公开| 国产精品久久久久久亚洲调教| 久久精品国产精品亚洲精品| 欧美日韩视频在线第一区| 欧美一区激情视频在线观看| 欧美日韩成人在线播放| 午夜在线a亚洲v天堂网2018| 欧美大片在线看| 亚洲影院色无极综合| 欧美不卡高清| 亚洲一区二区在线免费观看| 免费不卡在线视频| 亚洲一区二区在线看| 欧美激情五月| 久久国产免费| 欧美四级伦理在线| 亚洲经典在线| 国产亚洲精品自拍| 亚洲性感美女99在线| 在线看成人片| 久久www成人_看片免费不卡| 亚洲日本中文字幕免费在线不卡| 久久精品国产第一区二区三区| 99视频精品| 欧美第一黄色网| 性伦欧美刺激片在线观看| 欧美日一区二区三区在线观看国产免 | 亚洲国产毛片完整版 | 欧美一区三区三区高中清蜜桃| 欧美日韩国产精品成人| 久久精品理论片| 国产日产亚洲精品| 亚洲综合色在线| 亚洲精品少妇| 欧美刺激午夜性久久久久久久|