欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

驗證測試用rom的方法

文檔序號:6762278閱讀:867來源:國知局
專利名稱:驗證測試用rom的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種驗證方法,尤其是涉及IC設(shè)計中驗證測試用ROM的方法。
背景技術(shù)
目前,在IC設(shè)計領(lǐng)域,ROM驗證一般采用的是求和的方法來驗證,即比較所有ROM單元中的內(nèi)容的和是否和預(yù)期的所有內(nèi)容的和相等。對于TROM(測試用ROM),程序會在TROM中分配兩個單元來存儲TROM的和的高位和低位以便于成測時進行比較和自測。而該程序本身又會對包含這兩個單元在內(nèi)的所有TROM的單元進行求和。即設(shè)TROM的和被存放在變量TROM_CheckSum_High和TROM_CheckSum_Low中,因為這兩個值本來就是TROM中兩個單元,在對TROM求和的同時也包含對這兩個單元的求和,如果這兩個單元的值改變,TROM的checksum和也會改變,同時,TROM的checksum和的改變也會引起TROM中的這兩個單元的值的改變,這樣就會形成一種循環(huán)。
如何能又快又準確的求整個TROM的和呢?傳統(tǒng)的辦法是用線性逼進的辦法去嘗試,即先估計出TROM的和的大概值,將其填入TROM_CheckSum_High與TROM_CheckSum_Low中,然后再對TROM求和,用求出的和再去修改TROM_CheckSum_High與TROM_CheckSum_Low的值。重復以上過程,直到最后CheckSum的值和TROM_CheckSum_High與TROM_CheckSum_Low中的值吻合為止。
利用這種方法,帶有很大的隨機性,數(shù)據(jù)收斂的快慢與驗證人員的經(jīng)驗有很大關(guān)系。并且,由于驗證采用嘗試的方式進行,對于驗證人員的人力和時間都是一種浪費。

發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的上述不足,提出一種具有較高速度和正確性的驗證測試用ROM的方法。
本發(fā)明的上述目的是通過下述技術(shù)方案實現(xiàn)的首先,在測試用ROM中預(yù)先分配四個存儲單元,分別用來存儲測試用ROM的和的高位和低位以及高位和低位的補碼,在驗證程序初次編譯之前,令存儲高位及高位的補碼的兩個存儲單元的內(nèi)容互補,存儲低位及低位的補碼的兩個存儲單元的內(nèi)容互補;之后,編譯該驗證程序并對其二進制代碼求出測試用ROM的和;接著分別將其和的高位和低位存儲于測試用ROM之中所分配的存儲和的高位和低位的存儲單元中,并分別將其補碼存儲于測試用ROM中預(yù)先分配的存儲和的高位和低位的補碼的存儲單元中;最后,通過編譯修改后的程序并對其二進制代碼求和,利用求出的測試用ROM的和的正確值來判斷測試用ROM的和是否改變,從而驗證測試用ROM的內(nèi)容是否正確。
和現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果由于本發(fā)明采用求補的方法,只需要一次編譯之后就可以求出TROM之和。將該值填入源程序中后,再次編譯之后求和,該和一定和上次所求的和相等。這樣,只需要一次編譯就求出了CheckSum的值,只需要再次編譯,就驗證了CheckSum的正確性,保證了其驗證的快速性和正確性。


圖1是用線性逼進的方法求checksum的示意圖;圖2是本發(fā)明用求補方法求CheckSum的示意圖;具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步描述。
如圖1所示,傳統(tǒng)的線性逼進的方法求checksum時,先估計出TROM的和的大概值,將其填入TROM_CheckSum_High與TROM_CheckSum_Low中,然后再對TROM求和,用求出的和再去修改TROM_CheckSum_High與TROM_CheckSum_Low的值。重復以上過程,直到最后CheckSum的值和TROM_CheckSum_High與TROM_CheckSum_Low中的值吻合為止。
如圖2所示,為了保證TROM的和在填入TROM中的存儲單元之前和之后其和能保持不變,可以在TROM中再分配另外兩個存儲單元,分別用來存儲保存TROM的和的補碼。比如設(shè)A單元用來保存TROM的和的高位,B單元用來保存TROM的和的低位。同時,再另外分配兩個存儲單元C和D,分別用來存儲A和B的補碼,使得A+C=全F,B+D=全F。
在程序編好以后,經(jīng)過編譯,根據(jù)其二進制代碼,求出TROM的和。比如求出的TROM的和的高位為A’低位為B’。則,只要將A’和B’的值填入到相應(yīng)的和的高位和低位的存儲單元中A和B去,同時根據(jù)A’和B’的值,修改相應(yīng)的補碼存儲單元C和D中的值C’和D’,使得A’+C’=全F;B’+D’=全F。
根據(jù)這種方案,只要這四個單元的和保持不變,就可以保證TROM的和不變??梢酝ㄟ^編譯修改過的程序并對其二進制代碼求和來驗證TROM的和是否改變。按照這種方法,可以絕對保證對于修改過后的程序,TROM求出的和與TROM中所保存的和的高位和低位一致。
編程時,不論采用哪種語言實現(xiàn),其基本方法類似。以字長為32位的處理器為例,只要在具體運算之前,對以下變量進行如此初始化Complement_TROM_CheckSum_High=0xffffffff;Complement_TROM_CheckSum_Low=0xffffffff;TROM_CheckSum_High=0;TROM_CheckSum_Low=0;在程序編好以后,編譯該程序,并對相應(yīng)的二進制文件求一次和,假設(shè)求出的和的高32位為TROM_CheckSum_High1,低32位為TROM_CheckSum_Low1,則只要把真正的TROM的和填入相應(yīng)的存儲單元,同時將其補碼的值也做相應(yīng)的改動即可。如下所示TROM_CheckSum_High=TROM_CheckSum_High1;TROM_CheckSum_Low=TROM_CheckSum_Low1;Complement_TROM_CheckSum_High=0xffffffff-TROM_CheckSum_High;Complement_TROM_CheckSum_Low=0xffffffff-TROM_CheckSum_Low;利用這種方法,TROM的和在修改前后一定沒有變,所以TROM的和不需要再重復求出,該值就可以作為TROM的和的正確值來驗證TROM。只要將TROM中的各個單元的內(nèi)容相加,得出的值與TROM的和的正確值相比較即可驗證TROM中的內(nèi)容是否正確。
權(quán)利要求
1.一種驗證測試用ROM的方法,其特征在于首先,在測試用ROM中預(yù)先分配四個存儲單元,分別用來存儲測試用ROM的和的高位和低位以及高位和低位的補碼,在驗證程序初次編譯之前,令存儲高位及高位的補碼的兩個存儲單元的內(nèi)容互補,存儲低位及低位的補碼的兩個存儲單元的內(nèi)容互補;之后,編譯該驗證程序并對其二進制代碼求出測試用ROM的和;接著分別將其和的高位和低位存儲于測試用ROM之中所分配的存儲和的高位和低位的存儲單元中,并分別將其補碼存儲于測試用ROM中預(yù)先分配的存儲和的高位和低位的補碼的存儲單元中;最后,通過編譯修改后的程序并對其二進制代碼求和,利用求出的測試用ROM的和的正確值來判斷測試用ROM的和是否改變,從而驗證測試用ROM的內(nèi)容是否正確。
全文摘要
本發(fā)明公開了一種驗證測試用ROM的方法,利用本方法可提高驗證測試用ROM的速度和正確性。在測試用ROM中預(yù)先分配四個存儲單元,用來存儲測試用ROM的和的高位和低位以及高位和低位的補碼,并令存儲高位及高位的補碼的兩個存儲單元的內(nèi)容以及存儲低位及低位的補碼的兩個存儲單元的內(nèi)容互補;編譯驗證程序并對其二進制代碼求出測試用ROM的和;接著分別將其和的高位和低位存儲于測試用ROM所分配的存儲和的高位和低位的存儲單元中,并分別將其補碼存儲于測試用ROM中所分配的存儲和的高位和低位的補碼的存儲單元中;最后通過編譯修改后的程序并對其二進制代碼求和,利用求出的測試用ROM的和的正確值來判斷測試用ROM的和是否改變,從而驗證測試用ROM的內(nèi)容是否正確。
文檔編號G11C29/00GK1641795SQ200410015919
公開日2005年7月20日 申請日期2004年1月17日 優(yōu)先權(quán)日2004年1月17日
發(fā)明者蔣英 申請人:上海華虹集成電路有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
盐山县| 台中县| 连平县| 都匀市| 夏津县| 孝昌县| 周口市| 雷山县| 英山县| 大埔县| 凤冈县| 丹江口市| 广昌县| 眉山市| 怀化市| 南郑县| 连州市| 仙游县| 温州市| 北京市| 清流县| 汉阴县| 临澧县| 包头市| 雷州市| 宜丰县| 沈丘县| 内黄县| 南岸区| 宾川县| 吉木乃县| 建昌县| 金门县| 涞源县| 迭部县| 南宁市| 武隆县| 双桥区| 高雄县| 彭阳县| 西吉县|