雙線串行端口內(nèi)建自測電路及其通訊方法
【專利摘要】本發(fā)明公開了一種雙線串行端口內(nèi)建自測電路用于對存儲器進行測試,包括:端口模塊,將測試儀傳入的數(shù)據(jù)和讀寫控制信號并行發(fā)送給控制模塊;復(fù)位線用于接收復(fù)位信號對電路初始化復(fù)位,使能線輸出測試使能信號用于使能測試電路;雙線串行總線包括:時鐘線和數(shù)據(jù)線;控制模塊包括:ID寄存器、狀態(tài)寄存器、命令寄存器和測試寄存器;控制模塊接受所述時鐘線和復(fù)位線的控制,還具有外部時鐘線接收外部時鐘,其將控制信號發(fā)送至被測電路。本發(fā)明還公開了一種利用所述內(nèi)建自測電路對存儲器進行測試的通訊方法。本發(fā)明的內(nèi)建自測電路,能節(jié)省測試資源。本發(fā)明的通訊方法能減少測試通訊線以及測試指令通訊占用的時間,能提高測試效率,減少測試資源浪費。
【專利說明】雙線串行端口內(nèi)建自測電路及其通訊方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及集成電路制造領(lǐng)域,特別是涉及一種用于對存儲器進行測試的雙線串行端口內(nèi)建自測電路。本發(fā)明還涉及一種利用所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的通訊方法。
【背景技術(shù)】
[0002]集成電路內(nèi)建自測試電路(BIST)的測試功能,是由外部測試儀通過串行端口發(fā)送測試序列(即測試命令),通過內(nèi)建自測試電路內(nèi)部解碼,變成對被測電路的控制信號的序列,然后由測試電路自動執(zhí)行相應(yīng)的功能。測試檢查在內(nèi)部完成,而和外部的通訊由串口完成,外接的引腳非常少。
[0003]在現(xiàn)有內(nèi)建自測試電路系統(tǒng)中,測試儀與內(nèi)建自測試電路通訊是三條通訊線。除了時鐘線、數(shù)據(jù)線以外還有一個同步信號線,來對命令進行同步,如圖1所示,以標(biāo)記命令開始的同步脈沖。另外現(xiàn)有內(nèi)建自測試電路的指令多為了壓縮指令長度,采用了不等長的模式,造成使用上的諸多不便。
[0004]在讀存儲器和寫存儲器的時候,因為有操作時間,所以現(xiàn)有的部分產(chǎn)品設(shè)計方案需要發(fā)兩條指令才能進行讀寫,否則在指令中就會有等待執(zhí)行的多余時間。測試儀與內(nèi)建自測試電路的通訊采用三線通訊方案占用太多的測試資源問題,特別是在對大量的芯片同測時浪費的測試資源更為可觀。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題是提供一種能采用兩線通訊能支持連續(xù)讀寫的雙線串行端口內(nèi)建自測電路,能節(jié)省測試資源。本發(fā)明還提供了一種利用所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的通訊方法。本發(fā)明的內(nèi)建自測電路對存儲器進行測試的通訊方法能減少測試指令通訊占用的時間,能提高測試效率,減少測試資源浪費。
[0006]為解決上述技術(shù)問題,本發(fā)明的雙線串行端口內(nèi)建自測電路,包括:
[0007]端口模塊,將測試儀傳入的數(shù)據(jù)和讀寫控制信號并行發(fā)送給控制模塊,通過復(fù)位線、使能線和雙線串行總線與測試機相連與測試儀相連;
[0008]其中,復(fù)位線用于接收復(fù)位信號對電路初始化復(fù)位,使能線輸出測試使能信號用于使能測試電路;雙線串行總線包括:時鐘線用于同步數(shù)據(jù),數(shù)據(jù)線用于與測試儀通訊;
[0009]控制模塊包括:ID寄存器用于存放電路的硬件信息,狀態(tài)寄存器用于表示BIST(內(nèi)建自測電路)工作狀態(tài),命令寄存器用于控制命令的執(zhí)行,測試寄存器用于控制測試控制信號;
[0010]控制模塊接受所述時鐘線和復(fù)位線的控制,還具有外部時鐘線接收外部時鐘,其將控制信號發(fā)送至被測電路。
[0011 ] 一種采用所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的通訊方法,包括:
[0012]采用兩根協(xié)議線,時鐘線和數(shù)據(jù)線連接在測試儀和雙線串行端口內(nèi)建自測電路之間;
[0013]雙線串行總線接受測試儀的復(fù)位命令后,通過對被測電路進行操作然后觀察相應(yīng)確認進入正常通訊狀態(tài);
[0014]數(shù)據(jù)線狀態(tài)分為空閑和數(shù)據(jù)傳輸,其傳輸?shù)臄?shù)據(jù)每幀分為三個子區(qū)段,包括請求段、應(yīng)答段和數(shù)據(jù)段,不同方向的數(shù)據(jù)段之間插入一個轉(zhuǎn)換周期用于切換數(shù)據(jù)方向,此轉(zhuǎn)換周期能通過可尋址的寄存器設(shè)定;
[0015]數(shù)據(jù)線空閑狀態(tài):由測試儀控制數(shù)據(jù)線,并下拉至低電平進入空閑狀態(tài)。在內(nèi)建自測電路內(nèi)部執(zhí)行命令時,總線也進入空閑狀態(tài),能接受其它命令查詢;
[0016]數(shù)據(jù)線數(shù)據(jù)傳輸狀態(tài):其中又包括:指令開始:在前一命令完成或進入空閑狀態(tài)的條件下,以一個開始字“I”表示開始;請求結(jié)束:以結(jié)束字“O”結(jié)束,以泊靠字“I”準(zhǔn)備控制轉(zhuǎn)換;以及應(yīng)答(測試電路控制)、寫數(shù)據(jù)和讀數(shù)據(jù)子狀態(tài);
[0017]數(shù)據(jù)線每一幀命令以開始字“I”開始,數(shù)據(jù)段結(jié)束后一幀命令傳輸結(jié)束,若無新的一中貞命令傳輸則插入空閑狀態(tài)用于填充與下一巾貞命令之間的空閑;
[0018]請求段包括讀寫位、地址位、結(jié)束位、和泊靠位,地址位為寄存器地址;
[0019]應(yīng)答段根據(jù)發(fā)請求時的雙線串行總線狀態(tài)和地址正確性測試電路來確定返回不同的應(yīng)答代碼;應(yīng)答段包括兩個字,根據(jù)不同的處理方式分為四種代碼:無響應(yīng)、地址出錯、等待狀態(tài)和接受響應(yīng)代碼。
[0020]數(shù)據(jù)線每一幀命令以開始字“I”開始,數(shù)據(jù)段結(jié)束后一幀命令傳輸結(jié)束,若無新的一中貞命令傳輸則插入空閑狀態(tài)用于填充與下一巾貞命令之間的空閑;
[0021]所述數(shù)據(jù)傳輸命令為對寄存器操作指令,并且請求段和應(yīng)答段相位等長,數(shù)據(jù)段長度是存儲器字節(jié)寬度的整數(shù)倍,分為單字節(jié)和多字節(jié)的讀寫;
[0022]所述對被測電路進行操作為讀取被測電路ID寄存器;
[0023]在一幀命令中一個請求段能跟隨多個字節(jié)的數(shù)據(jù)段,并且讀寫字節(jié)個數(shù)能通過可尋址的寄存器設(shè)定。
[0024]本發(fā)明的雙線串行端口內(nèi)建自測電路相比較現(xiàn)有的三線內(nèi)建自測電路,節(jié)省了 一個端口,減少了測試資源,特別是在對大量的芯片同測時節(jié)省的資源更為可觀。本發(fā)明雙線串行端口內(nèi)建自測電路測試的通訊方法支持連續(xù)讀存儲器連續(xù)寫寫緩存的方式,即一條指令中數(shù)據(jù)相位是連續(xù)的字節(jié),相對原有測試通訊方法一次請求只能跟隨一個字節(jié)數(shù)據(jù)方式,效率大大提高。例如:請求相位是8個字,時鐘周期是100納秒,則連續(xù)寫256個字節(jié)的存儲器緩存可以節(jié)省(256-1) X8X0.1=204微秒。
【專利附圖】
【附圖說明】
[0025]下面結(jié)合附圖與【具體實施方式】對本發(fā)明作進一步詳細的說明:
[0026]圖1目前現(xiàn)有通訊方案協(xié)議示意圖。
[0027]圖2是本發(fā)明自測電路的結(jié)構(gòu)示意圖。
[0028]圖3是本發(fā)明通訊方法的指令格式示意圖。
[0029]圖4a是寫寄存器指令格式示意圖
[0030]圖4b是讀寄存器指令格式示意圖
[0031]圖4c是連續(xù)寫時數(shù)據(jù)段由測試機發(fā)送連續(xù)的數(shù)據(jù)格式示意圖。[0032]圖4d是連續(xù)讀時數(shù)據(jù)段由測試電路連續(xù)發(fā)送數(shù)據(jù)格式示意圖。
[0033]圖4e是內(nèi)部執(zhí)行命令格式示意圖。
[0034]圖5是復(fù)位命令格式意圖。
【具體實施方式】
[0035]如圖2所示,本發(fā)明雙線串行端口內(nèi)建自測電路用于對存儲器進行測試,包括:
[0036]端口模塊,將測試儀傳入的數(shù)據(jù)和讀寫控制信號并行發(fā)送給控制模塊,通過復(fù)位線、使能線和雙線串行總線與測試機相連與測試儀相連;
[0037]其中,復(fù)位線用于接收復(fù)位信號對電路初始化復(fù)位,使能線輸出測試使能信號用于使能測試電路;雙線串行總線包括:時鐘線用于同步數(shù)據(jù),數(shù)據(jù)線用于與測試儀通訊;
[0038]控制模塊包括:ID寄存器用于存放電路的硬件信息,狀態(tài)寄存器用于表示BIST工作狀態(tài),命令寄存器用于控制命令的執(zhí)行,測試寄存器用于控制測試控制信號;
[0039]控制模塊接受所述時鐘線和復(fù)位線的控制,還具有外部時鐘線接收外部時鐘,其將控制信號發(fā)送至被測電路。
[0040]為本發(fā)明雙線串行端口內(nèi)建自測電路的通訊方法一實施例,采用所述內(nèi)建自測電路實施還包括被測電路和測試儀。測試電路分為端口模塊和控制模塊,端口模塊通過復(fù)位線、使能線和雙線串行總線與測試儀相連,其中復(fù)位信號用于電路初始化復(fù)位,測試使能信號用于使能測試電路,時鐘線用于同步數(shù)據(jù)。數(shù)據(jù)線用于與測試儀的通訊。端口模塊將測試機傳入的數(shù)據(jù)及讀寫控制信號并行發(fā)送給控制模塊??刂颇K的控制信號連接被測電路,被測電路包括存儲器和各IP模塊。
[0041]控制模塊中的ID寄存器用于存放電路的硬件信息(比如功能配置選項,產(chǎn)品類型編號等),狀態(tài)寄存器用于表示BIST工作狀態(tài),命令寄存器用于控制開始一個命令的執(zhí)行,測試寄存器用于控制測試控制信號。
[0042]數(shù)據(jù)線狀態(tài)分為位:空閑,數(shù)據(jù)傳輸(又分為:指令開始,請求結(jié)束,應(yīng)答,寫數(shù)據(jù),讀數(shù)據(jù),等子狀態(tài))。
[0043]數(shù)據(jù)線在任意狀態(tài)下都可以由復(fù)位命令復(fù)位,之后內(nèi)建自測電路進入準(zhǔn)備狀態(tài),準(zhǔn)備狀態(tài)后必須馬上讀ID寄存器,之后進入正常狀態(tài)。
[0044]只有在空閑狀態(tài)或上一幀命令結(jié)束,能發(fā)送新一幀命令,其命令以開始字“I”開始,結(jié)束時插入空閑狀態(tài),也能立即開始另一幀指令。
[0045]本實施例的數(shù)據(jù)傳輸?shù)闹噶钣腥齻€段,分別是請求段、響應(yīng)段、數(shù)據(jù)段,其中測試儀和接口互相交換總線控制權(quán),即改變傳輸方向,通過泊靠字完成,轉(zhuǎn)換周期長度可以根據(jù)需要設(shè)定。轉(zhuǎn)換過程為無論哪端為輸入時,都先把原先輸出的一段變?yōu)檩斎?,使其兩端同時都為輸入,然后再使原先輸入的一端變?yōu)檩敵???梢砸砸粋€下拉電阻使電位為低,以至于兩邊都為輸入時不會短路,且總線為低對應(yīng)的響應(yīng)為無響應(yīng)。
[0046]在執(zhí)行內(nèi)部操作時,在通訊幀結(jié)束時插入空閑狀態(tài),數(shù)據(jù)線交由測試儀控制,期間若不執(zhí)行命令,數(shù)據(jù)線置低,等待期間若發(fā)送命令,則響應(yīng)段返回等待響應(yīng)00。
[0047]應(yīng)答段包括兩個字,根據(jù)不同的處理方式分為三種代碼,包括等待狀態(tài)00(正在執(zhí)行其它內(nèi)部執(zhí)行指令),地址出錯01 (地址不存在),接受響應(yīng)代碼10和無響應(yīng)11 (通訊錯誤)。相應(yīng)的處理方式可以分為再次嘗試,和停止,以及繼續(xù)。[0048]本發(fā)明通訊方法的指令為格式統(tǒng)一的對寄存器操作指令,指令長度一致或數(shù)據(jù)段為字節(jié)長度的倍數(shù),其區(qū)域劃分如圖2所示,其中第二位讀寫位控制讀寫操作,停止位用來表示請求結(jié)束,泊靠位來釋放總線。地址位5-0用來表示寄存器地址(6位地址64個地址空間用于存放控制被測IP的控制寄存器)。數(shù)據(jù)區(qū)域為讀數(shù)據(jù)或?qū)憯?shù)據(jù),每個字節(jié)為8個字,或者是此字數(shù)可定義(即字節(jié)長度視存儲器字節(jié)長度而定)。
[0049]具體的命令格式和執(zhí)行如下:
[0050]1、如圖4a所示,寫寄存器指令,發(fā)送一個請求段(包括寫地址)之后,會有一個轉(zhuǎn)換周期,然后有一個響應(yīng)段,如果正常接收則相應(yīng)10B,在響應(yīng)段之后有一個轉(zhuǎn)換周期,并繼續(xù)接下來的寫一個字節(jié)的數(shù)據(jù)段。如果BIST正在執(zhí)行其它內(nèi)部操作,會響應(yīng)OOB表示需要等待執(zhí)行結(jié)束;如果寫寄存器地址出錯,會響應(yīng)01B;而如果總線通訊出現(xiàn)故障,總線無論右測試機控制還是BIST控制還是響應(yīng)都是11B。然后可以進入空閑狀態(tài)或接受新的命令。
[0051]2、如圖4b所示,讀寄存器指令,發(fā)送一個請求段(包括讀地址)之后,會有一個轉(zhuǎn)化周期,然后有一個響應(yīng)段如果正常接收則相應(yīng)10B,并繼續(xù)接下來的讀數(shù)據(jù)段,之后有一個轉(zhuǎn)換周期。如果正在執(zhí)行其它內(nèi)部操作,會響應(yīng)OOB表示需要等待執(zhí)行結(jié)束;如果寫寄存器地址出錯,會響應(yīng)OlB ;而如果總線通訊出現(xiàn)故障,總線無論右測試機控制還是BIST控制還是響應(yīng)都是11B。然后可以進入空閑狀態(tài)或接受新的命令。
[0052]3、如圖4c所示連續(xù)寫時數(shù)據(jù)段由測試機發(fā)送連續(xù)的數(shù)據(jù),響應(yīng)代碼和單字節(jié)寫一致。不同于單字節(jié)寫(非一個字節(jié)),寫的個數(shù)由一個在端口模塊中的寄存器來確定。其中連續(xù)讀或連續(xù)寫每個字節(jié)之間插入一個填充字,以用于區(qū)分復(fù)位序列。
[0053]4、如圖4d所示,連續(xù)讀時數(shù)據(jù)段由測試電路連續(xù)發(fā)送數(shù)據(jù),響應(yīng)代碼和單字節(jié)讀一致。不同于單字節(jié)讀,被測電路地址變化由測試電路內(nèi)部決定,讀的個數(shù)由一個在端口模塊中的寄存器來確定(非一個字節(jié))。
[0054]5、如圖4e所示,內(nèi)部執(zhí)行命令,當(dāng)命令寄存器被賦值之后,如果是內(nèi)部執(zhí)行命令,BIST將會進入執(zhí)行階段,此時端口使用權(quán)釋放給測試儀,此時可以輸入命令,但會返回忙響應(yīng)。
[0055]6、如圖5所示,在本實施例中復(fù)位命令為25個高電平的復(fù)位序列可以復(fù)位BIST狀態(tài)。因此,在多個芯片同測時可以使用此復(fù)位序列使各芯片總線狀態(tài)一致,能保證同測同
止/J/ O
[0056]本實施例中的命令除了復(fù)位命令以外都是對命令寄存器的操作,寫命令寄存器就可以執(zhí)行相應(yīng)的操作。本實施例支持自動比對,IP參數(shù)自動裝載調(diào)校等功能。執(zhí)行此類功能時,在數(shù)據(jù)段之后,測試電路會進入執(zhí)行階段,而總線可以的進入空閑狀態(tài)。此時發(fā)送查詢結(jié)果寄存器的命令,響應(yīng)段會通知主機目前正在執(zhí)行操作,而不返回結(jié)果。執(zhí)行結(jié)束后,查詢狀態(tài)寄存器即可獲得接受響應(yīng)并返回相應(yīng)的執(zhí)行結(jié)果。
[0057]以上通過【具體實施方式】和實施例對本發(fā)明進行了詳細的說明,但這些并非構(gòu)成對本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進,這些也應(yīng)視為本發(fā)明的保護范圍。
【權(quán)利要求】
1.一種雙線串行端口內(nèi)建自測電路用于對存儲器進行測試,其特征是,包括: 端口模塊,將測試儀傳入的數(shù)據(jù)和讀寫控制信號并行發(fā)送給控制模塊,通過復(fù)位線、使能線和雙線串行總線與測試機相連與測試儀相連; 其中,復(fù)位線用于接收復(fù)位信號對電路初始化復(fù)位,使能線輸出測試使能信號用于使能測試電路;雙線串行總線包括:時鐘線用于同步數(shù)據(jù),數(shù)據(jù)線用于與測試儀通訊; 控制模塊包括:ID寄存器用于存放電路的硬件信息,狀態(tài)寄存器用于表示BIST工作狀態(tài),命令寄存器用于控制命令的執(zhí)行,測試寄存器用于控制測試控制信號; 控制模塊接受所述時鐘線和復(fù)位線的控制,還具有外部時鐘線接收外部時鐘,其將控制信號發(fā)送至被測電路。
2.一種采用如權(quán)I所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的通訊方法,其特征是: 采用兩根協(xié)議線,時鐘線和數(shù)據(jù)線連接在測試儀和雙線串行端口內(nèi)建自測電路之間;雙線串行總線接受測試儀的復(fù)位命令后,通過對被測電路進行操作然后觀察相應(yīng)確認進入正常通訊狀態(tài); 數(shù)據(jù)線狀態(tài)分為空閑和數(shù)據(jù)傳輸,其傳輸?shù)臄?shù)據(jù)每幀分為三個子區(qū)段,包括請求段、應(yīng)答段和數(shù)據(jù)段,不同傳輸方向的段之間插入一個轉(zhuǎn)換周期用于切換數(shù)據(jù)方向,此轉(zhuǎn)換周期能通過可尋址的寄存器設(shè)定; 數(shù)據(jù)線每一幀命令以開始字“ I”開始,數(shù)據(jù)段結(jié)束后一幀命令傳輸結(jié)束,若無新的一幀命令傳輸則插入空閑狀態(tài)用于填充與下一幀命令之間的空閑; 請求段包括讀寫位、地址位、結(jié)束位、和泊靠位,地址位為寄存器地址; 應(yīng)答段根據(jù)發(fā)請求時的雙線串行總線狀態(tài)和地址正確性測試電路來確定返回不同的應(yīng)答代碼;應(yīng)答段包括兩個字,根據(jù)不同的處理方式分為四種代碼:無響應(yīng)、地址出錯、等待狀態(tài)和接受響應(yīng)代碼。
3.如權(quán)利要求2所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的方法,其特征是: 所述數(shù)據(jù)傳輸命令為對寄存器操作指令,并且請求段和應(yīng)答段相位等長,數(shù)據(jù)段長度是存儲器字節(jié)寬度的整數(shù)倍,分為單字節(jié)和多字節(jié)的讀寫。
4.如權(quán)利要求2所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的方法,其特征是:所述對被測電路進行操作為讀取被測電路ID寄存器。
5.如權(quán)利要求4所述雙線串行端口內(nèi)建自測電路對存儲器進行測試的方法,其特征是:在一幀命令中一個請求段能跟隨多個字節(jié)的數(shù)據(jù)段,并且讀寫字節(jié)個數(shù)能設(shè)定。
【文檔編號】G11C29/12GK103903651SQ201210571704
【公開日】2014年7月2日 申請日期:2012年12月25日 優(yōu)先權(quán)日:2012年12月25日
【發(fā)明者】黃昊, 雷東梅 申請人:上海華虹宏力半導(dǎo)體制造有限公司