專利名稱:一種對隨機存儲器封裝文件進行仿真的仿真平臺及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域的仿真技術(shù),特別涉及一種對隨機存儲器(RAM,Random Access Memory)封裝文件進行仿真的仿真平臺及方法。
背景技術(shù):
在可編程專用集成電路(ASIC,Application Specific Integrated Circuit)、現(xiàn)場可編程門列陣(FPGA,F(xiàn)ield Programmable Gate Array)和可編程邏輯器件(PLD,Programmable Logic Device)的設(shè)計中,需要使用大量的RAM。這些RAM的存儲深度和存儲數(shù)據(jù)位寬可能不同,都被保存在綜合庫中。
在ASIC、FPGA和PLD邏輯代碼設(shè)計中,設(shè)計的RAM代碼需要描述RAM名稱和對應(yīng)的輸入及輸出管腳。為了在綜合庫更換后能夠重復(fù)利用設(shè)計的RAM代碼,減少仿真時間,加快仿真進度,設(shè)計的RAM代碼與RAM綜合庫中的RAM并不直接對應(yīng),而是通過RAM封裝文件與綜合庫中的RAM間接相對應(yīng)。
因此,在對整個設(shè)計進行仿真的過程中,不但要保證電路邏輯功能的正確性,而且要保證RAM封裝文件的正確性,而保證RAM封裝文件的正確性就需要對RAM封裝文件進行仿真。對RAM封裝文件的仿真是項目后期仿真的重點,對RAM封裝文件進行仿真的工作效率直接影響項目的進度,對RAM封裝文件進行仿真的質(zhì)量直接影響到項目的成敗。
現(xiàn)有技術(shù)中對RAM封裝文件進行仿真主要采用以下兩種技術(shù)方案方案一單獨對每個RAM封裝文件進行仿真。該方案仿真的對象是單個的RAM封裝文件。
在該方案中,測試人員需要對每個RAM封裝文件分別設(shè)計一套仿真環(huán)境,利用設(shè)計的仿真環(huán)境對相應(yīng)的RAM封裝文件單獨進行仿真測試。仿真環(huán)境產(chǎn)生寫操作,向RAM封裝文件的某些地址寫入數(shù)據(jù),并從寫入數(shù)據(jù)的地址回讀數(shù)據(jù),判斷寫入和讀出的數(shù)據(jù)是否一致,如果是,則RAM的讀寫功能正常,RAM封裝文件的功能正確;否則,RAM的讀寫功能不正常,需要修改RAM封裝文件,直至RAM的讀寫功能正常。
方案二通過對整個設(shè)計的邏輯部分的仿真來仿真所有的RAM封裝文件。該方案仿真的對象是整個設(shè)計的邏輯部分。如圖1所示,圖1為現(xiàn)有技術(shù)方案二中對RAM封裝文件進行仿真的方法流程圖,該方法包括以下步驟步驟101測試人員將整個設(shè)計分為邏輯和RAM兩個部分,并完成整個設(shè)計中邏輯部分的設(shè)計。
步驟102測試人員編寫RAM的行為模型,將編寫的RAM的行為模型代替邏輯部分的設(shè)計中使用的RAM封裝文件。RAM的行為模型是一個簡單的行為級的RAM封裝文件,用于描述RAM的讀寫操作。
步驟103仿真平臺根據(jù)自身產(chǎn)生的對整個設(shè)計進行測試的測試激勵信號,對利用RAM的行為模型代替RAM封裝文件的整個設(shè)計進行仿真,判斷對整個設(shè)計進行測試的結(jié)果與整個設(shè)計在測試激勵信號下的響應(yīng)是否一致,如果是,則整個設(shè)計的功能正確;否則,修改整個設(shè)計,直至整個設(shè)計的功能正確為止。
步驟104測試人員利用RAM封裝文件代替RAM的行為模型,再次使用仿真平臺產(chǎn)生的對整個設(shè)計進行測試的測試激勵信號對整個設(shè)計進行仿真,判斷對整個設(shè)計進行測試的結(jié)果與整個設(shè)計在測試激勵信號下的響應(yīng)是否一致,如果是,則整個設(shè)計的功能正確;否則,修改整個設(shè)計,直至整個設(shè)計的功能正確為止。
在方案二中,仿真平臺是為了仿真驗證整個設(shè)計的正確性而設(shè)計的驗證平臺。該仿真平臺產(chǎn)生的激勵信號是針對整個設(shè)計的激勵信號,判斷的結(jié)果也是針對整個設(shè)計的結(jié)果。
根據(jù)上述方案一可知,由于方案一要求仿真環(huán)境與RAM封裝文件一一對應(yīng),所以方案一存在以下問題1、目前的設(shè)計一般都有幾十個RAM封裝文件,測試人員需要設(shè)計幾十套仿真環(huán)境,測試人員進行仿真的工作量巨大,人力投入成本非常高。
2、在設(shè)計中RAM代碼的增加導(dǎo)致對應(yīng)RAM封裝文件的增加,進而導(dǎo)致對應(yīng)仿真環(huán)境的增加,而在設(shè)計的整個階段RAM封裝文件經(jīng)常有增加或者刪減,這樣測試人員對RAM仿真環(huán)境進行維護的工作量非常巨大和繁瑣。
根據(jù)上述方案二可知,方案二也存在以下問題1、由于測試人員需要對整個設(shè)計仿真兩次,測試人員的工作量巨大,人力投入成本非常高,還需要花費大量的測試時間,嚴重影響項目的進度。
2、由于在對RAM封裝文件進行仿真之前,必須保證邏輯設(shè)計和測試激勵信號本身的正確性,所以只能等到邏輯設(shè)計部分的仿真工作接近完成時,才能啟動對RAM封裝文件的仿真,留給對RAM封裝文件進行仿真的時間非常有限,不能對RAM封裝文件進行充分和完備的仿真。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的一個目的在于提供一種對RAM封裝文件進行仿真的仿真平臺,以減小仿真的工作量,降低人力和時間投入成本,對RAM封裝文件進行充分和完備的仿真。
本發(fā)明的另一個目的在于提供一種對RAM封裝文件進行仿真的方法,以減小仿真的工作量,降低人力和時間投入成本,對RAM封裝文件進行充分和完備的仿真。
為達到上述一個目的,本發(fā)明提供了一種對RAM封裝文件進行仿真的仿真平臺,該仿真平臺包括顯示單元,用于將從仿真平臺外部輸入的信息輸出給仿真機制選擇單元,并顯示測試響應(yīng)分析單元輸入的信息;仿真機制選擇單元,用于接收顯示單元輸入的信息,根據(jù)接收的信息選擇仿真機制,并將選擇的仿真機制分別輸出給測試激勵產(chǎn)生單元和測試響應(yīng)分析單元;測試激勵產(chǎn)生單元,用于接收仿真機制選擇單元輸入的仿真機制,產(chǎn)生對各種隨機存儲器RAM封裝文件進行測試的測試激勵信號,并將產(chǎn)生的測試激勵信號分別輸出給RAM封裝文件和測試響應(yīng)分析單元;測試響應(yīng)分析單元,用于根據(jù)接收自仿真機制選擇單元的仿真機制將接收自測試激勵產(chǎn)生單元的測試激勵信號中的寫數(shù)據(jù)信號轉(zhuǎn)換為RAM封裝文件期望的數(shù)據(jù)信號,從RAM封裝文件讀出數(shù)據(jù)信號,判斷從RAM封裝文件讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,并將判斷結(jié)果輸出給顯示單元。
上述方案中,所述的測試激勵信號至少包括寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號。
為達到上述另一個目的,本發(fā)明提供了一種對RAM封裝文件進行仿真的方法,所述仿真平臺包括顯示單元、仿真機制選擇單元、測試激勵產(chǎn)生單元和測試響應(yīng)分析單元,該方法包括以下步驟A、選擇仿真機制,產(chǎn)生與仿真機制對應(yīng)的測試激勵信號,并根據(jù)選擇的仿真機制將測試激勵信號中的寫數(shù)據(jù)信號轉(zhuǎn)換成RAM封裝文件期望的數(shù)據(jù)信號;B、將測試激勵信號中的寫數(shù)據(jù)信號寫入RAM封裝文件,并從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號;C、判斷讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,如果是,則該RAM封裝文件功能正確;否則,該RAM封裝文件功能不正確。
上述方案中,步驟A中所述的選擇仿真機制是仿真平臺的仿真機制選擇單元根據(jù)接收的顯示單元輸入的信息進行的。
上述方案中,所述選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,步驟A中所述的產(chǎn)生測試激勵信號,轉(zhuǎn)換寫數(shù)據(jù)信號包括測試激勵產(chǎn)生單元根據(jù)選擇的仿真機制產(chǎn)生全部有效的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號;測試激勵產(chǎn)生單元將產(chǎn)生的寫數(shù)據(jù)信號、讀使能信號、讀地址信號和時鐘信號輸出給測試分析響應(yīng)單元,測試分析響應(yīng)單元根據(jù)選擇的仿真機制將寫數(shù)據(jù)信號本身作為RAM封裝文件期望的數(shù)據(jù)信號。
上述方案中,所述選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,所述的步驟B包括測試激勵產(chǎn)生單元根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入RAM封裝文件,測試分析響應(yīng)單元根據(jù)產(chǎn)生的讀使能信號、讀地址信號和時鐘信號從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號。
上述方案中,所述選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,所述的步驟C包括測試分析響應(yīng)單元判斷讀出的數(shù)據(jù)信號是否為測試激勵產(chǎn)生單元寫入的寫數(shù)據(jù)信號,如果是,則該RAM封裝文件功能與期望的功能一致,該RAM封裝文件功能正確;否則,該RAM封裝文件功能與期望的功能不一致,該RAM封裝文件功能不正確。
上述方案中,所述選擇的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,步驟A中所述的產(chǎn)生測試激勵信號,轉(zhuǎn)換寫數(shù)據(jù)信號包括測試激勵產(chǎn)生單元根據(jù)選擇的仿真機制產(chǎn)生寫數(shù)據(jù)信號、寫使能信號、寫地址信號、無效的讀使能信號、讀地址信號和時鐘信號;測試激勵產(chǎn)生單元將產(chǎn)生的寫數(shù)據(jù)信號、無效的讀使能信號、讀地址信號和時鐘信號輸出給測試分析響應(yīng)單元,測試分析響應(yīng)單元根據(jù)選擇的仿真機制將寫數(shù)據(jù)信號轉(zhuǎn)換為0。
上述方案中,所述選擇的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,所述的步驟B包括測試激勵產(chǎn)生單元根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入RAM封裝文件,測試分析響應(yīng)單元根據(jù)產(chǎn)生的無效的讀使能信號、讀地址信號和時鐘信號從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號。
上述方案中,所述選擇的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,所述的步驟C包括測試分析響應(yīng)單元判斷讀出的數(shù)據(jù)信號是否為0,如果是,則該RAM封裝文件功能與期望的功能一致,該RAM封裝文件功能正確;否則,該RAM封裝文件功能與期望的功能不一致,該RAM封裝文件功能不正確。
上述方案中,步驟A所述產(chǎn)生的測試激勵信號包括讀地址信號、寫地址信號和寫數(shù)據(jù)信號;則所述的產(chǎn)生具體包括設(shè)置兩個計數(shù)器,并將兩個計數(shù)器的值分別對RAM封裝文件對應(yīng)的RAM深度進行取余操作,得到的結(jié)果分別作為RAM封裝文件的讀地址信號和寫地址信號;再將得到的寫地址信號對以2為底、以RAM數(shù)據(jù)位寬為指數(shù)的冪進行取余操作,得到的結(jié)果作為RAM封裝文件的寫數(shù)據(jù)信號。
因此,本發(fā)明提供的這種對RAM封裝文件進行仿真的仿真平臺及方法,通過配置一個能夠根據(jù)不同仿真機制產(chǎn)生不同測試激勵信號,并根據(jù)產(chǎn)生測試激勵信號的仿真機制來處理測試激勵信號的仿真平臺,使測試人員在對RAM封裝文件進行仿真的過程中,能夠利用該仿真平臺實現(xiàn)對所有RAM封裝文件進行的仿真。
利用本發(fā)明,由于對所有RAM封裝文件都采用統(tǒng)一的仿真平臺進行仿真,測試人員不必對每個RAM封裝文件都編寫一個測試環(huán)境,也不必對整個設(shè)計進行兩次仿真,極大地減小了仿真工作的工作量。同時,由于仿真工作量的減小,大幅降低了仿真工作的人力和時間投入成本。由于對RAM封裝文件的仿真與對邏輯設(shè)計部分的仿真相互獨立,不必等到邏輯設(shè)計部分的仿真接近完成時才啟動對RAM封裝文件的仿真,留給對RAM封裝文件進行仿真的時間非常充足,能夠?qū)AM封裝文件進行充分和完備的仿真。
另外,由于對所有RAM封裝文件都采用統(tǒng)一的仿真平臺進行仿真,可以在各個項目中實現(xiàn)仿真平臺的共享,從而縮短了各個項目的開發(fā)周期,降低了各個項目的開發(fā)成本。同時,由于對RAM封裝文件的仿真與邏輯設(shè)計部分相互獨立,對RAM封裝文件的仿真可以與邏輯設(shè)計部分同時進行,因此可以加速項目開發(fā)的進度。
圖1為現(xiàn)有技術(shù)方案二中對RAM封裝文件進行仿真的方法流程圖;圖2為本發(fā)明提供的對RAM封裝文件進行仿真的仿真平臺的結(jié)構(gòu)框圖;
圖3為本發(fā)明提供的對RAM封裝文件進行仿真總體技術(shù)方案的實現(xiàn)流程圖;圖4為本發(fā)明第一個實施例中對RAM封裝文件進行仿真的方法流程圖;圖5為本發(fā)明第二個實施例中對RAM封裝文件進行仿真的方法流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下舉實施例,并參照附圖,對本發(fā)明進一步詳細說明。
本發(fā)明的核心內(nèi)容是通過配置一個能夠根據(jù)不同仿真機制產(chǎn)生不同測試激勵信號,并根據(jù)產(chǎn)生測試激勵信號的仿真機制來處理測試激勵信號的仿真平臺,使測試人員在對RAM封裝文件進行仿真的過程中,能夠利用該仿真平臺實現(xiàn)對所有RAM封裝文件進行的仿真。
如圖2所示,圖2為本發(fā)明提供的對RAM封裝文件進行仿真的仿真平臺的結(jié)構(gòu)框圖。該仿真平臺包括顯示單元201、仿真機制選擇單元202、測試激勵產(chǎn)生單元203和測試響應(yīng)分析單元204。
其中,顯示單元201用于將從仿真平臺外部輸入的信息輸出給仿真機制選擇單元202,并顯示測試響應(yīng)分析單元204輸入的信息。該顯示單元一般為人機界面,從仿真平臺外部輸入的信息通常是測試人員根據(jù)不同的RAM封裝文件輸入的、用于控制仿真機制選擇單元選擇仿真機制的信息。
仿真機制選擇單元202用于接收顯示單元201輸入的信息,根據(jù)接收的信息選擇仿真機制,并將選擇的仿真機制分別輸出給測試激勵產(chǎn)生單元203和測試響應(yīng)分析單元204。
仿真機制用來表征RAM的一些具體行為和功能,包括通用仿真機制和特殊仿真機制兩種類型。通用仿真機制是所有RAM具有的正常的行為和功能,例如當寫端口的寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常寫入,當讀端口的讀使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出,即當讀寫端口的讀寫使能信號有效時,對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入。
特殊仿真機制是某些或某個RAM具有的非正常行為和功能,但該功能是測試人員期望RAM具有的行為和功能,其類型很多,例如1、當讀使能信號無效時,RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為上次讀出的數(shù)據(jù);2、當讀使能信號無效時,RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0;3、當讀地址與寫地址相同,且讀使能信號和寫使能信號同時有效時,RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為上次寫入的數(shù)據(jù);4、當讀地址與寫地址相同,且讀使能信號和寫使能信號同時有效時,RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為正在寫入的數(shù)據(jù)。
測試激勵產(chǎn)生單元203用于接收仿真機制選擇單元202輸入的仿真機制,根據(jù)接收的仿真機制產(chǎn)生對各種隨機存儲器RAM封裝文件進行測試的測試激勵信號,并將產(chǎn)生的測試激勵信號分別輸出給RAM封裝文件和測試響應(yīng)分析單元204;這里,測試激勵信號至少包括寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號。測試激勵產(chǎn)生單元203將產(chǎn)生的測試激勵信號輸出給RAM封裝文件是根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入RAM封裝文件;測試激勵產(chǎn)生單元203將產(chǎn)生的測試激勵信號輸出給測試響應(yīng)分析單元204,是將產(chǎn)生的寫數(shù)據(jù)信號、讀使能信號、讀地址信號和時鐘信號等測試激勵信號輸出給測試響應(yīng)分析單元204。
如果仿真機制選擇單元202輸入的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為上次讀出的數(shù)據(jù),則測試激勵產(chǎn)生單元203根據(jù)該仿真機制產(chǎn)生寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號,并且其中讀使能信號為無效的信號。
如果仿真機制選擇單元202輸入的仿真機制為當寫端口的寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常寫入,當讀端口的讀使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出,則測試激勵產(chǎn)生單元203根據(jù)該仿真機制產(chǎn)生寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號中,并且上述所有的信號都為有效的信號。
由于測試激勵產(chǎn)生單元203產(chǎn)生的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號是根據(jù)仿真機制產(chǎn)生的,仿真機制是根據(jù)測試人員通過顯示單元201輸入的信息產(chǎn)生的,所以測試激勵產(chǎn)生單元203能夠根據(jù)不同的仿真機制產(chǎn)生與各種RAM封裝文件對應(yīng)的測試激勵信號,即與各種RAM封裝文件對應(yīng)的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等。
測試響應(yīng)分析單元204用于根據(jù)接收自仿真機制選擇單元202的仿真機制,將接收自測試激勵產(chǎn)生單元203的寫數(shù)據(jù)信號轉(zhuǎn)換為RAM封裝文件期望的數(shù)據(jù)信號,根據(jù)接收自測試激勵產(chǎn)生單元203的讀使能信號、讀地址信號和時鐘信號從RAM封裝文件讀出數(shù)據(jù)信號,并判斷從RAM封裝文件讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,并將判斷的結(jié)果輸出給顯示單元201。
測試響應(yīng)分析單元204在根據(jù)接收的仿真機制將接收的寫數(shù)據(jù)信號轉(zhuǎn)換為RAM封裝文件期望的數(shù)據(jù)信號時,如果接收的仿真機制為當寫端口的寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常寫入,當讀端口的讀使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出,則測試響應(yīng)分析單元204將寫數(shù)據(jù)信號本身作為對寫數(shù)據(jù)信號進行處理的結(jié)果,即對寫數(shù)據(jù)信號不作任何處理,以驗證RAM封裝文件的讀寫功能是否正常;如果接收的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為上次讀出的數(shù)據(jù),則測試響應(yīng)分析單元204將上次從RAM封裝文件中讀出的數(shù)據(jù)作為對寫數(shù)據(jù)信號進行處理的結(jié)果,以驗證RAM封裝文件的讀寫功能與期望的功能是否一致;如果接收的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,則測試響應(yīng)分析單元204將0作為對寫數(shù)據(jù)信號進行處理的結(jié)果,以驗證RAM封裝文件的讀寫功能與期望的功能是否一致。
顯示單元201接收到測試響應(yīng)分析單元204輸入的判斷結(jié)果后,將判斷結(jié)果顯示出來。如果顯示單元201顯示RAM封裝文件功能不正確,則需要修改相應(yīng)的RAM封裝文件,直至RAM封裝文件的功能正確為止。
為清楚地說明本發(fā)明提供的技術(shù)方案,以下參照附圖,對本發(fā)明提供的對RAM封裝文件進行仿真的方法進行詳細說明。
基于圖2所示的仿真平臺,如圖3所示,圖3為本發(fā)明提供的對RAM封裝文件進行仿真總體技術(shù)方案的實現(xiàn)流程圖,包括以下步驟步驟301仿真平臺選擇仿真機制,產(chǎn)生與仿真機制對應(yīng)的測試激勵信號,并根據(jù)選擇的仿真機制將測試激勵信號中的寫數(shù)據(jù)信號轉(zhuǎn)換成RAM封裝文件期望的數(shù)據(jù)信號;步驟302將測試激勵信號中的寫數(shù)據(jù)信號寫入RAM封裝文件,并從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號;步驟303判斷讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,如果是,則該RAM封裝文件功能正確;否則,該RAM封裝文件功能不正確。
在上述步驟301中,所述的選擇仿真機制是仿真平臺的仿真機制選擇單元根據(jù)接收顯示單元輸入的信息進行的,仿真機制選擇單元對不同的RAM封裝文件選擇不同的仿真機制。
所述的產(chǎn)生與仿真機制對應(yīng)的測試激勵信號,是仿真平臺的測試激勵產(chǎn)生單元根據(jù)仿真機制選擇單元輸入的仿真機制來產(chǎn)生對各種RAM封裝文件進行測試的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號。
在上述步驟302中,所述的將測試激勵信號中的寫數(shù)據(jù)信號寫入RAM封裝文件,是仿真平臺的測試激勵產(chǎn)生單元根據(jù)自身產(chǎn)生的寫使能信號、寫地址信號和時鐘信號等,將自身產(chǎn)生的寫數(shù)據(jù)信號寫入對應(yīng)的RAM封裝文件。所述的從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號,是仿真平臺的測試激勵產(chǎn)生單元根據(jù)自身產(chǎn)生的讀使能信號、讀地址信號和時鐘信號等,從RAM封裝文件與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號。
這里,讀出的數(shù)據(jù)信號與寫數(shù)據(jù)信號可能一致,也可能不一致。如果仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,則讀出的數(shù)據(jù)信號與寫數(shù)據(jù)信號一致,以確定RAM封裝文件的讀寫功能正常;如果仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,且讀出的數(shù)據(jù)信號為0,則確定RAM封裝文件的讀寫功能與期望的功能一致。
在上述步驟302中,如果讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號一致,則RAM封裝文件功能與期望的功能一致,RAM封裝文件功能正確;否則,RAM封裝文件功能與期望的功能不一致,RAM封裝文件功能不正確。
為清楚地說明本發(fā)明提供的技術(shù)方案,以下結(jié)合具體的實施例并參照附圖,對本發(fā)明提供的對RAM封裝文件進行仿真的方法進行詳細說明。
如圖4所示,圖4為本發(fā)明第一個實施例中對RAM封裝文件進行仿真的方法流程圖。在本實施例中,RAM封裝文件要求當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入。該方法包括以下步驟步驟401仿真平臺的仿真機制選擇單元將當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入作為選擇的仿真機制,并將選擇的仿真機制分別輸出給仿真平臺的測試激勵產(chǎn)生單元和測試分析響應(yīng)單元。
步驟402仿真平臺的測試激勵產(chǎn)生單元接收到仿真機制選擇單元輸入的仿真機制以后,根據(jù)該仿真機制產(chǎn)生全部有效的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號;然后測試激勵產(chǎn)生單元將產(chǎn)生的寫數(shù)據(jù)信號、讀使能信號、讀地址信號和時鐘信號等輸出給測試分析響應(yīng)單元,同時根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入該RAM封裝文件。
步驟403仿真平臺的測試分析響應(yīng)單元根據(jù)接收自仿真機制選擇單元的仿真機制,對接收自測試激勵產(chǎn)生單元的寫數(shù)據(jù)信號進行處理,將寫數(shù)據(jù)信號轉(zhuǎn)換為期望的數(shù)據(jù)信號。這里,由于RAM封裝文件期望自身能夠正常寫入和讀出,所以RAM封裝文件期望的數(shù)據(jù)信號即為寫數(shù)據(jù)信號本身。
步驟404仿真平臺的測試分析響應(yīng)單元根據(jù)接收自測試激勵產(chǎn)生單元的讀使能信號、讀地址信號和時鐘信號等從該RAM封裝文件中讀出數(shù)據(jù)信號,并判斷從該RAM封裝文件中讀出的數(shù)據(jù)信號是否為測試激勵產(chǎn)生單元寫入的寫數(shù)據(jù)信號,如果是,則該RAM封裝文件功能與期望的功能一致,該RAM封裝文件功能正確;否則,該RAM封裝文件功能與期望的功能不一致,該RAM封裝文件功能不正確。
如圖5所示,圖5為本發(fā)明第二個實施例中對RAM封裝文件進行仿真的方法流程圖。在本實施例中,RAM封裝文件要求當讀使能信號無效時從該RAM封裝文件中讀出的數(shù)據(jù)為全0。該方法包括以下步驟步驟501仿真平臺的仿真機制選擇單元將當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0作為選擇的仿真機制,并將選擇的仿真機制分別輸出給仿真平臺的測試激勵產(chǎn)生單元和測試分析響應(yīng)單元。
步驟502仿真平臺的測試激勵產(chǎn)生單元接收到仿真機制選擇單元輸入的仿真機制以后,根據(jù)該仿真機制產(chǎn)生針對該RAM封裝文件的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號,其中讀使能信號為無效的信號;然后測試激勵產(chǎn)生單元將產(chǎn)生的寫數(shù)據(jù)信號、無效的讀使能信號、讀地址信號和時鐘信號等輸出給測試分析響應(yīng)單元,同時根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入該RAM封裝文件。
步驟503仿真平臺的測試分析響應(yīng)單元根據(jù)接收自仿真機制選擇單元的仿真機制,對接收自測試激勵產(chǎn)生單元的寫數(shù)據(jù)信號進行處理,將寫數(shù)據(jù)信號轉(zhuǎn)換為期望的數(shù)據(jù)信號,即將寫數(shù)據(jù)信號轉(zhuǎn)換為0。
步驟504仿真平臺的測試分析響應(yīng)單元根據(jù)接收自測試激勵產(chǎn)生單元的無效讀使能信號、讀地址信號和時鐘信號等從該RAM封裝文件中讀出數(shù)據(jù)信號,并判斷從該RAM封裝文件中讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,如果從該RAM封裝文件中讀出的數(shù)據(jù)信號為0,則該RAM封裝文件功能與期望的功能一致,該RAM封裝文件功能正確;如果從該RAM封裝文件中讀出的數(shù)據(jù)信號不為0,則該RAM封裝文件功能與期望的功能不一致,該RAM封裝文件功能不正確。
在上述步驟404和步驟504中,如果該RAM封裝文件功能正確,則仿真平臺的顯示單元將顯示該RAM封裝文件功能正確信息;如果該RAM封裝文件功能不正確,則顯示單元將顯示該RAM封裝文件功能不正確信息,測試人員將修改該RAM封裝文件,直至該RAM封裝文件功能正確為止。
在本發(fā)明所舉的第一個實施例中,RAM封裝文件要求當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,仿真機制選擇單元選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,測試分析響應(yīng)單元根據(jù)該仿真機制將接收的寫數(shù)據(jù)信號作為RAM封裝文件期望的數(shù)據(jù)信號,并通過判斷從該RAM封裝文件中讀出的數(shù)據(jù)信號與寫數(shù)據(jù)信號是否一致來驗證該RAM封裝文件的功能與期望的功能是否一致。
在本發(fā)明所舉的第二個實施例中,RAM封裝文件要求當讀使能信號無效時從該RAM封裝文件中讀出的數(shù)據(jù)為全0,仿真機制選擇單元選擇的仿真機制為當讀使能信號無效時從該RAM封裝文件中讀出的數(shù)據(jù)為全0,測試分析響應(yīng)單元根據(jù)該仿真機制將接收的寫數(shù)據(jù)信號轉(zhuǎn)換為0,并通過判斷從該RAM封裝文件中讀出的數(shù)據(jù)信號是否為0來驗證該RAM封裝文件的功能與期望的功能是否一致。
在實際應(yīng)用中,仿真機制選擇單元也可以選擇其他的仿真機制,測試分析響應(yīng)單元根據(jù)選擇的仿真機制將接收的寫數(shù)據(jù)信號轉(zhuǎn)換為期望的數(shù)據(jù)信號,并通過判斷從該RAM封裝文件中讀出的數(shù)據(jù)信號與轉(zhuǎn)換的期望的數(shù)據(jù)信號是否一致來驗證該RAM封裝文件的功能與期望的功能是否一致。這樣的技術(shù)方案與本發(fā)明提供的技術(shù)方案是一致的,應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
在本發(fā)明所舉的這兩個實施例中,對測試激勵產(chǎn)生單元如何產(chǎn)生寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號等各種測試激勵信號并沒有詳細闡述。在實際應(yīng)用中,測試激勵產(chǎn)生單元可以根據(jù)任意算法來產(chǎn)生能夠滿足對應(yīng)RAM封裝文件的任意測試激勵信號,但為了對不同的RAM封裝文件產(chǎn)生不同的測試激勵信號,本發(fā)明利用以下方式來產(chǎn)生測試激勵信號中的讀地址信號、寫地址信號和寫數(shù)據(jù)信號假設(shè)有兩個計數(shù)器,為保證讀地址和寫地址不超過RAM的深度,將兩個計數(shù)器值分別對RAM封裝文件對應(yīng)的RAM深度作取余操作,得到的結(jié)果分別作為RAM封裝文件的讀地址信號和寫地址信號;為了保證寫地址內(nèi)的數(shù)據(jù)不超過RAM的數(shù)據(jù)位寬,將得到的寫地址信號再對以2為底、以RAM數(shù)據(jù)位寬為指數(shù)的冪作取余操作,得到的結(jié)果作為RAM封裝文件的寫數(shù)據(jù)信號。
另外,如果RAM封裝文件要求期望的數(shù)據(jù)信號是由讀地址信號按照一定的算法轉(zhuǎn)換而來的,則在滿足RAM封裝文件要求的情況下,測試響應(yīng)分析單元也可以根據(jù)上述方式,將讀地址信號對以2為底、以RAM數(shù)據(jù)位寬為指數(shù)的冪作取余操作,得到的結(jié)果作為RAM封裝文件期望的數(shù)據(jù)信號,這樣可以保證從讀地址內(nèi)讀出的數(shù)據(jù)不超過RAM的數(shù)據(jù)位寬。
如果需要對具有同一讀寫地址的RAM封裝文件進行仿真,則將上述兩個計數(shù)器的初始值設(shè)為相同即可。按照上述這種方式,可以對所有RAM封裝文件產(chǎn)生測試激勵信號,進而遍歷所有RAM封裝文件的每個地址。
如果還需要遍歷RAM的每個BIT位,則可以控制兩個計數(shù)器的時鐘周期跳變一次,這樣第一個寫時鐘周期按上述算法產(chǎn)生測試激勵信號,第二個寫時鐘周期將產(chǎn)生的測試激勵信號按BIT取反,作為新的測試激勵信號寫入,這樣可以測試每個BIT寫入1和寫入0是否都正常。
從上述內(nèi)容可以看出,本發(fā)明提供的這種對RAM封裝文件進行仿真的仿真平臺及方法,通過配置一個能夠根據(jù)不同仿真機制產(chǎn)生不同測試激勵信號,并根據(jù)產(chǎn)生測試激勵信號的仿真機制來處理測試激勵信號的仿真平臺,使測試人員在對RAM封裝文件進行仿真的過程中,能夠利用該仿真平臺實現(xiàn)對所有RAM封裝文件進行的仿真。
利用本發(fā)明,由于對所有RAM封裝文件都采用統(tǒng)一的仿真平臺進行仿真,測試人員不必對每個RAM封裝文件都編寫一個測試環(huán)境,也不必對整個設(shè)計進行兩次仿真,極大地減小了仿真工作的工作量。同時,由于仿真工作量的減小,大幅降低了仿真工作的人力和時間投入成本。由于對RAM封裝文件的仿真與對邏輯設(shè)計部分的仿真相互獨立,不必等到邏輯設(shè)計部分的仿真接近完成時才啟動對RAM封裝文件的仿真,留給對RAM封裝文件進行仿真的時間非常充足,能夠?qū)AM封裝文件進行充分和完備的仿真。
另外,由于對所有RAM封裝文件都采用統(tǒng)一的仿真平臺進行仿真,可以在各個項目中實現(xiàn)仿真平臺的共享,從而縮短了各個項目的開發(fā)周期,降低了各個項目的開發(fā)成本。同時,由于對RAM封裝文件的仿真與邏輯設(shè)計部分相互獨立,對RAM封裝文件的仿真可以與邏輯設(shè)計部分同時進行,因此可以加速項目開發(fā)的進度。
以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種對隨機存儲器封裝文件進行仿真的仿真平臺,其特征在于,該仿真平臺包括顯示單元,用于將從仿真平臺外部輸入的信息輸出給仿真機制選擇單元,并顯示測試響應(yīng)分析單元輸入的信息;仿真機制選擇單元,用于接收顯示單元輸入的信息,根據(jù)接收的信息選擇仿真機制,并將選擇的仿真機制分別輸出給測試激勵產(chǎn)生單元和測試響應(yīng)分析單元;測試激勵產(chǎn)生單元,用于接收仿真機制選擇單元輸入的仿真機制,產(chǎn)生對各種隨機存儲器RAM封裝文件進行測試的測試激勵信號,并將產(chǎn)生的測試激勵信號分別輸出給RAM封裝文件和測試響應(yīng)分析單元;測試響應(yīng)分析單元,用于根據(jù)接收自仿真機制選擇單元的仿真機制將接收自測試激勵產(chǎn)生單元的測試激勵信號中的寫數(shù)據(jù)信號轉(zhuǎn)換為RAM封裝文件期望的數(shù)據(jù)信號,從RAM封裝文件讀出數(shù)據(jù)信號,判斷從RAM封裝文件讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,并將判斷結(jié)果輸出給顯示單元。
2.根據(jù)權(quán)利要求1所述的仿真平臺,其特征在于,所述的測試激勵信號至少包括寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號。
3.一種對RAM封裝文件進行仿真的方法,所述仿真平臺包括顯示單元、仿真機制選擇單元、測試激勵產(chǎn)生單元和測試響應(yīng)分析單元,其特征在于,該方法包括以下步驟A、選擇仿真機制,產(chǎn)生與仿真機制對應(yīng)的測試激勵信號,并根據(jù)選擇的仿真機制將測試激勵信號中的寫數(shù)據(jù)信號轉(zhuǎn)換成RAM封裝文件期望的數(shù)據(jù)信號;B、將測試激勵信號中的寫數(shù)據(jù)信號寫入RAM封裝文件,并從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號;C、判斷讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,如果是,則該RAM封裝文件功能正確;否則,該RAM封裝文件功能不正確。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟A中所述的選擇仿真機制是仿真平臺的仿真機制選擇單元根據(jù)接收的顯示單元輸入的信息進行的。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,步驟A中所述的產(chǎn)生測試激勵信號,轉(zhuǎn)換寫數(shù)據(jù)信號包括測試激勵產(chǎn)生單元根據(jù)選擇的仿真機制產(chǎn)生全部有效的寫數(shù)據(jù)信號、寫使能信號、寫地址信號、讀使能信號、讀地址信號和時鐘信號;測試激勵產(chǎn)生單元將產(chǎn)生的寫數(shù)據(jù)信號、讀使能信號、讀地址信號和時鐘信號輸出給測試分析響應(yīng)單元,測試分析響應(yīng)單元根據(jù)選擇的仿真機制將寫數(shù)據(jù)信號本身作為RAM封裝文件期望的數(shù)據(jù)信號。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,所述的步驟B包括測試激勵產(chǎn)生單元根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入RAM封裝文件,測試分析響應(yīng)單元根據(jù)產(chǎn)生的讀使能信號、讀地址信號和時鐘信號從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選擇的仿真機制為當讀寫端口的讀寫使能信號有效時對應(yīng)地址的數(shù)據(jù)能夠正常讀出和寫入,所述的步驟C包括測試分析響應(yīng)單元判斷讀出的數(shù)據(jù)信號是否為測試激勵產(chǎn)生單元寫入的寫數(shù)據(jù)信號,如果是,則該RAM封裝文件功能與期望的功能一致,該RAM封裝文件功能正確;否則,該RAM封裝文件功能與期望的功能不一致,該RAM封裝文件功能不正確。
8.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選擇的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,步驟A中所述的產(chǎn)生測試激勵信號,轉(zhuǎn)換寫數(shù)據(jù)信號包括測試激勵產(chǎn)生單元根據(jù)選擇的仿真機制產(chǎn)生寫數(shù)據(jù)信號、寫使能信號、寫地址信號、無效的讀使能信號、讀地址信號和時鐘信號;測試激勵產(chǎn)生單元將產(chǎn)生的寫數(shù)據(jù)信號、無效的讀使能信號、讀地址信號和時鐘信號輸出給測試分析響應(yīng)單元,測試分析響應(yīng)單元根據(jù)選擇的仿真機制將寫數(shù)據(jù)信號轉(zhuǎn)換為0。
9.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選擇的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,所述的步驟B包括測試激勵產(chǎn)生單元根據(jù)產(chǎn)生的寫使能信號、寫地址信號和時鐘信號將產(chǎn)生的寫數(shù)據(jù)信號寫入RAM封裝文件,測試分析響應(yīng)單元根據(jù)產(chǎn)生的無效的讀使能信號、讀地址信號和時鐘信號從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號。
10.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述選擇的仿真機制為當讀使能信號無效時RAM封裝文件要求從RAM封裝文件中讀出的數(shù)據(jù)為全0,所述的步驟C包括測試分析響應(yīng)單元判斷讀出的數(shù)據(jù)信號是否為0,如果是,則該RAM封裝文件功能與期望的功能一致,該RAM封裝文件功能正確;否則,該RAM封裝文件功能與期望的功能不一致,該RAM封裝文件功能不正確。
11.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟A所述產(chǎn)生的測試激勵信號包括讀地址信號、寫地址信號和寫數(shù)據(jù)信號;則所述的產(chǎn)生具體包括設(shè)置兩個計數(shù)器,并將兩個計數(shù)器的值分別對RAM封裝文件對應(yīng)的RAM深度進行取余操作,得到的結(jié)果分別作為RAM封裝文件的讀地址信號和寫地址信號;再將得到的寫地址信號對以2為底、以RAM數(shù)據(jù)位寬為指數(shù)的冪進行取余操作,得到的結(jié)果作為RAM封裝文件的寫數(shù)據(jù)信號。
全文摘要
本發(fā)明公開了一種對RAM封裝文件進行仿真的仿真平臺,包括顯示單元、仿真機制選擇單元、測試激勵產(chǎn)生單元和測試響應(yīng)分析單元。本發(fā)明同時公開了一種對RAM封裝文件進行仿真的方法,包括以下步驟選擇仿真機制,產(chǎn)生測試激勵信號,根據(jù)選擇的仿真機制將測試激勵信號中的寫數(shù)據(jù)信號轉(zhuǎn)換成RAM封裝文件期望的數(shù)據(jù)信號;將寫數(shù)據(jù)信號寫入RAM封裝文件,并從與寫地址具有相同地址的讀地址中讀出數(shù)據(jù)信號;判斷讀出的數(shù)據(jù)信號與期望的數(shù)據(jù)信號是否一致,如果是,則該RAM封裝文件功能正確;否則,該RAM封裝文件功能不正確。利用本發(fā)明,能夠減小仿真的工作量,降低人力和時間投入成本,對RAM封裝文件進行充分和完備的仿真。
文檔編號G06F17/50GK1851716SQ20051009865
公開日2006年10月25日 申請日期2005年9月7日 優(yōu)先權(quán)日2005年9月7日
發(fā)明者李小波 申請人:深圳市海思半導(dǎo)體有限公司