999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向AIC結構的FPGA映射工具

2015-07-18 11:10:48江政泓黃志洪楊立群楊海鋼
電子與信息學報 2015年7期
關鍵詞:結構功能

江政泓 林 郁 黃志洪 楊立群 楊海鋼

①(中國科學院電子學研究所可編程芯片與系統研究室 北京 100190)

②(中國科學院大學 北京 100049)

面向AIC結構的FPGA映射工具

江政泓①②林 郁①黃志洪①楊立群①②楊海鋼*①

①(中國科學院電子學研究所可編程芯片與系統研究室 北京 100190)

②(中國科學院大學 北京 100049)

探索新的現場可編程門陣列(FPGA)邏輯單元結構一直是FPGA結構研究的重點方向,與非邏輯錐(AIC)作為一種新的邏輯結構成為FPGA新結構的希望。然而實現高效且靈活的映射工具同樣是研究FPGA新結構中的重點環節。該文實現了一個面向AIC結構的FPGA映射工具,與當前映射工具相比,具有更高的靈活性,能夠支持AIC結構參數的調節,輔助支持進行AIC單元結構的探索改進。同時,該文提出的AIC映射工具與原工具相比,面積指標提高了33%~36%。

現場可編程門陣列;與非邏輯錐;映射

1 引言

在現場可編程門陣列(Field Programmable Gate Arrays,FPGAs)的技術發展中,改善面積、性能和功耗等指標一直是研究的重點[1]。很多新的嵌入模塊結構和研究結果被不斷提出,例如嵌入式存儲器[2](BRAM)和數字處理器單元(DSP)等,甚至功能更加強大的微處理器核心[3,4](MCU)也被作為組件嵌入到FPGA芯片中。然而,查找表(Look-Up Table,LUT)作為FPGA的最基本最核心的單元,二三十年來卻沒有根本性的變化。

傳統的查找表通過合理的SRAM配置來實現特定功能,具有非常高的靈活性。對于一個K輸入的LUT,一共有2K個SRAM配置位,因此存在 22K種不同的配置方案,可以實現 22K種不同的功能。如此龐大的功能集合,可以實現K輸入下的任意邏輯功能,并且極大地簡化了FPGA自動流程CAD(Computer-Aided Design)中的映射過程。但是,傳統查找表具有如此強大的靈活性是以電路面積、延遲和功耗為代價的。學術界和工業界都一直研究如何有效地改善LUT結構[57]-。

2012年,瑞士洛桑理工大學的Parandeh-Afshar等人提出了一種新的邏輯結構來替代查找表作為FPGA的基本邏輯單元[8],這種新的邏輯結構稱為“與非邏輯錐”(And-Inverter Cones,AIC)。AIC邏輯單元在某些應用電路的性能評價指標上優于查找表,成為查找表作為FPGA基本單元的有力挑戰者[9]。然而,在最新的研究[10]中發現,AIC邏輯結構在實際的電路結構中仍存在眾多的不足之處,仍有許多方面需要進一步的研究和探索。

針對AIC的結構特點以及未來的結構探索需求,本文提出并實現了一款新的FPGA映射工具,與文獻[8,9]中所使用的映射工具相比較,新的映射工具具有以下特點:(1)支持查找表或者AIC邏輯單元兩種不同結構FPGA的映射,同時還能實現兩種單元混合的異質結構FPGA的映射。(2)支持AIC邏輯單元的不同參數約束,能夠有效支持AIC邏輯單元的結構參數探索。(3)與現有的AIC映射工具相比,新映射工具實現相同功能的用戶電路可以平均少使用33%的邏輯單元數,具有更好的面積指標。

2 AIC邏輯單元結構參數

文獻[8,9]中所采用的與非邏輯錐(AIC)結構如圖1所示,是一種二進制與非門樹,采用兩輸入與門和非門作為基本結點,每個與門的輸出都有一個多路選擇器(MUltipleXor,MUX)選擇是否對信號進行反向,如A節點所示。通過多層級的與非門單元結構的級聯,構成了一個完整的與非門邏輯錐。為了提高與非門邏輯錐的靈活性,對每個邏輯錐的第1層可配置與非門進行了強化,在與門的輸入端也增加了一組可配置MUX和非門單元,如B節點。同時,AIC單元結構中的每一個A類型節點都能夠輸出到單元外部,因此,與傳統的查找表結構相比,除了內部結構的不同,AIC單元結構還有多輸入與多輸出的端口特征。

通過圖1中的結構展示和以上對AIC單元結構的描述,我們可以了解AIC具有多個不同的結構參數,通過對這些結構參數的實驗探索,可以精簡現有結構的冗余,提高單元結構的性能和面積指標。表1總結了當前AIC單元結構中可以直接探索的結構參數。

3 AIC邏輯單元的映射原理與實現

本文所采用的AIC映射工具是在伯克利的開源軟件ABC上實現的[11],仍然采用傳統查找表的映射方法和流程,結合AIC邏輯單元的結構特點,實現AIC邏輯單元的映射過程。

圖1 AIC邏輯單元結構

表1 AIC單元的結構參數

3.1 映射中的基本概念

對于任何一個邏輯電路的組合邏輯部分,都可以抽象成一個有向無環圖(Directed Acyclic Graph,DAG),圖中每一個結點v都代表一個邏輯門或者輸入/輸出端口,其中CIs (Combinational Inputs)代表組合邏輯電路的輸入端口(包括電路的原始輸入PI和電路中寄存器的輸出端口),COs (Combinational Outputs)代表組合邏輯電路的輸出端口(包括電路的原始輸出PO和電路中寄存器的輸入端口),node表示具有實際邏輯功能的邏輯門。

傳統映射算法的本質就是使用割子圖(Cut)來對DAG圖進行分割,將整個電路網絡劃分成一個個獨立的Cut,而每個Cut實際對應成一個查找表單元,實現從門級網表電路到以查找表為單元的電路的轉變。一般習慣上,使用Cv代表以結點v為根節點的Cut,Input(Cv)代表Cut的所有輸入結點。在傳統的查找表結構映射過程中,由于一個K輸入的查找表僅能實現K個輸入下的任意邏輯功能,因此,要求如果一個Cut滿足該端口數目約束條件,那么就稱該Cut為“K-feasible”。

3.2 基于枚舉方法的AIC映射算法

與傳統的窮盡枚舉映射方法不同,ABC工具采用的是Priority-Cuts算法。該算法在與傳統的窮盡枚舉算法相比,能夠在不損失性能和面積的前提下,有效地降低PC的內存使用率,減少整個映射過程的運行時間[12]。

3.2.1 枚舉過程(Cut enumeration)枚舉過程是整個映射算法的基礎,為網絡中所有的結點 v生成Cuts,后續的前向遍歷和后向遍歷步驟以枚舉過程生成的Cuts為基礎,進行篩選排序和遞歸組合等過程實現邏輯網表到 FPGA邏輯單元網表的轉換。Priority-Cuts算法中采用文獻[13]描述的方法來實現Cuts的枚舉過程。

在傳統的查找表映射中,要求所有的Cuts都是滿足輸入數目小于K的約束,即“K-feasible”。然而如圖1所示,對于AIC結構來說,僅有輸入個數的約束是不夠的,因為,D-AIC結構中最多只有D層可配置與非門,如果一個Cut內部包含的AIG(And-Inverter Graph)級數超過D就無法使用D-AIC單元來實現,因此,在輸入約束之外,AIC的Cut枚舉過程還需要增加一個Cut內部AIG子圖的深度約束,即aigdepth(u∪v)≤D,稱之為“D-feasible”。

3.2.2 映射的前向遍歷(forward traversal)在傳統的映射方法中,Cuts的枚舉過程是獨立的,是首先計算出整個網絡中所有結點的所有符合輸入約束條件的Cuts,然后保存下來,再開始進行前向遍歷過程,計算出每個Cut的邏輯深度和邏輯面積值,最終為每個結點v獲取其最優的Cut,即BestCv。Cut的邏輯深度使用式(1)計算獲得,而邏輯面積使用經典的“Area-Flow”方法進行評估,由式(2)獲得

AIC映射工具在Priority Cuts算法前向遍歷方法的基礎上,增加了AIC結構特有的約束,實現了AIC映射的前向遍歷過程。首先,每個結點不再保存所有的Cuts,而是僅保存排序后的前(4C≤C≤8)個有效Cuts。那么,根據3.2.1節中描述的Cuts枚舉方法,每個結點根據其扇入結點的Cuts集合進行Cuts枚舉,如此,由于扇入結點Cuts集合的不完備,每個結點并未實現Cuts的窮盡枚舉,減小了程序的計算量,同時降低了內存的占用。然而,Cuts集合的不完備并不會降低映射的性能[12]。其次,和傳統的查找表映射不同,除了要求Cuts符合輸入數目約束之外,還要符合Cuts內部可配置與門級數約束(a igdepth (Cv)≤ D)。

3.2.3 映射的后向遍歷(backward traversal)

完成前向遍歷之后,電路網絡中的每個結點v均獲得了自己的BestCv及其對應的邏輯深度和面積值。后向遍歷則以前向遍歷獲得的BestCv信息,完成邏輯網表到FPGA單元網表的最終轉換過程。

后向遍歷從電路網表的輸出(COs)開始,以反拓補順序向輸入端口(CIs)進行。在整個后向遍歷的初始階段,整個網路中僅有輸出端口(COs)具有可見性,映射隊列(frontier)為空。然后,將COs加入映射隊列F,從F中取出一個結點,選擇該結點的BestCv作為該結點的映射方案(mapping solution),該BestCv將作為一個真實的AIC單元(或查找表)出現在最終電路中。而BestCv的輸入結點作為AIC單元(或查找表)的輸入端口,需要和其他的AIC單元(或查找表)進行連接,因此,具有可見性,添加到映射隊列F中。最后,不斷地重復上述過程,直到映射隊列為空。

4 實驗結果

本文在ABC程序的基礎上,進行開發實現了一款全新的AIC映射工具。新映射工具能夠支持AIC邏輯層數,獨立輸入數目,最低輸出層次和有效輸出數目等參數的可配置,而原映射工具卻不支持,因此,僅采用6-AIC為對象進行實驗對比,比較兩個映射工具映射結果的面積和速度指標。

實驗從學術界公認的兩個測試集VTR[14]和MCNC[15]中各挑選出5個具有代表性的電路作為實現的測試電路集。實驗將測試電路輸入到新/舊映射工具中得到映射結果,然后再將映射結果送到VPR[14]程序中進行物理綜合,最后得到一個面積和延時的數據值。面積恢復優化是FPGA映射過程中用于減少面積的一種有效手段,常常在進行首輪映射過程后,在進行一次或多次帶有面積恢復優化功能的映射迭代過程,從而改善映射結果的面積指標。

4.1 不帶面積恢復(area-recovery)的實驗對比

圖2展示了經過新舊兩種映射工具映射后電路在關鍵路徑延遲和占用面積值上的比較。

從圖2的可以看出,和文獻[8,9]的映射工具相比,新映射工具在電路映射結果的性能指標比原映射工具要略遜一籌,關鍵路徑延遲平均增加了4%。而圖2中展示的映射電路的面積指標卻顯示出了完全不同的趨勢,新的AIC映射工具在所有的被測電路上都具有更優的面積結果,新映射工具在映射結果的面積指標上平均提高了35%。

仔細對兩個映射工具的電路映射結果進行分析,得到以下結論:

(1)AIC單元結果具有多輸出的特性,新的映射工具在映射過程中采用貪婪算法,盡可能地去對AIC的輸出引腳進行使用,大大提高了AIC單元的利用率,從而減少了最終映射結果中6-AIC單元的總數,提高了面積指標。

(2)由于采用貪婪算法來提高AIC多輸出引腳的利用率,導致映射過程中忽略了其對關鍵路徑的影響,使得映射反向過程中造成關鍵路徑改變,從而導致關鍵路徑指標的下降。

4.2 采用面積恢復優化的實驗對比

作為映射過程提高面積性能的重要手段,新的映射工具也支持采用面積恢復優化功能來進一步提高映射結果的面積指標。圖3展示了新映射工具在開啟面積恢復優化功能前后映射結果的對比。

從圖3的數據可以看出,面積恢復優化功能確實能非常有效地提高映射結果的面積,與前一節中未使用面積恢復優化功能的映射結果相比,面積恢復優化功能平均提高了40%的面積指標。如果對映射結果數據進行深入分析,會發現與前一節的映射結果比較,開啟面積恢復優化功能后,映射工具更加偏向于選擇小的AIC單元來實現映射結果,以期進一步提升6-AIC單元的內部利用率,減少最終映射結果中所使用到6-AIC數目,提高映射結果的面積指標。然而,更好的面積指標是以降低電路的總體性能為代價的,從圖3可以看出,開啟面積恢復優化功能后,映射電路的平均性能下降了9%。

因此,從上述的數據和結果分析來看,如果設計者是以時序性能為優先設計約束,那么采用無面積恢復優化功能的映射流程能獲得相對較好的性能指標。而如果設計者更加側重于整體結果的面積參數,那么采用帶有面積恢復優化功能的映射流程會帶來非常優異的面積指標。

5 結束語

本文以開源軟件ABC的映射程序為基礎,結合AIC單元的結構特征,實現了一款全新的AIC結構映射工具。與文獻[8]中使用的映射工具相比,新的AIC映射工具具有更高的靈活性,能夠支持AIC結構單元進行更多的結構參數探索改進。除了靈活性上的改進,新的AIC映射工具在映射結果上還有35%的面積性能提升。目前映射結果與原映射工具相比,雖然在面積之比上有了很大的提高,但是在速度指標上卻略有損失,后續需要進一步改善映射結果的速度結果。

圖2 新舊映射工具的映射結果對比

圖3 新映射工具在開啟面積恢復優化功能前后電路性能和面積的對比

[1] Ian K and Rose J. Measuring the gap between FPGAs and ASICs[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2007,26(2):271-285.

[2] Ngai T,Rose J,and Wilton S. An SRAM programmable field-configurable memory[C]. Proceedings of the IEEE Custom Integrated Circuits Conference,Santa Clara,CA,1995:499-502.

[3] Rui Jia, Lin Y,Guo Z,et al.. A survey of open source processors for FPGAs[C]. IEEE International Conference on Field Programmable Logic and Applications (FPL),Munich,2014:521-526.

[4] Altera Corporation. Excalibur device overview DSEXCARM-2.0[OL]. http://media.digikey.com/pdf/Data Sheets/Altera PDFs/EPXA1,4,10 Excalibur.pdf,2002.

[5] Hutton M,Schleicher J,Lewis D, et al.. Improving FPGA performance and area using an adaptive logic module[C]. IEEE International Conference on Field Programmable Logic and Applications (FPL),Belgium,2004:135-144.

[6] Lewis D,Ahmed E,Baeckler G,et al.. The stratix II logic and routing architecture[C]. Proceedings of the 2005 ACM/ SIGDA 13th ACM International Symposium on Field-Programmable Gate Grrays,Monterey,2005:14-20.

[7] Jiang Z,Lin Y,Yang L,et al.. Exploring architecture parameters for dual-output LUT based FPGAs[C]. IEEE International Conference on Field Programmable Logic and Applications (FPL),Munich,2014:436-441.

[8] Parandeh-Afshar H,Benbihi H,Novo D,et al.. Rethinking FPGAs:elude the flexibility excess of LUTs with and-inverter cones[C]. Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays,Monterey,2012:119-128.

[9] Parandeh-Afshar H,Zgheib G,Novo D,et al.. Shadow and-inverter cones[C]. IEEE International Conference on Field Programmable Logic and Applications (FPL),Porto,2013:1-4.

[10] Zgheib G,Yang L,Huang Z,et al.. Revisiting and-inverter cones[C]. Proceedings of the 2014 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays,ACM,Monterey,2014:45-54.

[11] Brayton R and Mishchenko A. ABC:an academic industrialstrength verification tool[C]. Computer Aided Verification,Edinburgh,2010:24-40.

[12] Mishchenko A, Cho S,Chatterjee S,et al.. Combinational and sequential mapping with priority cuts[C]. IEEE International Conference on Computer-Aided Design,San Jose,2007:354-361.

[13] Cong J,Wu C,and Ding Y. Cut ranking and pruning:enabling a general and efficient FPGA mapping solution[C]. Proceedings of the 1999 ACM/SIGDA Seventh International Symposium on Field Programmable Gate Grrays,Monterey,1999:29-35.

[14] Luu J, Goeders J,Wainberg M,et al.. VTR 7.0:Next generation architecture and CAD system for FPGAs[J]. ACM Transactions on Reconfigurable Technology and Systems(TRETS),2014,7(2):DOI:10.1145/2617593.

[15] Yang S. Logic synthesis and optimization benchmarks User Guide, version 3.0[OL]. http://ddd.fit.cvut.cz/prj/ Benchmarks/LGSynth91.pdf,1991.

江政泓: 男,1990年生,博士生,研究方向為FPGA架構開發、FPGA的映射算法.

林 郁: 男,1982年生,助理研究員,研究方向為FPGA架構開發、FPGA的CAD輔助設計、FPGA高層綜合、高性能計算等.

黃志洪: 男,1984年生,助理研究員,研究方向為可編程邏輯結構研究、嵌入式存儲器結構研究.

楊立群: 女,1989年生,博士生,研究方向為FPGA架構開發.

楊海鋼: 男,1960年生,研究員,研究方向為數?;旌闲盘柤呻娐吩O計、超大規模集成電路設計等.

Mapper for AIC-based FPGAs

Jiang Zheng-hong①②Lin Yu①Huang Zhi-hong①Yang Li-qun①②Yang Hai-gang①

①(System on Programmable Chip Research Department, Institute of Electronics,Chinese Academy of Sciences,Beijing 100190,China)
②(University of Chinese Academy of Sciences,Beijing 100049,China)

Exploring a new logic element of Field Programmable Gate Array (FPGA) is always a key field in FPGAs' research,while And-Inverter Cones (AIC) is the most promising one. Implementing a highly-efficient and highly-flexible mapping tool is also an important part of exploring new FPGA architecture. In this paper,a new mapper for AIC-based FPGA is implemented. Compared with an existing mapper,the new mapper has much higher flexibility,and supports adjustments of AICs' architectural parameters to assit the design space exploration of AIC. Meanwhile,the new mapper provides area results 33%~36% better than the original mapper.

Field Programmable Gate Array (FPGA);And-Inverter Cones (AIC);Technology mapping

TN402

A

1009-5896(2015)07-1769-05

10.11999/JEIT141403

2014-11-20收到,2015-03-16改回,2015-06-01網絡優先出版

國家自然科學基金(61404140,61271149,61106033)資助課題

*通信作者:楊海鋼 yanghg@mail.ie.ac.cn

猜你喜歡
結構功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
論《日出》的結構
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 国产精品美乳| 天天综合色网| 69精品在线观看| 亚洲欧美成人网| 东京热av无码电影一区二区| 欧美精品成人一区二区在线观看| 国模粉嫩小泬视频在线观看| 国产一级一级毛片永久| 重口调教一区二区视频| 香蕉国产精品视频| 麻豆AV网站免费进入| 三区在线视频| AV网站中文| 欧美天天干| 久青草网站| 午夜丁香婷婷| 青青草一区| 国产理论精品| 亚洲综合片| 欧美午夜视频在线| 毛片手机在线看| 久久精品一品道久久精品| 福利视频99| 欧美成人综合视频| 韩国自拍偷自拍亚洲精品| 久久婷婷综合色一区二区| 国产精女同一区二区三区久| 看看一级毛片| 四虎国产在线观看| 午夜成人在线视频| 青草视频在线观看国产| 国产视频一二三区| 国产性生大片免费观看性欧美| 欧洲精品视频在线观看| 亚洲第一综合天堂另类专| 亚洲综合亚洲国产尤物| 亚洲一区二区三区香蕉| 欧美性天天| 97超碰精品成人国产| 秋霞午夜国产精品成人片| 91丝袜乱伦| 99精品在线视频观看| 又污又黄又无遮挡网站| 国产精品国产三级国产专业不| 亚洲中文精品久久久久久不卡| 午夜视频www| 久久这里只有精品66| 九色综合视频网| 国产成人精品18| 幺女国产一级毛片| 波多野结衣一区二区三区四区| 亚洲精品桃花岛av在线| 国产91精品最新在线播放| 日本精品视频| 亚洲乱强伦| 亚洲男人的天堂网| 亚洲妓女综合网995久久| 国产99视频精品免费视频7| 97超级碰碰碰碰精品| 免费在线看黄网址| 国产真实乱子伦视频播放| 亚洲二区视频| 日本欧美视频在线观看| 国产成年女人特黄特色毛片免 | 欧美一区二区三区欧美日韩亚洲| 国产成人久久777777| 亚洲精品亚洲人成在线| 国产chinese男男gay视频网| 超清无码一区二区三区| 亚洲一欧洲中文字幕在线| 国产欧美成人不卡视频| 人妻精品全国免费视频| 久久精品中文字幕免费| 国产精品国产三级国产专业不| 欧美国产日韩一区二区三区精品影视| 国产成人精品18| 黄色福利在线| 国模粉嫩小泬视频在线观看 | 国产无码网站在线观看| 国产欧美又粗又猛又爽老| 国产日韩丝袜一二三区| 亚洲精品桃花岛av在线|