本技術(shù)屬于fpga,尤其涉及一種基于控制信號的邏輯綜合優(yōu)化方法、存儲介質(zhì)和電子設(shè)備。
背景技術(shù):
1、邏輯綜合是fpga?eda軟件設(shè)計(jì)流程中一個重要的步驟,它是將用戶輸入的行為級或寄存器傳輸級(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邏輯綜合工具的一個重要指標(biāo)。減少fpga邏輯綜合后的的資源數(shù)量,對提高fpga軟件的布通率和時序性能,具有十分重要的作用。多路分支語句是電路描述文件中邏輯處理常見的結(jié)構(gòu),它通常包含一個控制信號和多個選擇塊,每個選擇塊又包含一個信號值和若干個處理語句。對多路分支語句進(jìn)行邏輯綜合后通常會產(chǎn)生大量的多路選擇器(mux)單元以及與門(and)、或門(or)等門電路單元。
3、因此,有必要對多路分支語句的邏輯綜合方法進(jìn)行優(yōu)化,使得多路分支語句邏輯綜合后的單元數(shù)量減少,減少fpga邏輯綜合后的的面積。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)公開了一種基于控制信號的邏輯綜合優(yōu)化方法、存儲介質(zhì)和電子設(shè)備,能夠提升對多路分支語句邏輯綜合的優(yōu)化效果,減少邏輯資源的消耗和邏輯綜合后的單元數(shù)量。
2、本技術(shù)的其他目的和優(yōu)點(diǎn)可以從本技術(shù)所揭露的技術(shù)特征中得到進(jìn)一步的了解。
3、為達(dá)上述之一或部分或全部目的或其他目的,第一方面,本技術(shù)提供了一種基于控制信號的邏輯綜合優(yōu)化方法,所述方法包括:對電路代碼進(jìn)行語法解析,針對多路分支語句的結(jié)構(gòu),提取出并行的多路選擇器單元,遍歷每個所述多路選擇器單元,獲取所述多路選擇器單元的輸入信號、輸出信號以及輸入s端信號位寬;設(shè)定一常數(shù)n,若所述輸入s端信號位寬大于等于常數(shù)n,遍歷所述多路選擇器單元的輸入s端信號的每一位值,獲取所述多路選擇器單元的輸入s端信號的第i位數(shù)據(jù)信號值sig_s[i]、當(dāng)前多路選擇器單元的控制信號eq以及數(shù)據(jù)信號值sig_s[i]對應(yīng)的選擇信號值s_v,并獲取多路選擇器單元的輸入b端信號sig_b的第i位數(shù)據(jù)信號值sig_b[i],將鍵值對(s_v,sig_b[i])存儲到映射集合中s_map中;對所述映射集合s_map進(jìn)行擴(kuò)展操作和組合操作,以生成若干個n位組合信號,對每個n位組合信號,使用所述當(dāng)前多路選擇器單元的控制信號eq的最低2位信號作為選擇信號,生成n選1的多路選擇器單元mux_n,收集多路選擇器單元mux_n的輸出信號作為當(dāng)前多路選擇器單元的輸入b端信號;控制信號eq去掉最低2位的信號,更新輸入s端信號位寬,并轉(zhuǎn)入對當(dāng)前多路選擇器單元下一次的迭代優(yōu)化中。
4、在一種實(shí)現(xiàn)方式中,遍歷所述輸入s端信號的每一位值,查詢以數(shù)據(jù)信號值sig_s[i]作為輸出信號的邏輯單元,并獲取所述邏輯單元的輸入a端信號s_a和輸入b端信號s_b;基于所述控制信號eq、所述輸入a端信號s_a和輸入b端信號s_b,獲取所述輸入b端信號s_b的常量值s_v;從所述多路選擇器單元的輸入b端信號sig_b中獲取第i位對應(yīng)的數(shù)據(jù)信號值sig_b[i],將鍵值對(s_v,sig_b[i])存儲到映射集合中。
5、在一種實(shí)現(xiàn)方式中,獲取所述邏輯單元的輸入b端信號s_b的常量值s_v的方法包括,若所述控制信號eq為空信號,則將所述輸入a端信號s_a作為控制信號,并獲取所述輸入b端信號s_b的常量值s_v;若所述控制信號eq不為空信號,且所述控制信號和所述輸入a端信號s_a相同,則獲取所述輸入b端信號s_b的常量值s_v;若所述控制信號eq不為空信號,且所述控制信號和所述輸入a端信號s_a不相同,則當(dāng)前多路選擇器單元的控制信號不唯一,退出對當(dāng)前多路選擇器單元的優(yōu)化。
6、在一種實(shí)現(xiàn)方式中,對所述映射集合進(jìn)行擴(kuò)展操作包括,在從0到最大的選擇信號值s_v之間的每一個值都在所述映射集合s_map中有對應(yīng)的數(shù)據(jù)信號值,且所述映射集合是n的倍數(shù)。
7、在一種實(shí)現(xiàn)方式中,所述常數(shù)n為4,使得從0到最大的選擇信號值s_v之間的每一個值都在所述映射集合中有對應(yīng)的數(shù)據(jù)信號值,且所述映射集合是4的倍數(shù),包括,遍歷所述映射集合中的每個鍵值對,查詢所述映射集合中最大的鍵值max;若所述鍵值max不是4的倍數(shù),則將所述鍵值max增加一個最小的數(shù),使得鍵值max是4的倍數(shù)。
8、在一種實(shí)現(xiàn)方式中,遍歷選擇信號值s_v從0到最大鍵值max的每一個值;
9、若所述映射集合s_map中找不到以s_v為鍵值的映射關(guān)系,則生成一個鍵值對(s_v,sig_a),并將鍵值對(s_v,sig_a)存儲到所述映射集合中,其中,所述信號值sig_a表示所述多路選擇器單元的輸入a端信號。
10、在一種實(shí)現(xiàn)方式中,所述常數(shù)n為4,根據(jù)組合信號sig_bz生成4選1的多路選擇器單元,包括,生成多路選擇器單元mux1,以組合信號sig_bz[0]作為所述多路選擇器單元mux1的輸入a端信號,以組合信號sig_bz[1]作為所述多路選擇器單元mux1的輸入b端信號,以控制信號eq[0]作為所述多路選擇器單元mux1的輸入s端信號;生成多路選擇器單元mux2,以多路選擇器單元mux1的輸出信號作為所述多路選擇器單元mux2的輸入a端信號為,以控制信號eq[0]作為所述多路選擇器單元mux2的輸入b端信號,所述多路選擇器單元mux2的輸入s端信號為控制信號eq[1];生成一個非門單元,以控制信號eq[1]作為所述非門單元的輸入信號;生成一個或門單元,以組合信號sig_bz[3]作為所述或門單元的輸入a端信號,以非門單元的輸出信號作為所述或門單元的輸入b端信號;生成一個與門單元,以組合信號sig_bz[2]作為所述與門單元的輸入a端信號,以控制信號eq[1]作為所述與門單元的輸入b端信號;生成多路選擇器單元mux3,以與門單元的輸出信號作為所述多路選擇器單元mux3的輸入a端信號,以或門單元的輸出信號作為所述多路選擇器單元mux3的輸入b端信號,以多路選擇器單元mux2的輸出信號作為所述多路選擇器單元mux3的輸入s端信號。
11、在一種實(shí)現(xiàn)方式中,若所述多路選擇器單元的輸入s端信號位寬小于n,則基于所述多路選擇器單元的輸入a端信號、輸入b端信號和控制信號,生成一個新的多路選擇器單元mux_x;將所述多路選擇器單元mux_x的輸出信號作為當(dāng)前多路選擇器單元的輸出信號。
12、在一種實(shí)現(xiàn)方式中,所述常數(shù)n為4,若所述位寬等于3,則基于所述多路選擇器單元的輸入a端信號對所述多路選擇器單元的的輸入b端信號擴(kuò)展一個信號,使得所述多路選擇器單元的的輸入b端信號的數(shù)量等于4,并生成一個4選1多路選擇器單元mux_4,并將多路選擇器單元mux_4的輸出信號作為所述多路選擇器單元的輸出y端信號;若所述位寬等于2,則用控制信號eq[0]作為所述多路選擇器單元的輸入s端信號,將數(shù)據(jù)信號值sig_b[0]作為所述多路選擇器單元的輸入b端信號生成多路選擇器單元mux_2,將所述多路選擇器單元的輸入a端信號、所述多路選擇器單元mux_2的輸入b端信號作為輸入信號生成多路選擇器單元mux_1,并將多路選擇器單元mux_1的輸出信號作為所述多路選擇器單元的輸出y端信號;若所述位寬等于1,以所述多路選擇器單元輸入a端信號和輸入b端信號作為輸入信號生成多路選擇器單元mux1,并將所述多路選擇器單元mux1的輸出信號作為所述多路選擇器單元的輸出y端信號。
13、第二方面,本技術(shù)提供了一種計(jì)算機(jī)可讀存儲介質(zhì),計(jì)算機(jī)可讀存儲介質(zhì)中存儲有程序代碼,程序代碼被處理器調(diào)用執(zhí)行第一方面任一項(xiàng)的基于控制信號的邏輯綜合優(yōu)化方法。
14、第三方面,本技術(shù)還提供了一種電子設(shè)備,包括一個或多個處理器;存儲器;一個或多個應(yīng)用程序,其中一個或多個應(yīng)用程序被存儲在存儲器中并被配置為由一個或多個處理器執(zhí)行,一個或多個應(yīng)用程序配置用于執(zhí)行如第一方面任一項(xiàng)的基于控制信號的邏輯綜合優(yōu)化方法。
15、與現(xiàn)有技術(shù)相比,本技術(shù)的有益效果包括:能夠根據(jù)多路選擇器單元輸入s端信號的位寬以及控制信號的值,將輸入b端信號拆分成每n位的組合信號,再對每個組合信號生成專門的n選1的多路選擇器單元,提升對多路分支語句邏輯綜合的優(yōu)化效果,減少邏輯資源的消耗和邏輯綜合后的單元數(shù)量。
16、為讓本技術(shù)的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉優(yōu)選實(shí)施例,并配合附圖,作詳細(xì)說明如下。