記憶卡中rtl級的實時硬體測試平臺的製作方法
2023-06-05 09:51:51 2
專利名稱:記憶卡中rtl級的實時硬體測試平臺的製作方法
技術領域:
本實用新型涉及一種集成電路的實時硬體測試平臺,尤其涉及一種記憶卡中RTL級的實時硬體測試平臺。
背景技術:
在集成電路的正向設計中,從需求到系統劃分,到最後設計驗證,是一個不斷迭代的過程。其中驗證過程一般佔用整個設計時間的2/3,顯然,設計的驗證在整個集成電路設計中佔有十分重要的地位。既要儘量縮短的產品的開發周期,又要保證所開發產品功能要經過充分測試,這兩者是一對矛盾。
在集成電路的前端設計中,一般採用程式語言的形式輸入電路圖,流行的語言有Verilog HDL,VHDL等。使用硬體程式語言構造好整個電路系統後,然後用EDA軟體進行仿真,試圖找出設計中的缺陷,若發現系統中某個功能不正確,改寫硬體程式語言的代碼,再進行仿真。這就是一個設計驗證的不斷反覆過程。
一般來說,現階段使用的集成電路前端設計驗證方法有兩種一是人為的觀察EDA軟體仿真的結果,這種方法效率很低,而且由於設計人員的粗心,極容易忽略設計中存在的錯誤;二是使用C\C++等語言編寫一個跟所要設計的電路相同邏輯功能的程序,然後與Verilog HDL,VHDL等硬體程式語言構造好的電路系統執行相同的指令,所得到結果進行比較,互相可以找出電路和程序中存在的錯誤,這種方法效率高,是一種廣泛採用的方法,但是這種方法也難以避免人為出錯的因素,因為程序和電路都是未經過驗證的,也有可能錯誤同在一個地方,這樣有可能在產品提供給用戶之前都無法找出這個錯誤。
在記憶卡中RTL級的硬體測試也會遇到同樣的問題。
發明內容
本實用新型需要解決的技術問題是提供了一種記憶卡中RTL級的實時硬體測試平臺,旨在解決目前對記憶卡中RTL級的硬體測試中由於人為因素的出錯而導致提供給用戶之前都無法找出這個錯誤以及測試效率低下的缺陷。
為了解決上述技術問題,本實用新型是通過以下技術方案實現的本實用新型的測試平臺包括通用的記憶卡,設計的記憶卡,仿真器,PC機;將N條測試指令一一輸入到所述的通用的記憶卡並將對應結果輸入到PC機;同樣將N條測試指令一一輸入到設計的記憶卡,通過VerilogHDL或者VHDL仿真器得到測試結果,並將對應結果輸入到PC機;所述的N條測試指令是指對應於一定的設計的記憶卡所需的測試指令條數。
與現有技術相比,本實用新型的有益效果是由於利用了已有的標準進行測試,減少了設計中人為的出錯因素、減少了設計的迭代過程,測試的效率更高。
圖1是本實用新型的方框圖;圖2是本實用新型中測試通用的記憶卡或者設計的記憶卡的方框圖;圖3是本實用新型的流程圖;圖4是本實用新型中N條測試指令中某一條測試指令輸入的流程圖;圖5是本實用新型中N條測試指令中某一條測試指令定義的波型圖;其中通用的記憶卡1,設計的記憶卡2,仿真器3,PC機4,具體實施方式
以下結合附圖與具體實施方式
對本實用新型作進一步詳細描述由圖1、圖2可見本實用新型的測試平臺包括通用的記憶卡1,設計的記憶卡2,仿真器3,PC機4;將N條測試指令一一輸入到所述的通用的記憶卡1並將對應結果輸入到PC機4;同樣將N條測試指令一一輸入到設計的記憶卡2,通過Verilog HDL或者VHDL仿真器3得到測試結果,並將對應結果輸入到PC機4;所述的N條測試指令是指對應於一定的設計的記憶卡所需的測試指令條數;所述的測試指令輸入到通用的記憶卡1或者設計的記憶卡2並將結果輸出是將基本配置文件和詳細測試文件通過通用的記憶卡1或者設計的記憶卡2中時鐘信號、復位輸入、I/O口輸入管腳的輸入,再通過I/O口將基本配置文件和詳細測試文件所定義的波形圖輸出。
由圖3、圖4、圖5可見本實用新型的測試方法是通過以下步驟實現的將N條測試指令一一輸入到所述的通用的記憶卡並將對應結果輸入到PC機51;同樣將N條測試指令一一輸入到設計的記憶卡,通過Verilog HDL或者VHDL仿真器得到測試結果,並將對應結果輸入到PC機52;比較兩個結果結果相同,表明設計的記憶卡硬體正確53或者實時修改設計的記憶卡硬體54。
所述步驟51或者52中測試指令的輸入並將結果輸出是將基本配置文件和詳細測試文件通過通用的記憶卡或者設計的記憶卡中時鐘信號、復位輸入、I/O口輸入管腳的輸入,再通過I/O口將基本配置文件和詳細測試文件所定義的波形圖輸出到PC機上。
下面對本實用新型的原理作如下描述對於通用的記憶卡中RTL電路,根據其功能特點以及各種情況下異常,寫出詳細的測試方案,包括有幾條測試指令;而對於不同的設計的記憶卡,它們的測試指令的條數也不同;這些測試指令及其條數可以從所對應的通用的記憶卡中得到。
因為這個測試方案最終是要轉成波形文件輸入到現有通用的記憶卡以及所設計的記憶卡中的,所以測試方案還要轉成詳細的測試文件輸入,詳細測試文件輸入需要指明當前是何指令,地址、數據信息,以及指令輸入所需要的時間;輸出是一個獲取結果的過程,而不必關心時間長短的問題,直至輸出數據完畢。如下所示單條指令輸入command=6′h0e ;當前何指令address=10′h000;地址信息data=8′h00 ;數據信息n=0065 ;需要時間這個詳細的測試文件輸入到現有通用的記憶卡會返回一個執行結果;輸入到所設計的記憶卡也會返回一個結果;這兩個結果的形式有可能不一樣,有可能是16進位的形式,也有可能是二進位的形式,需要轉換成相同的形式方便於比較。如果比較的結果有錯誤發生,一般錯誤會發生在設計的記憶卡電路上,返回修改設計。
編寫詳細的測試文件時,要有一定要求,兩邊返回的測試結果才能夠作比較。一般的要求是寫完某一個地址後,可以立即讀出該地址數據,這樣才能實現結果的比較。
這樣可以一邊寫測試文件,一邊測試,一邊修改錯誤,加快設計過程。
現有的通用的記憶卡產品測試方法首先把測試的方案轉換成詳細的測試文件輸入單條指令的輸入command=6′h0e ;當前何指令address=10′h000 ;地址信息data=8′h00;數據信息n=0065 ;需要時間使用專門的程序處理以上信息,根據以上的信息,控制單片機輸出與之對應的波形。在這裡波形只跟詳細測試文件的輸入有關係,跟所運行的軟體以及單片機等等其他的東西無關。這一步對於以後測試別的通用的記憶卡很重要,因為不同的卡片不用修改軟體不用修改硬體即可以做測試。
其次設計只跟詳細測試文件輸入有關的波形輸出系統用來測試現有通用的記憶卡
對於一個晶片來說,它的內部特性都表現在I/O上,如果定義它的輸入行為,那麼輸出特性也就確定下來。
關鍵是晶片的輸入行為有多種形式。一片晶片的輸入有指令、有地址、有數據、有模擬量等等信息;也可能是並行輸入、串行輸入、混合輸入;也有可能不同的晶片管腳的定義也不一樣。
在通用的記憶卡中,除了VCC與GND之外,它只有3個管腳時鐘信號(CLK),復位輸入(RST),輸入輸出(I/O口)。通用的記憶卡主要通過I/O口表現內部特性。I/O口中包含指令、地址、數據信息。
建立一個基本的配置文件,在基本的配置文件中定義一些基本的信息CLK use pin1 output ;CLK利用單片機1號口輸出RST use pin2 output;RST利用單片機2號口輸出IOuse pin3 inout ;IO利用單片機3號口輸入輸出在基本的配置文件中定義通用的記憶卡的一些行為(此處定義了通用的記憶卡的兩個行為指令輸入行為和數據輸出行為,這兩個行為的關鍵字cmdin、dataout在以下的定義中需要用到)另外可以定義其他的行為,專用程序都可以處理。
cmdin;指令輸入行為dataout ;數據輸出行為在基本的配置文件中定義CLK的特性CLK=XXX KHz ;CLK的頻率RSTnoCLK ;RST跟CLK無關IO use at posedge CLK;IO輸入輸出在CLK上升沿有效在基本的配置文件中定義RST的特性RST=1incmdin ;在cmdin行為時RST信號高電平RST=0indataout ;在dataout行為時RST信號低電平在基本的配置文件中定義IO的特性(它說明了IO在行為cmdin中的特性,IO為串行輸入,一共有三項,按照先後順序和字長大小輸入,字長大小在詳細的測試文件中定義)IO=command address data in cmdin;定義IO在行為cmdin中的特性所以在詳細的測試文件中可以這樣定義一條具體的測試指令cmdincommand=6′h0e ;6bit指令address=10′h000;10bit的地址data=8′h00 ;8bit的數據n=0024 ;該行為需要24個時鐘周期,並有先後順序dataoutn=0065 ;該行為需要65個時鐘周期以上的兩個文件具體定義了對通用的記憶卡輸出的波形;所設計的記憶卡RTL級代碼的測試方法類似的,在設計的記憶卡RTL的測試時,也可以根據基本配置文件和詳細測試文件輸入。生成一個標準的測試基準文件(Test Bench),它也是跟具體的設計的記憶卡無關的。它也定義了設計的記憶卡的外部輸入行為,採樣設計的記憶卡外部輸出行為。
這個標準的測試基準文件(Test Bench)是要Verilog HDL或VHDL仿真器能夠編譯通過的,只要根據基本配置文件和詳細測試文件輸入就能夠生成這樣一個測試基準文件(Test Bench)具體的分析和應用與現有的通用的記憶卡晶片的測試類似。
兩者結果的比較驗證對於所設計的記憶卡RTL代碼的測試返回結果。因為這是VerilogHDL或VHDL仿真器返回的結果,可以在RTL的原始碼中任意決定結果的形式,可以是16進位,也可以2進位的形式,不需要太多處理。
對於所設計的記憶卡RTL代碼的測試返回結果。因為這是硬體返回的波形結果,需要對結果進行校準。
假定有如下的輸出行為dataoutn=0065 ;該行為需要65個時鐘周期那麼系統將在CLK的上升沿採樣設計的記憶卡IO的輸出65次,得出的結果就是設計的記憶卡執行該指令的結果。這個結果表現為高電平、低電平的形式,輸入到PC機中就是二進位數據的形式。如果不轉換成16進位形式,可以使用Verilog HDL或VHDL仿真器返回的二進位結果與此結果進行比較。兩個結果都會相對應對IO做65次的採樣,如果有不同的地方,證明通用的記憶卡與所設計的記憶卡特性不一樣,應作進一步檢查。
對於市場上已有的通用產品設計,使用的是已有的標準,如果在自己的設計中採用正向的設計方法,可以考慮快速利用已有的標準進行測試,本實用新型就是利用這一思想,把現有設計跟已有標準進行很好的結合,使設計快速、正確。
本實用新型相對於現有的技術來說,減少了設計中人為的出錯因素、減少了設計的迭代過程。因為設計通用產品時,設計人員很難掌握「通用」的標準。因此,這樣設計出來產品通用性更高、設計周期更短。
該發明關鍵的技術是對於任何通用的記憶卡,只要一次構造好這樣的專用硬體、軟體系統以後,如果要設計另一種通用的記憶卡,不需要重新更換搭建硬體平臺,也不需要重新編寫軟體,只需要更改測試指令就可以測試它所有的指令以及得到相應的結果,利用這個結果可以與自己設計的記憶卡電路相比較,達到快速驗證設計的目的。
權利要求1.一種記憶卡中RTL級的實時硬體測試平臺包括通用的記憶卡(1),設計的記憶卡(2),仿真器(3),PC機(4);將N條測試指令一一輸入到所述的通用的記憶卡(1)並將對應結果輸入到PC機(4);同樣將N條測試指令一一輸入到設計的記憶卡(2),通過Verilog HDL或者VHDL仿真器(3)得到測試結果,並將對應結果輸入到PC機(4);所述的N條測試指令是指對應於一定的設計的記憶卡所需的測試指令條數。
2.根據權利要求1所述的記憶卡中RTL級的實時硬體測試平臺其特徵在於所述的測試指令輸入到通用的記憶卡(1)或者設計的記憶卡(2)並將結果輸出是將基本配置文件和詳細測試文件通過通用的記憶卡(1)或者設計的記憶卡(2)中時鐘信號、復位輸入、I/O口輸入管腳的輸入,再通過I/O口將基本配置文件和詳細測試文件所定義的波形圖輸出。
專利摘要本實用新型涉及記憶卡中RTL級的實時硬體測試平臺,本實用新型的測試平臺包括通用的記憶卡(1),設計的記憶卡(2),仿真器(3),PC機(4);將N條測試指令一一輸入到所述的通用的記憶卡(1)並將對應結果輸入到PC機(4);同樣將N條測試指令一一輸入到設計的記憶卡(2),通過Verilog HDL或者VHDL仿真器(3)得到測試結果,並將對應結果輸入到PC機(4);所述的N條測試指令是指對應於一定的設計的記憶卡所需的測試指令條數;比較兩個結果結果相同,表明設計的記憶卡硬體正確或者實時修改設計的記憶卡硬體;本實用新型的有益效果是由於利用了已有的標準進行測試,減少了設計中人為的出錯因素、減少了設計的迭代過程,測試的效率更高。
文檔編號G06F11/34GK2678013SQ03255248
公開日2005年2月9日 申請日期2003年7月4日 優先權日2003年7月4日
發明者郭俊, 曹輝, 印義言 申請人:上海華園微電子技術有限公司