本發(fā)明屬于fpga綜合工具,尤其涉及一種去除冗余資源的綜合工具邏輯簡化方法、計算機可讀存儲介質(zhì)及電子設(shè)備。
背景技術(shù):
1、邏輯綜合是fpga?eda軟件設(shè)計流程中一個重要的步驟,它是將用戶輸入的行為級或寄存器傳輸級(rtl)的verilog/vhdl電路文件,轉(zhuǎn)化成由fpga基本邏輯單元如查找表(lut)和觸發(fā)器(ff)組成的網(wǎng)表文件。fpga邏輯綜合包含兩個階段:綜合和映射。綜合是將行為級或rtl的電路文件,轉(zhuǎn)化成由門電路組成的邏輯網(wǎng)表;映射是將門電路組成的邏輯網(wǎng)表,映射成由fpga基本邏輯單元組成的網(wǎng)表文件。
2、面積,即資源數(shù)量是fpga邏輯綜合工具的一個重要指標,減少fpga邏輯綜合后的資源數(shù)量,對提高fpga軟件的布通率和時序性能,具有十分重要的作用。在fpga綜合工具的處理過程中,會產(chǎn)生大量的冗余資源。而隨著用戶電路規(guī)模越來越大,綜合邏輯單元的數(shù)量也十分龐大,因此去除冗余的邏輯資源,對fpga綜合所產(chǎn)生的電路網(wǎng)表進行邏輯化簡,對減少fpga綜合的面積是十分重要的,而同時這一過程也是非常耗時的過程。
3、所以需要設(shè)計一種fpga電路網(wǎng)表邏輯化簡的方法,可以快速而準確地去除冗余資源,實現(xiàn)fpga電路網(wǎng)表的邏輯化簡。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種去除冗余資源的綜合工具邏輯簡化方法,可以快速而準確的去除冗余資源,實現(xiàn)fpga電路網(wǎng)表的邏輯化簡。
2、本發(fā)明的其他目的和優(yōu)點可以從本發(fā)明所揭露的技術(shù)特征中得到進一步的了解。
3、為達上述之一或部分或全部目的或其他目的,本發(fā)明一技術(shù)方案所提供的一種去除冗余資源的綜合工具邏輯簡化方法,包括,遍歷電路網(wǎng)表中的每個邏輯單元c,將邏輯單元c的輸出端口信號到邏輯單元c的映射關(guān)系存儲到邏輯單元輸出映射集合中,同時將邏輯單元c插入至冗余邏輯單元集合;對所述冗余邏輯單元集合處理,包括,遍歷電路網(wǎng)表中的每條線網(wǎng),從所述邏輯單元映射集合中找出輸出端口信號s為輸出線網(wǎng)或具有keep屬性線網(wǎng)的邏輯單元c,或者在所述邏輯單元輸出映射集合中存在邏輯單元c1的輸入端口信號與邏輯單元c的輸出端口信號s相同的情況下,將冗余邏輯單元集合中的所述邏輯單元c刪除;獲取電路網(wǎng)表中的冗余線網(wǎng)集合,從電路網(wǎng)表中刪除冗余線網(wǎng)集合中的所有線網(wǎng)。該技術(shù)方案的有益效果在于,可以去除電路網(wǎng)表中的冗余資源,實現(xiàn)fpga電路網(wǎng)表的邏輯化簡,從而減少電路綜合后的邏輯資源數(shù)量,提高電路綜合后的性能。
4、對所述冗余邏輯單元集合處理,包括,遍歷電路網(wǎng)表中的每條線網(wǎng)w,如果線網(wǎng)w是輸出線網(wǎng)或者具有keep屬性,則從邏輯單元映射集合中查找輸出端口信號為線網(wǎng)w的邏輯單元c,將輸出端口信號為線網(wǎng)w的所述邏輯單元c插入至隊列中,并從所述邏輯單元輸出映射集合中刪除所述邏輯單元c;每次從隊列中取出一個邏輯單元c,在邏輯單元輸出映射集合中找到邏輯單元c1,所述邏輯單元c1輸出端口信號與邏輯單元c的輸入端口信號s相同,將邏輯單元c1插入至隊列中,同時從冗余邏輯單元集合中刪除邏輯單元c。
5、重復從隊列中取出邏輯單元c處理,直至隊列中的邏輯單元c均被處理過;完成冗余邏輯單元集合處理后,從網(wǎng)表中刪除冗余邏輯單元集合中的所有邏輯單元c。
6、獲取電路網(wǎng)表中的冗余線網(wǎng)集合,包括,遍歷電路網(wǎng)表中每條連接,獲取所述連接等效的2條線網(wǎng),并比較2條線網(wǎng)的優(yōu)先級,將優(yōu)先級低的線網(wǎng)插入至待刪除線網(wǎng)集合中;遍歷網(wǎng)表中每個邏輯單元c,對邏輯單元c每個輸入端口信號s,將輸入端口信號s加入使用到的信號集合中;遍歷電路網(wǎng)表中的每條線網(wǎng)w,如果線網(wǎng)w既不是輸入或輸出線網(wǎng),也不具有keep屬性,同時在使用到的信號集合中也查找不到線網(wǎng)w,則將線網(wǎng)w加入至冗余線網(wǎng)集合中。
7、將優(yōu)先級低的線網(wǎng)插入至待刪除線網(wǎng)集合后,在網(wǎng)表中,將所有的優(yōu)先級低的線網(wǎng)出現(xiàn)的地方均用優(yōu)先級高的線網(wǎng)代替。
8、比較連接等效的2條線網(wǎng)的優(yōu)先級,包括,依據(jù)待比較的2條線網(wǎng)的性質(zhì):即是否是輸入線網(wǎng)、輸出線網(wǎng)、輸出信號、輸入信號;以及線網(wǎng)名稱字符串長度,進而對線網(wǎng)優(yōu)先級進行比較。
9、設(shè)定比較連接等效的2條線網(wǎng)分別為線網(wǎng)s1以及線網(wǎng)s2;若線網(wǎng)s1是輸入線網(wǎng),線網(wǎng)s2是輸入線網(wǎng),則線網(wǎng)名稱字符串長度小的線網(wǎng)具有優(yōu)先級;若線網(wǎng)s1是輸入線網(wǎng),線網(wǎng)s2不是輸入線網(wǎng),則線網(wǎng)s1優(yōu)先級高,線網(wǎng)s2為冗余線網(wǎng);若線網(wǎng)s1是輸出線網(wǎng),線網(wǎng)s2是輸出線網(wǎng),則線網(wǎng)名稱字符串長度小的線網(wǎng)具有優(yōu)先級;若線網(wǎng)s1是輸出線網(wǎng),線網(wǎng)s2不是輸出線網(wǎng),則線網(wǎng)s1優(yōu)先級高,線網(wǎng)s2為冗余線網(wǎng);若線網(wǎng)s1不是輸出線網(wǎng),線網(wǎng)s2是輸入或輸出信號,則線網(wǎng)s2優(yōu)先級高,線網(wǎng)s1為冗余線網(wǎng);若線網(wǎng)s1不是輸出線網(wǎng),線網(wǎng)s2不是輸入或輸出信號,則線網(wǎng)名稱字符串長度小的線網(wǎng)具有優(yōu)先級。
10、如果冗余線網(wǎng)集合中的元素大于0,則繼續(xù)清空冗余線網(wǎng)集合中的元素,并轉(zhuǎn)入下一次的獲取電路網(wǎng)表中冗余線網(wǎng)集合的操作,直至冗余線網(wǎng)集合中元素數(shù)量為0,退出處理。
11、本發(fā)明另一技術(shù)方案所提供的一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有程序代碼,所述程序代碼被處理器調(diào)用執(zhí)行上文所述的去除冗余資源的綜合工具邏輯簡化方法。
12、本發(fā)明另一技術(shù)方案所提供的一種電子設(shè)備,包括一個或多個處理器;存儲器;一個或多個應用程序,其中所述一個或多個應用程序被存儲在所述存儲器中并被配置為由所述一個或多個處理器執(zhí)行,所述一個或多個應用程序配置用于執(zhí)行上文所述的去除冗余資源的綜合工具邏輯簡化方法。
13、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果主要包括,可以準確而全面地去除電路網(wǎng)表中的冗余資源,實現(xiàn)fpga電路網(wǎng)表的邏輯化簡,從而減少電路綜合后的邏輯資源數(shù)量,提高電路綜合后的性能。
14、為讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉優(yōu)選實施例,并配合附圖,作詳細說明如下。
1.一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,包括,遍歷電路網(wǎng)表中的每個邏輯單元c,將邏輯單元c的輸出端口信號到邏輯單元c的映射關(guān)系存儲到邏輯單元輸出映射集合中,同時將邏輯單元c插入至冗余邏輯單元集合;
2.根據(jù)權(quán)利要求1所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,對所述冗余邏輯單元集合處理,包括,遍歷電路網(wǎng)表中的每條線網(wǎng)w,如果線網(wǎng)w是輸出線網(wǎng)或者具有keep屬性,則從邏輯單元映射集合中查找輸出端口信號為線網(wǎng)w的邏輯單元c,將輸出端口信號為線網(wǎng)w的所述邏輯單元c插入隊列中,并從所述邏輯單元輸出映射集合中刪除所述邏輯單元c;
3.根據(jù)權(quán)利要求2所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,重復從隊列中取出邏輯單元c處理,直至隊列中的邏輯單元c均被處理過;
4.根據(jù)權(quán)利要求1所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,獲取電路網(wǎng)表中的冗余線網(wǎng)集合,包括,遍歷電路網(wǎng)表中每條連接,獲取所述連接等效的2條線網(wǎng),并比較2條線網(wǎng)的優(yōu)先級,將優(yōu)先級低的線網(wǎng)插入至待刪除線網(wǎng)集合中;
5.根據(jù)權(quán)利要求4所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,將優(yōu)先級低的線網(wǎng)插入至待刪除線網(wǎng)集合后,在網(wǎng)表中,將所有的優(yōu)先級低的線網(wǎng)出現(xiàn)的地方均用優(yōu)先級高的線網(wǎng)代替。
6.根據(jù)權(quán)利要求4所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,比較連接等效的2條線網(wǎng)的優(yōu)先級,包括,依據(jù)待比較的2條線網(wǎng)的性質(zhì):即是否是輸入線網(wǎng)、輸出線網(wǎng)、輸出信號、輸入信號;以及線網(wǎng)名稱字符串長度,進而對線網(wǎng)優(yōu)先級進行比較。
7.根據(jù)權(quán)利要求6所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,設(shè)定比較連接等效的2條線網(wǎng)分別為線網(wǎng)s1以及線網(wǎng)s2;
8.根據(jù)權(quán)利要求1所述的一種去除冗余資源的綜合工具邏輯簡化方法,其特征在于,如果冗余線網(wǎng)集合中的元素大于0,則繼續(xù)清空冗余線網(wǎng)集合中的元素,并轉(zhuǎn)入下一次的獲取電路網(wǎng)表中冗余線網(wǎng)集合的操作,直至冗余線網(wǎng)集合中元素數(shù)量為0,退出處理。
9.一種計算機可讀存儲介質(zhì),其特征在于,所述計算機可讀存儲介質(zhì)中存儲有程序代碼,所述程序代碼被處理器調(diào)用執(zhí)行如權(quán)利要求1-8任一項所述的去除冗余資源的綜合工具邏輯簡化方法。
10.一種電子設(shè)備,其特征在于,包括一個或多個處理器;