本發(fā)明涉及專用集成電路領(lǐng)域,特別涉及一種生成RTL級IP核方法及裝置。
背景技術(shù):
近十幾年來,由于軟件設(shè)計和硬件設(shè)計之間存在著一個缺口,也就是說,軟件設(shè)計總是比硬件設(shè)計快,所以人們現(xiàn)在正朝向于利用高層次綜合來加快硬件設(shè)計。因為硬件設(shè)計需要更多時間來調(diào)試,或者需要產(chǎn)生不同面積的IP(Intellectual Property,專用集成電路芯片知識產(chǎn)權(quán))核。
利用高級綜合可以使用軟件工具(例如Cyberworkbench)把高級語言(例如C、C++、SystemC)的IP核轉(zhuǎn)換為行為描述語言(Verilog HDL、VHDL)的IP核,其優(yōu)點在于可以通過使用不同的限制文件(FCNT)來獲得不同面積和不同性能的RTL(Resistor Transistor Logic,電阻晶體管邏輯)級模塊而不需要改變高級語言IP核中的內(nèi)容。
當使用高級語言進行綜合時,所得到的硬件描述語言就比較復雜,一般的程序包括兩個部分,一部分是有限狀態(tài)機,而另一部分包括數(shù)據(jù)的輸入輸出。簡而言之,就是通過有限狀態(tài)機來控制數(shù)據(jù)的輸入和輸出。所以人們不需要花費大量時間去編寫低層次的硬件語言(例如VHDL和Verilog),而只需要通過編寫簡單易懂的高級行為描述語言,再進行高級綜合。
對于多處理器系統(tǒng),如圖1所示,圖中包含了每個IP核(可綜合部分),測試平臺(不可綜合部分),AMBA-BUS總線和它們相對應(yīng)的接口,每個IP核都映射到硬件電路中,測試平臺(不可綜合部分)映射到多核處理器中,它們之間的連接都是通過總線進行連接,每個IP核需要從總線讀取數(shù)據(jù)和返回數(shù)據(jù)。
對于每個IP核來說,如果大的面積進行綜合的話,所得到的性能也是最好的,反之,如果綜合成性能(例如延時)差、運行時間長的IP核,那么所需要的面積就小?,F(xiàn)有技術(shù)僅僅將每個IP核按照最大面積進行綜合,所以沒有在保證綜合性能的同時減小面積。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種生成RTL級IP核方法及裝置,旨在解決現(xiàn)有技術(shù)無法在保證綜合性能的同時減小面積的問題。
本發(fā)明是這樣實現(xiàn)的,一種生成RTL級IP核方法,其包括以下步驟:
對高級語言程序進行高層次綜合以獲取多個行為級IP核;
獲取每個行為級IP核的折衷曲線,所述折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線;
根據(jù)所述折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核;
對所有的所述優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表。
本發(fā)明還提供了一種生成RTL級IP核裝置,其包括:
行為級IP核獲取模塊,用于對高級語言程序進行高層次綜合以獲取多個行為級IP核;
折衷曲線獲取模塊,用于獲取每個行為級IP核的折衷曲線,所述折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線;
優(yōu)選RTL級IP核獲取模塊,用于根據(jù)所述折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核;
數(shù)據(jù)結(jié)構(gòu)網(wǎng)表獲取模塊,用于對所有的所述優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表。
在本發(fā)明中,首先對高級語言程序進行高層次綜合以獲取多個行為級IP核;然后獲取每個行為級IP核的折衷曲線,折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線;再根據(jù)折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核;對對所有的優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表;因此,獲取的優(yōu)選RTL級IP核具有最佳的性能比,在保證綜合性能的同時減小了面積。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為多處理器系統(tǒng)結(jié)構(gòu)示意圖;
圖2本發(fā)明實施例一提供的生成RTL級IP核方法的實現(xiàn)流程圖;
圖3為本發(fā)明實施例二提供的生成RTL級IP核裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例二提供的生成RTL級IP核裝置折衷曲線獲取模塊的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例二提供的生成RTL級IP核裝置優(yōu)選RTL級IP核獲取模塊的一種結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例二提供的生成RTL級IP核裝置優(yōu)選RTL級IP核獲取模塊的另一種結(jié)構(gòu)示意圖;
圖7為行為級IP核的折衷曲線示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。
實施例一:
圖2示出了本實施例提供的生成RTL級IP核方法的實現(xiàn)流程,為了便于說明,僅示出了與本實施例相關(guān)的部分,詳述如下:
在步驟201中,對高級語言程序進行高層次綜合以獲取多個行為級IP核。
在步驟202中,獲取每個行為級IP核的折衷曲線,折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線。其中,任務(wù)量為延時的導數(shù)。
具體實施中,步驟202可以分為以下3個子步驟:
A.配置多個限制文件。其中,配置多個限制文件的子步驟具體為:按照每次減低預設(shè)百分比的功能器件限制數(shù)配置多個限制文件。具體實施中,預設(shè)百分比可以為10%。
B.根據(jù)多個限制文件對行為級IP核進行RTL級綜合以獲取多個RTL級IP核。
C.根據(jù)多個RTL級IP核的面積與任務(wù)量生成折衷曲線。
在步驟203中,根據(jù)折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核。
具體實施中,步驟203可以分為以下3個子步驟:
A1.計算折衷曲線的每個拐點的角度,每個拐點對應(yīng)一個RTL級IP核。
B1.根據(jù)每個拐點的角度獲取最小角度。
C1.將最小角度對應(yīng)的RTL級IP核設(shè)定為優(yōu)選RTL級IP核。
具體實施中,步驟203可以分為以下3個子步驟:
A2.獲取折衷曲線中的每個線段與X軸的夾角。
B2.根據(jù)所述夾角獲取最大夾角。
C2.獲取最大夾角對應(yīng)的線段下方的端點。
D2.將所述端點對應(yīng)的RTL級IP核設(shè)定為優(yōu)選RTL級IP核。
在步驟204中,對所有的優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表。
本實施例通過首先對高級語言程序進行高層次綜合以獲取多個行為級IP核;然后獲取每個行為級IP核的折衷曲線,折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線;再根據(jù)折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核;對對所有的優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表;因此,獲取的優(yōu)選RTL級IP核具有最佳的性能比,在保證綜合性能的同時減小了面積。
實施例二:
本發(fā)明實施例二提供了一種生成RTL級IP核裝置,如圖3所示,一種生成RTL級IP核裝置30包括行為級IP核獲取模塊310、折衷曲線獲取模塊320、優(yōu)選RTL級IP核獲取模塊330以及數(shù)據(jù)結(jié)構(gòu)網(wǎng)表獲取模塊340。
行為級IP核獲取模塊310,用于對高級語言程序進行高層次綜合以獲取多個行為級IP核。
折衷曲線獲取模塊320,用于獲取每個行為級IP核的折衷曲線,折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線。
優(yōu)選RTL級IP核獲取模塊330,用于根據(jù)折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核。
數(shù)據(jù)結(jié)構(gòu)網(wǎng)表獲取模塊340,用于對所有的優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表。
其中,如圖4所示,折衷曲線獲取模塊320包括配置單元321、RTL級IP核獲取單元322以及折衷曲線生成單元323。
配置單元321,用于配置多個限制文件。其中,配置單元配置多個限制文件 的過程具體為:按照每次減低預設(shè)百分比的功能器件限制數(shù)配置多個限制文件。具體實施中,預設(shè)百分比可以為10%。
RTL級IP核獲取單元322,用于根據(jù)多個限制文件對行為級IP核進行RTL級綜合以獲取多個RTL級IP核。
折衷曲線生成單元323,用于根據(jù)多個RTL級IP核的面積與任務(wù)量生成折衷曲線。
其中,如圖5所示,優(yōu)選RTL級IP核獲取模塊330包括計算單元331、最小角度獲取單元332以及優(yōu)選RTL級IP核設(shè)定單元333。
計算單元331,用于計算折衷曲線的每個拐點的角度,每個拐點對應(yīng)一個RTL級IP核。
最小角度獲取單元332,用于根據(jù)每個拐點的角度獲取最小角度。
優(yōu)選RTL級IP核設(shè)定單元333,用于將最小角度對應(yīng)的RTL級IP核設(shè)定為優(yōu)選RTL級IP核。
其中,如圖6所示,優(yōu)選RTL級IP核獲取模塊330包括夾角獲取單元334、最大夾角獲取單元335、端點獲取單元336以及優(yōu)選IP核設(shè)定單元337。
夾角獲取單元334,用于獲取折衷曲線中的每個線段與X軸的夾角。
最大夾角獲取單元335,用于根據(jù)所述夾角獲取最大夾角。
端點獲取單元336,用于獲取最大夾角對應(yīng)的線段下方的端點。
優(yōu)選IP核設(shè)定單元337,用于將所述端點對應(yīng)的RTL級IP核設(shè)定為優(yōu)選RTL級IP核。
例如,如圖7所示,對高級語言程序進行高層次綜合后,獲取到4個行為級IP核,獲取每個行為級IP核的折衷曲線(曲線a、曲線b、曲線c和曲線d),計算每個折衷曲線的每個拐點的角度,根據(jù)每個拐點的角度獲取最小角度,將最小角度對應(yīng)的RTL級IP核(A點、B點、C點和D點所對應(yīng)的RTL級IP核)設(shè)定為優(yōu)選RTL級IP核,對所有的優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表。
綜上所述,本實施例通過首先對高級語言程序進行高層次綜合以獲取多個行為級IP核;然后獲取每個行為級IP核的折衷曲線,折衷曲線為行為級IP核的面積與任務(wù)量關(guān)系曲線;再根據(jù)折衷曲線獲取每個行為級IP核對應(yīng)的優(yōu)選RTL級IP核;對對所有的優(yōu)選RTL級IP核進行物理綜合以獲取數(shù)據(jù)結(jié)構(gòu)網(wǎng)表; 因此,獲取的優(yōu)選RTL級IP核具有最佳的性能比,在保證綜合性能的同時減小了面積。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是掉電不丟失的可讀寫存儲器,磁盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。