專利名稱:一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路設(shè)計(jì)中邏輯驗(yàn)證技術(shù)領(lǐng)域,尤其涉及一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法及裝置。
背景技術(shù):
邏輯存儲(chǔ)單兀(寄存器/ 存儲(chǔ)器)在 ASIC (Application Specific IntegratedCircuits,專用集成電路)/FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)設(shè)計(jì)中是不可或缺的,邏輯存儲(chǔ)單元具有數(shù)量大和不斷變化的特點(diǎn),在設(shè)計(jì)和驗(yàn)證過(guò)程中給開(kāi)發(fā)和驗(yàn)證工作帶來(lái)困難。以寄存器為例,一般來(lái)說(shuō),芯片中的寄存器數(shù)目往往達(dá)到成百上千個(gè);并且,這些寄存器的設(shè)計(jì)規(guī)范經(jīng)常需要修改,甚至在驗(yàn)證過(guò)程中,寄存器的設(shè)計(jì)規(guī)范仍在變化。
邏輯存儲(chǔ)單元的這兩個(gè)特點(diǎn)使得其維護(hù)及驗(yàn)證工作十分困難。一方面在編碼階段,大量的邏輯存儲(chǔ)單元的RTL(Register Transfer Level,寄存器傳輸級(jí))代碼的編寫(xiě)較為耗時(shí),驗(yàn)證工程師也需要編寫(xiě)大量的驗(yàn)證代碼對(duì)它進(jìn)行功能驗(yàn)證;更重要的是,一旦在設(shè)計(jì)中增加或減少了邏輯存儲(chǔ)單元,或者修改了邏輯存儲(chǔ)單元的字段長(zhǎng)度、位置、讀寫(xiě)性質(zhì)初始值等屬性,開(kāi)發(fā)工程師必須修改邏輯存儲(chǔ)單元的設(shè)計(jì)規(guī)范及代碼,驗(yàn)證工程師必須在整個(gè)驗(yàn)證環(huán)境和所有測(cè)試文件中,對(duì)發(fā)生變化的邏輯存儲(chǔ)單元的測(cè)試激勵(lì)進(jìn)行相應(yīng)修改,這種維護(hù)工作是非常繁瑣、耗時(shí)和容易出錯(cuò)的,同時(shí)這類對(duì)邏輯存儲(chǔ)單元的修改操作,在驗(yàn)證過(guò)程中將始終存在并且頻繁出現(xiàn)的。在現(xiàn)有技術(shù)中,Synopsys和Cadence公司公開(kāi)了一種寄存器/存儲(chǔ)器自動(dòng)驗(yàn)證的解決方案,但是這兩家公司的方案都有局限性一、它們都是基于驗(yàn)證方法學(xué)的,在不采用方法學(xué)的情況下,無(wú)法使用;二、它們采用自定義的文件格式來(lái)產(chǎn)生寄存器/存儲(chǔ)器模型,工程師需要根據(jù)邏輯存儲(chǔ)單元的設(shè)計(jì)規(guī)范去編寫(xiě)該寄存器/存儲(chǔ)器模型文檔,額外增加了工程師的工作量,也加大了出錯(cuò)的可能性。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是,提供一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法及裝置,簡(jiǎn)化邏輯存儲(chǔ)單元的驗(yàn)證流程,減少人為參與的工作量和出錯(cuò)幾率。本發(fā)明采用的技術(shù)方案是,所述邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法,包括將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔;根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼;基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。進(jìn)一步的,對(duì)于邏輯芯片中的寄存器,所述邏輯存儲(chǔ)單元相關(guān)信息包括寄存器的屬性;對(duì)于邏輯芯片中的存儲(chǔ)器,所述邏輯存儲(chǔ)單元相關(guān)信息包括存儲(chǔ)器的屬性;
所述通用格式的模型文檔為通用表格文件或者通用文本文件。進(jìn)一步的,所述根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼,具體包括對(duì)于邏輯芯片中的寄存器,生成寄存器的RTL級(jí)代碼的過(guò)程如下
將所述邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成邏輯仿真工具可識(shí)別的格式;從轉(zhuǎn)換后的模型文檔中讀取寄存器的屬性,通過(guò)邏輯仿真工具生成寄存器的RTL級(jí)代碼;對(duì)于邏輯芯片中的存儲(chǔ)器,生成存儲(chǔ)器的RTL級(jí)代碼的過(guò)程如下從所述邏輯存儲(chǔ)單元模型文檔中直接讀取存儲(chǔ)器的屬性,輸入到邏輯芯片自帶的IP核(Intellectual Property core)生成工具中,生成存儲(chǔ)器的RTL級(jí)代碼。進(jìn)一步的,所述基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼,具體包括從所述邏輯存儲(chǔ)單元模型文檔中讀取所有邏輯存儲(chǔ)單元的相關(guān)信息,為每個(gè)邏輯存儲(chǔ)單元建立參考模型;通過(guò)將所述參考模型的預(yù)期結(jié)果與所述RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元讀寫(xiě)操作進(jìn)行驗(yàn)證。進(jìn)一步的,對(duì)于邏輯芯片中的寄存器,所述基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼,還包括通過(guò)將所述邏輯存儲(chǔ)單元模型文檔中寄存器的屬性與寄存器的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)寄存器的復(fù)位初值進(jìn)行驗(yàn)證。本發(fā)明還提供一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的裝置,包括模型文檔建立模塊,用于將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔;RTL代碼生成模塊,用于根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼;邏輯存儲(chǔ)單元驗(yàn)證模塊,用于基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。進(jìn)一步的,對(duì)于邏輯芯片中的寄存器,所述邏輯存儲(chǔ)單元相關(guān)信息包括寄存器的屬性;對(duì)于邏輯芯片中的存儲(chǔ)器,所述邏輯存儲(chǔ)單元相關(guān)信息包括存儲(chǔ)器的屬性;所述通用格式的模型文檔為通用表格文件或者通用文本文件。進(jìn)一步的,所述RTL代碼生成模塊,具體包括針對(duì)邏輯芯片中寄存器的,格式轉(zhuǎn)換子模塊,用于將所述邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成邏輯仿真工具可識(shí)別的格式;邏輯仿真工具子模塊,從轉(zhuǎn)換后的模型文檔中讀取寄存器的屬性,通過(guò)邏輯仿真工具生成寄存器的RTL級(jí)代碼;以及,針對(duì)邏輯芯片中存儲(chǔ)器的,讀取模塊,用于從所述邏輯存儲(chǔ)單元模型文檔中直接讀取存儲(chǔ)器的屬性,輸入到邏輯芯片自帶的IP核生成工具中;IP核生成工具,用于根據(jù)存儲(chǔ)器的屬性生成存儲(chǔ)器的RTL級(jí)代碼。進(jìn)一步的,所述邏輯存儲(chǔ)單元驗(yàn)證模塊,具體包括參考模型生成子模塊,用于從所述邏輯存儲(chǔ)單元模型文檔中讀取所有邏輯存儲(chǔ)單元的相關(guān)信息,為每個(gè)邏輯存儲(chǔ)單元建立參考模型;讀寫(xiě)操作驗(yàn)證子模塊,用于通過(guò)將所述參考模型的預(yù)期結(jié)果與所述RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元的讀寫(xiě)操作進(jìn)行驗(yàn)證。進(jìn)一步的,對(duì)于邏輯芯片中的寄存器,所述邏輯存儲(chǔ)單元驗(yàn)證模塊還包括初值驗(yàn)證子模塊,用于通過(guò)將所述邏輯存儲(chǔ)單元模型文檔中寄存器的屬性與寄存器的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)寄存器的復(fù)位初值進(jìn)行驗(yàn)證。 采用上述技術(shù)方案,本發(fā)明至少具有下列優(yōu)點(diǎn)本發(fā)明所述邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法及裝置,由于采用在通用格式的邏輯存儲(chǔ)單元模型文檔中填入邏輯存儲(chǔ)單元的相關(guān)信息作為設(shè)計(jì)規(guī)范,無(wú)需額外編寫(xiě)邏輯存儲(chǔ)單元模型文件,在邏輯存儲(chǔ)單元的設(shè)計(jì)及驗(yàn)證方面,提高自動(dòng)化程度,減少人為參與的工作量、減少人為因素引起的錯(cuò)誤。本發(fā)明具有簡(jiǎn)便、易用、高效、通用性高等特點(diǎn)。
圖I為本發(fā)明第一實(shí)施例中邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法流程圖;圖2為本發(fā)明第一實(shí)施例中對(duì)邏輯芯片中的寄存器步驟S103具體流程圖;圖3為本發(fā)明第一實(shí)施例中對(duì)于邏輯芯片中的存儲(chǔ)器步驟S103具體流程圖;圖4為本發(fā)明第二實(shí)施例中邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明如后。本發(fā)明第一實(shí)施例,一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法,如圖I所示,包括如下具體步驟步驟S101,將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔,作為邏輯存儲(chǔ)單元的設(shè)計(jì)規(guī)范,即邏輯存儲(chǔ)單元設(shè)計(jì)及驗(yàn)證的依據(jù)。具體的,通用格式的模型文檔為通用表格文件或者通用文本文件,比如Xls文檔、txt文檔和doc文檔等。通用格式的邏輯存儲(chǔ)單元模型文檔可以包含存儲(chǔ)器和寄存器的所有可能屬性,這些屬性包括但不限于基址、起始偏移地址、結(jié)束偏移地址,邏輯存儲(chǔ)單元名稱、位寬、所選的邏輯芯片、掩碼、讀寫(xiě)屬性、復(fù)位初值、類型、驗(yàn)證狀態(tài)、邏輯存儲(chǔ)單元說(shuō)明。其中,驗(yàn)證狀態(tài)包括參數(shù)化定義的表示該邏輯存儲(chǔ)單元未驗(yàn)證或者已驗(yàn)證的狀態(tài)信息,邏輯存儲(chǔ)單元說(shuō)明中描述的是該邏輯存儲(chǔ)單元的其它信息,供開(kāi)發(fā)人員查看。對(duì)于邏輯芯片中的存儲(chǔ)器,可以向通用格式的邏輯存儲(chǔ)單元模型文檔中填入存儲(chǔ)器的相關(guān)信息,即存儲(chǔ)器的各項(xiàng)屬性基址、起始偏移地址、結(jié)束偏移地址,位寬(包括讀寫(xiě)數(shù)據(jù)總線位寬、讀寫(xiě)地址總線位寬)、所選的邏輯芯片、類型、讀寫(xiě)屬性、驗(yàn)證狀態(tài)、存儲(chǔ)器說(shuō)明;對(duì)于邏輯芯片中的寄存器,可以向通用格式的邏輯存儲(chǔ)單元模型文檔中填入寄存器的相關(guān)信息,即寄存器的各項(xiàng)屬性基址、偏移地址、寄存器名稱、位寬、掩碼、讀寫(xiě)屬性、復(fù)位初值、類型、驗(yàn)證狀態(tài)、寄存器說(shuō)明,該偏移地址可以填入起始偏移地址中。步驟S102,生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。具體的,步驟S102包括如下流程對(duì)于邏輯芯片中的寄存器, 將通用格式的邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成邏輯仿真工具可識(shí)別的格式。比如,Synopsys和Cadence公司的邏輯仿真工具可以識(shí)別的文件格式包括csv格式,故將通用格式的邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成csv的格式即可。從轉(zhuǎn)換后的模型文檔中讀取寄存器的各項(xiàng)屬性,通過(guò)邏輯仿真工具生成相應(yīng)的RTL級(jí)代碼。被測(cè)單元中寄存器的RTL級(jí)代碼至少包括寄存器的地址、寄存器的復(fù)位初值和寄存器讀寫(xiě)操作信息。一個(gè)被測(cè)單元中通常包含多個(gè)寄存器或者多個(gè)存儲(chǔ)器。被測(cè)單元對(duì)外提供統(tǒng)一的輸入輸出端口,后續(xù)驗(yàn)證也是基于被測(cè)單元進(jìn)行的。被測(cè)單元中的若干寄存器可以根據(jù)其所在的功能模塊歸屬于不同的RTL級(jí)代碼文件。對(duì)于邏輯芯片中的存儲(chǔ)器,從所述邏輯存儲(chǔ)單元模型文檔中直接讀取存儲(chǔ)器的各項(xiàng)屬性,輸入到存儲(chǔ)器所在的ASIC/FPGA自帶的IP核生成工具,生成存儲(chǔ)器的RTL級(jí)代碼。存儲(chǔ)器的RTL級(jí)代碼可以按照存儲(chǔ)器的類型來(lái)生成,每種類型生成一個(gè)即可。步驟S103,基于通用格式的邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。具體的,一、對(duì)于邏輯芯片中的寄存器,如圖2所示,步驟S103具體包括如下流程BI,從通用格式的邏輯存儲(chǔ)單元模型文檔中讀取所有寄存器的相關(guān)信息,為每個(gè)寄存器建立行為級(jí)參考模型。所有寄存器的參考模型可以采用數(shù)組形式,每個(gè)數(shù)組元素中的數(shù)值是根據(jù)對(duì)應(yīng)的寄存器的讀寫(xiě)屬性處理后得到的預(yù)期結(jié)果,能夠反映出寄存器的行為級(jí)讀寫(xiě)操作的功能。B2,通過(guò)將通用格式的邏輯存儲(chǔ)單元模型文檔中寄存器的相關(guān)信息與寄存器的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)寄存器的復(fù)位初值進(jìn)行驗(yàn)證。具體的,模擬符合總線接口的時(shí)序?qū)Ρ粶y(cè)單元中寄存器的RTL級(jí)代碼執(zhí)行讀操作的測(cè)試用例,將讀操作的返回值與寄存器的復(fù)位初值進(jìn)行比較,輸出比較結(jié)果。B3,通過(guò)將參考模型的預(yù)期結(jié)果與寄存器的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)寄存器讀寫(xiě)操作進(jìn)行驗(yàn)證。例如,模擬符合總線接口的時(shí)序?qū)Ρ粶y(cè)單元中寄存器的RTL級(jí)代碼執(zhí)行讀寫(xiě)操作的測(cè)試用例,通過(guò)寫(xiě)操作寫(xiě)入若干隨機(jī)數(shù)后,再進(jìn)行讀操作,將讀操作的返回值與參考模型中的預(yù)期結(jié)果進(jìn)行比較,輸出比較結(jié)果。比較時(shí)可以結(jié)合寄存器的掩碼屬性,只比較有效的比特位。優(yōu)選的,讀寫(xiě)操作的測(cè)試用例包括如下兩種測(cè)試用例I :進(jìn)行單個(gè)邏輯存儲(chǔ)單元的讀寫(xiě)功能驗(yàn)證,即完成一個(gè)存儲(chǔ)單元進(jìn)行多次寫(xiě)入、讀出、結(jié)果判斷的操作,再進(jìn)行下一個(gè)存儲(chǔ)單元的驗(yàn)證;測(cè)試用例2 :對(duì)所有的邏輯存儲(chǔ)單元進(jìn)行寫(xiě)操作,要求每個(gè)存儲(chǔ)單元寫(xiě)入的值各不相同,同時(shí)將寫(xiě)入的數(shù)據(jù)保存到數(shù)組形式的參考模型中,寫(xiě)操作完成之后,再對(duì)所有的存儲(chǔ)單元中進(jìn)行讀操作,將讀操作的返回值和寫(xiě)入?yún)⒖寄P椭械臄?shù)值進(jìn)行比較,以上操作重復(fù)多次。二、對(duì)于邏輯芯片中的存儲(chǔ)器,如圖3所示,步驟S103具體包括如下流程Cl,從通用格式的邏輯存儲(chǔ)單元模型文檔中讀取所有存儲(chǔ)器的相關(guān)信息,為每個(gè)存儲(chǔ)器建立行為級(jí)參考模型。所有存儲(chǔ)器的參考模型可以采用數(shù)組形式,每個(gè)數(shù)組元素中的數(shù)值是根據(jù)對(duì)應(yīng)的存儲(chǔ)器的讀寫(xiě)屬性處理后得到的預(yù)期結(jié)果,能夠反映出存儲(chǔ)器的行為級(jí)讀寫(xiě)操作的功能。C2,通過(guò)將參考模型的預(yù)期結(jié)果與存儲(chǔ)器的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì) 存儲(chǔ)器讀寫(xiě)操作進(jìn)行驗(yàn)證。本發(fā)明第二實(shí)施例,一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的裝置,如圖4所示,包括如下組成部分—、模型文檔建立模塊10,用于將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔,作為邏輯存儲(chǔ)單元的設(shè)計(jì)規(guī)范。通用格式的模型文檔為通用表格文件或者通用文本文件,比如xls文檔、txt文檔和doc文檔等。通用格式的邏輯存儲(chǔ)單元模型文檔可以包含存儲(chǔ)器和寄存器的所有可能屬性,這些屬性包括但不限于基址、起始偏移地址、結(jié)束偏移地址,邏輯存儲(chǔ)單元名稱、位寬、所選的邏輯芯片、掩碼、讀寫(xiě)屬性、復(fù)位初值、類型、驗(yàn)證狀態(tài)、邏輯存儲(chǔ)單元說(shuō)明。對(duì)于邏輯芯片中的存儲(chǔ)器,可以向通用格式的邏輯存儲(chǔ)單元模型文檔中填入存儲(chǔ)器的相關(guān)信息,即存儲(chǔ)器的各項(xiàng)屬性基址、起始偏移地址、結(jié)束偏移地址,位寬(包括讀寫(xiě)數(shù)據(jù)總線位寬、讀寫(xiě)地址總線位寬)、所選的邏輯芯片、類型、讀寫(xiě)屬性、驗(yàn)證狀態(tài)、存儲(chǔ)器說(shuō)明;對(duì)于邏輯芯片中的寄存器,可以向通用格式的邏輯存儲(chǔ)單元模型文檔中填入寄存器的相關(guān)信息,即寄存器的各項(xiàng)屬性基址、偏移地址、寄存器名稱、位寬、掩碼、讀寫(xiě)屬性、復(fù)位初值、類型、驗(yàn)證狀態(tài)、寄存器說(shuō)明,該偏移地址可以填入起始偏移地址中。二、寄存器RTL代碼生成模塊20,用于根據(jù)通用格式的邏輯存儲(chǔ)單元模型文檔生成寄存器的RTL級(jí)代碼。寄存器RTL代碼生成模塊,具體包括格式轉(zhuǎn)換子模塊21,用于將通用格式的邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成邏輯仿真工具可識(shí)別的格式。比如,Synopsys和Cadence公司的邏輯仿真工具可以識(shí)別的文件格式包括csv格式,故,將通用格式的邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成csv的格式即可。邏輯仿真工具子模塊22,用于從轉(zhuǎn)換后的模型文檔中讀取寄存器的各項(xiàng)屬性,生成寄存器的RTL級(jí)代碼。被測(cè)單元中寄存器的RTL級(jí)代碼至少包括寄存器的地址、寄存器的復(fù)位初值和寄存器讀寫(xiě)操作信息。被測(cè)單元中的若干寄存器可以根據(jù)其所在的功能模塊歸屬于不同的RTL級(jí)代碼文件。一個(gè)被測(cè)單元中通常包含多個(gè)寄存器或者多個(gè)存儲(chǔ)器。被測(cè)單元對(duì)外提供統(tǒng)一的輸入輸出端口,后續(xù)驗(yàn)證也是基于被測(cè)單元進(jìn)行的。三、存儲(chǔ)器RTL級(jí)代碼生成模塊30,用于根據(jù)通用格式的邏輯存儲(chǔ)單元模型文檔生成存儲(chǔ)器的RTL級(jí)代碼,存儲(chǔ)器RTL級(jí)代碼生成模塊30具體包括
讀取模塊31,用于從通用格式的邏輯存儲(chǔ)單元模型文檔中直接讀取存儲(chǔ)器的屬性,輸入到邏輯芯片自帶的IP核生成工具中;IP核生成工具32,用于根據(jù)存儲(chǔ)器的屬性生成存儲(chǔ)器的RTL級(jí)代碼。存儲(chǔ)器的RTL級(jí)代碼可以按照存儲(chǔ)器的類型來(lái)生成,每種類型生成一個(gè)即可。四、邏輯存儲(chǔ)單元驗(yàn)證模塊40,用于基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證其對(duì)應(yīng)的RTL級(jí)代碼。邏輯存儲(chǔ)單元驗(yàn)證模塊,具體包括參考模型生成子模塊41,用于從邏輯存儲(chǔ)單元模型文檔中讀取所有邏輯存儲(chǔ)單元的相關(guān)信息,為每個(gè)邏輯存儲(chǔ)單元建立行為級(jí)參考模型;初值驗(yàn)證子模塊42,所述初值驗(yàn)證子模塊僅針對(duì)邏輯存儲(chǔ)單元為寄存器的情況存在,用于通過(guò)將邏輯存儲(chǔ)單元模型文檔中邏輯存儲(chǔ)單元的相關(guān)信息與所述RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元的復(fù)位初值進(jìn)行驗(yàn)證。
具體的,初值驗(yàn)證子模塊42驅(qū)動(dòng)BFM(bus functional model,總線功能模型)產(chǎn)生符合總線接口的時(shí)序的讀操作的測(cè)試用例,將讀操作的返回值與寄存器的復(fù)位初值進(jìn)行比較,輸出比較結(jié)果。讀寫(xiě)操作驗(yàn)證子模塊43,用于通過(guò)將所述參考模型的預(yù)期結(jié)果與所述RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元的讀寫(xiě)操作進(jìn)行驗(yàn)證。例如,讀寫(xiě)操作驗(yàn)證子模塊43驅(qū)動(dòng)BFM產(chǎn)生符合總線接口的時(shí)序的讀寫(xiě)操作,對(duì)RTL級(jí)代碼執(zhí)行讀寫(xiě)操作的測(cè)試用例,通過(guò)寫(xiě)操作寫(xiě)入若干隨機(jī)數(shù)后,再進(jìn)行讀操作,將讀操作的返回值與參考模型中的預(yù)期結(jié)果進(jìn)行比較,輸出比較結(jié)果。對(duì)于寄存器的RTL級(jí)代碼,比較時(shí)可以結(jié)合寄存器的掩碼屬性,之比較有效的比特位。優(yōu)選的,讀寫(xiě)操作的測(cè)試用例包括如下兩種測(cè)試用例I :進(jìn)行單個(gè)邏輯存儲(chǔ)單元的讀寫(xiě)功能驗(yàn)證,即完成一個(gè)存儲(chǔ)單元進(jìn)行多次寫(xiě)入、讀出、結(jié)果判斷的操作,再進(jìn)行下一個(gè)存儲(chǔ)單元的驗(yàn)證;測(cè)試用例2 :對(duì)所有的邏輯存儲(chǔ)單元進(jìn)行寫(xiě)操作,要求每個(gè)存儲(chǔ)單元寫(xiě)入的值各不相同,同時(shí)將寫(xiě)入的數(shù)據(jù)保存到數(shù)組形式的參考模型中,寫(xiě)操作完成之后,再對(duì)所有的存儲(chǔ)單元中進(jìn)行讀操作,將讀操作的返回值和寫(xiě)入從參考模型中的數(shù)值進(jìn)行比較,以上操作
重復(fù)多次。本發(fā)明所述邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法及裝置,由于采用在通用格式的邏輯存儲(chǔ)單元模型文檔中填入邏輯存儲(chǔ)單元的相關(guān)信息作為設(shè)計(jì)規(guī)范,無(wú)需額外編寫(xiě)邏輯存儲(chǔ)單元模型文件,在邏輯存儲(chǔ)單元的設(shè)計(jì)及驗(yàn)證方面,提高自動(dòng)化程度,減少人為參與的工作量、減少人為因素引起的錯(cuò)誤。本發(fā)明具有簡(jiǎn)便、易用、高效、通用性高等特點(diǎn)。通過(guò)具體實(shí)施方式
的說(shuō)明,應(yīng)當(dāng)可對(duì)本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖示僅是提供參考與說(shuō)明之用,并非用來(lái)對(duì)本發(fā)明加以限制。
權(quán)利要求
1.一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法,其特征在于,包括 將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔; 根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼; 基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于, 對(duì)于邏輯芯片中的寄存器,所述邏輯存儲(chǔ)單元相關(guān)信息包括寄存器的屬性; 對(duì)于邏輯芯片中的存儲(chǔ)器,所述邏輯存儲(chǔ)單元相關(guān)信息包括存儲(chǔ)器的屬性; 所述通用格式的模型文檔為通用表格文件或者通用文本文件。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼,具體包括 對(duì)于邏輯芯片中的寄存器,生成寄存器的RTL級(jí)代碼的過(guò)程如下 將所述邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成邏輯仿真工具可識(shí)別的格式; 從轉(zhuǎn)換后的模型文檔中讀取寄存器的屬性,通過(guò)邏輯仿真工具生成寄存器的RTL級(jí)代碼; 對(duì)于邏輯芯片中的存儲(chǔ)器,生成存儲(chǔ)器的RTL級(jí)代碼的過(guò)程如下 從所述邏輯存儲(chǔ)單元模型文檔中直接讀取存儲(chǔ)器的屬性,輸入到邏輯芯片自帶的IP核生成工具中,生成存儲(chǔ)器的RTL級(jí)代碼。
4.根據(jù)權(quán)利要求I或2或3所述的方法,其特征在于,所述基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼,具體包括 從所述邏輯存儲(chǔ)單元模型文檔中讀取所有邏輯存儲(chǔ)單元的相關(guān)信息,為每個(gè)邏輯存儲(chǔ)單元建立參考模型; 通過(guò)將所述參考模型的預(yù)期結(jié)果與所述RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元讀寫(xiě)操作進(jìn)行驗(yàn)證。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,對(duì)于邏輯芯片中的寄存器,所述基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼,還包括 通過(guò)將所述邏輯存儲(chǔ)單元模型文檔中邏輯存儲(chǔ)單元的屬性與邏輯存儲(chǔ)單元的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元的復(fù)位初值進(jìn)行驗(yàn)證。
6.一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的裝置,其特征在于,包括 模型文檔建立模塊,用于將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔; RTL代碼生成模塊,用于根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼; 邏輯存儲(chǔ)單元驗(yàn)證模塊,用于基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,對(duì)于邏輯芯片中的寄存器,所述邏輯存儲(chǔ)單元相關(guān)信息包括寄存器的屬性; 對(duì)于邏輯芯片中的存儲(chǔ)器,所述邏輯存儲(chǔ)單元相關(guān)信息包括存儲(chǔ)器的屬性; 所述通用格式的模型文檔為通用表格文件或者通用文本文件。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述RTL代碼生成模塊,具體包括 針對(duì)邏輯芯片中寄存器的, 格式轉(zhuǎn)換子模塊,用于將所述邏輯存儲(chǔ)單元模型文檔轉(zhuǎn)換成邏輯仿真工具可識(shí)別的格式; 邏輯仿真工具子模塊,從轉(zhuǎn)換后的模型文檔中讀取寄存器的屬性,通過(guò)邏輯仿真工具生成寄存器的RTL級(jí)代碼;以及, 針對(duì)邏輯芯片中存儲(chǔ)器的, 讀取模塊,用于從所述邏輯存儲(chǔ)單元模型文檔中直接讀取存儲(chǔ)器的屬性,輸入到邏輯 芯片自帶的IP核生成工具中; IP核生成工具,用于根據(jù)存儲(chǔ)器的屬性生成存儲(chǔ)器的RTL級(jí)代碼。
9.根據(jù)權(quán)利要求6或7或8所述的裝置,其特征在于,所述邏輯存儲(chǔ)單元驗(yàn)證模塊,具體包括 參考模型生成子模塊,用于從所述邏輯存儲(chǔ)單元模型文檔中讀取所有邏輯存儲(chǔ)單元的相關(guān)信息,為每個(gè)邏輯存儲(chǔ)單元建立參考模型; 讀寫(xiě)操作驗(yàn)證子模塊,用于通過(guò)將所述參考模型的預(yù)期結(jié)果與邏輯存儲(chǔ)單元的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元的讀寫(xiě)操作進(jìn)行驗(yàn)證。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,對(duì)于邏輯芯片中的寄存器,所述邏輯存儲(chǔ)單元驗(yàn)證模塊還包括 初值驗(yàn)證子模塊,用于通過(guò)將所述邏輯存儲(chǔ)單元模型文檔中邏輯存儲(chǔ)單元的屬性與邏輯存儲(chǔ)單元的RTL級(jí)代碼仿真的結(jié)果進(jìn)行比較,對(duì)邏輯存儲(chǔ)單元的復(fù)位初值進(jìn)行驗(yàn)證。
全文摘要
本發(fā)明公開(kāi)了一種邏輯存儲(chǔ)單元自動(dòng)驗(yàn)證的方法及裝置,將一個(gè)邏輯芯片中所有邏輯存儲(chǔ)單元的相關(guān)信息填入通用格式的邏輯存儲(chǔ)單元模型文檔;根據(jù)所述邏輯存儲(chǔ)單元模型文檔生成邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼;基于所述邏輯存儲(chǔ)單元模型文檔驗(yàn)證邏輯存儲(chǔ)單元對(duì)應(yīng)的RTL級(jí)代碼。由于采用在通用格式的邏輯存儲(chǔ)單元模型文檔中填入邏輯存儲(chǔ)單元的相關(guān)信息作為設(shè)計(jì)規(guī)范,無(wú)需額外編寫(xiě)邏輯存儲(chǔ)單元模型文件,在邏輯存儲(chǔ)單元的設(shè)計(jì)及驗(yàn)證方面,提高自動(dòng)化程度,減少人為參與的工作量、減少人為因素引起的錯(cuò)誤。本發(fā)明具有簡(jiǎn)便、易用、高效、通用性高等特點(diǎn)。
文檔編號(hào)G06F17/50GK102841950SQ20111016738
公開(kāi)日2012年12月26日 申請(qǐng)日期2011年6月21日 優(yōu)先權(quán)日2011年6月21日
發(fā)明者洪瑞煌, 張軒, 陳文軍 申請(qǐng)人:中興通訊股份有限公司