新四季網

一種寄存器的驗證方法與流程

2023-06-28 13:57:11


本發明屬於電子的技術領域,特別涉及寄存器的驗證方法。



背景技術:

在驗證寄存器是否能正常配置時,需要從幾個方面驗證才能保證驗證的完備性。這幾個方面如下:1、寄存器默認值的驗證,即在DUT初始化後,讀取寄存器值,判斷讀取的值是否等於設計時所配置的初始值,不等則證明寄存器有錯;2、寄存器之間是否有粘連的驗證,即正常情況下對一個寄存器進行賦值,不會影響到其他寄存器值,但是當發生寄存器之間的粘連時,寄存器之間就不再有獨立性,對其中某個寄存器進行賦值操作,就會影響到其他寄存器的值;3、同一寄存器中比特位之間的粘連,即正常情況下對一個寄存器中某一位進行置位或清零操作,不會影響到其他比特位,但是當發生寄存器內部比特位之間的粘連時,比特位之間的獨立性就不存在了,對其中某個位進行置位或清零操作,就會影響到其他比特位的值。目前的方法有兩個:

第一種方法:

1.向寄存器中寫入……01010101格式的二進位數據;

2.從該寄存器中讀取數據,讀取的結果為……01010101格式的二進位數據;

3.向該寄存器中寫入……10101010格式的二進位數據;

4.從該寄存器中讀取數據,讀取的結果為……10101010格式的二進位數據;

5.向寄存器中寫入…..00000001格式的二進位數據;

6.從該寄存器中讀取數據,讀取的結果為…..00000001格式的二進位數據;

7.將…..00000001格式的二進位數據左移1位,然後寫入寄存器中;

8.從該寄存器中讀取數據,讀取結果為…..00000010格式的二進位數據;

9.重複7、8的左移操作直到二進位數中唯一地1被移到寄存器的最高位,每次左移後將得到的二進位數據寫入寄存器中,然後從該寄存器中讀出,讀取的數據與寫入的相同。

第一種方法的第1、2、3、4步用於驗證寄存器中相鄰比特位之間是否存在粘連;第5、6、7、8、9步用於驗證寄存器中不相鄰比特位之間是否存在粘連。

統計一下使用第一種方法時每個寄存器被讀寫的次數,假設寄存器的位寬為32,則1、2步中寄存器要被分別讀寫1次,3、4步中寄存器要被分別讀寫1次,5、6、7、8、9步中寄存器要被分別讀寫32次,因此整個過程寄存器要被分別讀寫34次。如果存在許多寄存器,那麼讀寫的操作就相當多了。因此通常使用方法1時會在驗證不相鄰比特位粘連時減少寄存器的驗證數量,只驗證隨機挑選的若干個寄存器,這樣做可以明顯減少讀寫操作。但是隨機挑選寄存器顯然是不完備的,因為這是把發現錯誤的可能性交給了運氣。

第二種方法:

1.向寄存器中寫入……..00000001格式的二進位數據;

2.從該寄存器中讀取數據,讀取的結果為…..00000001格式的二進位數據;

3.將…..00000001格式的二進位數據左移1位,然後寫入寄存器中;

4.從該寄存器中讀取數據,讀取結果為…..00000010格式的二進位數據;

5.重複3、4的左移操作直到二進位數中唯一地1被移到寄存器的最高位,每次左移後將得到的二進位數據寫入寄存器中,然後從該寄存器中讀出,讀取的數據與寫入的相同。

方法2與方法1的不同是它沒有了方法1中的1-4步,之所以這樣做是因為分析了方法1後發現方法1中5~9步操作本身就可以用來驗證相鄰比特位之間的粘連。

統計一下方法2中寄存器被讀寫的次數,假設寄存器的位寬為32,則1~5步中寄存器要被分別讀寫32次。如果存在許多寄存器,仍然是需要非常多的讀寫操作。如果也和方法1中一樣採用隨機挑選寄存器進行驗證的話,同樣會遇到驗證不完備的問題,而且有可能驗證效果會更差,因為相鄰比特之間粘連的改路要遠大於不相鄰比特之間的粘連,使用方法1至少還可以保證相鄰比特之間不會出現粘連,而方法2在相鄰比特之間是否粘連以及不相鄰比特之間是否粘連這兩個方面都不能保證。

專利申請201410440069.6公開了一種基於UVM驗證方法學的只讀寄存器驗證測試平臺,包括:一基於UVM驗證方法學的測試框架,其包括UVM測試序列,UVM序列發生器;一待測設計模塊,其為具有寄存器及寄存器讀寫總線接口的數字設計模塊;所述基於UVM驗證方法學的測試框架通過寄存器讀寫總線接口與待測設計模塊相連接;所述UVM測試序列能夠調用UVM序列發生器,所述UVM序列發生器通過寄存器讀寫總線接口驅動待測設計模塊;所述UVM測試序列通過VPI接口對待測設計模塊內部信號進行賦值改寫。本發明還公開了一種基於UVM驗證方法學的只讀寄存器驗證方法。本發明能有效提高驗證效率,增加驗證可信度。

然而是只讀寄存器驗證測試平臺及驗證方法,該方法是通過特定的VPI接口結合UVM序列發生器對寄存器進行驗證,仍然沒有解決上述問題。



技術實現要素:

為解決上述問題,本發明的目的在於提供一種寄存器的驗證方法,該方法既能驗證比特組之間沒有粘連,又能證明比特組內部的比特位之間沒有粘連,能夠有效地提高寄存器的驗證效率,縮短驗證周期。

為實現上述目的,本發明的技術方案如下。

一種寄存器的驗證方法,其特徵在於該方法首先將寄存器的比特位分成多組(2組或2組以上),每組構成一個比特群,然後設一個二進位數據,將二進位數據依次寫入比特群,然後讀寄存器的讀出值,如果讀出值不相同,則驗證組間沒有粘連;驗證組間沒有粘連後,使用多組(2組以上)二進位數據向所有分組分別寫入,然後讀寄存器的讀出值,如果讀出值不相同,則驗證組內沒有粘連。

寫入二進位數據時,每組比特群均比上一組比特群向左偏移一定的比特位,所述偏移一定的比特位,是按照每組的比特位寬度決定的,如果每組比特群包含有4個比特位,則偏移的比特位是四個,依次類推。

所述二進位數據是根據寄存器的寬度決定的,如果寄存器是32位的,則二進位數據也是32位的。

所述比特群,其所包含的比特位可以依據情況分為4個比特位、8個比特位、16個比特位,以此類推。

驗證組內沒有粘連,所使用的二進位數據的長度是由分組的比特群中比特位的長度決定的。

進一步,所述當每組的比特位是4個時,二進位數據為1010、0101、1100;8個比特位時,要確認組中比特位之間沒有粘連,使用四組二進位數:10101010、01010101、11001100、00001111;16個比特位,要確認組中比特位之間沒有粘連,使用五組二進位數:1010_1010_1010_1010、0101_0101_0101_0101、1100_1100_1100_1100、1111_0000_1111_0000、1111_1111_0000_0000。

本發明所實現的寄存器驗證方法既能驗證比特組之間沒有粘連,又能證明比特組內部的比特位之間沒有粘連,能夠有效地提高寄存器的驗證效率,縮短驗證周期。

附圖說明

圖1是本方面所實施方式一的寄存器寬度分布圖。

圖2是本發明所實施方式二的寄存器寬度分布圖。

圖3是本發明所實施方式三的寄存器寬度分布圖。

具體實施方式

為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。

如圖1所示,設寄存器的寬度為32比特,將比特位以4個位一組,分為8組。

設一個32位二進位數據a=0000_0000_0000_0000_0000_0000_0000_1111。

1.將a寫入寄存器,然後讀出得到讀出值b=0000_0000_0000_0000_0000_0000_0000_1111,這說明寄存器的第8分組的比特群與其餘分組的比特群之間沒有粘連。

2.將a左移4位得,a1=0000_0000_0000_0000_0000_0000_1111_0000,將a1寫入寄存器,然後讀寄存器得讀出值b1=0000_0000_0000_0000_0000_0000_1111_0000,這說明寄存器的第7分組的比特群與其餘分組之間沒有粘連。

3.繼續將a1左移4位得,a2=0000_0000_0000_0000_0000_1111_0000_0000,將a2寫入寄存器,然後讀寄存器得讀出值b2=0000_0000_0000_0000_0000_1111_0000_0000,這說明寄存器的第6分組的比特群與其餘分組之間沒有粘連。

4.繼續將a2左移4位得,a3=0000_0000_0000_0000_1111_0000_0000_0000,將a3寫入寄存器,然後讀寄存器得讀出值b3=0000_0000_0000_0000_1111_0000_0000_0000,這說明寄存器的第5分組的比特群與其餘分組之間沒有粘連。

5.繼續將a3左移4位得,a4=0000_0000_0000_1111_0000_0000_0000_0000,將a4寫入寄存器,然後讀寄存器得讀出值b4=0000_0000_0000_1111_0000_0000_0000_0000,這說明寄存器的第4分組的比特群與其餘分組之間沒有粘連。

6.繼續將a4左移4位得,a5=0000_0000_1111_0000_0000_0000_0000_0000,將a5寫入寄存器,然後讀寄存器得讀出值b5=0000_0000_1111_0000_0000_0000_0000_0000,這說明寄存器的第3分組的比特群與其餘分組之間沒有粘連。

7.繼續將a5左移4位得,a6=0000_1111_0000_0000_0000_0000_0000_0000,將a6寫入寄存器,然後讀寄存器得讀出值b6=0000_1111_0000_0000_0000_0000_0000_0000,這說明寄存器的第2分組的比特群與其餘分組之間沒有粘連。

8.繼續將a6左移4位得,a7=1111_0000_0000_0000_0000_0000_0000_0000,將a7寫入寄存器,然後讀寄存器得讀出值b7=1111_0000_0000_0000_0000_0000_0000_0000,這說明寄存器的第1分組的比特群與其餘分組之間沒有粘連。

上面證明各組比特群之間沒有粘連,還需要證明每組比特群內部的比特位之間沒有粘連。

每個組中有4個比特位,要確認組中比特位之間沒有粘連,需要驗證相鄰比特位之間沒有粘連以及相間比特位之間沒粘連。要證明這兩點可以使用三組二進位數:1010、0101、1100。因此在證明組間沒有粘連後,可以向所有分組分別寫入1010、0101、1100,既可以驗證組內沒有粘連,操作如下:

1.向寄存器中寫入二進位數據1010_1010_1010_1010_1010_1010_1010_1010,然後讀該寄存器得二進位數據1010_1010_1010_1010_1010_1010_1010_1010。

2.向寄存器中寫入二進位數據0101_0101_0101_0101_0101_0101_0101_0101,然後讀該寄存器得二進位數據0101_0101_0101_0101_0101_0101_0101_0101。

3.向寄存器中寫入二進位數據1100_1100_1100_1100_1100_1100_1100_1100,然後讀該寄存器得二進位數據1100_1100_1100_1100_1100_1100_1100_1100。

統計一下當寄存器的寬度為32比特時,以4個位一組,分成8組進行驗證時,所需對寄存器的讀寫次數n=8+3=11。和現有技術中的第一種方法、第二種方法相比有明顯的優勢,所需讀寫次數大大降低,第二種方法需要32次,而新方法只需11次,效率提升了3倍。

在驗證組間粘連時寄存器的讀寫次數與分組數有關。如果成倍的減少分組數,就可以成倍的減少寄存器的讀寫次數。

如圖2所示,繼續改進,本發明的實施方式二設寄存器的寬度為32比特,將比特位以8個為一組,分為4組。

設一個32位二進位數據a=00000000_00000000_00000000_11111111

1.將a寫入寄存器,然後讀出得到讀出值b=00000000_00000000_00000000_11111111,這說明寄存器的第4分組的比特群與其餘分組之間沒有粘連。

2.將a左移8位得,a1=00000000_00000000_11111111_00000000,將a寫入寄存器,然後讀出得到讀出值b1=00000000_00000000_11111111_00000000,這說明寄存器的第3分組的比特群與其餘分組之間沒有粘連。

3.將a1左移8位得,a2=00000000_11111111_00000000_00000000,將a寫入寄存器,然後讀出得到讀出值b2=00000000_11111111_00000000_00000000,這說明寄存器的第2分組的比特群與其餘分組之間沒有粘連。

4.將a2左移8位得,a3=11111111_00000000_00000000_00000000,將a寫入寄存器,然後讀出得到讀出值b3=11111111_00000000_00000000_00000000,這說明寄存器的第1分組的比特群與其餘分組之間沒有粘連。

上面證明比特組之間沒有粘連,還需要證明比特組內部的比特位之間沒有粘連。

每個組中有8個比特位,要確認組中比特位之間沒有粘連,需要驗證相鄰比特位之間沒有粘連以及相間比特位之間沒有粘連。要證明這兩點可以使用四組二進位數:10101010、01010101、11001100、00001111。

因此在證明組間沒有粘連後,可以向所有分組分別寫入10101010、01010101、11001100、00001111,即可驗證組內沒有粘連,操作如下:

1.向寄存器中寫入二進位數據10101010_10101010_10101010_10101010,然後讀該寄存器得二進位數據10101010_10101010_10101010_10101010;

2.向寄存器中寫入二進位數據01010101_01010101_01010101_01010101,然後讀該寄存器得二進位數據01010101_01010101_01010101_01010101;

3.向寄存器中寫入二進位數據11001100_11001100_11001100_11001100,然後讀該寄存器得二進位數據11001100_11001100_11001100_11001100。

4.向寄存器中寫入二進位數據00001111_00001111_00001111_00001111,然後讀該寄存器得二進位數據00001111_00001111_00001111_00001111。

統計一下當寄存器的寬度為32位,以8個比特為一組,分成4組進行驗證時,所需對寄存器的平均讀寫次數n=4+4=8。與4個為1組相比,8個為1組減少了3次讀寫操作。與第二種方法相比效率提升了4倍。

進一步改進,如圖3所示,本發明的實施方式三設寄存器的寬度為32比特,將比特位以16個為一組,分為2組。

設一個32位二進位數據a=0000000000000000_1111111111111111

1.將a寫入寄存器,然後讀出得到讀出值b=0000000000000000_1111111111111111,這說明寄存器的第2分組的比特群與第1分組之間沒有粘連。

2.第1組不需要驗證。

上面證明比特組之間沒有粘連,還需要證明比特組內部的比特位之間沒有粘連。

每個組中有16個比特位,要確認組中比特位之間沒有粘連,需要驗證相鄰比特位之間沒有粘連以及相間比特位之間沒有粘連。要證明這兩點可以使用五組二進位數:1010_1010_1010_1010、0101_0101_0101_0101、1100_1100_1100_1100、1111_0000_1111_0000、1111_1111_0000_0000。

因此在證明組間沒有粘連後,可以向所有分組分別寫入1010_1010_1010_1010、0101_0101_0101_0101、1100_1100_1100_1100、1111_0000_1111_0000、1111_1111_0000_0000,即可驗證組內沒有粘連,操作如下:

1.向寄存器中寫入二進位數據1010_1010_1010_1010_1010_1010_1010_1010,然後讀該寄存器得二進位數據1010_1010_1010_1010_1010_1010_1010_1010。

2.向寄存器中寫入二進位數據0101_0101_0101_0101_0101_0101_0101_0101,然後讀該寄存器得二進位數據0101_0101_0101_0101_0101_0101_0101_0101。

3.向寄存器中寫入二進位數據1100_1100_1100_1100_1100_1100_1100_1100,然後讀該寄存器得二進位數據1100_1100_1100_1100_1100_1100_1100_1100。

4.向寄存器中寫入二進位數據1111_0000_1111_0000_1111_0000_1111_0000,然後讀該寄存器得二進位數據1111_0000_1111_0000_1111_0000_1111_0000。

5.向寄存器中寫入二進位數據1111_1111_0000_0000_1111_1111_0000_0000,然後讀該寄存器得二進位數據1111_1111_0000_0000_1111_1111_0000_0000。

統計一下當寄存器的寬度為32位,以16個比特為一組,分成2組進行驗證時,所需對寄存器的平均讀寫次數n=1+5=6。與8個為1組相比,4個為1組減少了1次讀寫操作。與第二種方法相比效率提升了5倍。

以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀