本發(fā)明涉及芯片測試領(lǐng)域,更具體地涉及一種基于usb3.0的內(nèi)置自測試的方法。
背景技術(shù):
1、現(xiàn)在常用的基于usb3.0的內(nèi)置自測試技術(shù)主要是通過在pcs(物理編碼子層)中增加prbs(偽隨機二進制序列)生成器和檢測器來完成bist(內(nèi)置自測試)的功能。
2、prbs生成器通常由lfsr(線性反饋移位寄存器)和異或電路構(gòu)成,通過選取本原多項式以及seed(種子值)用以生成對應(yīng)偽隨機二進制序列,這種方法可以用來模擬真實的數(shù)據(jù)流。
3、prbs檢測器通常包含了內(nèi)部prbs生成器和檢測電路,prbs檢測器的內(nèi)部prbs生成器和外部的prbs生成器通常擁有相同的本原多項式和seed,從而使得內(nèi)部prbs生成器生成的prbs與接收到的prbs(外部的prbs生成器)進行對比,用以判斷接收的數(shù)據(jù)是否正確。
4、用上述方法雖然可以模擬出真實的數(shù)據(jù)流,但在上述該當中數(shù)據(jù)直入直出,且在中不包含控制字符(控制字符一般需要包含com字符,此字符用于數(shù)據(jù)對齊,而com字符是指經(jīng)過8b/10b編碼后的k28.5),因此無法遍歷pcs的所有數(shù)據(jù)模塊,也即使得自測試的數(shù)據(jù)的復雜度較低且不能完成一些特定功能的測試,不能模擬實際的工作狀況。
5、因此,現(xiàn)有的基于usb3.0的內(nèi)置自測試技術(shù)中,prbs生成器雖然可以生成偽隨機序列,但是真實的數(shù)據(jù)包中只有有效載荷數(shù)據(jù)可以被看做是類似于prbs生成器生成的偽隨機序列,而實際的數(shù)據(jù)包通常包含包頭、有效載荷、ecc和結(jié)尾等組成,也即是單純的偽隨機序列不能完整的體現(xiàn)整個數(shù)據(jù)包的結(jié)構(gòu),也無法驗證pcs中針對數(shù)據(jù)流的所有模塊,存在自測試覆蓋率不全的問題。
6、因此,有必要提供一種改進的基于usb3.0的內(nèi)置自測試方法來克服上述缺陷。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種基于usb3.0的內(nèi)置自測試方法及系統(tǒng),在本明的內(nèi)置自測試方法及系統(tǒng)中完整地體現(xiàn)了整個數(shù)據(jù)包的結(jié)構(gòu),覆蓋了pcs數(shù)據(jù)流的所有模塊,提高了測試的完整度,也提高了測試精度。
2、為實現(xiàn)上述目的,本發(fā)明提供了一種基于usb3.0的內(nèi)置自測試系統(tǒng),其包括生成模塊、加擾模塊、對齊模塊、解擾模塊及檢測模塊,所述生成模塊生成控制字符并添加至已有數(shù)據(jù)流上以形成基礎(chǔ)數(shù)據(jù)流,所述加擾模塊對基礎(chǔ)數(shù)據(jù)流中的數(shù)據(jù)字符進行加擾及編碼形成編碼數(shù)據(jù)流,所述對齊模塊根據(jù)所述基礎(chǔ)數(shù)據(jù)流中的控制字符對編碼數(shù)據(jù)流進行com對齊,并形成對齊數(shù)據(jù)流,所述解擾模塊對對齊數(shù)據(jù)流中的數(shù)據(jù)字符進行解碼及解擾,形成測試數(shù)據(jù)流,所述檢測模塊將測試數(shù)據(jù)流與基準數(shù)據(jù)流進行對比,以檢測兩數(shù)據(jù)流的一致性。
3、較佳地,所述生成模塊中形成的所述基礎(chǔ)數(shù)據(jù)流包括頭部控制字符、數(shù)據(jù)字符、中間控制字符及結(jié)尾控制字符,頭部控制字符處于基礎(chǔ)數(shù)據(jù)流的起始位置,而結(jié)尾控制字符處于基礎(chǔ)數(shù)據(jù)流的結(jié)尾位置,在頭部控制字符與結(jié)尾控制字符之間的數(shù)據(jù)字符與中間控制字符依次交替排列,且數(shù)據(jù)字符通過數(shù)據(jù)0填充獲得。
4、較佳地,所述對齊模塊識別編碼數(shù)據(jù)流中的頭部控制字符是否為com字符,并舍棄當前編碼數(shù)據(jù)流中com字符以前的字符,將com字符作為編碼數(shù)據(jù)流的起始位置,使編碼數(shù)據(jù)流進行com對齊。
5、較佳地,所述生成模塊還生成與數(shù)據(jù)字符對應(yīng)的指示信號,且將所述指示信號發(fā)送到加擾模塊,所述加擾模塊根據(jù)所述指示信號對基礎(chǔ)數(shù)據(jù)流的數(shù)據(jù)字符進行加擾及編碼。
6、較佳地,所述檢測模塊通過所述基準數(shù)據(jù)流檢查判斷測試數(shù)據(jù)流的頭部控制字符、結(jié)尾控制字符是否相同,并判斷接收到的數(shù)據(jù)字符的個數(shù)是否符合設(shè)計要求。
7、同時,本發(fā)明還公開了一種基于usb3.0的內(nèi)置自測試方法,包括如下步驟:a.在已有數(shù)據(jù)流的頭部添加頭部控制字符且在已有數(shù)據(jù)流的尾部添加尾部控制字符,并使多組數(shù)據(jù)字符位于頭部控制字符與尾部控制字符之間,形成基礎(chǔ)數(shù)據(jù)流;b.根據(jù)指示信號對基礎(chǔ)數(shù)據(jù)流中的數(shù)據(jù)字符進行加擾及編碼,形成編碼數(shù)據(jù)流;c.根據(jù)頭部控制字符對編碼數(shù)據(jù)流進行com對齊,形成對齊數(shù)據(jù)流;d.根據(jù)指示信號對對齊數(shù)據(jù)流中的數(shù)據(jù)字符進行解碼及解擾,形成測試數(shù)據(jù)流;e.將測試數(shù)據(jù)流與基準數(shù)據(jù)流進行對比,檢測兩數(shù)據(jù)流的一致性。
8、較佳地,在所述步驟a中形成的基礎(chǔ)數(shù)據(jù)流包括頭部控制字符、數(shù)據(jù)字符、中間控制字符及結(jié)尾控制字符,頭部控制字符處于基礎(chǔ)數(shù)據(jù)流的起始位置,而結(jié)尾控制字符處于基礎(chǔ)數(shù)據(jù)流的結(jié)尾位置,在頭部控制字符與結(jié)尾控制字符之間數(shù)據(jù)字符與中間控制字符依次交替排列直到結(jié)尾控制字符結(jié)束,且數(shù)據(jù)字符通過數(shù)據(jù)0填充獲得。
9、較佳地,在所述步驟c中,具體地,當判斷頭部控制字符為com字符時,舍棄當前編碼數(shù)據(jù)流中com字符以前的字符,以將com字符作為編碼數(shù)據(jù)流的起始位置。
10、較佳地,在所述步驟e中,對比所述基準數(shù)據(jù)流與測試數(shù)據(jù)流的頭部控制字符、結(jié)尾控制字符是否相同,并判斷測試數(shù)據(jù)流中的數(shù)據(jù)字符的個數(shù)是否符合設(shè)計要求。
11、與現(xiàn)有技術(shù)相比,本發(fā)明的基于usb3.0的內(nèi)置自測試方法及系統(tǒng)通過在已有數(shù)據(jù)流的頭部添加頭部控制字符且在已有數(shù)據(jù)流的尾部添加尾部控制字符,并僅對各階段數(shù)據(jù)流中的數(shù)據(jù)字符依次進行加擾、編碼、com對齊、解碼及解擾,使得形成的各個階段的數(shù)據(jù)流均可體現(xiàn)整個數(shù)據(jù)包的結(jié)構(gòu),同時也使得從基礎(chǔ)數(shù)據(jù)流到測試數(shù)據(jù)流的數(shù)據(jù)字符的歷程與實際數(shù)據(jù)流所經(jīng)歷的歷程基本相同,從而可以遍歷pcs的所有數(shù)據(jù)模塊,可完全模擬實際的工作狀況,提升了自測試的覆蓋率,進一步提高了測試結(jié)果的精度。
12、通過以下的描述并結(jié)合附圖,本發(fā)明將變得更加清晰,這些附圖用于解釋本發(fā)明的實施例。
1.一種基于usb3.0的內(nèi)置自測試系統(tǒng),其特征在于,包括生成模塊、加擾模塊、對齊模塊、解擾模塊及檢測模塊,所述生成模塊生成控制字符并添加至已有數(shù)據(jù)流上以形成基礎(chǔ)數(shù)據(jù)流,所述加擾模塊對基礎(chǔ)數(shù)據(jù)流中的數(shù)據(jù)字符進行加擾及編碼形成編碼數(shù)據(jù)流,所述對齊模塊根據(jù)所述基礎(chǔ)數(shù)據(jù)流中的控制字符對編碼數(shù)據(jù)流進行com對齊,并形成對齊數(shù)據(jù)流,所述解擾模塊對對齊數(shù)據(jù)流中的數(shù)據(jù)字符進行解碼及解擾,形成測試數(shù)據(jù)流,所述檢測模塊將測試數(shù)據(jù)流與基準數(shù)據(jù)流進行對比,以檢測兩數(shù)據(jù)流的一致性。
2.如權(quán)利要求1所述的基于usb3.0的內(nèi)置自測試系統(tǒng),其特征在于,所述生成模塊中形成的所述基礎(chǔ)數(shù)據(jù)流包括頭部控制字符、數(shù)據(jù)字符、中間控制字符及結(jié)尾控制字符,頭部控制字符處于基礎(chǔ)數(shù)據(jù)流的起始位置,而結(jié)尾控制字符處于基礎(chǔ)數(shù)據(jù)流的結(jié)尾位置,在頭部控制字符與結(jié)尾控制字符之間的數(shù)據(jù)字符與中間控制字符依次交替排列,且數(shù)據(jù)字符通過數(shù)據(jù)0填充獲得。
3.如權(quán)利要求2所述的基于usb3.0的內(nèi)置自測試系統(tǒng),其特征在于,所述對齊模塊識別編碼數(shù)據(jù)流中的頭部控制字符是否為com字符,并舍棄當前編碼數(shù)據(jù)流中com字符以前的字符,將com字符作為編碼數(shù)據(jù)流的起始位置,使編碼數(shù)據(jù)流進行com對齊。
4.如權(quán)利要求2所述的基于usb3.0的內(nèi)置自測試系統(tǒng),其特征在于,所述生成模塊還生成與數(shù)據(jù)字符對應(yīng)的指示信號,且將所述指示信號發(fā)送到加擾模塊,所述加擾模塊根據(jù)所述指示信號對基礎(chǔ)數(shù)據(jù)流的數(shù)據(jù)字符進行加擾及編碼。
5.如權(quán)利要求4所述的基于usb3.0的內(nèi)置自測試系統(tǒng),其特征在于,所述檢測模塊通過所述基準數(shù)據(jù)流檢查判斷測試數(shù)據(jù)流的頭部控制字符、結(jié)尾控制字符是否相同,并判斷接收到的數(shù)據(jù)字符的個數(shù)是否符合設(shè)計要求。
6.一種基于usb3.0的內(nèi)置自測試方法,其特征在于,包括如下步驟:
7.如權(quán)利要求6所述的基于usb3.0的內(nèi)置自測試方法,其特征在于,在所述步驟a中形成的基礎(chǔ)數(shù)據(jù)流包括頭部控制字符、數(shù)據(jù)字符、中間控制字符及結(jié)尾控制字符,頭部控制字符處于基礎(chǔ)數(shù)據(jù)流的起始位置,而結(jié)尾控制字符處于基礎(chǔ)數(shù)據(jù)流的結(jié)尾位置,在頭部控制字符與結(jié)尾控制字符之間數(shù)據(jù)字符與中間控制字符依次交替排列直到結(jié)尾控制字符結(jié)束,且數(shù)據(jù)字符通過數(shù)據(jù)0填充獲得。
8.如權(quán)利要求6所述的基于usb3.0的內(nèi)置自測試方法,其特征在于,在所述步驟c中,具體地,當判斷頭部控制字符為com字符時,舍棄當前編碼數(shù)據(jù)流中com字符以前的字符,以將com字符作為編碼數(shù)據(jù)流的起始位置。
9.如權(quán)利要求6所述的基于usb3.0的內(nèi)置自測試方法,其特征在于,在所述步驟e中,對比基準數(shù)據(jù)流與測試數(shù)據(jù)流的頭部控制字符、結(jié)尾控制字符是否相同,并判斷測試數(shù)據(jù)流中的數(shù)據(jù)字符的個數(shù)是否符合設(shè)計要求。