專利名稱:集成電路設(shè)計的驗證方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及半導(dǎo)體設(shè)計領(lǐng)域,尤指對大規(guī)模集成電路(Integrated Circuit, IC )設(shè)計進(jìn)行FPGA原型驗證時,對IC設(shè)計的代碼文件實現(xiàn)自動分割驗證的 方法及裝置。
背景技術(shù):
現(xiàn)場可編程門陣列(Field Programmable Gate Array, FPGA)原型驗證廣 泛應(yīng)用于IC設(shè)計的原型驗證過程中。 一方面FPGA原型驗證的驗證速度比較 快,其頻率通常能達(dá)到幾十MHz,而普通的SIMULATION頻率只能達(dá)到幾十 kHz。另一方面FPGA原型驗證可以實現(xiàn)軟件編寫和芯片設(shè)計的協(xié)同開發(fā),在 IC設(shè)計的-驗-〖正結(jié)束的同時,軟件編寫也幾乎可以同時完成,有效減少了芯片開 發(fā)的時間。因此,F(xiàn)PGA原型驗證在IC設(shè)計中是至關(guān)重要、必不可少的。目前,F(xiàn)PGA 原型驗證仍在大部分IC設(shè)計中用作判定代碼能否凍結(jié)的最終判據(jù)。隨著IC設(shè)計規(guī)模的不斷增大,單片F(xiàn)PGA的容量已經(jīng)不能滿足IC設(shè)計原 型驗證的需求,必須使用2片或4片,甚至多片的FPGA來實現(xiàn)IC設(shè)計的原 型驗證。這樣就需要將一個IC設(shè)計的代碼文件分割到多片F(xiàn)PGA中?,F(xiàn)有技術(shù)中還沒有一種針對具體情況,簡單、低成本地實現(xiàn)對IC設(shè)計的 代碼文件分割,以達(dá)到使用多片F(xiàn)PGA來實現(xiàn)IC設(shè)計的原型驗證的方法。發(fā)明內(nèi)容本發(fā)明實施例提供一種集成電路設(shè)計的驗證方法及裝置,簡單實現(xiàn)使用多 片F(xiàn)PGA對IC設(shè)計進(jìn)行原型驗證。一種集成電路設(shè)計的驗證方法,所述集成電路IC設(shè)計的代碼文件包括 頂層代碼文件、引腳代碼文件、引腳控制代碼文件和集成電路核心實體代碼文 件,所述IC設(shè)計的代碼文件所描述的IC設(shè)計中包括引腳模塊、引腳控制模 塊以及集成電路核心實體模塊,該方法包括確定出所述集成電路核心實體模塊中在所述引腳控制模塊處不耦合的各 子模塊;將所述各子模塊分成至少兩個子模塊組;根據(jù)所述子模塊組,對所述集成電路核心實體代碼文件、所述引腳控制代 碼文件、所述引腳代碼文件和所述頂層代碼文件進(jìn)行分割;將與同 一個所述子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件、分 割后的引腳控制代碼文件、分割后的引腳代碼文件和分割后的頂層代碼文件存 入同一片現(xiàn)場可編程門陣列FPGA中對IC設(shè)計進(jìn)行-驗證。根據(jù)本發(fā)明的上述方法,所述確定出所述集成電路核心實體模塊中在所述 引腳控制模塊處不耦合的各子模塊,具體包括對所述IC設(shè)計的代碼文件進(jìn)行解析,解析出所述IC設(shè)計的代碼文件所描 述的IC設(shè)計中各模塊以及各模塊所包含的各子模塊之間的物理連接關(guān)系;根據(jù)所述物理連接關(guān)系確定出所述集成電路核心實體模塊中在所述引腳 控制模塊處不耦合的各子模塊。根據(jù)本發(fā)明的上述方法,所述根據(jù)所述子模塊組,對所述集成電路核心實 體代碼文件、所述引腳控制代碼文件、所述引腳代碼文件和所述頂層代碼文件 進(jìn)行分割,具體包括根據(jù)所述子^f莫塊組,對所述集成電路核心實體代碼文件進(jìn)行分割,生成與 各子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件,每個所述分割后的集 成電路核心實體代碼文件中包含從所述集成電路核心實體代碼文件中解析并 分割出來的、描述一個子模塊組中各子模塊的傳輸信號描述代碼段和新添加的 所述一個子模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描 述代碼段;以及根據(jù)所述子模塊組,對所述引腳控制代碼文件進(jìn)行分割,生成與各子模塊 組對應(yīng)的分割后的引腳控制代碼文件,每個所述分割后的引腳控制代碼文件中 包含從所述引腳控制代碼文件中解析并分割出來的、描述與一個子模塊組中各 子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;以及根據(jù)所述子模塊組,對所述引腳代碼文件進(jìn)行分割,生成與各子模塊組對 應(yīng)的分割后的引腳代碼文件,每個所述分割后的引腳代碼文件中包含從所述引 腳代碼文件中解析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;以及根據(jù)所述子^^莫塊組,對所述頂層代碼文件進(jìn)行分割,生成與各子模塊組對 應(yīng)的分割后的頂層代碼文件,每個所述分割后的頂層代碼文件中包含從所述頂 層代碼文件中解析并分割出來的一個子模塊組對應(yīng)的分割后的集成電路核心 實體代碼文件的例化代碼、分割后的引腳控制代碼文件的例化代碼和分割后的 引腳代碼文件的例化代碼,以及新添加的所述一個子模塊組中各子模塊與其他 子模塊組中各子模塊之間的傳輸信號描述代碼段。本發(fā)明的上述方法,還包括根據(jù)所述分割后的頂層代碼文件生成新的頂層代碼文件,所述新的頂層代 碼文件中包含每一個所述分割后的頂層代碼文件的例化代碼,所述例化代碼中 包含所述分割后的頂層代碼文件對應(yīng)的子模塊組中各子模塊與其他子模塊組 中各子模塊之間的傳輸信號描述代碼段。本發(fā)明的上述方法,還包括根據(jù)所述IC設(shè)計的代碼文件的大小和所述FPGA的容量,以及所述集成 電路核心實體模塊中能夠劃分出來的所述子模塊組的數(shù)量,確定對所述IC設(shè) 計的代碼文件進(jìn)行驗證時劃分的所述子模塊組的數(shù)量。一種集成電路設(shè)計驗證裝置,所述集成電路IC設(shè)計的代碼文件包括頂 層代碼文件、引腳代碼文件、引腳控制代碼文件和集成電路核心實體代碼文件, 所述IC設(shè)計的代碼文件所描述的IC設(shè)計中包括引腳模塊、引腳控制模塊以及集成電路核心實體模塊,該裝置包括分組模塊、文件分割模塊和驗證模塊; 所述分組模塊,用于確定出所述集成電路核心實體模塊中在所述引腳控制模塊處不耦合的各子模塊;將所述各子模塊分成至少兩個子模塊組;所述文件分割才莫塊,根據(jù)所述子模塊組,對所述集成電路核心實體代碼文件、所述引腳控制代碼文件、所述引腳代碼文件和所述頂層代碼文件進(jìn)行分割; 所述驗證模塊,用于將與同 一個所述子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件、分割后的引腳控制代碼文件、分割后的引腳代碼文件和分割后的頂層代碼文件裝入同一片現(xiàn)場可編程門陣列FPGA中對所述IC設(shè)計進(jìn)行驗證。根據(jù)本發(fā)明的上述裝置,所述分組模塊,包括解析單元、確定單元和分 組單元;所述解析單元,用于對所述IC設(shè)計的代碼文件進(jìn)行解析,解析出所述IC 設(shè)計的代碼文件所描述的IC設(shè)計中各模塊以及各模塊所包含的各子模塊之間 的物理連接關(guān)系;所述確定單元,用于根據(jù)所述物理連接關(guān)系確定出所述集成電路核心實體 模塊中在所述? I腳控制模塊處不耦合的各子模塊;所述分組單元,用于根據(jù)所述確定單元確定出的所述集成電路核心實體模 塊中在所述引腳控制模塊處不耦合的各子模塊,將所述各子模塊分成至少兩個 子模塊組。根據(jù)本發(fā)明的上述裝置,所述文件分割模塊,包括第一分割單元、第二 分割單元、第三分割單元和第四分割單元;所述第一分割單元,用于根據(jù)所述子模塊組,對所述集成電路核心實體代 碼文件進(jìn)行分割,生成與各子模塊組對應(yīng)的分割后的集成電路核心實體代碼文 件,每個所述分割后的集成電路核心實體代碼文件中包含從所述集成電路核心 實體代碼文件中解析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號 描述代碼段和新添加的所述一個子模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描述代碼段;所述第二分割單元,用于根據(jù)所述子模塊組,對所述引腳控制代碼文件進(jìn) 行分割,生成與各子模塊組對應(yīng)的分割后的引腳控制代碼文件,每個所述分割 后的引腳控制代碼文件中包含從所述引腳控制代碼文件中解析并分割出來的、 描述與一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;所述第三分割單元,用于根據(jù)所述子模塊組,對所述引腳代碼文件進(jìn)行分 割,生成與各子模塊組對應(yīng)的分割后的引腳代碼文件,每個所述分割后的引腳 代碼文件中包含從所述引腳代碼文件中解析并分割出來的、描述與一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;所述第四分割單元,用于根據(jù)所述子模塊組,對所述頂層代碼文件進(jìn)行分 割,生成與各子模塊組對應(yīng)的分割后的頂層代碼文件,每個所述分割后的頂層 代碼文件中包含從所述頂層代碼文件中解析并分割出來的一個子模塊組對應(yīng) 的分割后的集成電路核心實體代碼文件的例化代碼、分割后的引腳控制代碼文 件的例化代碼和分割后的引腳代碼文件的例化代碼,以及新添加的所述一個子 模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描述代碼段。本發(fā)明的上述裝置,還包括文件生成才莫塊,用于根據(jù)所述分割后的頂層代碼文件生成新的頂層代碼文 件,新的頂層代碼文件中包含每一個所述分割后的頂層代碼文件的例化代碼,與其他子模塊組中各子模塊之間的傳輸信號描述代碼段。 本發(fā)明的上述裝置,還包括數(shù)量確定模塊,用于根據(jù)所述IC設(shè)計的代碼文件的大小和所述FPGA的 容量,以及所述集成電路核心實體模塊中能夠劃分出來的所述子模塊組的數(shù) 量,確定對所述IC設(shè)計的代碼文件進(jìn)行驗證時劃分的所述子模塊組的數(shù)量。本發(fā)明實施例提供的集成電路IC設(shè)計的驗證方法及裝置,通過確定出集成電路核心實體模塊中在引腳控制模塊處不耦合的各子模塊;將所述各子模塊分成至少兩個子模塊組;根據(jù)所述子模塊組,對IC設(shè)計的代碼文件中包含的 集成電路核心實體代碼文件、引腳控制代碼文件、引腳代碼文件和頂層代碼文 件進(jìn)行分割;將與同 一個子模塊組對應(yīng)的分割后的集成電路核心實體代碼文 件、分割后的引腳控制代碼文件、分割后的引腳代碼文件和分割后的頂層代碼 文件存入同一片現(xiàn)場可編程門陣列FPGA中對IC設(shè)計進(jìn)行驗證。采用本發(fā)明 明方法及裝置,使用軟件程序(例如使用TCL腳本),即可自動完成將大于單 片F(xiàn)PGA容量的大規(guī)模集成電路IC設(shè)計分割到多片F(xiàn)PGA中進(jìn)行聯(lián)合測試這 一過程,且實現(xiàn)簡單、成本低。
圖1為本發(fā)明實施例中IC設(shè)計-驗證方法的流程圖;圖2為本發(fā)明實施例中IC設(shè)計頂層代碼文件的代碼內(nèi)容圖;圖3為本發(fā)明實施例中集成電路核心實體代碼文件的代碼內(nèi)容圖;圖4為本發(fā)明實施例中代碼文件解析出的IC設(shè)計的物理連接關(guān)系示意圖;圖5為本發(fā)明實施例中IC設(shè)計中的各子模塊進(jìn)行分組的示意圖;圖6為本發(fā)明實施例中分割后的第一核心實體代碼文件的代碼內(nèi)容圖;圖7為本發(fā)明實施例中分割后的第 一頂層代碼文件的代碼內(nèi)容圖;圖8為本發(fā)明實施例中分割后的第二核心實體代碼文件的代碼內(nèi)容圖;圖9為本發(fā)明實施例中分割后的第二頂層代碼文件的代碼內(nèi)容圖;圖10為本發(fā)明實施例中新生成的頂層代碼文件TOP的代碼內(nèi)容圖;圖11為本發(fā)明實施例中IC設(shè)計驗證裝置的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例提供的集成電路IC設(shè)計的驗證方法,將大于單片F(xiàn)PGA容 量的大規(guī)模集成電路IC設(shè)計分割到多片F(xiàn)PGA中進(jìn)行聯(lián)合測試,其流程圖如圖1所示,執(zhí)行步驟如下步驟S101:對IC設(shè)計的代碼文件進(jìn)行解析。通過對IC設(shè)計的代碼文件進(jìn)行解析,根據(jù)代碼文件中所描述的該IC設(shè)計 中各模塊以及各模塊所包含的各子模塊之間的信號交互關(guān)系,確定出該IC設(shè) 計中各模塊以及各模塊所包含的各子模塊之間的物理連接關(guān)系。其中,IC設(shè)計的代碼文件一般包括頂層代碼文件、引腳代碼文件、引腳 控制代碼文件和集成電路核心實體代碼文件;所描述的集成電路一般包括引腳 模塊、引腳控制模塊和集成電路核心實體模塊。例如如圖2所示的IC設(shè)計頂層(TOP)的代碼文件中所描述的該IC設(shè) 計中各模塊以及各模塊所包含的各子模塊之間的信號交互關(guān)系,可以確定出該IC設(shè)計中包括引腳(PAD)模塊,引腳控制(PADC)模塊和集成電路核心 實體(ASICBODY)模塊等三個模塊。其中,引腳模塊,包括IC所需要的所有輸入/輸出數(shù)據(jù)緩沖器(Input/Output Buffer, 10 BUFFER )。引腳控制模塊,用于控制生成引腳模塊所需要的輸出數(shù)據(jù)控制信號和輸入 /輸出數(shù)據(jù)信號,它是集成電路核心實體模塊與引腳模塊之間的接口模塊。集成電路核心實體模塊是整個系統(tǒng)的功能模塊,其相應(yīng)的代碼內(nèi)容可以如 圖3所示,圖3所示的代碼所描述的IC設(shè)計中的集成電路核心實體模塊可以 包括,例如MA, MB, MC, MD四個功能子模塊。對圖2所示的頂層代碼文件和圖3所示的集成電路核心實體ASICBODY 代碼文件的內(nèi)容進(jìn)行解析,其中,各代碼具體含義如下描述引腳模塊的相關(guān)代碼PAD一MA, PAD一MB, PAD_MC和PAD_MD, 分別表示MA, MB, MC和MD子模塊需要的引腳PAD;PAD—MA—I, PAD—MB—I, PAD—MC—I和PAD—MD—I,分別表示PAD—MA, PAD_MB, PAD—MC和PAD一MD的輸出數(shù)據(jù)信號;PAD MA C , PAD MB C , PAD MC C和PAD MD C ,分別表示PAD_MA, PAD一MB, PAD一MC和PAD—MD的輸入數(shù)據(jù)信號;PAD—MA—OEN, PAD—MB—OEN, PAD—MC—QEN和PAD—MD—OEN,分別表示PAD一MA, PAD—MB, PAD—MC和PAD_MD的輸出數(shù)據(jù)控制信號。 描述引腳控制模塊的代碼PADC—MA—S, PADC—MB—S, PADC—MC—S和PADC一MD—S,分別表示PADC模塊與MA, MB, MC和MD之間的傳輸信號。其余類似格式的代碼,含義可以依此類推。圖3中所示的集成電路核心實體ASICBODY代碼文件的具體內(nèi)容。其中, PADC—MA—S, PADC—MB—S, PADC—MC—S和PADC—MD—S,分別表示PADC模塊到MA, MB, MC和MD子模塊的傳輸信號;MA—PADC—S, MB—PADC—S, MC—PADC—S和MD—PADC—S,分別表示MA, MB, MC和MD子模塊到PADC模塊的傳輸信號。類似的,MA/B/C/D—MA/B/C/D—S,表示MA、 MB、 MC、 MD子模塊之間的傳輸信號;才艮據(jù)上述解析出的、各代碼文件所描述的IC設(shè)計中各模塊以及各模塊所 包含的各子模塊之間的信號交互關(guān)系,可以得到引腳模塊,引腳控制模塊和集 成電路核心實體模塊及其他們所包含的子模塊之間的物理連接關(guān)系。解析得到 IC設(shè)計的物理連接關(guān)系如圖4所示。集成電路核心實體模塊中的MA子模塊與引腳控制模塊之間有信號交互; 引腳控制模塊中與MA子模塊相關(guān)聯(lián)的信號,可以統(tǒng)稱為PADC一A; MA子模 塊通過引腳控制模塊與引腳模塊之間有輸出數(shù)據(jù)信號(1)、輸出數(shù)據(jù)控制信號 (OEN)和輸入數(shù)據(jù)信號(C)等信號傳輸,引腳模塊中MA子模塊相關(guān)聯(lián)的 信號,可以統(tǒng)稱為PAD一A。MB子模塊、MC子模塊和MD子模塊,與引腳控制模塊之間有信號交互 以及通過引腳控制模塊與引腳模塊之間的輸出數(shù)據(jù)信號(1)、輸出數(shù)據(jù)控制信 號(OEN)和輸入數(shù)據(jù)信號(C)等信號傳輸,與上述MA子模塊的信號傳輸 情況類似。集成電路核心實體模塊中的MA子模塊、MB子模塊、MC子模塊和MD 子模塊之間也有信號交互。步驟S102:根據(jù)上述解析出的物理連接關(guān)系,確定出集成電路核心實體模 塊中在引腳控制模塊處不耦合的各子模塊,將各子模塊分成至少兩個子模塊 組。確定出集成電路核心實體模塊中在引腳控制模塊處不耦合的各子模塊,以 使得分割到不同子模塊組中的子模塊在PADC模塊處不相互耦合,這是通過軟 件程序,例如TCL腳本實現(xiàn)對代碼文件自動分割所必須具備的兩個前提條件 之一》通過TCL腳本實現(xiàn)對代碼文件自動分割所必須具備第二個前提條件是 所使用的至少兩個FPGA,其任意兩者之間的連線數(shù)目大于分割后各子模塊組 之間的傳輸信號數(shù)目。通常的FPGA互連線數(shù)量大概在500條左右,根據(jù)分割后的各子模塊組分 割代碼文件后,將分割后的各個代碼文件分裝到不同的FPGA中,不同F(xiàn)PGA 中交互的子模塊之間的傳輸信號的數(shù)量通常要遠(yuǎn)小于上述互連線的數(shù)量。因此 這個條件一般都能夠得到滿足。在實際操作過程中,首先要確定需要將原來的一個代碼文件分割成幾個代碼文件,具體可以根據(jù)IC設(shè)計代碼文件的大小、FPGA的容量以及所述集成電 路核心實體模塊中能夠劃分出來的不相耦合子模塊組的數(shù)量確定在滿足分割 到不同子模塊組中的各子模塊在引腳控制模塊處不耦合的情況下,既可以確定 恰好能容納IC設(shè)計代碼文件的FPGA的數(shù)量為需要生成的代碼文件的數(shù)量, 也可以在FPGA容量允許的范圍內(nèi)設(shè)定分割的代碼文件的數(shù)量。沿用上邊的例子,以將圖2和圖3所示的代碼文件所描述的如圖4所示的 IC設(shè)計的集成電路核心實體模塊中各子模塊劃分為兩個子模塊組為例。圖4所示的IC設(shè)計,引腳控制模塊和引腳模塊之間的、與MA子模塊相 關(guān)聯(lián)的輸入(C) /輸出(I)數(shù)據(jù)信號及輸出數(shù)據(jù)控制(OEN)信號,僅與集成電路核心實體模塊中的MA子模塊有關(guān),因此,可以認(rèn)為MA子模塊與MB、 MC、 MD子模塊在引腳控制模塊處不耦合。同理,MB子模塊與MA、 MC、 MD子模塊在引腳控制模塊處不耦合; MC子模塊與MA、 MB、 MD子模塊在引腳控制模塊處不耦合;MD子模塊與 MA、 MB、 MC子模塊在引腳控制模塊處不耦合。即MA、 MB、 MC和MD 互相之間均不耦合。因此,可以將圖4所示的IC設(shè)計集成電路核心實體模塊 的各子模塊任意兩個劃分為 一組。對圖4所示的IC設(shè)計的各子模塊進(jìn)行分組,如圖5所示,將集成電路核 心實體模塊的各子模塊進(jìn)行分組,得到兩個子模塊組,例如MA和MB子模 塊為第一子模塊組,MC和MD子模塊為第二子模塊組。需要說明的是,上述只是IC設(shè)計的一個例子,在實際應(yīng)用中就也會存在 某兩個子模塊之間有耦合的情況,例如引腳控制模塊與引腳模塊之間的、和 MA子模塊相關(guān)聯(lián)的輸入/輸出數(shù)據(jù)信號及輸出數(shù)據(jù)控制信號,不僅與集成電路 核心實體模塊中的MA子模塊有關(guān),還和MB子模塊有關(guān),則可以認(rèn)為MA子 模塊與MB子模塊在引腳控制模塊處耦合。步驟S103:根據(jù)確定出的子模塊組,對各個代碼文件進(jìn)行分割,生成分割 后的各個代碼文件。具體為根據(jù)劃分得到的子模塊組,對IC設(shè)計的集成電路核心實體代碼文件進(jìn)行 分割,生成與各子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件,每個分 割后的集成電路核心實體代碼文件中包含從集成電路核心實體代碼文件中解 析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號描述代碼段和新添 加的所述一個子模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信 號描述代碼段。根據(jù)劃分得到的子模塊組,對引腳控制代碼文件進(jìn)行分割,生成與各子模 塊組對應(yīng)的分割后的引腳控制代碼文件,每個分割后的引腳控制代碼文件中包 含從引腳控制代碼文件中解析并分割出來的、描述與一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段。根據(jù)劃分得到的子模塊組,對引腳代碼文件進(jìn)行分割,生成與各子模塊組 對應(yīng)的分割后的引腳代碼文件,每個分割后的引腳代碼文件中包含從引腳代碼 文件中解析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的 輸入/輸出/控制信號的代碼段。根據(jù)劃分得到的子模塊組,對頂層代碼文件進(jìn)行分割,生成與各子模塊組 對應(yīng)的分割后的頂層代碼文件,每個分割后的頂層代碼文件中包含從頂層代碼 文件中解析并分割出來的 一個子模塊組對應(yīng)的分割后的集成電路核心實體代 碼文件的例化代碼、分割后的引腳控制代碼文件的例化代碼和分割后的引腳代 碼文件的例化代碼,以及新添加的 一個子模塊組中各子模塊與其他子模塊組中 各子模塊之間的傳輸信號描述代碼段。然后,根據(jù)分割后的頂層代碼文件生成新的頂層代碼文件,新的頂層代碼 文件中包含每一個分割后的頂層代碼文件的例化代碼,上述例化代碼中包含所 述分割后的頂層代碼文件對應(yīng)的子模塊組中各子模塊與其他子模塊組中各子 模塊之間的傳輸信號描述代碼段。沿用上邊的例子,將各個代碼文件中描述第 一子模塊組和第二子模塊組的 代碼進(jìn)行分割,并在分割后的各個代碼文件中添加第 一子模塊組中的各子模塊 與第二子模塊組中的各子模塊之間的傳輸信號描述代碼段。具體為根據(jù)第一子模塊組,將集成電路核心實體代碼文件ASICBODY中描述MA 和MB子模塊的傳輸信號描述代碼段劃分到第一集成電路核心實體代碼文件 ASICBODY1中,并在ASICB0DY1中添加描述MA、 MB子模塊與MC、 MD 子模塊之間的傳輸信號的傳輸信號描述代碼段。第一集成電路核心實體代碼文 件ASICB0DY1的代碼內(nèi)容具體如圖6所示。根據(jù)第一子模塊組,將引腳控制代碼文件PADC中描述與MA子模塊相關(guān) 聯(lián)的輸入/輸出/控制信號的代碼段和描述與MB子模塊相關(guān)聯(lián)的輸入/輸出/控 制信號的代碼段劃分到第 一引腳控制代碼文件PADC1中。根據(jù)第一子模塊組中,將引腳代碼文件PAD中描述與MA子模塊相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段和描述與MB子模塊相關(guān)聯(lián)的輸入/輸出/控制 信號的代碼段劃分到第一引腳代碼文件PAD1中。根據(jù)第一子模塊組,將頂層代碼文件TOP中與第一子模塊組對應(yīng)的分割 后的集成電路核心實體代碼文件的例化代碼、分割后的引腳控制代碼文件的例 化代碼和分割后的引腳代碼文件的例化代碼劃分到第 一頂層代碼文件TOPI 中;并在T0P1中添加描迷第一子模塊組中各子模塊與第二子模塊組中各子模 塊之間的傳輸信號描述代碼段。第一頂層代碼文件TOPl的代碼內(nèi)容具體如圖 7所示。根據(jù)第二子模塊組,將集成電路核心實體代碼文件ASICBODY中描述MC 和MD子模塊的傳輸信號描述代碼段劃分到第二集成電路核心實體代碼文件 ASICBODY2中,并在ASICBODY2中添加描述MC、 MD子模塊與MA、 MB 子模塊之間的傳輸信號的傳輸信號描述代碼段。第二集成電路核心實體代碼文 件ASICBODY2的代碼內(nèi)容具體如圖8所示。根據(jù)第二子模塊組,將引腳控制代碼文件PADC中描述與MC子模塊相關(guān) 聯(lián)的輸入/輸出/控制信號的代碼段和描述與MD子模塊相關(guān)聯(lián)的輸入/輸出/控 制信號的代碼段劃分到第二引腳控制代碼文件PADC2中。根據(jù)第二子模塊組,將引腳代碼文件PAD中描述與MC子模塊相關(guān)聯(lián)的 輸入/輸出/控制信號的代碼段和描述與MD子模塊相關(guān)聯(lián)的輸入/輸出/控制信 號的代碼段劃分到第二引腳代碼文件PAD2中。根據(jù)第二子模塊組,將頂層代碼文件TOP中與第二子模塊組對應(yīng)的分割 后的集成電路核心實體代碼文件的例化代碼、分割后的引腳控制代碼文件的例 化代碼和分割后的引腳代碼文件的例化代碼劃分到第二頂層代碼文件TOP2 中;并在TOP2中添加描述第二子模塊組中各子模塊與第一子模塊組中各子模 塊之間的傳輸信號描述代碼段。第二頂層代碼文件TOP2的代碼內(nèi)容具體如圖 9所示。由生成的第一頂層代碼文件TOPI和第二頂層代碼文件TOP2重新組成IC 設(shè)計的頂層代碼文件TOP。新的頂層代碼文件TOP中包含分割后的頂層代碼 文件TOPI和TOP2的例化代碼。新的頂層代碼文件TOP的代碼內(nèi)容具體如圖 IO所示。步驟S104:將每一組分割后的代碼文件分別裝入一片現(xiàn)場可編程門陣列 FPGA中。其中, 一組分割后的代碼文件包括與同一個子才莫塊組對應(yīng)的分割 后的集成電路核心實體代碼文件、分割后的引腳控制代碼文件、分割后的引腳 代碼文件和分割后的頂層代碼文件。沿用上邊的例子,將分割后的頂層代碼文件TOPl、分割后的集成電路核 心實體代碼文件ASICBODYl、分割后的引腳控制代碼文件PADC1和分割后 的引腳代碼文件PAD1裝入一片F(xiàn)PGA中;將分割后的頂層代碼文件TOP2、 分割后的集成電贈4t心實體代碼文件ASICBODY2、分割后的引腳控制代碼文 件PADC2和分割后的引腳代碼文件PAD2裝入另 一片F(xiàn)PGA中。步驟S105:對IC設(shè)計進(jìn)行多FPGA聯(lián)合驗證。沿用上邊的例子,并通過生成新的頂層代碼文件TOP,建立起分割后的頂 層代碼文件TOP1和分割后的頂層代碼文件TOP2之間的信號傳輸關(guān)系,使用 兩片F(xiàn)PGA對設(shè)計TOP進(jìn)行聯(lián)合驗證。根據(jù)本發(fā)明的上述方法,可以構(gòu)建一種集成電路IC設(shè)計驗證裝置,其結(jié) 構(gòu)如圖ll所示,包括分組模塊101、文件分割模塊102和驗證模塊103。分組模塊101,用于確定出集成電路核心實體模塊中在引腳控制模塊處不 耦合的各子模塊,將IC設(shè)計的集成電路核心實體代碼文件所描述的各子模塊 分成至少兩個子;f莫塊組。較佳的,分組模塊101進(jìn)一步可以包括解析單元1011、確定單元1012 和分組單元1013;解析單元1011,用于對IC設(shè)計的代碼文件進(jìn)行解析,解析出IC設(shè)計的代 碼文件所描述的IC設(shè)計中各模塊以及各模塊所包含的各子模塊之間的物理連接關(guān)系。確定單元1012,用于根據(jù)解析單元1011解析出的物理連接關(guān)系確定出所 述集成電路核心實體模塊中在所述引腳控制模塊處不耦合的各子模塊。分組單元1013,用于根據(jù)確定單元1012確定出的集成電路核心實體模塊 中在引腳控制模塊處不耦合的各子模塊,將IC設(shè)計的集成電路核心實體代碼 文件所描述的各子模塊分成至少兩個子模塊組。文件分割模塊102,用于根據(jù)分組模塊101劃分的子模塊組,對集成電路 核心實體代碼文件、引腳控制代碼文件、引腳代碼文件和頂層代碼文件進(jìn)行分 割。較佳的,文件分割模塊進(jìn)一步可以包括第一分割單元1021、第二分割單 元1022、第三分割單元1023和第四分割單元1024。第一分割單元1021,用于根據(jù)分組模塊101劃分的子模塊組,對集成電路 核心實體代碼文件進(jìn)行分割,生成與各子模塊組對應(yīng)的分割后的集成電路核心 實體代碼文件,每個分割后的集成電路核心實體代碼文件中包含從集成電路核 心實體代碼文件中解析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號描述代碼段和新添加的所述一個子模塊組中各子模塊與其他子模塊組中各 子模塊之間的傳輸信號描述代碼段;第二分割單元1022,用于根據(jù)分組模塊101劃分的子模塊組,對引腳控制 代碼文件進(jìn)行分割,生成與各子模塊組對應(yīng)的分割后的引腳控制代碼文件,每 個所述分割后的引腳控制代碼文件中包含從所述引腳控制代碼文件中解析并 分割出來的、描述與一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/ 控制信號的代碼段;第三分割單元1023,用于根據(jù)分組模塊101劃分的子模塊組,對引腳代碼 文件進(jìn)行分割,生成與各子模塊組對應(yīng)的分割后的引腳代碼文件,每個分割后 的引腳代碼文件中包含從引腳代碼文件中解析并分割出來的、描述與一個子模 塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;第四分割單元1024,用于根據(jù)分組模塊101劃分的子模塊組,對頂層代碼 文件進(jìn)行分割,生成與各子才莫塊組對應(yīng)的分割后的頂層代碼文件,每個分割后 的頂層代碼文件中包含從頂層代碼文件中解析并分割出來的一個子模塊組對 應(yīng)的分割后的集成電路核心實體代碼文件的例化代碼、分割后的引腳控制代碼 文件的例化代碼和分割后的引腳代碼文件的例化代碼,以及新添加的 一個子模 塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描述代碼段。驗證模塊103,用于將與同一個子模塊組對應(yīng)的分割后的集成電路核心實 體代碼文件、分割后的引腳控制代碼文件、分割后的引腳代碼文件和分割后的 頂層代碼文件裝入同一片現(xiàn)場可編程門陣列FPGA中對該IC設(shè)計進(jìn)行^S正。上述集成電路IC設(shè)計驗證裝置,還包括文件生成模塊104,用于根據(jù)分 割后的頂層代碼文件生成新的頂層代碼文件,新的頂層代碼文件中包含每一個 所述分割后的頂層代碼文件的例化代碼,所述例化代碼中包含所述分割后的頂 層代碼文件對應(yīng)的子模塊組中各子模塊與其他子模塊組中各子模塊之間的傳 輸信號描述代碼段。上述集成電路IC設(shè)計驗證裝置,還包括數(shù)量確定模塊105,用于根據(jù) IC設(shè)計的代碼文件的大小和單片F(xiàn)PGA的容量,以及集成電路核心實體模塊中 能夠劃分出來的不相耦合子模塊組的數(shù)量,確定對IC設(shè)計的代碼文件進(jìn)行聯(lián) 合驗證時,需要劃分的所述子模塊組的數(shù)量。本發(fā)明實施例提供的集成電路IC設(shè)計的驗證方法及裝置,通過TCL腳本 對IC設(shè)計的各個代碼文件進(jìn)行解析,自動獲取各個代碼文件中所描述的IC設(shè) 計中各模塊以及各模塊所包含的各子模塊之間的信號交互關(guān)系,確定出該IC 設(shè)計中各模塊以及各模塊所包含的各子模塊之間的物理連接關(guān)系??梢愿鶕?jù)各個代碼文件的描述,確定出集成電路核心實體模塊中在引腳控 制模塊處不耦合的各子模塊,將各子模塊分成至少兩個子模塊組,根據(jù)劃分后 的子模塊組對代碼文件進(jìn)行分割,生成分割后的代碼文件;且保證分割后的集 成電路核心實體代碼文件所描述的各子模塊在在引腳控制模塊處不耦合的;在對一個代碼文件進(jìn)行分割、生成新的代碼文件時,可以自動生成其所描述的各 子模塊與其他新生成的代碼文件所描述的子模塊之間需要添加的接傳輸信號描述代碼段,保證分割后的IC設(shè)計的各個代碼文件能夠?qū)崿F(xiàn)與分割前的IC設(shè) 計的各個代碼文件相同功能。將與同一個子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件、分割后 的? 1腳控制代碼文件、分割后的引腳代碼文件和分割后的頂層代碼文件裝入同一片現(xiàn)場可編程門陣列FPGA中,對IC設(shè)計進(jìn)行多FPGA聯(lián)合驗證,實現(xiàn)了 對大于單片F(xiàn)PGA容量的大規(guī)模集成電路IC設(shè)計的原型驗證。上述IC設(shè)計的代碼文件分割和原型驗證過程僅通過TC1腳本即可自動完 成,操作簡單、成本低。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護(hù)范圍并不局 限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易 想到的變化、替換或應(yīng)用到其他類似的裝置,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之 內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1、一種集成電路設(shè)計驗證方法,所述集成電路IC設(shè)計的代碼文件包括頂層代碼文件、引腳代碼文件、引腳控制代碼文件和集成電路核心實體代碼文件,所述IC設(shè)計的代碼文件所描述的IC設(shè)計中包括引腳模塊、引腳控制模塊以及集成電路核心實體模塊,其特征在于,該方法包括確定出所述集成電路核心實體模塊中在所述引腳控制模塊處不耦合的各子模塊;將所述各子模塊分成至少兩個子模塊組;根據(jù)所述子模塊組,對所述集成電路核心實體代碼文件、所述引腳控制代碼文件、所述引腳代碼文件和所述頂層代碼文件進(jìn)行分割;將與同一個所述子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件、分割后的引腳控制代碼文件、分割后的引腳代碼文件和分割后的頂層代碼文件存入同一片現(xiàn)場可編程門陣列FPGA中對IC設(shè)計進(jìn)行驗證。
2、 如權(quán)利要求1所述的方法,其特征在于,所述確定出所述集成電路核 心實體模塊中在所述引腳控制模塊處不耦合的各子模塊,具體包括對所述IC設(shè)計的代碼文件進(jìn)行解析,解析出所述IC設(shè)計的代碼文件所描 述的IC設(shè)計中各模塊以及各模塊所包含的各子模塊之間的物理連接關(guān)系;根據(jù)所述物理連接關(guān)系確定出所述集成電路核心實體模塊中在所述引腳 控制模塊處不耦合的各子模塊。
3、 如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述子模塊組,對 所述集成電路核心實體代碼文件、所述引腳控制代碼文件、所述引腳代碼文件 和所述頂層代碼文件進(jìn)行分割,具體包括根據(jù)所述子模塊組,對所述集成電路核心實體代碼文件進(jìn)行分割,生成與 各子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件,每個所述分割后的集 成電路核心實體代碼文件中包含從所述集成電路核心實體代碼文件中解析并 分割出來的、描述一個子模塊組中各子模塊的傳輸信號描述代碼段和新添加的所述一個子模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描述代碼段;以及才艮據(jù)所述子模塊組,對所述引腳控制代碼文件進(jìn)行分割,生成與各子模塊 組對應(yīng)的分割后的引腳控制代碼文件,每個所述分割后的引腳控制代碼文件中 包含從所述引腳控制代碼文件中解析并分割出來的、描述與一個子模塊組中各 子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;以及根據(jù)所述子模塊組,對所述引腳代碼文件進(jìn)行分割,生成與各子模塊組對 應(yīng)的分割后的引腳代碼文件,每個所述分割后的引腳代碼文件中包含從所述51 腳代碼文件中解析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號相 關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;以及根據(jù)所述子模塊組,對所述頂層代碼文件進(jìn)行分割,生成與各子模塊組對 應(yīng)的分割后的頂層代碼文件,每個所述分割后的頂層代碼文件中包含從所述頂 層代碼文件中解析并分割出來的一個子模塊組對應(yīng)的分割后的集成電路核心 實體代碼文件的例化代碼、分割后的引腳控制代碼文件的例化代碼和分割后的 虧1腳代碼文件的例化代碼,以及新添加的所述一個子模塊組中各子模塊與其他 子模塊組中各子模塊之間的傳輸信號描述代碼段。
4、 如權(quán)利要求l所述的方法,其特征在于,還包括根據(jù)所述分割后的頂層代碼文件生成新的頂層代碼文件,所述新的頂層代 碼文件中包含每一個所述分割后的頂層代碼文件的例化代碼,所述例化代碼中 包含所述分割后的頂層代碼文件對應(yīng)的子模塊組中各子模塊與其他子模塊組 中各子模塊之間的傳輸信號描述代碼段。
5、 如權(quán)利要求l-4任一所述的方法,其特征在于,還包括根據(jù)所述IC設(shè)計的代碼文件的大小和所述FPGA的容量,以及所述集成 電路核心實體模塊中能夠劃分出來的所述子模塊組的數(shù)量,確定對所述IC設(shè) 計的代碼文件進(jìn)行驗證時劃分的所述子模塊組的數(shù)量。
6、 一種集成電路設(shè)計驗證裝置,所述集成電路IC設(shè)計的代碼文件包括頂層代碼文件、引腳代碼文件、引腳控制代碼文件和集成電路核心實體代碼文件,所述IC設(shè)計的代碼文件所描述的IC設(shè)計中包括引腳模塊、引腳控制模 塊以及集成電路核心實體模塊,其特征在于,該裝置包括分組模塊、文件分 割模塊和驗證模塊;所述分組模塊,用于確定出所述集成電路核心實體模塊中在所述引腳控制 模塊處不耦合的各子模塊;將所述各子模塊分成至少兩個子模塊組;所述文件分割模塊,根據(jù)所述子模塊組,對所述集成電路核心實體代碼文 件、所述引腳控制代碼文件、所述引腳代碼文件和所述頂層代碼文件進(jìn)行分割;所述驗證模塊,用于將與同一個所述子模塊組對應(yīng)的分割后的集成電路核 心實體代碼文件、分割后的引腳控制代碼文件、分割后的引腳代碼文件和分割 后的頂層代碼文件裝入同一片現(xiàn)場可編程門陣列FPGA中對所述IC設(shè)計進(jìn)行 驗證。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述分組模塊,包括解析 單元、確定單元和分組單元;所述解析單元,用于對所述IC設(shè)計的代碼文件進(jìn)行解析,解析出所述IC 設(shè)計的代碼文件所描述的IC設(shè)計中各模塊以及各模塊所包含的各子模塊之間 的物理連接關(guān)系;所述確定單元,用于根據(jù)所述物理連接關(guān)系確定出所述集成電路核心實體 模塊中在所述引腳控制模塊處不耦合的各子模塊;所述分組單元,用于根據(jù)所述確定單元確定出的所述集成電路核心實體模 塊中在所述引腳控制模塊處不耦合的各子模塊,將所述各子模塊分成至少兩個 子模塊組。
8、 如權(quán)利要求7所述的裝置,其特征在于,所述文件分割模塊,包括 第一分割單元、第二分割單元、第三分割單元和第四分割單元;所述第一分割單元,用于根據(jù)所述子模塊組,對所述集成電路核心實體代 碼文件進(jìn)行分割,生成與各子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件,每個所述分割后的集成電路核心實體代碼文件中包含從所述集成電路核心 實體代碼文件中解析并分割出來的、描述一個子模塊組中各子模塊的傳輸信號 描述代碼段和新添加的所述一個子模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描述代碼段;所述第二分割單元,用于根據(jù)所述子模塊組,對所述引腳控制代碼文件進(jìn) 行分割,生成與各子模塊組對應(yīng)的分割后的引腳控制代碼文件,每個所述分割 后的引腳控制代碼文件中包含從所述引腳控制代碼文件中解析并分割出來的、 描述與 一個子模塊組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代 碼段;所述第三分割單元,用于根據(jù)所述子模塊組,對所述引腳代碼文件進(jìn)行分 割,生成與各子模塊組對應(yīng)的分割后的引腳代碼文件,每個所述分割后的引腳 代碼文件中包含從所述引腳代碼文件中解析并分割出來的、描述與一個子模塊 組中各子模塊的傳輸信號相關(guān)聯(lián)的輸入/輸出/控制信號的代碼段;所述第四分割單元,用于根據(jù)所述子模塊組,對所述頂層代碼文件進(jìn)行分 割,生成與各子模塊組對應(yīng)的分割后的頂層代碼文件,每個所述分割后的頂層 代碼文件中包含從所述頂層代碼文件中解析并分割出來的一個子模塊組對應(yīng) 的分割后的集成電路核心實體代碼文件的例化代碼、分割后的引腳控制代碼文 件的例化代碼和分割后的引腳代碼文件的例化代碼,以及新添加的所述一個子 模塊組中各子模塊與其他子模塊組中各子模塊之間的傳輸信號描述代碼段。
9、 如權(quán)利要求6-8任一所述的裝置,其特征在于,還包括 文件生成模塊,用于根據(jù)所述分割后的頂層代碼文件生成新的頂層代碼文件,新的頂層代碼文件中包含每一個所述分割后的頂層代碼文件的例化代碼,與其他子模塊組中各子模塊之間的傳輸信號描述代碼段。
10、 如權(quán)利要求9所述的裝置,其特征在于,還包括 數(shù)量確定模塊,用于根據(jù)所述IC設(shè)計的代碼文件的大小和所述FPGA的容量,以及所述集成電路核心實體模塊中能夠劃分出來的所述子模塊組的數(shù)
全文摘要
本發(fā)明公開了一種集成電路設(shè)計的驗證方法及裝置,包括確定出集成電路核心實體模塊中在引腳控制模塊處不耦合的各子模塊;將所述各子模塊分成至少兩個子模塊組;根據(jù)所述子模塊組,對IC設(shè)計的代碼文件中包含的集成電路核心實體代碼文件、引腳控制代碼文件、引腳代碼文件和頂層代碼文件進(jìn)行分割;將與同一個子模塊組對應(yīng)的分割后的集成電路核心實體代碼文件、分割后的引腳控制代碼文件、分割后的引腳代碼文件和分割后的頂層代碼文件存入同一片現(xiàn)場可編程門陣列FPGA中對IC設(shè)計進(jìn)行驗證。上述方法實現(xiàn)了將大于單片F(xiàn)PGA容量的大規(guī)模集成電路設(shè)計的代碼文件分割到多片F(xiàn)PGA中進(jìn)行聯(lián)合驗證。實現(xiàn)簡單、成本低。
文檔編號G06F17/50GK101290640SQ20081011559
公開日2008年10月22日 申請日期2008年6月25日 優(yōu)先權(quán)日2008年6月25日
發(fā)明者劉子熹, 楊作興 申請人:北京中星微電子有限公司