《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
欧美亚洲一区二区三区| 亚洲人成啪啪网站| 在线播放日韩专区| 国产乱码精品1区2区3区| 欧美日韩日日夜夜| 欧美久久在线| 欧美成年人网| 久久综合久久综合久久| 久久全球大尺度高清视频| 久久激情视频| 久久久精品五月天| 久久久午夜精品| 久久精品一二三区| 久久精品视频在线免费观看| 欧美一区二区三区精品| 欧美在线免费视频| 久久国产欧美精品| 久久久噜噜噜久久人人看| 久久久精品国产免大香伊| 欧美在线亚洲一区| 久久精品女人| 久久久久久午夜| 免费欧美电影| 欧美激情一区二区久久久| 欧美激情按摩在线| 欧美日韩成人综合在线一区二区| 欧美久久久久免费| 欧美视频在线观看视频极品| 欧美色视频日本高清在线观看| 欧美日韩视频在线观看一区二区三区| 欧美日韩成人在线视频| 欧美日韩在线观看视频| 国产精品久久久久久久午夜片| 国产精品久久影院| 国产亚洲免费的视频看| 韩国欧美一区| 亚洲福利视频二区| 亚洲麻豆视频| 亚洲一区二区在| 久久国产精品一区二区三区| 亚洲人成网站精品片在线观看| 99re热精品| 亚洲欧美日本另类| 久久久天天操| 欧美精品在线观看| 国产精品视频一区二区高潮| 黄色av一区| 亚洲欧洲精品一区二区三区波多野1战4 | 欧美人与性禽动交情品| 欧美色视频一区| 国产日产欧产精品推荐色| 一区二区视频免费在线观看| 日韩午夜激情电影| 欧美伊久线香蕉线新在线| 亚洲精品综合精品自拍| 亚洲欧美日韩国产综合在线 | 久久午夜电影| 欧美精品少妇一区二区三区| 国产精品麻豆欧美日韩ww| 一区二区三区在线视频播放| 日韩亚洲欧美高清| 欧美一级免费视频| 一本一本久久| 久久免费精品视频| 欧美三区免费完整视频在线观看| 国产午夜精品久久久| 亚洲伦理自拍| 亚洲电影在线免费观看| 亚洲一区二区三区免费观看| 免费成人小视频| 国产精品毛片大码女人| 亚洲国产精品一区在线观看不卡 | 亚洲裸体视频| 久久九九热re6这里有精品| 欧美日韩久久| 欲色影视综合吧| 亚洲愉拍自拍另类高清精品| 亚洲日韩视频| 久久久久久久999精品视频| 国产精品高潮在线| 亚洲三级免费| 亚洲国内精品在线| 欧美一区二区三区免费看| 欧美日韩国产美女| 伊人成年综合电影网| 午夜一区二区三区在线观看| 亚洲一区二区三区久久| 欧美人交a欧美精品| 精品福利电影| 欧美一区二区三区免费大片| 亚洲一区三区电影在线观看| 欧美成人精品一区二区| 国产一区二区三区在线免费观看 | 亚洲欧美日本视频在线观看| 99综合精品| 麻豆精品国产91久久久久久| 国产欧美一区二区三区沐欲| aa国产精品| 99这里只有精品| 欧美成人亚洲| 一区在线观看| 欧美在线三级| 欧美亚洲一区在线| 国产精品久久激情| 一区二区三区免费观看| 日韩手机在线导航| 欧美成人免费全部观看天天性色| 国语精品一区| 欧美一区二区三区的| 欧美一区二区视频网站| 国产精品一区二区三区四区| 亚洲性线免费观看视频成熟| 亚洲永久免费精品| 国产精品xnxxcom| 在线视频精品一区| 亚洲婷婷在线| 欧美日韩亚洲免费| 日韩一区二区电影网| 在线亚洲电影| 欧美视频免费在线观看| 日韩视频精品| 亚洲一区制服诱惑| 国产精品视频1区| 午夜精品美女自拍福到在线| 欧美一区在线看| 国产色综合网| 亚洲福利在线视频| 免费短视频成人日韩| 亚洲福利视频一区二区| 日韩一区二区高清| 欧美日韩亚洲三区| 制服丝袜亚洲播放| 午夜精品区一区二区三| 国产日韩1区| 亚洲电影中文字幕| 欧美精品久久天天躁| 日韩亚洲一区二区| 亚洲欧美日韩在线观看a三区 | 日韩网站在线观看| 欧美日韩亚洲在线| 亚洲一区国产| 久久成人免费视频| 影音先锋中文字幕一区二区| 亚洲精品影院| 欧美午夜精品一区| 午夜视频一区二区| 麻豆视频一区二区| 亚洲精品欧美| 欧美一级专区| 伊人久久婷婷| 在线综合亚洲| 国产欧美亚洲视频| 亚洲国产精品久久久久| 欧美日韩国产成人| 亚洲专区一区| 免费不卡在线观看av| 99精品久久久| 久久精品国产91精品亚洲| 依依成人综合视频| 亚洲午夜日本在线观看| 国产欧美综合在线| 亚洲欧洲精品成人久久奇米网| 欧美精品久久一区二区| 亚洲免费影视| 欧美黑人多人双交| 亚洲欧美日韩久久精品| 欧美www在线| 亚洲一区二区三区久久| 麻豆久久婷婷| 亚洲——在线| 欧美不卡在线视频| 亚洲综合精品自拍| 欧美福利在线| 亚洲女人av| 欧美精品久久久久久久久久| 午夜一区二区三区在线观看| 欧美国产视频在线观看| 亚洲欧洲av一区二区三区久久| 欧美大尺度在线观看| 亚洲欧美不卡| 欧美日本在线播放| 欧美一区日本一区韩国一区| 欧美精品三级| 久久成人一区二区| 国产精品久久激情| 亚洲免费观看在线观看| 国产亚洲精品久久飘花| 一区二区三区免费在线观看| 国语自产精品视频在线看抢先版结局 | 性久久久久久久| 最新国产精品拍自在线播放| 久久不射网站| 日韩一级在线观看| 男人的天堂亚洲| 欧美一级网站| 国产精品激情电影| 亚洲精品一区在线观看香蕉| 国产亚洲精品久| 亚洲一区二区三区四区中文| 最新高清无码专区|