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

一種寄存器讀寫(xiě)的測(cè)試方法和裝置與流程

文檔序號(hào):12363338閱讀:626來(lái)源:國(guó)知局
本發(fā)明涉及電子信息
技術(shù)領(lǐng)域
,尤其涉及一種寄存器讀寫(xiě)的測(cè)試方法和裝置。
背景技術(shù)
:隨著數(shù)字芯片規(guī)模的增加、集成度的提高,芯片項(xiàng)目中驗(yàn)證工作的工作量也隨之增加。據(jù)業(yè)界統(tǒng)計(jì),芯片驗(yàn)證工作量約占整個(gè)芯片項(xiàng)目開(kāi)發(fā)周期的70%,提高驗(yàn)證效率是縮短項(xiàng)目開(kāi)發(fā)周期的必由之路。研究表明,驗(yàn)證自動(dòng)化、驗(yàn)證模塊標(biāo)準(zhǔn)化已經(jīng)成為芯片驗(yàn)證領(lǐng)域一個(gè)重要的技術(shù)方向發(fā)展。驗(yàn)證自動(dòng)化解決了對(duì)于數(shù)量龐大的驗(yàn)證對(duì)象進(jìn)行相同的、重復(fù)性的檢測(cè)問(wèn)題,有效地幫助驗(yàn)證工程師避免了大量的簡(jiǎn)單重復(fù)性勞動(dòng),節(jié)約了驗(yàn)證流程的時(shí)間。寄存器讀寫(xiě)測(cè)試是芯片仿真過(guò)程中的一項(xiàng)基本任務(wù)。對(duì)于不同的驗(yàn)證環(huán)境,寄存器讀寫(xiě)有不同的測(cè)試方式。公開(kāi)于該
背景技術(shù)
部分的信息僅僅旨在增加對(duì)本發(fā)明的總體背景的理解,而不應(yīng)當(dāng)被視為承認(rèn)或以任何形式暗示該信息構(gòu)成已為本領(lǐng)域一般技術(shù)人員所公知的現(xiàn)有技術(shù)。技術(shù)實(shí)現(xiàn)要素:技術(shù)問(wèn)題有鑒于此,本發(fā)明要解決的技術(shù)問(wèn)題是,如何提供一種寄存器讀寫(xiě)的測(cè)試方法和裝置,能夠自動(dòng)且高效的測(cè)試寄存器的讀寫(xiě)性能。解決方案為解決以上技術(shù)問(wèn)題,本發(fā)明在第一方面提供一種寄存器讀寫(xiě)的測(cè)試方法,包括:通過(guò)Perl腳本提取輸入文件中與寄存器的讀寫(xiě)特性相關(guān)的信息,所述輸入文件包括Excel格式文件;根據(jù)所述與寄存器的讀寫(xiě)特性相關(guān)的信息生成輸出文件,所述輸出文件包括.h文件和C代碼文件;調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,包括:判斷所述寄存器的值與所述輸入文件中的復(fù)位值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,在一種可能的實(shí)現(xiàn)方式中,調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,包括:提取出讀寫(xiě)權(quán)限為可讀可寫(xiě)類(lèi)型的寄存器;對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為1;對(duì)賦值后的所述可讀可寫(xiě)類(lèi)型的寄存器進(jìn)行讀操作;判斷讀取出的所述可讀可寫(xiě)類(lèi)型的寄存器的值是否為1,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,包括:提取出讀寫(xiě)權(quán)限為可讀可寫(xiě)類(lèi)型的寄存器;對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為0;對(duì)賦值后的所述可讀可寫(xiě)類(lèi)型的寄存器進(jìn)行讀操作;判斷讀取出的所述可讀可寫(xiě)類(lèi)型的寄存器的值是否為0,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述.h文件包括宏變量的定義。為解決以上技術(shù)問(wèn)題,本發(fā)明在第二方面提供一種寄存器讀寫(xiě)的測(cè)試裝置,包括:處理模塊,用于通過(guò)Perl腳本提取輸入文件中與寄存器的讀寫(xiě)特性相關(guān)的信息,所述輸入文件包括Excel格式文件;輸出模塊,用于根據(jù)所述與寄存器的讀寫(xiě)特性相關(guān)的信息生成輸出文件,所述輸出文件包括.h文件和C代碼文件;檢測(cè)模塊,用于調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)模塊用于:判斷所述寄存器的值與所述輸入文件中的復(fù)位值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,在一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)模塊用于:提取出讀寫(xiě)權(quán)限為可讀可寫(xiě)類(lèi)型的寄存器;對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為1;對(duì)賦值后的所述可讀可寫(xiě)類(lèi)型的寄存器進(jìn)行讀操作;判斷讀取出的所述可讀可寫(xiě)類(lèi)型的寄存器的值是否為1,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)模塊用于:提取出讀寫(xiě)權(quán)限為可讀可寫(xiě)類(lèi)型的寄存器;對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為0;對(duì)賦值后的所述可讀可寫(xiě)類(lèi)型的寄存器進(jìn)行讀操作;判斷讀取出的所述可讀可寫(xiě)類(lèi)型的寄存器的值是否為0,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述.h文件包括宏變量的定義。有益效果本發(fā)明提供的一種寄存器讀寫(xiě)的測(cè)試方法,通過(guò)Perl腳本提取輸入文件中與寄存器的讀寫(xiě)特性相關(guān)的信息,所述輸入文件包括Excel格式文件;根據(jù)所述與寄存器的讀寫(xiě)特性相關(guān)的信息生成輸出文件,所述輸出文件包括.h文件和C代碼文件;調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,能夠自動(dòng)且高效的測(cè)試寄存器的讀寫(xiě)性能。根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說(shuō)明,本發(fā)明的其它特征及方面將變得清楚。附圖說(shuō)明包含在說(shuō)明書(shū)中并且構(gòu)成說(shuō)明書(shū)的一部分的附圖與說(shuō)明書(shū)一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。圖1示出本發(fā)明實(shí)施例提供的一種寄存器讀寫(xiě)的測(cè)試方法的流程圖;圖2示出步驟S2的流程圖;圖3示出本發(fā)明實(shí)施例提供的一種寄存器讀寫(xiě)的測(cè)試裝置10的結(jié)構(gòu)示意圖。具體實(shí)施方式下面結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)描述,但應(yīng)當(dāng)理解本發(fā)明的保護(hù)范圍并不受具體實(shí)施方式的限制。為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。除非另有其它明確表示,否則在整個(gè)說(shuō)明書(shū)和權(quán)利要求書(shū)中,術(shù)語(yǔ)“包括”或其變換如“包含”或“包括有”等等將被理解為包括所陳述的元件或組成部分,而并未排除其它元件或其它組成部分。在這里專(zhuān)用的詞“示例性”意為“用作例子、實(shí)施例或說(shuō)明性”。這里作為“示例性”所說(shuō)明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。另外,為了更好的說(shuō)明本發(fā)明,在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒(méi)有某些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。實(shí)施例1圖1示出本發(fā)明實(shí)施例提供的一種寄存器讀寫(xiě)的測(cè)試方法的流程圖,如圖1所示,該方法包括:步驟S1、通過(guò)Perl腳本提取輸入文件中與寄存器的讀寫(xiě)特性相關(guān)的信息,所述輸入文件包括Excel格式文件。寄存器讀寫(xiě)測(cè)試的輸入文件的格式為Excel表格。該文件記錄了寄存器的各種參數(shù)信息:基地址、偏移地址、位寬、讀寫(xiě)權(quán)限、復(fù)位值等。其中定義的工作組名及列名是固定不可被修改的,其余沒(méi)有定義的列名的信息不會(huì)被腳本提取。文件的主要內(nèi)容可分為兩個(gè)部分。第一個(gè)部分,名為“BASEADDRESS”的工作組。該頁(yè)記錄的是宏變量的定義,這些變量將被最終輸出文件C代碼使用。其中每個(gè)模塊的基地址需要在此被定義為宏變量。例,下表為“BASEADDRESS”工作組中定義的宏變量。第一行的“Segment”和“Address”為列名,不可被修改。這里一共定義了六個(gè)宏變量,“Segment”列下的參數(shù)為宏變量名,是DUT模塊的名字?!癆ddress”列下的參數(shù)為宏變量的值,是DUT模塊的基地址,地址數(shù)據(jù)應(yīng)滿足C代碼的語(yǔ)法規(guī)則。SegmentAddressSDIO0x40000000HSPI0x40000200WRAPPER0x40000300DMA0x40000400PMU0x40000600CLKRST0x40000700表1第二部分,記錄的是各個(gè)DUT模塊中寄存器的詳細(xì)參數(shù)。每一個(gè)DUT模塊都將單獨(dú)占有一個(gè)工作組,這個(gè)工作組的名字需要與第一部分定義的相應(yīng)的宏變量的名相同。因?yàn)樗鼘⑴c其中的偏移地址一起決定組內(nèi)寄存器的絕對(duì)地址,參與到測(cè)試中。在這類(lèi)工作組定義了五個(gè)列名:Addr:記錄的是當(dāng)前寄存器的偏移地址,被設(shè)置的參數(shù)應(yīng)滿足C代碼的語(yǔ)法規(guī)則。RegisterName:記錄的是當(dāng)前寄存器的名字。Width:記錄的是寄存器中某些字段的比特起始位,如[7:0]R/W:記錄的是寄存器相應(yīng)字段的讀寫(xiě)權(quán)限。如,表示可讀可寫(xiě)的參數(shù)RW(R/W)、只讀、只寫(xiě)等讀寫(xiě)權(quán)限。Default:記錄的是寄存器相應(yīng)字段的復(fù)位值。例,下表所示為寄存器讀寫(xiě)測(cè)試輸入文件的第二部分內(nèi)容的例子。表2步驟S2、根據(jù)所述與寄存器的讀寫(xiě)特性相關(guān)的信息生成輸出文件,所述輸出文件包括.h文件和C代碼文件。圖2示出步驟S2的流程圖,如圖2所示,本步驟可以包括:遍歷工作組和列,根據(jù)列位置提取參數(shù),提取工作組名,在提取參數(shù)完成后生成輸出文件,使用提取出來(lái)的參數(shù)編輯相應(yīng)的C代碼及.h文件。該些步驟對(duì)應(yīng)的程序,存儲(chǔ)于名為T(mén)ool的庫(kù)中,待頂層程序調(diào)用。步驟S3、調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。本步驟可以包括復(fù)位值的檢測(cè),具體包括通過(guò)中央處理器CPU對(duì)寄存器的讀的方式,比對(duì)寄存器的值是否與Excel表格中設(shè)置的復(fù)位值相同。該部分檢測(cè)需在仿真啟動(dòng)之后進(jìn)行。如果寄存器的讀寫(xiě)權(quán)限為“只寫(xiě)”,則不進(jìn)行復(fù)位值的檢查。本步驟可以包括寫(xiě)1的檢測(cè),具體包括腳本首先需要對(duì)寄存器的讀寫(xiě)權(quán)限進(jìn)行鑒別,從而提取出讀寫(xiě)權(quán)限為“可讀可寫(xiě)”(RW)類(lèi)型的寄存器。然后通過(guò)CPU對(duì)該寄存器進(jìn)行全“1”的賦值,即對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為1,再回讀該寄存器,比對(duì)讀取的結(jié)果是否是寫(xiě)入的全“1”的值,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。本步驟可以包括寫(xiě)0檢測(cè),腳本首先同樣需要對(duì)寄存器的讀寫(xiě)權(quán)限進(jìn)行鑒別,提取出讀寫(xiě)權(quán)限為“可讀可寫(xiě)”(RW)類(lèi)型的寄存器。然后通過(guò)CPU對(duì)該寄存器進(jìn)行全“0”的賦值,即對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為0,再回讀該寄存器,比對(duì)讀取的結(jié)果是否是寫(xiě)入的全“0”的值,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。寄存器讀寫(xiě)權(quán)限的鑒別,腳本只將RW認(rèn)為是可讀可寫(xiě)。對(duì)于其他的設(shè)置值(如,R/W,WO等)腳本都不對(duì)其進(jìn)行寫(xiě)1寫(xiě)0的讀寫(xiě)操作。實(shí)施例2圖3示出本發(fā)明實(shí)施例提供的一種寄存器讀寫(xiě)的測(cè)試裝置10的結(jié)構(gòu)示意圖,如圖3所示,該裝置10包括:處理模塊110、輸出模塊120和檢測(cè)模塊130。處理模塊110,用于通過(guò)Perl腳本提取輸入文件中與寄存器的讀寫(xiě)特性相關(guān)的信息,所述輸入文件包括Excel格式文件。輸出模塊120,用于根據(jù)所述與寄存器的讀寫(xiě)特性相關(guān)的信息生成輸出文件,所述輸出文件包括.h文件和C代碼文件。檢測(cè)模塊130,用于調(diào)用所述輸出文件,判斷所述寄存器的值與所述輸入文件中對(duì)應(yīng)的值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)模塊130具體用于:判斷所述寄存器的值與所述輸入文件中的復(fù)位值是否相同,并且在所述判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤,在一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)模塊130具體用于:提取出讀寫(xiě)權(quán)限為可讀可寫(xiě)類(lèi)型的寄存器;對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為1;對(duì)賦值后的所述可讀可寫(xiě)類(lèi)型的寄存器進(jìn)行讀操作;判斷讀取出的所述可讀可寫(xiě)類(lèi)型的寄存器的值是否為1,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述檢測(cè)模塊130具體用于:提取出讀寫(xiě)權(quán)限為可讀可寫(xiě)類(lèi)型的寄存器;對(duì)所述可讀可寫(xiě)類(lèi)型的寄存器的值賦值為0;對(duì)賦值后的所述可讀可寫(xiě)類(lèi)型的寄存器進(jìn)行讀操作;判斷讀取出的所述可讀可寫(xiě)類(lèi)型的寄存器的值是否為0,并且在判斷結(jié)果為否時(shí),將所述寄存器的讀寫(xiě)判斷為存在錯(cuò)誤。在一種可能的實(shí)現(xiàn)方式中,所述.h文件包括宏變量的定義。前述對(duì)本發(fā)明的具體示例性實(shí)施方案的描述是為了說(shuō)明和例證的目的。這些描述并非想將本發(fā)明限定為所公開(kāi)的精確形式,并且很顯然,根據(jù)上述教導(dǎo),可以進(jìn)行很多改變和變化。對(duì)示例性實(shí)施例進(jìn)行選擇和描述的目的在于解釋本發(fā)明的特定原理及其實(shí)際應(yīng)用,從而使得本領(lǐng)域的技術(shù)人員能夠?qū)崿F(xiàn)并利用本發(fā)明的各種不同的示例性實(shí)施方案以及各種不同的選擇和改變。本發(fā)明的范圍意在由權(quán)利要求書(shū)及其等同形式所限定。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
收藏| 开封县| 松潘县| 卢氏县| 射阳县| 甘德县| 德格县| 基隆市| 息烽县| 哈尔滨市| 鸡泽县| 湘阴县| 旬邑县| 泰来县| 积石山| 凤翔县| 揭东县| 东丰县| 教育| 昭苏县| 聊城市| 鲁甸县| 吉林省| 中山市| 门源| 汤阴县| 黎川县| 井冈山市| 大余县| 浦东新区| 泗水县| 唐河县| 夏河县| 浮梁县| 普定县| 佳木斯市| 湖口县| 长岛县| 积石山| 登封市| 鲁山县|