一種復(fù)雜可編程邏輯器件cpld測試方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路測試技術(shù)領(lǐng)域,尤其涉及一種復(fù)雜可編程邏輯器件CPLD測試方法和裝置。
【背景技術(shù)】
[0002]CPLD (Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)是一種大規(guī)模集成電路,借助集成開發(fā)軟件平臺,用原理圖和硬件描述語言等方法,生成相應(yīng)的目標文件,通過下載電纜或者在線升級將目標文件的代碼傳送到交換機邏輯芯片中,從而控制整個交換機的系統(tǒng)運作。
[0003]圖1為以太網(wǎng)交換機系統(tǒng)中的CPLD外圍電路圖。由圖1可見,在以太網(wǎng)交換機系統(tǒng)中,CPLD占有非常重要的部分,它不僅聯(lián)系著交換機的CPU和MAC(多地址接入信道),同時還管理著諸如光模塊(SFP/SFP+)、風扇調(diào)節(jié)模塊(FAN control)、監(jiān)控模塊“看門狗”(ADM706)等模塊。CPLD工作的穩(wěn)定性直接決定了交換機的工作穩(wěn)定性。
[0004]每款交換機都有其自己的CPLD以及對應(yīng)的邏輯代碼,所以針對每款新開發(fā)的交換機產(chǎn)品,都需要詳細對CPLD進行全方面的測試,才能保證交換機系統(tǒng)正常運作,否則CPLD—旦出現(xiàn)異常,很可能導(dǎo)致設(shè)備返廠維修,增加了維護費用。
[0005]現(xiàn)有技術(shù)中,針對CPLD的硬件測試手段主要靠手動進行測試,例如連續(xù)的進行200次的測試。每一次的測試均需要手動輸入測試命令,CPLD得到測試命令后,執(zhí)行此次測試,并在執(zhí)行完畢后人工記錄該次測試記錄,再通過手動輸入測試命令進入下一次測試。
[0006]此種方法的測試下,在按要求反復(fù)更新幾百次時的弊端很明顯,需要大量的人力投入,過程單一、效率較低,且不能連續(xù)性測試。
【發(fā)明內(nèi)容】
[0007]有鑒于此,本發(fā)明提出一種復(fù)雜可編程邏輯器件CPLD測試方法和裝置,以解決自動測試CPLD。
[0008]為達到上述目的,本發(fā)明實施例的技術(shù)方案是這樣實現(xiàn)的:
[0009]本發(fā)明實施例提供一種復(fù)雜可編程邏輯器件CPLD測試方法,所述方法包括:
[0010]所述測試終端向交換機發(fā)送測試命令,所述測試命令用于指示所述交換機對所述CPLD進行測試;
[0011]若所述測試終端在預(yù)設(shè)的周期內(nèi)接收到所述交換機發(fā)送的測試信息,則根據(jù)所述測試信息將本次測試結(jié)果記錄至測試日志;
[0012]測試終端判斷發(fā)送測試命令的次數(shù)是否超過設(shè)定值,若是,則輸出測試日志;若否,則繼續(xù)向交換機發(fā)送測試命令。
[0013]本發(fā)明實施例還提供一種復(fù)雜可編程邏輯器件CPLD測試裝置,
[0014]該裝置包括:
[0015]測試命令發(fā)送模塊,用于向交換機發(fā)送測試命令,所述測試命令用于指示所述交換機對所述CPLD進行測試;
[0016]測試結(jié)果記錄模塊,用于若在預(yù)設(shè)的周期內(nèi)接收到所述交換機發(fā)送的測試信息,則根據(jù)所述測試信息將本次測試結(jié)果記錄至測試日志;
[0017]測試計數(shù)模塊,用于判斷發(fā)送測試命令的次數(shù)是否超過設(shè)定值,若是,則輸出測試日志;若否,則繼續(xù)通知所述測試命令發(fā)送模塊向交換機發(fā)送測試命令。
[0018]本發(fā)明的CPLD測試方法,通過測試終端向交換機發(fā)送測試命令,以使交換機自動執(zhí)行多次的CPLD測試,測試終端自動根據(jù)交換機每次的返回的測試信息確定測試結(jié)果,并將測試結(jié)果記錄至測試日志,從而可以在所有的測試完畢后再進行查看,進行測試分析,該CPLD測試方法在多次測試過程中無需人工干預(yù),可有效提高測試效率。
【附圖說明】
[0019]圖1為現(xiàn)有技術(shù)中的以太網(wǎng)交換機系統(tǒng)中的CPLD電路圖;
[0020]圖2為本發(fā)明實施例中的CPLD測試方法流程圖;
[0021]圖3為本發(fā)明實施例中的CPLD進行版本更新測試的方法流程圖;
[0022]圖4為本發(fā)明實施例中的CPLD進行寄存器寫測試的方法流程圖;
[0023]圖5為本發(fā)明實施例中的CPLD進行寄存器讀測試的方法流程圖;
[0024]圖6為本發(fā)明實施例中的CPLD測試裝置的結(jié)構(gòu)圖。
【具體實施方式】
[0025]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下通過具體實施例并參見附圖,對本發(fā)明進行詳細說明。
[0026]為了解決現(xiàn)有技術(shù)中存在的對CPLD進行測試時,需要人工反復(fù)輸入測試命令,從而浪費人力、測試效率低的技術(shù)問題,本發(fā)明實施例提供一種CPLD測試方法,在對CPLD進行測試時,參見圖2,具體包括:
[0027]al、測試終端向交換機發(fā)送測試命令,測試命令用于指示交換機對CPLD進行測試。
[0028]具體地,該測試終端可以為多種終端,最常見的為電腦主機。
[0029]a2、測試終端判斷是否在預(yù)設(shè)的周期內(nèi)接收到交換機發(fā)送的測試信息,是,則進入步驟a3 ;否,則進入步驟a4。
[0030]其中,該預(yù)設(shè)的周期可以自行設(shè)定,例如但不限于3分鐘。
[0031]a3、根據(jù)所述測試信息將本次測試結(jié)果記錄至測試日志,并進入步驟a5。
[0032]a4、確定本次測試結(jié)果為失敗,并將本次測試結(jié)果記錄至測試日志,并進入步驟
a50
[0033]a5、測試終端判斷發(fā)送測試命令的次數(shù)是否超過設(shè)定值,如果是,則進入步驟a6 ;如果否,則返回執(zhí)行步驟al。
[0034]a6、測試結(jié)束,并輸出測試日志。
[0035]其中,該CPLD測試需要多次的反復(fù)測試,例如200次。下面以CPLD測試中最常見的版本更新測試和寄存器讀寫測試為例,對上述步驟進行說明。
[0036]在版本更新測試時:測試命令具體為版本更新測試命令。
[0037]參見圖3,版本更新測試具體包括以下步驟:
[0038]101、測試終端向交換機發(fā)送版本更新測試命令,該版本更新測試命令用于指示交換機對CPLD進行版本更新測試。
[0039]本實施例中,版本更新文件由測試終端上運行的Verilog語言編寫的代碼,通過邏輯轉(zhuǎn)換器軟件轉(zhuǎn)換成版本更新文件,發(fā)送并存儲于交換機的內(nèi)存芯片中。在版本更新測試時,交換機收到測試終端下發(fā)的版本更新測試命令后,通過交換機的CPU發(fā)出的CPLDUpdate命令將該版本更新文件從內(nèi)存芯片調(diào)出并寫入至CPLD中,以使CPLD進行版本的更新。若CPLD更新成功,交換機更新測試信息為第一標識;若CPLD更新失敗,交換機更新測試信息為第二標識。
[0040]102、測試終端是否在預(yù)設(shè)的周期內(nèi)接收到交換機發(fā)送的測試信息,是,則進入步驟103;否,則進入步驟104。
[0041]其中,該周期可以自行設(shè)定,例如但不限于3分鐘。
[0042]103、測試終端判斷接收到的測試信息為第一標識還是第二標識,若為第一標識,則進入步驟105 ;若為第二標識,則進入步驟106。
[004