亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種用于fpga結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法

文檔序號(hào):6489319閱讀:149來(lái)源:國(guó)知局
一種用于fpga結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法
【專利摘要】本發(fā)明公開(kāi)了一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法,屬于微電子領(lǐng)域中集成電路設(shè)計(jì)和電子設(shè)計(jì)【技術(shù)領(lǐng)域】。該系統(tǒng)包括結(jié)構(gòu)參數(shù)編輯模塊、詳細(xì)結(jié)構(gòu)生成模塊、局部結(jié)構(gòu)調(diào)整模塊和全自動(dòng)結(jié)構(gòu)評(píng)估模塊。本發(fā)明能降低FPGA結(jié)構(gòu)設(shè)計(jì)的復(fù)雜度,提高設(shè)計(jì)的靈活性,全自動(dòng)的設(shè)計(jì)流程可幫助結(jié)構(gòu)設(shè)計(jì)師快速輕松地設(shè)計(jì)出性能優(yōu)異的FPGA結(jié)構(gòu)。
【專利說(shuō)明】—種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于微電子領(lǐng)域中集成電路設(shè)計(jì)和電子設(shè)計(jì)【技術(shù)領(lǐng)域】,特別涉及一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法。
【背景技術(shù)】
[0002]FPGA (Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)是一種半定制通用性器件,用戶可通過(guò)對(duì)其編程來(lái)實(shí)現(xiàn)所需的邏輯功能。FPGA硬件結(jié)構(gòu)直接決定了 FPGA的性能優(yōu)劣,而設(shè)計(jì)出一個(gè)優(yōu)秀的FPGA硬件結(jié)構(gòu)是一項(xiàng)非常具有挑戰(zhàn)性的工作,因?yàn)镕PGA包含眾多結(jié)構(gòu)參數(shù),這些參數(shù)之間的相互影響關(guān)系非常復(fù)雜,它們共同決定了電路的速度和面積。因此,需要從全局考慮所有結(jié)構(gòu)參數(shù),選取足夠多的有代表性的基準(zhǔn)電路在所研究的每種FPGA結(jié)構(gòu)上進(jìn)行實(shí)現(xiàn),并在布局布線之后得出電路的關(guān)鍵路徑延時(shí)和所需要的面積。統(tǒng)計(jì)結(jié)果同時(shí)考慮面積、延時(shí),或者包括功耗等其它參數(shù),從中選取這些參數(shù)組合性能最好的結(jié)構(gòu),進(jìn)行版圖生成和流片。
[0003]一種生成FPGA結(jié)構(gòu)的方法是通過(guò)手工建立一個(gè)布線資源圖來(lái)詳細(xì)確定邏輯塊之間的互連資源,這種方法具有一定的靈活性,但是并不可行,一個(gè)描述包含8000個(gè)4輸入LUT (Look Up Table,查找表)的典型布線資源圖大小將高達(dá)30MB。另一種可能是人工設(shè)計(jì)一個(gè)基本單元塊,它包含一個(gè)邏輯塊和周圍的布線資源。通過(guò)程序自動(dòng)復(fù)制和連接這種基本單元塊來(lái)描述完整的FPGA布線資源圖。但是這種方法依然耗時(shí)太大,典型的基本單元塊包含數(shù)百個(gè)編程開(kāi)關(guān)和互連線,需要花費(fèi)數(shù)小時(shí)甚至數(shù)天的時(shí)間來(lái)描述。而且這種手工描述的基本單元塊只能實(shí)現(xiàn)某一特定的布線通道高度值W,靈活性差。
[0004]當(dāng)前普遍流行的做法是用比較抽象的FPGA結(jié)構(gòu)描述語(yǔ)言來(lái)描述FPGA較高層次的結(jié)構(gòu),這種語(yǔ)言的語(yǔ)法規(guī)則不固定,具體語(yǔ)法規(guī)則需要根據(jù)所使用的EDA (ElectronicDesign Automatic,電子設(shè)計(jì)自動(dòng)化)工具來(lái)確定。一種做法是限定了所有代碼與開(kāi)關(guān)模式的交互接口為FcO和F s O這兩個(gè)例程,通過(guò)修改這兩個(gè)例程可以在不同開(kāi)關(guān)模式的FPGA上進(jìn)行布線。另外一種是接受的輸入為布線結(jié)構(gòu)描述、邏輯塊描述和結(jié)構(gòu)詳細(xì)規(guī)則,通過(guò)Xdp/ffireC電路圖編輯器生成詳細(xì)的FPGA結(jié)構(gòu),以供布局布線工具使用。還有一種是讀入簡(jiǎn)要而容易理解的參數(shù)化結(jié)構(gòu)描述文件,并采用內(nèi)嵌的圖形生成器產(chǎn)生詳盡的布線資源圖以供布線器和其它EDA工具使用。但是上述方法都只能基于某種FPGA結(jié)構(gòu)模板來(lái)編輯結(jié)構(gòu)描述文件,限定了設(shè)計(jì)的靈活性。

【發(fā)明內(nèi)容】

[0005]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法,解決了現(xiàn)有技術(shù)中的FPGA結(jié)構(gòu)設(shè)計(jì)工具設(shè)計(jì)靈活度不夠、在編輯FPGA結(jié)構(gòu)描述文件容易出錯(cuò)和不能調(diào)整FPGA局部結(jié)構(gòu)的功能的技術(shù)問(wèn)題。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng),包括結(jié)構(gòu)參數(shù)編輯模塊、詳細(xì)結(jié)構(gòu)生成模塊、局部結(jié)構(gòu)調(diào)整模塊和全自動(dòng)結(jié)構(gòu)評(píng)估模塊;[0007]其中,所述結(jié)構(gòu)參數(shù)編輯模塊,用于選定所需編輯的結(jié)構(gòu)項(xiàng)目,然后設(shè)定FPGA結(jié)構(gòu)參數(shù),生成結(jié)構(gòu)描述文件;
[0008]所述詳細(xì)結(jié)構(gòu)生成模塊,根據(jù)所述結(jié)構(gòu)項(xiàng)目,讀取所述FPGA結(jié)構(gòu)參數(shù),然后建立布線資源圖,根據(jù)所述布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖;
[0009]所述局部結(jié)構(gòu)調(diào)整模塊,用于局部調(diào)整所述FPGA詳細(xì)結(jié)構(gòu)圖,重新建立新布線資源圖,根據(jù)所述新布線資源圖,重新建立新FPGA詳細(xì)結(jié)構(gòu)圖;所述全自動(dòng)結(jié)構(gòu)評(píng)估模塊,用于對(duì)所述新FPGA詳細(xì)結(jié)構(gòu)圖進(jìn)行評(píng)估,從而確定性能最優(yōu)的FPGA結(jié)構(gòu)。
[0010]進(jìn)一步地,所述FPGA結(jié)構(gòu)參數(shù)包括通用型結(jié)構(gòu)參數(shù)和特有型結(jié)構(gòu)參數(shù)。
[0011]進(jìn)一步地,所述通用型結(jié)構(gòu)參數(shù)包括編程結(jié)構(gòu)的參數(shù)、配置陣列結(jié)構(gòu)的參數(shù)、全局模塊陣列的參數(shù)、輸入輸出模塊陣列的參數(shù)、邏輯模塊陣列的參數(shù)、存儲(chǔ)器模塊陣列的參數(shù)、乘法器模塊陣列的參數(shù)、數(shù)字時(shí)鐘模塊陣列的參數(shù)、邊界掃描模塊陣列的參數(shù)、布線通道模塊陣列的參數(shù)、開(kāi)關(guān)模塊陣列的參數(shù)、布線開(kāi)關(guān)列表的參數(shù)、時(shí)序的參數(shù)或功耗的參數(shù)中的任種或幾種。
[0012]進(jìn)一步地,所述特有型結(jié)構(gòu)參數(shù)包括封裝結(jié)構(gòu)的參數(shù)、芯片規(guī)模的參數(shù)或配置結(jié)構(gòu)的參數(shù)中的任--種或幾種。
[0013]一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的方法,包括如下步驟:
[0014]步驟101:選定所需編輯的結(jié)構(gòu)項(xiàng)目,然后設(shè)定FPGA結(jié)構(gòu)參數(shù),生成結(jié)構(gòu)描述文件;
[0015]步驟102:根據(jù)所述結(jié)構(gòu)項(xiàng)目,讀取所述FPGA結(jié)構(gòu)參數(shù),然后建立布線資源圖,根據(jù)所述布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖;
[0016]步驟103:局部調(diào)整所述FPGA詳細(xì)結(jié)構(gòu)圖,重新建立新布線資源圖,根據(jù)所述新布線資源圖,重新建立新FPGA詳細(xì)結(jié)構(gòu)圖;
[0017]步驟104:對(duì)所述新FPGA詳細(xì)結(jié)構(gòu)圖進(jìn)行評(píng)估,從而確定性能最優(yōu)的FPGA結(jié)構(gòu)。
[0018]進(jìn)一步地,在所述步驟101中,所述選定所需編輯的結(jié)構(gòu)項(xiàng)目的方法是通過(guò)GUI向?qū)D。
[0019]進(jìn)一步地,在步驟102中,所述建立布線資源圖的方法包括如下步驟:
[0020]分別獲取所述FPGA結(jié)構(gòu)內(nèi)部的邏輯塊與所述FPGA結(jié)構(gòu)內(nèi)部的互連線的連接關(guān)系和所述互連線與所述互連線之間的連接關(guān)系,然后建立布線資源圖,根據(jù)所述布線資源圖,產(chǎn)生所述FPGA詳細(xì)結(jié)構(gòu)圖。
[0021]進(jìn)一步地,在所述步驟103中,所述局部調(diào)整FPGA詳細(xì)結(jié)構(gòu)圖的方法包括如下步驟中的任--步:
[0022]步驟1031:調(diào)整任一所述邏輯塊的一個(gè)引腳所能連接的布線軌道數(shù)目;
[0023]步驟1032:調(diào)整所述FPGA詳細(xì)結(jié)構(gòu)圖的開(kāi)關(guān)模塊的拓?fù)漕愋停?br> [0024]步驟1033:調(diào)整所述開(kāi)關(guān)模塊內(nèi)的任一開(kāi)關(guān)的類型和尺寸。
[0025]進(jìn)一步地,在所述步驟104中,所述評(píng)估的方法包括如下步驟:
[0026]步驟1041:選擇多個(gè)基準(zhǔn)電路; [0027]步驟1042:對(duì)所述基準(zhǔn)電路進(jìn)行邏輯綜合和工藝映射,得到包含寄存器和查找表的網(wǎng)表,然后將所述網(wǎng)表打包到所述邏輯塊中;
[0028]步驟1043:使用布局布線器對(duì)所述基準(zhǔn)電路進(jìn)行布局和布線,在布局和布線過(guò)程中通過(guò)自動(dòng)遍歷所述FPGA結(jié)構(gòu)參數(shù)的的值來(lái)迭代調(diào)用所述布局布線器;
[0029]步驟1044:當(dāng)所述布局和布線結(jié)束后,提取所述基準(zhǔn)電路在所述新FPGA詳細(xì)結(jié)構(gòu)圖上使用的面積和關(guān)鍵路徑延時(shí),然后根據(jù)所述面積和所述關(guān)鍵路徑延時(shí),借助數(shù)據(jù)分析繪圖工具得出面積延時(shí)積隨所述FPGA結(jié)構(gòu)參數(shù)的的值的改變而變化的趨勢(shì)圖,從所述趨勢(shì)圖中選出面積延時(shí)積最小的所述FPGA結(jié)構(gòu)參數(shù);
[0030]步驟1045:調(diào)整所述面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù),從而對(duì)面積延時(shí)積最小的所述FPGA結(jié)構(gòu)參數(shù),找到所述面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù)的最佳值,將所述最佳值替換為所述面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù),重新執(zhí)行步驟1041至步驟1044,建立最優(yōu)的FPGA詳細(xì)結(jié)構(gòu)圖。
[0031]本發(fā)明提供的一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)及其方法,能降低FPGA結(jié)構(gòu)設(shè)計(jì)的復(fù)雜度,提高設(shè)計(jì)的靈活性,全自動(dòng)的設(shè)計(jì)流程可幫助結(jié)構(gòu)設(shè)計(jì)師快速輕松地設(shè)計(jì)出性能優(yōu)異的FPGA結(jié)構(gòu)。
【專利附圖】

【附圖說(shuō)明】
[0032]圖1為本發(fā)明實(shí)施例提供的一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)示意圖;
[0033]圖2為本發(fā)明實(shí)施例提供的一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的方法步驟流程圖。
【具體實(shí)施方式】
[0034]參見(jiàn)圖1,本發(fā)明實(shí)施例提供的一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng),包括結(jié)構(gòu)參數(shù)編輯模塊、詳細(xì)結(jié)構(gòu)生成模塊、局部結(jié)構(gòu)調(diào)整模塊和全自動(dòng)結(jié)構(gòu)評(píng)估模塊;
[0035]其中,結(jié)構(gòu)參數(shù)編輯模塊,用于選定所需編輯的結(jié)構(gòu)項(xiàng)目,然后設(shè)定FPGA結(jié)構(gòu)參數(shù),生成結(jié)構(gòu)描述文件;
[0036]詳細(xì)結(jié)構(gòu)生成模塊,根據(jù)結(jié)構(gòu)項(xiàng)目,讀取FPGA結(jié)構(gòu)參數(shù),然后建立布線資源圖,根據(jù)布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖;
[0037]局部結(jié)構(gòu)調(diào)整模塊,局部調(diào)整FPGA詳細(xì)結(jié)構(gòu)圖中,然后建立布線資源圖,根據(jù)布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖;
[0038]全自動(dòng)結(jié)構(gòu)評(píng)估模塊,用于對(duì)新FPGA詳細(xì)結(jié)構(gòu)圖進(jìn)行評(píng)估,從而確定性能最優(yōu)的FPGA結(jié)構(gòu)。
[0039]參見(jiàn)圖2,一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的方法,包括如下步驟:
[0040]步驟101:選定所需編輯的結(jié)構(gòu)項(xiàng)目,然后設(shè)定FPGA結(jié)構(gòu)參數(shù),生成結(jié)構(gòu)描述文件;
[0041](I)選定需要編輯的結(jié)構(gòu)項(xiàng)目。
[0042]FPGA結(jié)構(gòu)參數(shù)可分為通用型結(jié)構(gòu)參數(shù)、特有型結(jié)構(gòu)參數(shù)兩大項(xiàng)。其中通用型結(jié)構(gòu)參數(shù)包括:編程結(jié)構(gòu)的參數(shù)、配置陣列結(jié)構(gòu)的參數(shù)、全局模塊陣列的參數(shù)、輸入輸出模塊陣列的參數(shù)、邏輯模塊陣列的參數(shù)、存儲(chǔ)器模塊陣列的參數(shù)、乘法器模塊陣列的參數(shù)、數(shù)字時(shí)鐘模塊陣列的參數(shù)、邊界掃描模塊陣列的參數(shù)、布線通道模塊陣列的參數(shù)、開(kāi)關(guān)模塊陣列的參數(shù)、布線開(kāi)關(guān)列表的參數(shù)、時(shí)序的參數(shù)、功耗的參數(shù)等幾大項(xiàng);特有型結(jié)構(gòu)參數(shù)包括:封裝結(jié)構(gòu)的參數(shù)、芯片規(guī)模的參數(shù)、配置結(jié)構(gòu)的參數(shù)中的一種或幾種。
[0043]在FPGA結(jié)構(gòu)項(xiàng)目中,通過(guò)GUI (graphical user interface,用戶圖形界面)向?qū)D選擇需要編輯的項(xiàng)目。
[0044](2)在⑶I中設(shè)定FPGA結(jié)構(gòu)參數(shù)。
[0045]步驟(I)中選定的結(jié)構(gòu)項(xiàng)目在⑶I中以樹(shù)形結(jié)構(gòu)列出,每一項(xiàng)單獨(dú)一頁(yè),以芯片規(guī)模項(xiàng)為例,該項(xiàng)包括FPGA中邏輯模塊陣列、存儲(chǔ)器模塊陣列、乘法器模塊陣列的列數(shù)和邏輯模塊陣列的行數(shù)以及存儲(chǔ)器模塊陣列、乘法器模塊陣列的高度。結(jié)構(gòu)參數(shù)編輯頁(yè)面列舉了所有必須的FPGA結(jié)構(gòu)參數(shù),避免了參數(shù)的遺漏,同時(shí)提供了默認(rèn)值,并允許修改。
[0046](3)生成XML格式或普通文本格式結(jié)構(gòu)描述文件。
[0047]將步驟(I)和(2)編輯的所有結(jié)構(gòu)參數(shù)組裝在一起,生成普通文本格式結(jié)構(gòu)描述文件;或者利用程序中內(nèi)嵌的XML解析器,將結(jié)構(gòu)描述文件保存為XML格式。
[0048]步驟102:根據(jù)步驟101生成的結(jié)構(gòu)描述文件,讀取FPGA結(jié)構(gòu)參數(shù),然后建立布線資源圖,根據(jù)布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖;
[0049]布線資源圖,用于記錄FPGA中所有可用的連接,在布線階段為布線器尋找合適路徑提供選擇;
[0050]在布線資源圖中,金屬線和邏輯塊的各個(gè)端口用結(jié)點(diǎn)表示,開(kāi)關(guān)用一條有向邊(對(duì)于單向開(kāi)關(guān),如緩沖器)或一對(duì)有向邊(對(duì)于雙向開(kāi)關(guān),如傳輸管)表示。每個(gè)結(jié)點(diǎn)的容量是指在合法的布線結(jié)果中,一個(gè)結(jié)點(diǎn)所能容納的不同線網(wǎng)的最大數(shù)目。由于金屬線和邏輯塊弓I腳只能被一個(gè)線網(wǎng)使用一次,所以結(jié)點(diǎn)的容量是I。
[0051]通過(guò)讀取描述水平方向布線通道模塊和垂直方向布線通道模塊的結(jié)構(gòu)參數(shù)獲取FPGA結(jié)構(gòu)內(nèi)部的邏輯塊與互連線的連接關(guān)系,通過(guò)讀取描述開(kāi)關(guān)模塊陣列的結(jié)構(gòu)參數(shù)獲取FPGA結(jié)構(gòu)內(nèi)部的所有互連線與互連線的連接關(guān)系,從而建立布線資源圖,根據(jù)布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖。
[0052]步驟103:在FPGA詳細(xì)結(jié)構(gòu)圖中進(jìn)行局部結(jié)構(gòu)調(diào)整,重新建立新FPGA詳細(xì)結(jié)構(gòu)圖;
[0053](4)根據(jù)步驟102的布線資源圖,在⑶I中產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖。
[0054](5)調(diào)整Fe (引腳所能連接的布線軌道數(shù)目)。
[0055]雙擊FPGA詳細(xì)結(jié)構(gòu)圖中任一邏輯塊的一個(gè)引腳,會(huì)彈出一個(gè)窗口,允許結(jié)構(gòu)設(shè)計(jì)師修改該引腳的Fe,并可選擇是將修改應(yīng)用于當(dāng)前邏輯塊或所有邏輯塊或設(shè)計(jì)師自己選定應(yīng)用邏輯塊的坐標(biāo)范圍。
[0056](6)調(diào)整FPGA詳細(xì)結(jié)構(gòu)圖的開(kāi)關(guān)模塊的拓?fù)漕愋汀?br> [0057]雙擊FPGA詳細(xì)結(jié)構(gòu)圖中任一開(kāi)關(guān)模塊,會(huì)彈出一個(gè)窗口,允許結(jié)構(gòu)設(shè)計(jì)師從Subset, Universal, Wilton, Wilton 3 這四種開(kāi)關(guān)拓?fù)浣Y(jié)構(gòu)(switch block topology)中選擇修改該開(kāi)關(guān)模塊的拓?fù)漕愋?,默認(rèn)是Wilton類型。該窗口還列出了該開(kāi)關(guān)模塊所連接的所有布線軌道,從中任選一條,則會(huì)顯示出該布線軌道通過(guò)該開(kāi)關(guān)模塊所連接的所有布線軌道,設(shè)計(jì)師可通過(guò)該界面建立或取消布線軌道之間的連接。并且設(shè)計(jì)師可選擇是將修改應(yīng)用于當(dāng)前開(kāi)關(guān)模塊或所有開(kāi)關(guān)模塊或設(shè)計(jì)師自己選定應(yīng)用開(kāi)關(guān)模塊坐標(biāo)范圍。
[0058](7)調(diào)整開(kāi)關(guān)模塊內(nèi)的任一開(kāi)關(guān)的類型和尺寸等。
[0059]雙擊FPGA詳細(xì)結(jié)構(gòu)圖中開(kāi)關(guān)模塊內(nèi)的任一開(kāi)關(guān)的類型和尺寸,會(huì)彈出一個(gè)窗口,允許結(jié)構(gòu)設(shè)計(jì)師修改該開(kāi)關(guān)的類型(buffered或pass gate)、尺寸等,設(shè)計(jì)師可選擇是將修改應(yīng)用于當(dāng)前開(kāi)關(guān)或當(dāng)前邏輯片中的所有開(kāi)關(guān)或設(shè)計(jì)師自己選定邏輯片的坐標(biāo)范圍,并將修改應(yīng)用于選定邏輯片的同一位置的開(kāi)關(guān)。
[0060](8)重新建立布線資源圖。
[0061]所有修改完成后,為讓修改生效,需要重新建立布線資源圖,從而產(chǎn)生新的FPGA詳細(xì)結(jié)構(gòu)。
[0062]步驟104:對(duì)新FPGA詳細(xì)結(jié)構(gòu)圖進(jìn)行評(píng)估,從而確定性能最優(yōu)的FPGA結(jié)構(gòu)。
[0063](9)選擇一系列將要對(duì)FPGA結(jié)構(gòu)進(jìn)行評(píng)估的基準(zhǔn)電路。
[0064](10)對(duì)基準(zhǔn)電路進(jìn)行邏輯綜合和工藝映射。
[0065](11)將(10)中生成的包含寄存器和查找表的網(wǎng)表打包到邏輯塊中。
[0066](12)使用布局布線器對(duì)基準(zhǔn)電路進(jìn)行布局和布線,在布局和布線過(guò)程中通過(guò)自動(dòng)遍歷選定的FPGA結(jié)構(gòu)參數(shù)的值來(lái)迭代調(diào)用布局布線器。
[0067](13)當(dāng)布局和布線結(jié)束后,提取基準(zhǔn)電路在新FPGA詳細(xì)結(jié)構(gòu)圖上使用的面積和關(guān)鍵路徑延時(shí),然后根據(jù)面積和關(guān)鍵路徑延時(shí),借助數(shù)據(jù)分析繪圖工具得出面積延時(shí)積隨FPGA結(jié)構(gòu)參數(shù)的的值的改變而變化的趨勢(shì)圖,從趨勢(shì)圖中選出面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù)的值。
[0068](14)對(duì)于不同的FPGA結(jié)構(gòu),可以用面積延時(shí)積來(lái)評(píng)估它們的性能,面積延時(shí)積最小的FPGA結(jié)構(gòu)為最優(yōu)結(jié)構(gòu)。主要有兩個(gè)原因:一是通常使用FPGA進(jìn)行電路設(shè)計(jì)時(shí),會(huì)用面積換取速度,或者用速度換取面積。因此把這兩個(gè)參數(shù)結(jié)合到一個(gè)曲線來(lái)尋找最佳平衡點(diǎn)是非常有意義的。二是FPGA的吞吐量通常用邏輯功能單元的數(shù)量乘以時(shí)鐘速度來(lái)計(jì)算,另外一種是 throughput= (1/area per functiona I unit) * (1/delay)。因此,減小面積延時(shí)積,就能增大吞吐量。
[0069]因此,改變需要評(píng)估的結(jié)構(gòu)參數(shù)。從一些比較重要的或受其它參數(shù)影響較小的參數(shù)開(kāi)始,每次只改變一到兩個(gè)參數(shù),從而可以對(duì)N維結(jié)構(gòu)空間中的一條線進(jìn)行優(yōu)化,一旦找到這個(gè)參數(shù)的最佳值,就固定這個(gè)參數(shù)值,并將其代入后續(xù)實(shí)驗(yàn)中,然后改變待評(píng)估的結(jié)構(gòu)參數(shù),重新進(jìn)行步驟(9) - (13),逐步建立復(fù)雜的結(jié)構(gòu)。
[0070]在本發(fā)明實(shí)施例中,使用GUI編輯FPGA結(jié)構(gòu)參數(shù),使結(jié)構(gòu)設(shè)計(jì)師不必過(guò)多關(guān)心結(jié)構(gòu)描述文件的語(yǔ)法格式,降低了設(shè)計(jì)的復(fù)雜度,并可避免結(jié)構(gòu)參數(shù)的遺漏;在6瓜上進(jìn)行局部結(jié)構(gòu)調(diào)整,這種靈活性使設(shè)計(jì)非均勻型FPGA結(jié)構(gòu)成為可能;本發(fā)明還將FPGA結(jié)構(gòu)設(shè)計(jì)和評(píng)估集成在一起,全自動(dòng)的評(píng)估流程可幫助結(jié)構(gòu)設(shè)計(jì)師快速輕松地設(shè)計(jì)出性能最優(yōu)的FPGA結(jié)構(gòu)。
[0071]本發(fā)明的實(shí)施例為設(shè)計(jì)和評(píng)估FPGA結(jié)構(gòu)提供一個(gè)有效方法,可有效的改善設(shè)計(jì)效率,降低設(shè)計(jì)成本,減少設(shè)計(jì)人員的工作量,縮短設(shè)計(jì)周期,具有廣闊的市場(chǎng)前景和應(yīng)用價(jià)值。
[0072]最后所應(yīng)說(shuō)明的是,以上【具體實(shí)施方式】?jī)H用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照實(shí)例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
【權(quán)利要求】
1.一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的系統(tǒng),其特征在于,包括結(jié)構(gòu)參數(shù)編輯模塊、詳細(xì)結(jié)構(gòu)生成模塊、局部結(jié)構(gòu)調(diào)整模塊和全自動(dòng)結(jié)構(gòu)評(píng)估模塊; 其中,所述結(jié)構(gòu)參數(shù)編輯模塊,用于選定所需編輯的結(jié)構(gòu)項(xiàng)目,然后設(shè)定FPGA結(jié)構(gòu)參數(shù),生成結(jié)構(gòu)描述文件; 所述詳細(xì)結(jié)構(gòu)生成模塊,根據(jù)所述結(jié)構(gòu)項(xiàng)目,讀取所述FPGA結(jié)構(gòu)參數(shù),然后建立布線資源圖,根據(jù)所述布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖; 所述局部結(jié)構(gòu)調(diào)整模塊,用于局部調(diào)整所述FPGA詳細(xì)結(jié)構(gòu)圖,重新建立新布線資源圖,根據(jù)所述新布線資源圖,重新建立新FPGA詳細(xì)結(jié)構(gòu)圖; 所述全自動(dòng)結(jié)構(gòu)評(píng)估模塊,用于對(duì)所述新FPGA詳細(xì)結(jié)構(gòu)圖進(jìn)行評(píng)估,從而確定性能最優(yōu)的FPGA結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述FPGA結(jié)構(gòu)參數(shù)包括通用型結(jié)構(gòu)參數(shù)和特有型結(jié)構(gòu)參數(shù)。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述通用型結(jié)構(gòu)參數(shù)包括編程結(jié)構(gòu)的參數(shù)、配置陣列結(jié)構(gòu)的參數(shù)、全局模塊陣列的參數(shù)、輸入輸出模塊陣列的參數(shù)、邏輯模塊陣列的參數(shù)、存儲(chǔ)器模塊陣列的參數(shù)、乘法器模塊陣列的參數(shù)、數(shù)字時(shí)鐘模塊陣列的參數(shù)、邊界掃描模塊陣列的參數(shù)、布線通道模塊陣列的參數(shù)、開(kāi)關(guān)模塊陣列的參數(shù)、布線開(kāi)關(guān)列表的參數(shù)、時(shí)序的參數(shù)或功耗的參數(shù)中的任--種或幾種。
4.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述特有型結(jié)構(gòu)參數(shù)包括封裝結(jié)構(gòu)的參數(shù)、芯片規(guī)模的參數(shù)或配置結(jié)構(gòu)的參數(shù)中的任--種或幾種。
5.一種用于FPGA結(jié)構(gòu)設(shè)計(jì)的方法,其特征在于,包括如下步驟: 步驟101:選定所需編輯的結(jié)構(gòu)項(xiàng)目,然后設(shè)定FPGA結(jié)構(gòu)參數(shù),生成結(jié)構(gòu)描述文件;步驟102:根據(jù)所述結(jié)構(gòu)項(xiàng)目,讀取所述FPGA結(jié)構(gòu)參數(shù),然后建立布線資源圖,根據(jù)所述布線資源圖,產(chǎn)生FPGA詳細(xì)結(jié)構(gòu)圖; 步驟103:局部調(diào)整所述FPGA詳細(xì)結(jié)構(gòu)圖,重新建立新布線資源圖,根據(jù)所述新布線資源圖,重新建立新FPGA詳細(xì)結(jié)構(gòu)圖; 步驟104:對(duì)所述新FPGA詳細(xì)結(jié)構(gòu)圖進(jìn)行評(píng)估,從而確定性能最優(yōu)的FPGA結(jié)構(gòu)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述步驟101中,所述選定所需編輯的結(jié)構(gòu)項(xiàng)目的方法是通過(guò)⑶I向?qū)D。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,在步驟102中,所述建立布線資源圖的方法包括如下步驟: 分別獲取所述FPGA結(jié)構(gòu)內(nèi)部的邏輯塊與所述FPGA結(jié)構(gòu)內(nèi)部的互連線的連接關(guān)系和所述互連線與所述互連線之間的連接關(guān)系,然后建立布線資源圖,根據(jù)所述布線資源圖,產(chǎn)生所述FPGA詳細(xì)結(jié)構(gòu)圖。
8.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述步驟103中,所述局部調(diào)整FPGA詳細(xì)結(jié)構(gòu)圖的方法包括如下步驟中的任一一步: 步驟1031:調(diào)整任一所述邏輯塊的一個(gè)引腳所能連接的布線軌道數(shù)目; 步驟1032:調(diào)整所述FPGA詳細(xì)結(jié)構(gòu)圖的開(kāi)關(guān)模塊的拓?fù)漕愋停? 步驟1033:調(diào)整所述開(kāi)關(guān)模塊內(nèi)的任一開(kāi)關(guān)的類型和尺寸。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述步驟104中,所述評(píng)估的方法包括如下步驟: 步驟1041:選擇多個(gè)基準(zhǔn)電路; 步驟1042:對(duì)所述基準(zhǔn)電路進(jìn)行邏輯綜合和工藝映射,得到包含寄存器和查找表的網(wǎng)表,然后將所述網(wǎng)表打包到所述邏輯塊中; 步驟1043:使用布局布線器對(duì)所述基準(zhǔn)電路進(jìn)行布局和布線,在布局和布線過(guò)程中通過(guò)自動(dòng)遍歷所述FPGA結(jié)構(gòu)參數(shù)的值來(lái)迭代調(diào)用所述布局布線器; 步驟1044:當(dāng)所述布局和布線結(jié)束后,提取所述基準(zhǔn)電路在所述新FPGA詳細(xì)結(jié)構(gòu)圖上使用的面積和關(guān)鍵路徑延時(shí),然后根據(jù)所述面積和所述關(guān)鍵路徑延時(shí),借助數(shù)據(jù)分析繪圖工具得出面積延時(shí)積隨所述FPGA結(jié)構(gòu)參數(shù)的值的改變而變化的趨勢(shì)圖,從所述趨勢(shì)圖中選出面積延時(shí)積最小的所述FPGA結(jié)構(gòu)參數(shù); 步驟1045:調(diào)整所述面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù),從而對(duì)面積延時(shí)積最小的所述FPGA結(jié)構(gòu)參數(shù),找到所述面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù)的最佳值,將所述最佳值替換為所述面積延時(shí)積最小的FPGA結(jié)構(gòu)參數(shù),重新執(zhí)行步驟1041至步驟1044,建立最優(yōu)的FPGA詳細(xì)結(jié)構(gòu)圖。
【文檔編號(hào)】G06F17/50GK103699705SQ201210366291
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2012年9月27日 優(yōu)先權(quán)日:2012年9月27日
【發(fā)明者】張峰, 李艷, 陳亮, 李明, 于芳 申請(qǐng)人:中國(guó)科學(xué)院微電子研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1