| 隨著FPGA密度的不斷增加,工程師們開始尋找方法來完成設計中的測試和驗證。傳統(tǒng)方法是設計人員用邏輯分析儀、示波器和總線分析儀通過測試頭和連接器來檢測、驗證信號。  在設計策略區(qū)將邏輯分析單元核添加到FPGA設計中,可對內(nèi)部單元實施徹底的測試,解放I/O腳。 這些測試頭和連接器不僅增加了板子的成本,而且還帶來了信號完整性和時鐘問題,尤其是在高速板的設計中。為了解決這些測試過程中的難題,曾經(jīng)一度只有外部測試測量設備才能完成的工作,現(xiàn)在由FPGA內(nèi)部的軟核來完成。 邏輯分析核 可編程邏輯分析核不能完全替代傳統(tǒng)的板級測試方法,因為現(xiàn)在復雜的板上除了FPGA以外,包括更多的高密存儲器、混合信號器件和高速的ASIC,所有這些都要求傳統(tǒng)的板級測試方法。 即使對FPGA,邏輯測試儀核也不總是最佳選擇。如在最大時鐘頻率超過150MHz或FPGA沒有包含內(nèi)部存儲器,或當被測器件是最小邏輯單元時,測試核就無能為力了。 然而,當測試帶軟件核的幾百萬門的FPGA或高管腳密度BGA封裝器件時,由于捕捉外部信號很困難或不可能,這時才應該應用可編程邏輯分析核作為設計測試策略。 資源比較 傳統(tǒng)測試方法需要分配I/O管腳和內(nèi)部FPGA路由資源,以便將信號引出芯片,而內(nèi)部邏輯分析核需要現(xiàn)有的邏輯單元和和內(nèi)部存儲器資源。包含用戶定義邏輯的設計正驅動市場對管腳多達1100個的新封裝的需求。 完成應用級的調(diào)試需要分配測試管腳數(shù),這會降低FPGA的外部功能。當然,分配給測試內(nèi)部邏輯的I/O管腳數(shù)可以減少,但只能通過限制外部測試數(shù)據(jù)量來實現(xiàn)。 用于FPGA測試分析核的邏輯單元的數(shù)量主要取決于為了調(diào)試FPGA的功能邏輯所要分析的比特數(shù)和要求的采樣數(shù)(衡量需要多少存儲器)。 FPGA中的邏輯單元是一個查找表和D觸發(fā)器組成的,每個邏輯單元可單獨配置,并同其它單元通過高速行列數(shù)據(jù)通路內(nèi)部連接。 嵌入式邏輯單元是高速RAM模塊,也連接到行列式數(shù)據(jù)通路。FPGA中邏輯單元數(shù)目和RAM數(shù)量決定它的密度——最大的FPGA包括138000邏輯單元和3Mbits存儲量。 邏輯分析核用一定數(shù)量的邏輯單元儲存觸發(fā)條件、比較觸發(fā)事件和儲存數(shù)據(jù)。一個典型的邏輯分析核有32位觸發(fā)器和2K取樣帶寬,產(chǎn)生大約200個邏輯單元和65Kbits存儲器。 行列內(nèi)部連接(在軟核邏輯、用戶定義邏輯和邏輯分析核之間傳送數(shù)據(jù))的百分比很大。但因為邏輯分析核在器件內(nèi)部,它們和工作邏輯共存,這就意味著如果FPGA設計者優(yōu)先為調(diào)試邏輯分析核芯分配了資源,就必須選擇最佳的存儲單元,以最小的資源實現(xiàn)最大功能(圖示)。 準確度 在常用IC封裝中,信號掩埋在物理器件之下,只能通過板上邊線到測試頭和連接頭獲取。隨著邊線長度的增加和時鐘速度的增加,信號的衰減及信號的交叉這些因素影響了傳統(tǒng)的測試目的。 通過仔細選擇路由、屏蔽和適當?shù)男盘柦K端,可最大限度減小這些影響,但需要相當大工程量去實現(xiàn)。 FPGA供貨商應用最先進的IC處理工藝生產(chǎn)出標準的成品部件滿足客戶需求。通過外部測試,用戶經(jīng)常要調(diào)試測試程序來處理高速控制信號或寬數(shù)據(jù)總線中的難題。 應用邏輯分析核,用戶可依靠FPGA供貨商有效地建立邏輯單元到存儲器的延長時通路模型,這就使設計者能夠集中調(diào)整內(nèi)部功能和錯誤,而不是將設備和連接工藝同實際錯誤結構隔離開來。 達到極限 性能有一個極限存在,通過邏輯分析核可以達到。寫入內(nèi)部存儲器所需的固定延遲通路和時間約束了最大信號捕獲頻率。 因為頻率極限因素也應用于用戶定義的邏輯和軟件核,通常這不是個問題。當設計人員工作在優(yōu)化的高性能邏輯下,就只能使用傳統(tǒng)的板級測試方法。 因為物理測試頭和連接頭在板極設計中不能輕易改變,自然就對靈活性有了限制。每個新的測試格式都需要用戶重新編譯設計。 盡管主設計沒有發(fā)生變化,再編譯工作卻包括了新的仿真和時序分析,以保證設計能在新路由和管腳分配下按預定方案正常工作。仿真工具減少了總的內(nèi)部電路的物理連接。 仿真允許設計人員自己設計FPGA時序和內(nèi)部功能。外部板極測試可用來測試輸入和輸出同期望值是否相匹配。 缺乏靈活性影響了設計時間,限制了測試實現(xiàn)。邏輯分析核設計允許設計者逐一測試元件和整個設計。 通過改變邏輯分析核的輸入,用戶可測試新邏輯和信號組合,不需要重新編譯設計。用戶定義的邏輯和軟件核不會受到影響。 修改輸入選擇不會影響其性能,所以無需仿真和時序分析。評細的整體測試方法(包括大量在線設計邏輯分析核資源)可進行以對整個設計時間最小的影響完整地校驗一個設計所需的測試。 不完全測試的影響 不完全測試使產(chǎn)品推向市場的時間更長、客戶滿意度更低、極具潛力的產(chǎn)品使用周期更短。添加測試頭和連接頭會導致新板子的不完全測試,當發(fā)現(xiàn)環(huán)單元和問題時會產(chǎn)生極大的影響。 在推出成品板之前,可應用原型板和測試開發(fā)板配給FPGA設計測試和驗證,但新板子必須經(jīng)過測試和驗證,才能投入使用、生產(chǎn)。重復地做模型和校驗會花去大量的時間,但利用FPGA中的可編程性,就可在最初的設計階段進行完整的器件測試,而在以前,這些測試只能在每一個開發(fā)步驟分別進行。 |