《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 運用SAD算法降低FPGA資源利用率
運用SAD算法降低FPGA資源利用率
新加坡南洋理工大學 賽靈思供稿
Sharad Sinha 高性能嵌入式系統中心
摘要: 資源共享是一種在保持功能性的同時減少面積或資源占用率的傳統方法。其中包括通過將一個以上的運算映射到一個運算器,實現算術運算器(如加法器、乘法器等)的共享。例如,共享后3個加法器可執行6個而不是3個加運算,使用的加法器數量減少了一半,從而減少了資源占用率。通過Xilinx ISE軟件,可以在合成屬性對話框中開啟相應開關(resource sharing)后進行資源共享。當在一個if-else程序塊(圖1)或case-endcase程序塊(圖2)中描述互斥的任務后,這些工具能檢測并實施資源共享。
關鍵詞: FPGA SAD算法 ISE LUT
Abstract:
Key words :

 

     基于FPGA的設計,需要仔細檢查設計所占用的面積以及實施后的時序性能,以確保設計適合目標器件,并滿足其時序或吞吐力要求。在基于FPGA的商用設計中,設計師通常會將查找表(LUT)的資源占用率上限設置為80%左右,以便為未來升級和功能改進留有資源,并可讓時序收斂更容易。余下約20%的空閑LUT留下了空余的布線資源,有助于滿足嚴格的時序約束。
 
    在設計中,FPGA結構里嵌入的邏輯越多,占用的布線資源就會越多。綜合工具或許能將更多邏輯成功地映射到LUT和其它資源,但很可能無法在二者之間布線。因為現有的邏輯已經顯著提高了互連使用率,已經沒有端到端路徑來路由更多連接的信號。即使可能存在布線空間,布線器也無法對其建立端到端連接。因此,雖然有可用的LUT資源,但設計受到了“互連限制”,所以有可能無法進行擴展。
 
     減少設計面積還具有經濟意義。在符合應用要求的情況下,FPGA器件越小,設計和生產成本則越低。當然,如果有以太網模塊、嵌入式處理器或收發器等特殊需求,就需要選擇能通過硬IP或軟IP支持這些模塊的FPGA。不過在設計中,減少其它部件的使用面積,仍有助于從支持這類特殊模塊的FPGA系列中進行選擇。
 
資源共享
 
     資源共享是一種在保持功能性的同時減少面積或資源占用率的傳統方法。其中包括通過將一個以上的運算映射到一個運算器,實現算術運算器(如加法器、乘法器等)的共享。例如,共享后3個加法器可執行6個而不是3個加運算,使用的加法器數量減少了一半,從而減少了資源占用率。通過Xilinx ISE軟件,可以在合成屬性對話框中開啟相應開關(resource sharing)后進行資源共享。當在一個if-else程序塊(圖1)或case-endcase程序塊(圖2)中描述互斥的任務后,這些工具能檢測并實施資源共享。
 
圖1:if-else程序塊
 
圖2:case-endcase程序塊
 
      如圖所示,這些任務都是互斥的。因此,啟用資源共享后,8個加運算可以共享兩個加號。這類資源共享依賴于鑒別寄存器傳輸級(RTL)設計中可能存在的互斥任務。然而,如果不存在互斥任務,資源應該如何共享?這樣做又有何利弊?為了回答這個問題,下面將從更高層次的抽象概念對資源共享進行深入研究。
 
比RTL更勝一籌

      “更高層次的抽象概念”是指比RTL更高級別的設計描述,可在RTL準備好前對要實施的應用進行分析。如果可以通過分析應用來了解其內在并行性,則在RTL設計中也可以這樣做。此外,對應用的數據流程圖進行分析有助于設計資源共享的實施。
 
     數據流程圖能提供關于應用數據流的信息。數據從一個運算流向另一個運算,因此在運算之間可能存在著數據依賴關系。不相互依賴的運算可以并行執行。不過并行執行幾乎總是造成很高的資源占用率,而目標是降低資源占用率,所以暫不討論并行執行這種模式。
 
     下面將以絕對差值和(SAD)算法為例,介紹如何從比RTL更高層次的抽象層分析資源共享,讓資源占用率比依賴RTL設計中的互斥任務的方法更低。
 
      SAD是MPEG-4解碼器動作估計部分中的一種重要算法,也能用于物體識別。在這種以像素為基礎的方法中,圖像區塊中每個像素的值都與另一幅圖像中相應像素的值相減,以確定該圖像的哪些部分從一幀移到了另一幀。如果圖像區塊大小為4x4,則最后會將全部16個絕對差值相加。在開源xvid解碼器的sad.c文件末尾有代碼示例。
 
      圖3顯示了用這一算法處理一個4x4圖像區塊時的數據流圖(DFG)。這些減法運算可以并行,因為其中的減法運算不依賴于其它任何減法運算。但由于目的在于降低資源占用率,所以并不采用并行執行模式。而是采用一種稱為基于擴展兼容路徑(ECPB)硬件綁定的資源分配和綁定算法。
 
圖3:SAD算法的數據流圖
 
    資源的分配和綁定主要是指為DFG中的運算分配加號、乘號等資源,然后將這些資源綁定到運算,以便降低器件的資源占用率、提高最大時鐘頻率,或同時實現兩者。原則是在最終設計符合功能限制的前提下縮小面積。此算法可以檢測已調度的DFG(即其運算已在不同步驟或時鐘周期中進行了調度)中各運算間流程的依存關系,并分析出運算內部(intra-operation)流程的依存關系。
 
      此算法將可并行的運算調度在同一時間步驟中,并將需要依賴于其它運算數據的運算調度到不同的時間步驟中。它為已調度DFG中的每種運算都建立了一個加權的有序相容圖(WOCG)。因此,減法運算有一個WOCG,加法運算則有另外一個WOCG。這種方法使用了加權關系Wij =1+α×Fij +β×Nij +y ×Rij來為WOCG中的各邊(edges)分配權重。在這里,Wij即同類型的i和j運算之間的權重值。Fij是流程依存關系的權重值,而Nij是運算i和j之間的共模輸入數量。如果運算i和j的輸出結果可以存入同一個寄存器,則Rji的值為1,否則即為0。在本例中,將調整參數數α、β和γ的值分別設為1、1和2。
 
      接下來的步驟是用最長路徑算法找出WOCG中使用的最長路徑。該最長路徑中的全部運算都被映射到同一運算器。將綁定運算從WOCG中移除后,重復最長路徑和映射流程,直到處理完所有WOCG。由于這種算法會將多個運算映射到同一資源或運算器,所以運算器的容量相當大,足以滿足最大規模的運算。在實施SAD方法的例子中,8位數據(灰度圖像)處理了全部減法運算,因此,減法運算器的輸入寬度是8位。我們將負責迭代計算SAD和的累加運算器位寬設定為23位和8位。
 
      圖4顯示了實施的SAD算法的數據路徑。在這個設計中只使用了一個減法器和一個加法器/累加器。各個運算之間有著非常多的資源共享。如果直接在RTL行為層描述設計,這種資源共享將不可能實現,因為SAD算法中不存在互斥的任務。生成這個數據路徑后,可用加法器、減法器和乘法器模塊分層實施設計。這一包含模塊實例化的實施方法比行為化的方法結構更為明晰,并且與后者的數據路徑非常相似。
 
圖4:采用SAD算法的數據路徑
 
    在以數據為主導的大型應用中,在更高層次進行此類預處理有助于降低資源占用率。此外,這種方法也很容易實現自動化。
 
    為了比較ECPB算法生成的數據路徑獲得的物理綜合結果,我們還進行了一次完全并行的實施,兩次與圖4中的數據路徑相同的實施。后兩次是無層次的行為設計,最終RTL描述沒有分層,包含引起復用的“強制”互斥任務。“強制”是指實施與圖4中相同的數據路徑,但采用了包含互斥任務的行為描述。其中一種設計具有if-else結構,另一種具有case-endcase結構。表1展示了使用Xilinx ISE 12.2(M.63C)軟件默認設置、以Virtex-4XC4VFX140-11FF1517為目標器件,且沒有時間限制的情況下獲得的后時序(post-place-and-route)結果。內部寄存器也進行了相應的初始化,所有實施過程中都沒有重置。
 
    在這個表格中,RS和NRS分別表示在Xilinx ISE已啟用或禁用資源共享的情況。設計方案I和II是因為不同的綜合工具可以從不同格式的HDL代碼(if-else、case-end-case)中推論出不同的復用類型。時鐘周期沒有考慮抖動的情況,所以應該根據時鐘源規范降低一定數量。同時,任何方案都未使用預處理寄存器進行輸入。
 
資源節省
 
     如表所示, LUT消耗顯著降低,最高可達56%,最少也有20%。不過,資源共享與完全并行的實施方法不同,后者的數據樣本大體上在每個時鐘周期都可用,而資源共享使用數據樣本處理的過程會有一些限制。由于資源被共享,只有在前一份數據樣本部分或完全處理后,才能處理新的數據樣本。在ECPB實施中,新的P和R系列值至少要在16個時鐘周期后才能使用。
 
     雖然這一技術不是任何地方都適用,但它非常適合運用在類似采樣率(sample rate)的應用中。例如,ECPB設計能夠輕松地在1.016毫秒內處理一個尺寸為720x576的DV-PAL幀,而不會對25幀/秒的PAL幀速率產生任何影響。
 
          表1:結果對比(RS和NRS分別表示已啟用或禁用資源共享的情況)
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美午夜a级限制福利片| 影音先锋在线一区| 欧美成人r级一区二区三区| 香蕉尹人综合在线观看| 在线综合亚洲| 亚洲精品中文字| 亚洲第一福利视频| 欧美制服第一页| 香蕉久久夜色精品国产| 亚洲在线日韩| 亚洲尤物在线视频观看| 亚洲午夜av电影| 亚洲视频综合| 亚洲一区二区三区在线观看视频 | 亚洲国产另类久久精品| 在线播放中文字幕一区| 影音先锋亚洲视频| 亚洲福利视频一区| 亚洲人成人99网站| 日韩亚洲欧美综合| 亚洲少妇诱惑| 亚洲欧美综合v| 欧美综合77777色婷婷| 亚洲成人在线视频网站| 亚洲黄色在线看| 亚洲九九精品| 亚洲香蕉成视频在线观看| 亚洲综合欧美日韩| 性8sex亚洲区入口| 久久久99国产精品免费| 久久久视频精品| 免费成人黄色av| 欧美激情在线免费观看| 欧美日韩视频免费播放| 国产精品国色综合久久| 国产视频在线观看一区二区| 红桃视频成人| 亚洲日本久久| 亚洲小视频在线| 欧美在线观看视频| 亚洲国产婷婷| 在线一区二区三区做爰视频网站 | 亚洲视频一区二区在线观看 | 欧美一区综合| 噜噜噜噜噜久久久久久91| 欧美**人妖| 欧美日本一道本| 国产精品视频一区二区三区| 精品成人国产| 亚洲伦伦在线| 亚洲欧美日韩国产另类专区| 亚洲高清在线观看| 正在播放亚洲| 久久久久久黄| 欧美欧美天天天天操| 国产精品视频xxxx| 在线精品视频在线观看高清| 宅男噜噜噜66一区二区| 久久精品99国产精品酒店日本| 日韩图片一区| 久久精品91| 欧美日韩国产经典色站一区二区三区| 国产精品美女久久久久久久| 一色屋精品视频在线看| 99在线热播精品免费99热| 欧美制服丝袜第一页| 一区二区三区精品视频在线观看| 欧美在线关看| 欧美日韩国产丝袜另类| 国产在线精品自拍| av不卡在线观看| 亚洲国产精品电影| 午夜精品99久久免费| 欧美激情精品久久久久久免费印度| 国产精品伦一区| 亚洲激情图片小说视频| 欧美一区二区日韩| 亚洲视频精选| 欧美激情1区| 国产一区二区三区免费在线观看 | 亚洲另类在线一区| 久久精品免费看| 国产精品mm| 亚洲精品久久久蜜桃| 久久精品一区二区国产| 亚洲欧美一区二区三区在线| 欧美日韩国产精品一区二区亚洲| 国内精品久久久| 亚洲综合999| 一区二区三区免费网站| 麻豆视频一区二区| 国产日韩欧美不卡| 日韩一级精品| 日韩视频免费大全中文字幕| 噜噜噜久久亚洲精品国产品小说| 国产欧美日韩视频在线观看 | 韩国在线一区| 午夜精品久久久| 亚洲一区二区三区影院| 欧美国产日韩xxxxx| 激情综合网址| 久久av二区| 久久精品2019中文字幕| 国产精品制服诱惑| 亚洲视频你懂的| 国产精品99久久久久久久女警| 欧美高清一区二区| 在线观看日韩一区| 久久精品国产99精品国产亚洲性色| 翔田千里一区二区| 国产精品精品视频| 一区二区三区日韩精品| 在线视频欧美日韩精品| 欧美人牲a欧美精品| 亚洲国产三级| 亚洲精选在线观看| 欧美激情片在线观看| 樱桃国产成人精品视频| 亚洲黄色高清| 欧美精品激情在线观看| 亚洲日本欧美日韩高观看| 亚洲最快最全在线视频| 欧美久久久久久久久久| 亚洲精品小视频在线观看| 99热精品在线| 欧美日韩国产在线播放| 亚洲精品网址在线观看| 亚洲视频在线看| 国产精品久久久久毛片大屁完整版| 亚洲婷婷综合久久一本伊一区| 亚洲自拍啪啪| 国产精品影视天天线| 性欧美暴力猛交69hd| 久久久久久久久久看片| 一区二区三区无毛| 亚洲日本成人| 欧美日韩hd| 亚洲午夜激情| 久久精品国产第一区二区三区最新章节| 国产亚洲福利| 91久久国产精品91久久性色| 欧美久久久久中文字幕| 一区二区三区高清| 欧美亚洲在线视频| 黄色小说综合网站| 亚洲老司机av| 国产精品vip| 午夜在线成人av| 美女亚洲精品| 99国产成+人+综合+亚洲欧美| 亚洲欧美精品在线观看| 国产一二三精品| 亚洲精品久久久久中文字幕欢迎你| 欧美日韩国产成人在线观看| 亚洲一级在线| 久久人人97超碰国产公开结果| 亚洲国产毛片完整版| 亚洲男女毛片无遮挡| 黄色一区二区三区四区| 亚洲精选一区| 国产精品久久国产精品99gif | 在线观看不卡| 亚洲视频图片小说| 国产亚洲一区二区三区| 亚洲人成啪啪网站| 国产精品成人观看视频国产奇米| 午夜精品视频一区| 欧美福利一区二区| 亚洲一区二区日本| 美女免费视频一区| 亚洲天堂网站在线观看视频| 久久―日本道色综合久久| 日韩视频―中文字幕| 久久xxxx精品视频| 亚洲欧洲一区二区天堂久久| 午夜视频久久久| 亚洲盗摄视频| 亚洲欧美视频一区| 亚洲国产视频一区| 性做久久久久久免费观看欧美| 久久成人国产精品| 免费精品视频| 亚洲色诱最新| 美女视频一区免费观看| 亚洲无吗在线| 欧美国产精品劲爆| 亚洲欧美日韩国产另类专区| 欧美激情亚洲国产| 欧美在线日韩在线| 欧美三级乱人伦电影| 亚洲国产视频一区二区| 国产精品一区一区三区| 一本色道久久综合狠狠躁篇怎么玩| 国产亚洲精品久久久久婷婷瑜伽| 一区二区免费在线视频| 韩国av一区二区三区在线观看| 亚洲综合欧美日韩| 亚洲日本一区二区| 久久一区二区视频| 亚洲伊人第一页|