本發(fā)明涉及集成電路功能驗證領域,特別是涉及一種基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法。
背景技術:
集成電路設計的規(guī)模和復雜度不斷增加,在產業(yè)大發(fā)展的背景下,驗證部分重要性日益凸顯,要求也越來越高。ic設計周期大部分放在了功能驗證上,保證驗證高覆蓋率的同時減少驗證時間,已經成為ic設計的瓶頸。目前基于serdes(serializer/deserializer,串行解串通信)技術,業(yè)界推出了多種高速串行接口標準:如pcie、sata、hdmi、usb3.0、rapidio,xaui和mipi等。而對這些協(xié)議接口模塊進行功能驗證的過程中,為確保理想信號和抖動信號的情況下芯片都能正確實現(xiàn)其功能,對驗證的要求也更加嚴格。因此設計一種可行的驗證方案,對所涉及的功能點做到全方位測試,提高驗證效率是很有必要的。
目前現(xiàn)有驗證技術中,大多通過理解所設計模塊的標準協(xié)議,生成專用的測試激勵來尋找設計缺陷。這方式對于工程師提出了較高要求,同時不可避免會造成人力成本的浪費。此外,這種驗證方式還包括以下缺陷:
一、驗證過程中需要結合暴露出的問題,依據(jù)現(xiàn)象間接排查各模塊功能點,使得測試具有局限性,增加了驗證的難度;或者針對不同協(xié)議或數(shù)據(jù)類型及數(shù)據(jù)位寬來設計不同驗證檢查模塊進行驗證,顯著提高了驗證工作量及復雜度。
二、對編解碼前后數(shù)據(jù)格式不一致的連續(xù)模塊進行驗證,由于數(shù)據(jù)格式不匹配,需要根據(jù)不同編解碼方式設計不同驗證檢查模塊,驗證效率顯著降低。
三、對不同功能模塊的測試中,采用不同的驗證檢查模塊,無法實現(xiàn)數(shù)據(jù)存儲單元共享,比如對指定數(shù)據(jù)或重復數(shù)據(jù)的統(tǒng)計,統(tǒng)計結果需要重復占用專用的存儲模塊,會造成資源額外消耗,特別是在fpga板級的功能驗證中,驗證時間和面積消耗會大幅提高。
基于以上情況,為了避免資源浪費,提出一種高效通用的serdes功能驗證系統(tǒng)已成為本領域技術人員亟待解決的問題之一。
技術實現(xiàn)要素:
鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法,用于解決現(xiàn)有技術中高速serdes驗證工作量大、復雜度高、效率低、驗證時間長、占用面積大和浪費資源等問題。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種基于serdes協(xié)議驗證的檢查器,所述檢查器至少包括:
解碼模塊,存儲模塊及檢驗模塊;
所述解碼模塊接收被測數(shù)據(jù)流,用于對編碼的被測數(shù)據(jù)流進行解碼,同時輸出碼流的控制字信息;
所述存儲模塊連接于所述解碼模塊的輸出端,用于存儲所述解碼模塊輸出的非編碼數(shù)據(jù);
所述檢驗模塊連接于所述存儲模塊的輸出端,用于從所述存儲模塊中讀取非編碼數(shù)據(jù)并進行功能驗證。
優(yōu)選地,所述解碼模塊包括4b/5b編解碼單元,8b/10b編解碼單元,64b/66b編解碼單元,64b/67b編解碼單元中的一種或幾種的組合。
優(yōu)選地,所述檢驗模塊包括碼流檢查單元、統(tǒng)計單元、指定數(shù)據(jù)讀取單元及控制字檢查單元;
所述碼流檢查單元連接于所述存儲模塊的輸出端,用于對隨機碼流或數(shù)據(jù)包的非編碼數(shù)據(jù)進行碼流匹配檢查,并記錄錯誤個數(shù);
所述統(tǒng)計單元連接于所述存儲模塊的輸出端,用于對指定數(shù)據(jù)、重復數(shù)據(jù)和丟拍數(shù)據(jù)進行統(tǒng)計;
所述指定數(shù)據(jù)讀取單元連接于所述存儲模塊的輸出端,用于對指定位置序列或特定位置數(shù)據(jù)包進行讀??;
所述控制字檢查單元連接于所述存儲模塊的輸出端,用于對控制字進行檢查。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明還提供一種基于serdes協(xié)議的功能驗證系統(tǒng),所述功能驗證系統(tǒng)至少包括:
被測設計模塊,指令收發(fā)模塊及上述檢查器;
所述檢查器連接于所述被測設計模塊輸出端,用于對所述被測設計模塊進行功能驗證;
所述指令收發(fā)模塊與所述檢查器中的各模塊雙向連接,用于向所述檢查器發(fā)送外部指令,同時接收并發(fā)送所述檢查器輸出的驗證結果。
優(yōu)選地,所述被測設計模塊為單個子功能單元或多個連續(xù)的子功能單元。
優(yōu)選地,所述指令收發(fā)模塊為支持spi或i2c總線協(xié)議的寄存器。
為實現(xiàn)上述目的及其他相關目的,本發(fā)明還提供一種基于serdes協(xié)議的功能驗證方法,所述基于serdes協(xié)議的功能驗證方法至少包括:
步驟s1:接收被測數(shù)據(jù)流,若所述被測數(shù)據(jù)流為編碼數(shù)據(jù)則對所述被測數(shù)據(jù)流進行解碼處理得到非編碼數(shù)據(jù),解碼的同時輸出碼流中所含的控制字信息,若所述被測數(shù)據(jù)流為非編碼數(shù)據(jù)則直接接收;
步驟s2:存儲非編碼數(shù)據(jù);
步驟s3:讀取非編碼數(shù)據(jù),并根據(jù)外部指令對非編碼數(shù)據(jù)進行功能驗證。
優(yōu)選地,所述被測數(shù)據(jù)流包括標準數(shù)據(jù)流或自定義數(shù)據(jù)流;其中,所述標準數(shù)據(jù)流包括prbs7隨機碼流,prbs9隨機碼流,prbs15隨機碼流,prbs23隨機碼流,prbs31隨機碼流或符合802.3協(xié)議的以太網數(shù)據(jù)包。
更優(yōu)選地,根據(jù)外部指令進行配置,通過設定數(shù)據(jù)類型,設置數(shù)據(jù)結構及位寬,實現(xiàn)對自定義碼流序列或自定義數(shù)據(jù)包結構的功能驗證。
優(yōu)選地,對被測數(shù)據(jù)流進行解碼進一步包括:基于外部指令根據(jù)所述被測數(shù)據(jù)流的編碼方式選擇對應的解碼方式,包括4b/5b編解碼,8b/10b編解碼,64b/66b編解碼或64b/67b編解碼單元。
優(yōu)選地,基于serdes協(xié)議的功能驗證包括:碼流檢查,錯誤個數(shù)統(tǒng)計,指定數(shù)據(jù)統(tǒng)計,重復數(shù)據(jù)統(tǒng)計,丟拍數(shù)據(jù)統(tǒng)計,指定位置序列讀取,特定位置數(shù)據(jù)包讀取以及控制字檢查。
更優(yōu)選地,指定位置序列讀取進一步包括:通過外部指令輸入待搜索數(shù)據(jù)的位置信息和數(shù)據(jù)長度,當對應數(shù)據(jù)寫入存儲器時,該數(shù)據(jù)會直接被提取,從而實現(xiàn)指定位置序列的讀取,其他不需要的位置序列丟棄,通過采樣存儲的數(shù)據(jù)進行指定位置序列的有效提取分析。
更優(yōu)選地,特定位置數(shù)據(jù)包讀取進一步包括:通過外部指令輸入包頭信息來查找要存儲的對應數(shù)據(jù)包,從而觸發(fā)特定位置數(shù)據(jù)包的存儲寫入操作,其他不需要的數(shù)據(jù)包丟棄,通過提取存儲的數(shù)據(jù)進行指定數(shù)據(jù)包的讀取。
如上所述,本發(fā)明的基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法,具有以下有益效果:
本發(fā)明提供一種基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法,其中檢查器包括解碼器,存儲器,檢驗器3部分子模塊,均可接收指令收發(fā)模塊轉發(fā)的外部指令。本發(fā)明的檢查器通過接收被測設計模塊輸出信號進行功能驗證,可復用于任一被測設計模塊的數(shù)據(jù)輸出端口,支持多種碼流序列或不同幀格式的數(shù)據(jù)包的驗證,支持對編碼/非編碼功能模塊的驗證,提高了驗證的靈活性和不同設計復用性,降低實現(xiàn)成本,同時提高了驗證的功能覆蓋率。
附圖說明
圖1顯示為本發(fā)明的基于serdes協(xié)議的功能驗證系統(tǒng)的結構示意圖。
圖2顯示為本發(fā)明的檢查器的結構示意圖。
圖3顯示為本發(fā)明的檢驗模塊的結構示意圖。
圖4顯示為本發(fā)明在xaui協(xié)議驗證中應用示例。
元件標號說明
1被測設計模塊
11第一子功能單元
12第二子功能單元
13第三子功能單元
148b/10b編/解碼
15碼組邊界同步
16時鐘補償
2指令收發(fā)模塊
3檢查器
31解碼模塊
32存儲模塊
33檢驗模塊
331碼流檢查單元
332統(tǒng)計單元
333指定數(shù)據(jù)讀取單元
334控制字檢查單元
s1~s3步驟
具體實施方式
以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。
請參閱圖1~圖4。需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構想,遂圖式中僅顯示與本發(fā)明中有關的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。
如圖1所示,本發(fā)明提供一種基于serdes協(xié)議的功能驗證系統(tǒng),所述serdes功能驗證系統(tǒng)至少包括:
被測設計模塊1,指令收發(fā)模塊2及檢查器3。
如圖1所示,所述被測設計模塊1連接于所述檢查器3的輸入端。
具體地,如圖1所示,所述被測設計模塊1為單個子功能單元或多個連續(xù)的子功能單元。在本實施例中,所述被測設計模塊1包括多個子功能單元,分別為第一子功能單元11、第二子功能單元12及第三子功能單元13,子功能單元的數(shù)量可根據(jù)具體集成電路結構做具體設定,本實施例僅示意性表示,不以本實施例為限。各子功能單元依次連接,各子功能單元的輸出端分別連接至所述檢查器3的輸入端,所述檢查器3可對各子功能單元進行功能驗證,通過各子功能單元之間的關系提高驗證效率;同時可對整個數(shù)據(jù)通路進行充分的功能驗證。
如圖1所示,所述指令收發(fā)模塊2與所述檢查器3雙向連接,用于向所述檢查器3發(fā)送外部指令,同時接收并發(fā)送所述檢查器3輸出的驗證結果。
具體地,在本實施例中,所述指令收發(fā)模塊2包括但不限于支持spi總線協(xié)議的寄存器、支持i2c總線協(xié)議的寄存器。
如圖1所示,所述檢查器3連接于被測設計模塊1的輸出端,并與所述指令收發(fā)模塊2連接,用于根據(jù)所述指令收發(fā)模塊2發(fā)送的外部指令對所述被測設計模塊1進行功能驗證。
具體地,如圖2所示,所述檢查器3包括解碼模塊31,存儲模塊32及檢驗模塊33。
更具體地,所述解碼模塊31連接于所述被測設計模塊1的輸出端,并與所述指令收發(fā)模塊2雙向連接。所述解碼模塊31可選擇開啟或關閉,來匹配編碼/非編碼狀態(tài)下的所述被測數(shù)據(jù)流,簡化了功能驗證過程中對數(shù)據(jù)通路的驗證。所述解碼模塊31包括但不限于4b/5b編解碼單元,8b/10b編解碼單元,64b/66b編解碼單元及64b/67b編解碼單元,在此不一一贅述,可實現(xiàn)多種編碼的解碼。所述指令收發(fā)模塊2根據(jù)所述被測設計模塊1輸出的被測數(shù)據(jù)流的編碼方式向所述解碼模塊31發(fā)送指令,以使所述解碼器31選擇相對應的解碼方式對所述被測數(shù)據(jù)流進行解碼,同時輸出碼流的控制字信息。通常情況下,在對模塊輸入輸出數(shù)據(jù)進行驗證分析時,涉及編解碼模塊的驗證往往是通過查碼表的方式進行分析比對,不特別增設配對的編解碼器,而本發(fā)明中,被測數(shù)據(jù)流可經過解碼模塊31解碼后進行下一步的分析,也可以繞過所述解碼模塊31直接進行驗證,這樣在涉及到對編碼/非編碼的模塊功能驗證時,可選擇性增加對應的解碼配置,使得所述檢驗模塊33的輸入信號始終為非編碼數(shù)據(jù),提高了驗證的效率。
更具體地,所述存儲模塊32連接于所述解碼模塊31的輸出端,用于存儲所述解碼模塊31輸出的非編碼數(shù)據(jù)。所述存儲模塊32接收所述解碼模塊31輸出的解碼后的非編碼數(shù)據(jù),或直接接收非編碼的被測數(shù)據(jù)流。所述存儲模塊32可選擇開啟或關閉,根據(jù)所述指令收發(fā)模塊2發(fā)送的外部指令對輸入的數(shù)據(jù)進行選擇性存儲,或不設存儲限制、全部存儲。
更具體地,所述檢驗模塊33連接于所述存儲模塊32的輸出端,用于從所述存儲模塊32中讀取非編碼數(shù)據(jù)并進行功能驗證。所述檢驗模塊33接收所述存儲模塊32中存儲的數(shù)據(jù),并根據(jù)所述外部指令選擇具體功能驗證方式。如圖3所示,在本實施例中,所述檢驗模塊33包括碼流檢查單元331、統(tǒng)計單元332、指定數(shù)據(jù)讀取單元333及控制字檢查單元334。所述碼流檢查單元331連接于所述存儲模塊32的輸出端,用于對所述存儲模塊32中存儲的非編碼數(shù)據(jù)進行碼流匹配檢查,并記錄錯誤個數(shù)。所述統(tǒng)計單元332連接于所述存儲模塊32的輸出端,用于對指定數(shù)據(jù)、重復數(shù)據(jù)和丟拍數(shù)據(jù)進行統(tǒng)計。所述指定數(shù)據(jù)讀取單元333連接于所述存儲模塊32的輸出端,用于對所述存儲模塊32中存儲的指定位置序列或特定位置數(shù)據(jù)包進行讀取。所述控制字檢查單元334連接于所述存儲模塊32的輸出端,用于對控制字進行檢查。
如圖1~圖3所示,本發(fā)明還提供一種基于serdes協(xié)議的功能驗證方法,所述基于serdes協(xié)議的功能驗證方法至少包括:
步驟s1:接收被測數(shù)據(jù)流,若所述被測數(shù)據(jù)流為編碼數(shù)據(jù)則對所述被測數(shù)據(jù)流進行解碼處理得到非編碼數(shù)據(jù),解碼的同時輸出碼流中所含的控制字信息,若所述被測數(shù)據(jù)流為非編碼數(shù)據(jù)則直接接收。
具體地,所述檢查器3接收所述被測設計模塊1輸出的被測數(shù)據(jù)流,所述被測設計模塊1包括單個子功能單元或多個連續(xù)的子功能單元。所述被測數(shù)據(jù)流包括但不限于prbs7隨機碼流,prbs9隨機碼流,prbs15隨機碼流,prbs23隨機碼流,prbs31隨機碼流及符合802.3協(xié)議的以太網數(shù)據(jù)包,其他常見隨機碼流均包括在內,在此不一一列舉。若所述被測數(shù)據(jù)流為編碼數(shù)據(jù),則所述指令收發(fā)模塊2根據(jù)所述被測數(shù)據(jù)流的編碼方式選擇對應的解碼方式以控制所述解碼模塊31對輸入的編碼數(shù)據(jù)進行解碼,其中,編解碼的方式包括但不限于4b/5b編解碼,8b/10b編解碼,64b/66b編解碼及64b/67b編解碼,在實際使用中可根據(jù)需要設置編碼方式,不以本實施例為限。若所述被測數(shù)據(jù)流為非編碼數(shù)據(jù)則直接進入所述存儲模塊32。
步驟s2:存儲非編碼數(shù)據(jù)。
具體地,非編碼數(shù)據(jù)被儲存于所述存儲模塊32中,所述存儲模塊32可根據(jù)所述外部指令進行選擇性存儲,將隨機碼流或數(shù)據(jù)包的有效數(shù)據(jù)保留、無效數(shù)據(jù)丟棄。其中,有效數(shù)據(jù)的判斷依據(jù)以實際需要為準,在此不一一限定。所述存儲模塊32也可以直接將所有的隨機碼流或數(shù)據(jù)包進行存儲,不設定存儲限制。對隨機碼流中指定位置序列進行存儲時,通過外部指令輸入待搜索數(shù)據(jù)的位置信息和數(shù)據(jù)長度,以此確定要存儲的數(shù)據(jù),從而實現(xiàn)指定位置序列的存儲,不需要的位置序列丟棄。對特定位置數(shù)據(jù)包進行存儲時,通過外部指令輸入包頭信息來查找要存儲的對應數(shù)據(jù)包,從而觸發(fā)特定位置數(shù)據(jù)包的存儲,其他不需要的數(shù)據(jù)包丟棄。
步驟s3:讀取非編碼數(shù)據(jù),并根據(jù)外部指令對非編碼數(shù)據(jù)進行功能驗證。
具體地,所述檢驗模塊33從所述存儲模塊32中讀取數(shù)據(jù)并進行功能驗證,包括但不限于:碼流匹配檢查,錯誤個數(shù)統(tǒng)計,指定數(shù)據(jù)統(tǒng)計,重復數(shù)據(jù)統(tǒng)計,丟拍數(shù)據(jù)統(tǒng)計,指定位置序列讀取,指定數(shù)據(jù)包讀取以及控制字檢查。
更具體地,碼流檢查和錯誤個數(shù)統(tǒng)計具體包括:對所述存儲模塊32中存儲的非編碼數(shù)據(jù)(包括但不限于隨機序列、數(shù)據(jù)包及隨機序列或數(shù)據(jù)包的有效數(shù)據(jù))進行碼流匹配檢查,并對錯誤個數(shù)進行統(tǒng)計,并輸出統(tǒng)計結果。
更具體地,指定數(shù)據(jù)統(tǒng)計、重復數(shù)據(jù)統(tǒng)計、丟拍數(shù)據(jù)統(tǒng)計具體包括:對所述存儲模塊32中存儲的非編碼數(shù)據(jù)進行指定數(shù)據(jù)、重復數(shù)據(jù)或丟拍數(shù)據(jù)的統(tǒng)計,并輸出統(tǒng)計結果。
更具體地,指定位置序列讀取,特定位置數(shù)據(jù)包讀取具體包括:對所述存儲模塊32中存儲的指定位置序列數(shù)據(jù)或特定位置數(shù)據(jù)包數(shù)據(jù)進行提取,以實現(xiàn)指定數(shù)據(jù)的讀取。
更具體地,控制字檢查具體包括:對所述存儲模塊32中存儲的非編碼數(shù)據(jù)(包括但不限于隨機序列、數(shù)據(jù)包及隨機序列或數(shù)據(jù)包的有效數(shù)據(jù))進行控制字檢查,其中,根據(jù)編解碼協(xié)議所述,不同的控制字攜帶不同的數(shù)據(jù)信息,用以實現(xiàn)碼組邊界同步,數(shù)據(jù)對齊,時鐘補償?shù)裙δ?,該部分可通過對控制字的檢查分析確認被測模塊輸出數(shù)據(jù)流是否正確,進一步定位問題原因進行問題排查及后續(xù)驗證。
在本實施例中,所述被測數(shù)據(jù)流還包括自定義碼流或自定義數(shù)據(jù)包,若所述被測數(shù)據(jù)流為自定義碼流或自定義數(shù)據(jù)包,則可根據(jù)外部指令在所述檢查器3的輸入端設定輸入數(shù)據(jù)類型、設置輸入數(shù)據(jù)結構及輸入位寬等信息,在所述存儲模塊332的輸出端還原數(shù)據(jù)類型、數(shù)據(jù)結構及位寬,以實現(xiàn)對自定義碼流序列或自定義數(shù)據(jù)包結構的功能驗證,在此不一一贅述。
如圖4所示,將本發(fā)明的基于serdes協(xié)議的功能驗證系統(tǒng)在xaui協(xié)議驗證過程中的實現(xiàn)過程。xaui協(xié)議需要對8b/10b編/解碼14,碼組邊界同步15,時鐘補償16,通道間對齊(圖中未顯示)等子功能模塊進行驗證。在驗證過程中,我們分別將各子功能模塊輸出端與檢查器3相連,來排查各模塊的設計是否符合協(xié)議要求。所述8b/10b編碼子模塊14的輸出數(shù)據(jù)經所述檢查器3內部解碼后進行分析,可對重復數(shù)據(jù),丟拍數(shù)據(jù)進行統(tǒng)計,以及對指定位置序列或指定數(shù)據(jù)包進行讀取,有效提高了驗證效率,又對數(shù)據(jù)通路進行了充分的功能驗證;當所述檢查器3與所述碼組邊界同步模塊15相連時,由于解碼部分可轉發(fā)控制字信息至檢查模塊,所以可通過提取檢查控制字||k||碼及數(shù)據(jù)的鎖定狀態(tài),得到有效解碼數(shù)據(jù),方便問題點排查;當所述檢查器3接收通道間對齊模塊輸出數(shù)據(jù)時,同樣可檢測數(shù)據(jù)流中||a||碼是否在同一周期輸出。
本發(fā)明提供一種基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法,其中檢查器包括解碼器,存儲器,檢驗器3部分子模塊,均可接收指令收發(fā)模塊轉發(fā)的外部指令。本發(fā)明的檢查器通過接收被測設計模塊輸出信號進行功能驗證,可復用于任一被測設計模塊的數(shù)據(jù)輸出端口,支持多種碼流序列或不同幀格式的數(shù)據(jù)包的驗證,支持對編碼/非編碼功能模塊的驗證,提高了驗證的靈活性和不同設計復用性,降低實現(xiàn)成本,同時提高了驗證的功能覆蓋率。
綜上所述,本發(fā)明提供一種基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法,包括:被測設計模塊;發(fā)送指令的指令收發(fā)模塊;對編碼的被測數(shù)據(jù)流進行解碼的解碼模塊;存儲非編碼數(shù)據(jù)的存儲模塊;以及讀取非編碼數(shù)據(jù)并進行功能驗證的檢驗模塊。接收被測數(shù)據(jù)流,若所述被測數(shù)據(jù)流為編碼數(shù)據(jù)則對所述被測數(shù)據(jù)流進行解碼處理得到非編碼數(shù)據(jù),解碼的同時輸出碼流中所含的控制字信息,若所述被測數(shù)據(jù)流為非編碼數(shù)據(jù)則直接接收;存儲非編碼數(shù)據(jù);讀取非編碼數(shù)據(jù),并根據(jù)外部指令對非編碼數(shù)據(jù)進行功能驗證。本發(fā)明的基于serdes協(xié)議驗證的檢查器、功能驗證系統(tǒng)及方法,可復用于任一被測設計模塊的數(shù)據(jù)輸出端口,支持多種碼流序列或不同幀格式的數(shù)據(jù)包的驗證,支持對編碼/非編碼功能模塊的驗證,提高了驗證的靈活性和不同設計復用性,降低實現(xiàn)成本,同時提高了驗證的功能覆蓋率。所以,本發(fā)明有效克服了現(xiàn)有技術中的種種缺點而具高度產業(yè)利用價值。
上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬技術領域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發(fā)明的權利要求所涵蓋。