《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > 異構SoC圖形器中可編程剪裁器的設計與實現
異構SoC圖形器中可編程剪裁器的設計與實現
2015年電子技術應用第2期
柏承雙1,蔣 林1,周建偉2
1.西安郵電大學 電子工程學院,陜西 西安710061; 2.西安郵電大學 計算機學院,陜西 西安710061
摘要: 隨著圖形處理性能的不斷提升,圖形處理的運算量也日益增多,傳統的嵌入式系統面臨著挑戰。解決這一問題的方案之一是運用可編程器件開發適用于嵌入式系統的圖形處理器,從而提高處理速度?,F代圖形處理器采用各種可編程的著色處理器,雖然ASIC的速度和功耗性能優于可編程處理器,但其靈活性與可靠性卻是無法與可編程處理器比擬的。采用一種帶精簡指令的微控制器架構,重點研究用匯編和可編程處理器協同實現平面剪裁功能,代替原來用純硬件實現的功能,該流水線執行多指令多數據流(MIMD)。最后,使用大量的測試用例對點、線和三角形在FPGA開發板上進行相應的驗證。
中圖分類號: TP391
文獻標識碼: A
文章編號: 0258-7998(2015)02-0051-04
Design and implementation of programmable clipper in heterogeneous SoC
Bai Chengshuang1,Jiang Lin1,Zhou Jianwei2
1.College of Electronic Engineering,Xi′an University of Posts Telecommunications,Xi′an 710061,China; 2.College of Computer,Xi′an University of Posts Telecommunications,Xi′an 710061,China
Abstract: With the continuous improvement in graphics processing performance, the computation of graphics processing is also increasing day by day, and the traditional embedded system is facing challenges. One solution to this problem is to use a programmable device development for embedded system graphics processors to improve processing speed. Modern graphics processors use a variety of programmable shader processors. Although the speed and power performance of ASIC are better than that of programmable processor, its flexibility and reliability are unable to the programmable processor. In this paper, a micro-controller with a RISC architecture focuses on using assembly and programmable processor together to achieve the plane clipping function, instead of the function that the pure hardware implements. What′s more, the pipeline executes the multiple instruction multiple data stream(MIMD). Finally, it uses a large number of test points, lines and triangles in the FPGA development board to do the corresponding verifying.
Key words : programmable;plane clipped;graphics processor;micro-controller;the pipelined

 

0 引言

  計算機處理圖形信息時,會遇到存儲的圖形較大,而屏幕只能顯示部分圖形的情況。比如把整幅地圖顯示在屏幕上,由于不能看到局部的細節,使用縮放技術便可以把地圖中的局部區域放大顯示[1]。在放大指定區域時,必須確定圖形中哪些部分落在范圍之內,哪些部分落在顯示范圍之外,以便顯示落在顯示范圍內的圖形。裁剪的目的正是判斷某個圖形元素是否落在窗口之內,如落在窗口之內則進一步求得位于窗口內的部分。

  平面剪裁是OpenGL經典的圖形流水線的重要部件之一,也是最為復雜的部件之一。高性能的圖形處理必須通過高性能的硬件加速器來實現平面剪裁功能,本裁剪器最多支持6個裁剪面,客戶指定裁剪平面對世界空間中的物體進行裁剪,將圖元在給定平面外的部分裁剪掉,保留面內的部分,以實現特殊效果。比如,在三維視圖中標示可見面[2]、對部分圖形進行復制、移動或刪除操作防止圖形邊界混淆、從特定場景中抽取指定部分等。它在計算機圖形處理中具有重要的意義。

1 可編程裁剪器硬件設計


001.jpg

  作為3D圖形加速器的重要組成部分,平面剪裁在計算機圖形處理中具有十分重要的意義。本剪裁器由命令解析(CMD Unit)模塊、控制電路(Ctrl Unit)模塊、裝配電路(Assemb Unit)模塊及微控制器(MCU)模塊構成,總體結構如圖1所示??删幊淘O計體現在用底層匯編在微控制器上運行,已完成平面裁剪功能,其余的3個模塊為外圍電路,對微控制器完成圖元裁剪起輔助加速作用,以便高效實時地完成裁剪功能。MCU采用自主研發的支持90位雙發射指令、4級流水線RSIC結構,含有4片獨立的32×256RAM數據存儲(BANK)單元,完成并行存儲的功能,即一個時鐘沿可對4塊存儲體進行讀或寫,尋址范圍是1k,應用于裁剪過程中所用數據的讀寫。本微控制器可直接在BANK中進行數據讀寫操作,避免了通過寄存器來對BANK讀寫,大大減少的讀寫數據周期,提高了運算效率。

  各模塊功能如下:

  (1)CMD Unit:接受GPU內部管線上一級傳來的GPU內部148位命令,如果是與平面裁剪無關的命令,則不做任何處理,將其透傳給下一級,如果與平面裁剪有關,則對命令進行解析,將矩陣和圖元信息、參數個數及屬性個數等信息存入微控制器中的數據BANK中。

  (2)Ctrl Unit:利用數字電路設計常用的有限狀態機(Finite State Machine,FSM)原理控制命令解析、命令裝配模塊和微控制器間的通信,并采用雙軌握手協議完成GPU內部管線上下級間的信號交互,圖2為其狀態轉移圖。

002.jpg

  (3)MCU:本RISC處理器具有超長指令字(VLIW)結構,由指令讀取、指令解碼、執行和前饋4級流水線等組成。超長指令字的寬度為兩條RISC指令,即能夠同時解析兩條RISC指令,并將譯碼的結果發送到相應的兩條處理流水線中。將平面裁剪匯編指令固化到指令ROM,并通過數據存儲、取指單元、譯碼單元、地址流水線單元、整數和浮點數運算流水線等11個模塊實現可編程裁剪的功能。MCU結構如圖3。

003.jpg

  (4)Assemb Unit:該模塊讀出在MCU完成平面裁剪后存儲在微控單元BANK中的圖元信息,并對裁剪后新的頂點重新裝配為148位GPU內部命令,發送到管線的下一級。

2可編程裁剪器算法和軟件設計

  2.1 平面裁剪算法

  與三維剪裁不同,平面裁剪通過圖元在給定的任意平面內外進行判別,對每個點只要它的視覺坐標(x,y,z,w)滿足(A,B,C,D)M-1(x,y,z,w)T≥0就于此平面內側,否則都將被裁剪掉。其中,(A,B,C,D)為平面系數,M是在調用裁剪平面時當前的模型視圖矩陣。

  平面裁剪采用經典的Sutherland-Hodgman[3]多邊形裁剪算法,利用給定的平面與世界坐標系下的圖元間的位置關系,計算直線與平面的交點,并結合線性插值計算交點的屬性傳至流水線下一級,完成對圖元的剪裁。

  當定義的一個裁剪面依次裁剪多邊形的每一條邊后,組成新的多邊形,再經下一個裁剪面處理,步驟相同。在所有裁剪面完成后,將保留的多邊形信息存儲在MCU的BANK中,最后重新裝配成圖元發送給管線的下一級。下面是一段基于SH裁剪算法的偽代碼。

  If(the specified plane is enable) {

  SutherlandHodgman(clipped primitive);

  for(i=0;i<outlength;i++)   {

  InVertex[i] = outVertex[i];

  outVertex[i].x = 0;

  outVertex[i].y = 0;

  outVertex[i].z = 0;

  }

  inlength = outlength;

  }

  2.2 平面裁剪軟件設計

  在計算機圖形學中,基本圖元只有點、線和三角形,其他任何復雜圖元均由這3種圖元構成,平面裁剪就是采用SH算法對這3種基本圖元進行裁剪,丟棄位于裁剪面之外的圖元信息,采用線性插值的算法,算出位于裁剪面內的圖元信息,并將其發給GPU管線下一級。平面裁剪軟件設計流程如圖4。

004.jpg

3 功能仿真驗證與原型開發

  采用SystemVerilog編寫頂層測試文件,搭建相應的平面裁剪軟硬件協同驗證平臺[4],仿真使用Mentor公司的QuestaSim 6.5(Linux環境)工具,綜合使用Xilinx公司的ISE14.2工具,并選用Dini Group最新的DNV6_F2PCIE開發板進行原型開發。

  3.1 功能仿真驗證

  該平臺采用軟件自動比較的方法進行自動化驗證[5]。每一個測試點同時在Visual Studio 2008環境、SystemVerilog模型和HDL描述的硬件系統中運行,比較繪制結果,將模型和硬件系統作模塊級輸出比較,以確保所有功能的仿真是正確的。

  根據測試點編寫的點、線和三角形的激勵,產生待測數據。將預先得到的參考結果存入FIFO中用于驗證模型的正確性。經過待測模型(DUV)進行相應的處理后生成輸出響應,與參考結果中的值進行比較,如果兩者的值相同,表示功能正確;否則標識錯誤位置,及時修改錯誤點,加速了硬件開發。圖5所示為該平臺的架構。

005.jpg

  經過自動對比,硬件結果與仿真模型的誤差在可控范圍之內,基本完成功能驗證。

  3.2 原型開發

  基于上述設計方案,根據電路規模和性能要求,選擇Xilinx公司的XC6VLX550T進行原型開發。選用Xilinx公司提供的綜合工具[6]ISE14.2,單獨綜合平面裁剪模塊頻率為232.504 MHz,所占Slice為14%。采用DNV6_F2PCIE FPGA開發板進行功能驗證,啟動6個裁剪面對世界空間中的物體進行裁剪前后如圖6所示。

006.jpg

  由圖6可以看出,本裁剪器能完成基于OpenGL 1.3標準的裁剪功能,能夠高效、實時地將圖元在給定平面外的部分裁剪掉,保留面內的部分,以實現特殊效果。

4 結論

  本文對可編程裁剪器的設計與實現進行深入分析,完成可編程平面裁剪器的設計與實現。通過采用SystemVerilog搭建相應的軟硬件協同仿真驗證平臺,完成了模型和HDL描述的硬件自動化驗證,加速了軟硬件開發過程,并最終在FPGA上完成原型開發與功能驗證。從中得出了以下結論:

  (1)計算機和信息技術的快速發展使人們對微處理器的性能要求越來越高。可編程處理器具有高度的靈活性和成熟性,而性能也可能接近ASIC。本文所設計的裁剪器充分利用了處理器的靈活性,并采用底層匯編實現了裁剪功能,完成了實時高效裁剪圖形的目的。

  (2)為提高處理數據效率,處理器還采用前饋機制,將執行后的數據和地址返回給解碼控制端。除執行本地指令流外,流水線還可執行MIMD數據流。MIMD被普遍引用于當前CPU中,本裁剪器的核心模塊微控制器就采用了MIMD的方式,提升了數據吞吐量。

  (3)為了加速裁剪過程,給處理器配套外圍電路,完成命令解析,狀態控制和命令裝配。

  (4)使用匯編語言描實現可編程剪裁器的圖元裁剪部分,同樣可以用匯編程序代替前后端接收(譯碼)和發送(裝配)電路,完成基于該處理器的通用剪裁器的設計工作,使其靈活性大大增強。

參考文獻

  [1] 王浩鵬.二維圖形的裁剪算法研究與改進[D].西安:西安電子科技大學,2011.

  [2] 孫楊.計算機輔助隱形牙齒正畸功能實現[D].杭州:浙江大學,2010.

  [3] SULAND I E,HODGMAN G W.Reentrant polygon clipping[J].Communication of ACM,1974,17(1):32-42.

  [4] 山蕊.基于System Verilog的可重用驗證平臺[J].電子技術應用,2013(5):38-40.

  [5] 陳永光.RTL層次之系統互連線及系統電路的軟件自動化驗證方法研究[D].成都:電子科技大學,2012.

  [6] 田耕,許文波.Xilinx ISE design suite 10.x FPGA 開發指南[M].北京:人民郵電出版社,2008.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲一区二区黄| 国产精品久久久久久久久久ktv| 久久精品中文字幕免费mv| 亚洲精品久久嫩草网站秘色| 亚洲乱码视频| 亚洲第一在线综合在线| 欧美日韩久久| 国产视频精品va久久久久久| 国产精品毛片高清在线完整版| 狠狠色狠狠色综合日日五| 亚洲精品久久久久久久久| 久久久久天天天天| 亚洲国产成人在线| 亚洲美洲欧洲综合国产一区| 亚洲另类在线视频| 国产一区二区三区精品久久久| 在线视频日韩| 国产乱码精品一区二区三区av| 欧美aⅴ一区二区三区视频| 国产日本欧美视频| 欧美精彩视频一区二区三区| 日韩午夜免费| 日韩亚洲不卡在线| 黄色成人在线| 韩国成人理伦片免费播放| 欧美午夜一区二区福利视频| 欧美成人a∨高清免费观看| 亚洲福利视频免费观看| 久久久久国产一区二区| 国精品一区二区三区| 禁断一区二区三区在线| 99在线观看免费视频精品观看| 亚洲一区区二区| 免费在线国产精品| 久久久久久久97| 久久久人人人| 亚洲一区综合| 国产乱理伦片在线观看夜一区| 日韩视频免费看| 欧美久久久久中文字幕| 免费日韩成人| 国产女优一区| 日韩网站在线看片你懂的| 久久久99国产精品免费| 久久亚洲精品网站| 亚洲三级电影全部在线观看高清| 亚洲综合成人婷婷小说| 在线精品一区| 性久久久久久| 欧美国产日产韩国视频| 国产亚洲欧美日韩日本| 久久精品30| 国产亚洲一区在线| 欧美在线观看天堂一区二区三区| 猛干欧美女孩| 久久精品五月| 亚洲第一精品夜夜躁人人爽| 国产精品99免视看9| 午夜欧美不卡精品aaaaa| 久久国产一区二区三区| 激情久久中文字幕| 国产欧美一区二区精品性| 久久午夜精品| 久久精品1区| 乱中年女人伦av一区二区| 99国产精品国产精品久久| 99国产精品一区| 中文国产亚洲喷潮| 国产精品啊啊啊| 欧美人成在线视频| 精品粉嫩aⅴ一区二区三区四区| 怡红院精品视频在线观看极品| 国产精品视频你懂的| 亚洲精品在线二区| 国产精品乱码| 欧美亚洲色图校园春色| 欧美一区二区免费视频| 一本大道久久a久久综合婷婷| 亚洲欧美激情视频| 欧美成人在线网站| 亚洲女同在线| 国产日韩精品一区二区| 欧美三级午夜理伦三级中文幕| 国外精品视频| 99在线热播精品免费99热| 国产伦精品一区二区| 狼人天天伊人久久| 欧美影院精品一区| 91久久精品久久国产性色也91| 欧美亚洲综合在线| 久久久久久国产精品mv| 91久久精品日日躁夜夜躁欧美| 欧美成人第一页| 国产精品美女视频网站| 久久伊人一区二区| 亚洲欧美日韩精品久久奇米色影视| 亚洲一区二区三区乱码aⅴ| 欧美久久九九| 国产午夜精品全部视频在线播放| 欧美在线视频免费| 亚洲理论电影网| 久色成人在线| 一区二区高清视频| 99国产精品99久久久久久粉嫩| 久久都是精品| 亚洲精品日韩在线观看| 日韩亚洲欧美在线观看| 亚洲一区二区3| 亚洲人体影院| 欧美日韩国产限制| 最新日韩在线视频| 欧美一区二区在线观看| 欧美在线视频全部完| 国产精品自拍视频| 性亚洲最疯狂xxxx高清| 国内精品久久久久影院优| 欧美凹凸一区二区三区视频| 国产一区二区视频在线观看| 免费在线成人| 亚洲国产精品一区二区尤物区| 久久综合久久88| 久久福利视频导航| 国产日韩欧美高清| 亚洲第一综合天堂另类专| 午夜精品久久久久99热蜜桃导演| 欧美另类一区二区三区| 欧美xx视频| 国产精品网站在线观看| 麻豆精品一区二区av白丝在线| 美女任你摸久久| 欧美大片一区二区三区| 久久这里只有精品视频首页| 午夜天堂精品久久久久| 久久―日本道色综合久久| 在线午夜精品| 国产精品入口麻豆原神| 国模 一区 二区 三区| 亚洲免费播放| 夜夜嗨av一区二区三区网站四季av| 国产午夜精品理论片a级大结局| 国产日韩欧美一区| 国产精品成人一区二区三区吃奶| 伊人蜜桃色噜噜激情综合| 国内一区二区三区| 亚洲天堂第二页| 一本大道久久a久久精品综合| 亚洲视频免费在线观看| 99精品国产一区二区青青牛奶| 久久狠狠一本精品综合网| 欧美日韩一区二区在线视频| 国产精品黄色在线观看| 欧美午夜大胆人体| 亚洲精品一区二区三区福利| 欧美精品三级在线观看| 久久爱www| 国语自产精品视频在线看一大j8| 亚洲黄色在线视频| 欧美视频精品在线观看| 国产精品久久久久一区二区三区| 日韩视频一区二区三区在线播放| 国产精品福利影院| 国产欧美日韩亚洲一区二区三区| 亚洲制服丝袜在线| 国产日韩欧美不卡| 国产日韩欧美一区二区三区在线观看| 曰本成人黄色| 激情成人在线视频| 欧美日韩国产综合在线| 国语自产精品视频在线看一大j8| 激情综合激情| 一本大道久久a久久精品综合| 久久aⅴ国产欧美74aaa| 国产精品夜夜夜一区二区三区尤| 亚洲韩国一区二区三区| 久久99伊人| 欧美日韩国产精品一区二区亚洲| 在线性视频日韩欧美| 欧美美女福利视频| 欧美一二三区在线观看| 亚洲欧洲综合| 国产精品久久久久久久久久免费| 欧美视频在线观看一区二区| 一区二区三区精品在线| 亚洲欧美日韩在线高清直播| 亚洲在线观看| 国产日韩精品一区二区浪潮av| 在线观看国产精品淫| 久久久精品日韩欧美| 久久激情一区| 欧美日韩国产美女| 性欧美大战久久久久久久免费观看| 亚洲欧美制服另类日韩| 免费欧美日韩国产三级电影| 毛片基地黄久久久久久天堂| 国产原创一区二区| 99精品视频一区| 亚洲欧洲精品一区二区| 亚洲欧美视频一区| 亚洲影院色无极综合| 国产精品女人网站| 久久天堂国产精品| 欧美.日韩.国产.一区.二区| 欧美三级资源在线| 麻豆精品在线视频| 欧美久久九九| 国产欧美综合在线| 国产欧美日韩一区二区三区在线| 欧美jizzhd精品欧美巨大免费| 久久香蕉国产线看观看网| 麻豆国产精品777777在线| 亚洲自拍偷拍一区| 亚洲香蕉网站| 亚洲一级片在线观看| 亚洲激情偷拍| 亚洲高清资源综合久久精品| 欧美成人四级电影| 一区二区三区视频在线看| 伊人成综合网伊人222| 一本色道久久加勒比88综合| 亚洲一区二区三区精品在线| 亚洲精品视频在线观看网站| 欧美在线二区| 好吊色欧美一区二区三区四区| 日韩午夜激情电影| 一色屋精品视频免费看| 亚洲精品视频免费| 性高湖久久久久久久久| 国产日韩视频一区二区三区| 久久久久国产一区二区三区四区| 久久亚洲春色中文字幕| 国产精品制服诱惑| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美大尺度在线观看| 欧美精品在线免费观看| 国产伦精品一区二区三区| 亚洲美女黄色片| 亚洲精品中文字幕有码专区| 国产日韩av在线播放| 亚洲午夜在线观看视频在线| 欧美日韩国产色站一区二区三区| 亚洲图片欧洲图片av| 麻豆精品国产91久久久久久| 极品av少妇一区二区| 亚洲一区二区动漫| 久久狠狠一本精品综合网| 一区二区三区波多野结衣在线观看| 亚洲精品视频二区| 久久色在线观看| 久久久久久久久蜜桃| 欧美成人中文字幕在线| 欧美日韩一区二区三区免费| 亚洲国产精品va在线观看黑人| 另类综合日韩欧美亚洲| 在线亚洲高清视频| 免费成人黄色| 欧美va亚洲va香蕉在线| 国产美女精品人人做人人爽| 亚洲欧美日本国产专区一区| 欧美一区二区精品久久911| 久久er99精品| 国产精品私房写真福利视频| 国产视频一区在线观看一区免费| 欧美日韩三级视频| 久久久久成人精品免费播放动漫| 亚洲欧美制服另类日韩| 国产一区二区黄色| 日韩一区二区精品葵司在线| 久久一区中文字幕| 午夜亚洲视频| 亚洲国产欧美一区二区三区同亚洲| 最新国产拍偷乱拍精品| 一本色道久久88综合亚洲精品ⅰ| 欧美在线国产精品| 亚洲精品日韩精品| 欧美日韩免费高清| 美女亚洲精品| 麻豆精品在线视频| 精品91久久久久| 99在线|亚洲一区二区| 欧美高清在线观看| 欧美国产一区视频在线观看| 国产一区二区高清不卡| 欧美一区二区三区视频免费播放| 亚洲日本在线观看| 欧美成人精品影院| 久久久久久久久综合| 欧美a级在线| 亚洲欧美日韩成人高清在线一区| 亚洲国产精品成人一区二区| 久久成人久久爱| 久久久久免费观看| 欧美激情精品久久久久久久变态| 亚洲精品一区二区三区樱花| 伊人一区二区三区久久精品| 樱桃视频在线观看一区| 国产精品麻豆va在线播放| 欧美性猛片xxxx免费看久爱| 在线免费日韩片| 国产欧美高清| 亚洲精品日日夜夜| 西西人体一区二区| 一区二区三区 在线观看视频| 欧美一级久久| 午夜在线不卡| 久久久久久噜噜噜久久久精品| 欧美高清视频一区| 韩国一区二区在线观看| 国内视频一区| 91久久极品少妇xxxxⅹ软件| | 亚洲主播在线| 欧美成人精品一区| 国产精品人人做人人爽| 国产精品video| 欧美大片在线观看| 欧美三级视频在线观看| 欧美激情一区二区三区高清视频| 欧美日韩18| 国产视频一区二区在线观看| 国产日韩欧美二区| 久久免费高清视频| 国内精品福利| 性欧美1819sex性高清| 在线播放豆国产99亚洲| 久久国内精品自在自线400部| 国产精品久久久久久久久久妞妞| 久久精品国产一区二区三区免费看| 激情五月综合色婷婷一区二区|