<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 簡(jiǎn)化FPGA測試和調試

簡(jiǎn)化FPGA測試和調試

—— Simplify FPGA Test and Debugging
作者:泰克公司 時(shí)間:2007-04-11 來(lái)源:電子產(chǎn)品世界 收藏

引言

本文引用地址:http://dyxdggzs.com/article/47820.htm

  隨著(zhù)的設計速度、尺寸和復雜度明顯增長(cháng),使得整個(gè)設計流程中的驗證和調試成為當前系統的關(guān)鍵部分。獲得內部信號有限、FPGA封裝和印刷電路板(PCB)電氣噪聲,這一切使得設計調試和檢驗變成設計周期中最困難的流程。另一方面,幾乎當前所有的像CPU、DSP、ASIC等高速芯片的總線(xiàn),除了提供高速并行總線(xiàn)接口外,正迅速的向高速串行接口的方向發(fā)展,FPGA也不例外,每一條物理鏈路的速度從600Mbps到高達10Gbps,高速I(mǎi)O的和驗證更成為傳統專(zhuān)注于FPGA內部邏輯設計的設計人員面臨的巨大挑戰。這些挑戰使設計人員非常容易會(huì )把絕大部分設計周期時(shí)間放在調試和檢驗設計上。

  為幫助您完成設計調試和檢驗流程,它需要使用新的調試和工具,幫助調試設計,同時(shí)支持在FPGA上全速運行;高速信號完整性工具和方法也越來(lái)越多的在FPGA中體現出來(lái)。

  本文根據當前FPGA的設計人員面臨的挑戰分為2個(gè)部分,第一部分重點(diǎn)介紹在調試FPGA系統時(shí)遇到的問(wèn)題及有助于提高調試效率的技術(shù);第二部分針對復雜FPGA中內嵌的高速I(mǎi)O的信號完整性測試和分析,提供了最新的方法和工具。

FPGA設計流程概述

  在FPGA系統設計完成前,有兩個(gè)不同的階段:設計階段,調試和檢驗階段(參見(jiàn)圖1)。設計階段的主要任務(wù)是輸入、仿真和實(shí)現。調試和檢驗階段的主要任務(wù)是檢驗設計,校正發(fā)現的任何錯誤。

圖1  FPGA設計流程圖

設計階段

  在這一階段不僅要設計,而且要使用仿真工具開(kāi)始調試。實(shí)踐證明,正確使用仿真為找到和校正設計錯誤提供了一條有效的途徑。但是,不應依賴(lài)仿真作為調試FPGA設計的唯一工具,有許多問(wèn)題僅僅通過(guò)仿真無(wú)能為力。

  此外,還需要提前考慮調試和檢驗階段,規劃怎樣在線(xiàn)快速調試FPGA,這可以定義整體調試方法,幫助識別要求的任何測試工具,確定選擇的調試方法對電路板設計帶來(lái)的影響。針對可能選用的FPGA存在的高速總線(xiàn),除了考慮邏輯時(shí)序的測試和驗證外,應該充分考慮后面可能面臨的信號完整性測試和分析難題。

調試和檢驗階段

  在調試階段,必需找到仿真沒(méi)有找到的棘手問(wèn)題。怎樣以省時(shí)省力的方式完成這一工作是一個(gè)挑戰。

FPGA調試方法

  在設計階段需要作出的關(guān)鍵選擇是使用哪種FPGA調試方法。在理想情況下,希望有一種方法可以移植到所有FPGA設計中,能夠洞察FPGA內部運行和系統運行過(guò)程,為確定和分析棘手的問(wèn)題提供相應的處理能力?;驹诰€(xiàn)FPGA調試方法有兩種:使用嵌入式邏輯分析儀以及使用外部邏輯分析儀。選擇使用哪種方法取決于項目的調試需求。

嵌入式邏輯分析儀內核

  主要FPGA廠(chǎng)商針對器件的在線(xiàn)調試都提供了嵌入式邏輯分析儀內核,如Altera的SignaiTap II和Xilinx的ChipScope ILA。這些知識產(chǎn)權模塊插入FPGA設計中,同時(shí)提供觸發(fā)功能和存儲功能。它們使用FPGA邏輯資源實(shí)現觸發(fā)電路,使用FPGA存儲模塊實(shí)現存儲功能。它們使用JTAG配置內核操作。并用來(lái)把捕獲的數據傳送到PC上進(jìn)行查看。由于嵌入式邏輯分析儀使用內部FPGA資源,因此其通常用于大型FPGA電這些大型FPGA可以更好地消化插入內核帶來(lái)的開(kāi)銷(xiāo)。一般來(lái)說(shuō),用戶(hù)希望內核占用的FPGA邏輯資源不超過(guò)可用資源的5%。與任何調試方法一樣,還要知道這種方法存在的部分矛盾。

針腳與內部資源

  嵌入邏輯分析儀內核不使用額外的測試針腳,因為它通過(guò)現有的JTAG針腳訪(fǎng)問(wèn)內核。這意昧著(zhù)即使設計受到FPGA針腳限制,您可以使用這種方法。矛盾在于,它使用的內部FPGA邏輯資源和存儲模塊可以用來(lái)實(shí)現設計。此外,由于使用片內內存存儲捕獲的數據,因此內存深度一般相對較淺。

探測與運行模式

  嵌入式邏輯分析儀核心的探測非常簡(jiǎn)單。它使用現有的JTAG針腳,因此不必擔心怎樣把外部邏輯分析儀連接到系統上。矛盾在于,盡管嵌入式邏輯分析儀可以查看FPGA操作,但沒(méi)有一種方式把這些信息與電路板級或系統級信息時(shí)間關(guān)聯(lián)起來(lái)。而把FPGA內部的信號與FPGA外部的信號關(guān)聯(lián)起來(lái)對解決最棘手的調試挑戰至關(guān)重要。在分析方法上,嵌入式邏輯分析儀只能進(jìn)行狀態(tài)分析。

成本與靈活性

  大多數FPGA廠(chǎng)商提供了嵌入式邏輯分析儀內核,而其價(jià)格要低于全功能外部邏輯分析儀。雖然用戶(hù)希望更多的功能,但嵌入式邏輯分析儀內核的功能無(wú)論從通用性,分析方式,觸發(fā)能力,還是從存儲和分析能力都弱于全功能外部邏輯分析儀,而用戶(hù)通常需要這些功能,來(lái)捕獲和分析棘手的調試挑戰。例如,嵌入式邏輯分析儀只能在狀態(tài)模式下操作,它們捕獲與FPGA設計中已有的指定時(shí)鐘同步的數據,因此不能提供精確的信號定時(shí)關(guān)系

外部邏輯分析儀

  由于嵌入式邏輯分析儀方法存在的部分限制,許多FPGA設計人員已經(jīng)采用外部邏輯分析儀方法,來(lái)利用FPGA的靈活性和外部邏轄分析儀的處理能力,如泰克TLA系到邏輯分析儀。

  在這種方法中,感興趣的內部信號路由到FPGA沒(méi)有使用的針腳上,然后連接到邏輯分析儀上,這種方法提供了非常深的內存,適合調試那種出現故障和實(shí)際導致該故障的原因在時(shí)間上相距很遠的問(wèn)題;對于需要采集大量數據進(jìn)行后期分析的設計人員也非常必要。另外它還可以把內部FPGA信號與電路系統中的其它活動(dòng)時(shí)間關(guān)聯(lián)起來(lái)。

  與嵌入式邏輯分析儀方法一樣,也需要考慮許多矛盾。

針腳與內部資源

  外部邏輯分析儀方法采用非常少的邏輯資源,不使用FPGA內存資源。它釋放了這些資源,來(lái)實(shí)現所需功能?,F在的矛盾在于,必需增加專(zhuān)用于調試的部分針腳數量,而很明顯,設計要使用這些針腳。

探測與工作模式

  外部邏輯分析儀探測要比嵌入式邏輯分析儀方法要求的探測復雜一些。必需確定怎樣使用邏輯分析儀探頭探測FPGA內部信號,而不能使用電路板上已有的JTAG連接器。最簡(jiǎn)便的方式是在電路板中增加一個(gè)測試連接器,這可以簡(jiǎn)便地把FPGA信號與系統中的其它信號關(guān)聯(lián)起來(lái)。{{分頁(yè)}}

成本與靈活性

  盡管外部邏輯分析儀的購買(mǎi)價(jià)格確實(shí)要高于嵌入式邏輯分析儀,但使用外部邏輯分析儀可以解決更加廣泛的問(wèn)題。邏輯分析儀不僅可以用于FPGA調試,還可以用來(lái)解決其他數字設計挑戰,它被公認為進(jìn)行通用數字系統硬件調試的最佳工具。外部邏輯分析儀能夠實(shí)現更加靈活的采集模式和觸發(fā)功能。通過(guò)外部邏輯分析儀,可以設置最多16個(gè)不同的觸發(fā)狀態(tài)(每一個(gè)狀態(tài)含高16個(gè)條件判斷分支),每一個(gè)通道提供256M的內存,并且可以在定時(shí)分析模式下以高達125ps的分辨率(8GHz采樣)捕獲數據。

選擇合適的FPGA調試方法

  這兩種方法都可以使用,采用哪種方法要視具體情況而定。挑戰在于確定哪種方法更適合您的設計,用戶(hù)可以問(wèn)自己下面的問(wèn)題:

預計有哪些問(wèn)題?

  如果您認為問(wèn)題僅限于FPGA內部的功能性問(wèn)題,那么使用嵌入式邏輯分析儀可以提供要求的所有調試功能。但是,如果預計有更多的調試問(wèn)題。要求檢驗定時(shí)余量、把內部FPGA活動(dòng)與電路板上的其它活動(dòng)關(guān)聯(lián)起來(lái)、或要求更強大的觸發(fā)功能,那么使用外部邏輯分析儀更適合滿(mǎn)足調試需求。

  當FPGA芯片針腳存在超過(guò)200M的高速總線(xiàn),例如集成內存控制器的DDRI、DDRII內存總線(xiàn),以及集成高SerDes的高速串行IO總線(xiàn),信號完整性測試是保證設計成功的基礎。在本文的后半部分會(huì )介紹主流的測試工具和方法。

除狀態(tài)數據外,是否需要考察快速定時(shí)信息?

  外部邏輯分析儀允許以高達125ps的分辨率(8GS/s采樣)查看FPGA信號詳細的定時(shí)關(guān)系,這有助于檢驗設計中實(shí)際發(fā)生的事件,檢驗設計的定時(shí)余量。嵌入式邏輯分析儀只能捕獲與FPGA中已有的指定時(shí)鐘同步的數據。

  需要捕獲多深的數據?外部邏輯分析儀提供的采集內存更深。一般在嵌入式邏輯分析儀中,最大取樣深度設為128Kb,這一數字受到器件限制。

  而在外部邏輯分析儀中,可以捕獲最多256Mb樣點(diǎn)。這有助于查看和分析更多的問(wèn)題及潛在原因,從而縮短調試時(shí)間。

設計中更多地受限于針腳還是受限于資源?

  使用嵌入式邏輯分析儀不要求任何額外的輸出針腳,但必須使用內部FPGA資源,實(shí)現邏輯分析儀功能。使用外部邏輯分析儀要求使用額外的輸出針腳,但使用內部FPGA資源的需求達到最小(或消除了這種需求)。

FPGAView FPGA調試

  FPGAView概述

  外部邏輯分析儀方法有效利用FPGA的處理能力,并根據需要重新對設備配置,把感興趣的內部信號路由到通常很少的針腳上。這是一種非常有用的方法,但它也有一定的局限性:

  * 用戶(hù)每次需要查看一套不同的內部信號時(shí),都必需改變設計(在RTL級或使用FPGA編輯器工具),把希望的信號組路由到調試針腳上。這不僅耗費時(shí)間,而且如果要求重新匯編設計,那么還會(huì )改變設計的定時(shí),可能會(huì )隱藏需要解決的問(wèn)題;

  * 當更改FPGA內部測試信號時(shí),在外部邏輯分析儀上的被測信號名稱(chēng)需要手工進(jìn)行更新;

  * 一般來(lái)說(shuō),調試針腳數量很少,內部信號與調試針腳之間1:1的關(guān)系限制著(zhù)設計查看能力和洞察力。

  為克服這些局限性,出現了一種新的FPGA調試方法,它不僅提供了外部邏輯分析儀方法的所有優(yōu)勢,還消除了主要局限性。FPGAView軟件在與泰克TLA系列邏輯分析儀配套使用時(shí),為調試FPGA和周邊硬件電路提供了一個(gè)完整的解決方案(參見(jiàn)圖2)。

 圖2 典型的FPGAView實(shí)現方案

  這種組合可以:

  * 時(shí)間關(guān)聯(lián)的查看FPGA內部活動(dòng)和外部活動(dòng);

  * 迅速改變FPGA內部探點(diǎn),而無(wú)需重新匯編設計;

  * 每個(gè)針腳監測多個(gè)內部信號;

  * 在TLA邏輯分析儀上自動(dòng)更新切換的內部信號名稱(chēng)。

  此外,FPGAView可以在一臺設備中處理多個(gè)測試內核(適合監測不同的時(shí)鐘域),并可以在一個(gè)JTAG鏈上處理多臺FPGA設備。

快速使用FPGAView

  可以通過(guò)下面幾個(gè)簡(jiǎn)單的步驟使用FPGAView:

  第1步,在設計中配置和插入相應的測試內核(Configure and Insert);

  第2步,加載測試內核信息(Load);

  第3步,建立FPGA針腳與TLA邏輯分析儀通道的對應關(guān)系(Mapping);

  第4步,進(jìn)行(Run)。

  第一步是配置測試內核,把它插入到FPGA設計中。例如,在使用ALtera設備時(shí),可以使用Altera的邏輯分析儀接口編輯器,創(chuàng )建最
  適合自己需求的測試核(參見(jiàn)圖3)。

 圖3 使用(邏輯分析儀節口編輯器)定義和插入內核的實(shí)例

  對大多數測試內核,可以指定下述參數:

  Pin Count(針腳數量):表示希望專(zhuān)用于邏輯分析儀接口的針腳數量。

  Bank Count(組數):表示希望映射到每個(gè)針腳上的內部信號數量。

  Output/Capture Mode(輸出/捕獲模式):選擇希望執行的采集類(lèi)型??梢赃x擇Combination/Timing(組合邏輯/定時(shí)模式)或Registered/State(寄存器/狀態(tài)模式)。

  Clock(時(shí)鐘):如果用戶(hù)選擇了Registered/State(寄存器/狀態(tài))的捕獲模式,這一選項允許選擇測試內核的取樣時(shí)鐘。

  Power-Up State(通電狀態(tài)):這個(gè)參數允許指明指定用于邏輯分析儀接口的針腳的通電狀態(tài)。

  從FPGAView軟件窗口中,可以與JTAG編程電纜建立連接,并且連接到TLA系列邏輯分析儀(TLA邏輯分析儀使用windows平臺)或PC工作站上。{{分頁(yè)}}

  在使用ALTERA FPGA芯片時(shí),按Open(打開(kāi))工具條按鈕,調出一個(gè)文件瀏覽器,選擇Quartus II LAI Editor軟件以前生成的邏輯分析儀接口(LAI)文件。這樣就加載了與LAI核心有關(guān)的所有信息電包括每一組的信號數量、組數和信號名稱(chēng),另外如果設備中的LAI內核多于一個(gè),那么還包括每個(gè)LAI內核的信息。

  下一步是映射FPGA針腳和TLA邏輯分析儀探頭之間的物理連接,FPGAView可以自動(dòng)更新邏輯分析儀上顯示的信號名稱(chēng),與測試內核當前監測的信號相匹配。

  為此,簡(jiǎn)單地點(diǎn)擊Probes(探頭)按鈕,將出現一個(gè)拖放窗口,把測試內核輸出信號名稱(chēng)與邏輯分析儀上的相應通道連接起來(lái)(參見(jiàn)圖4)。對某條目標連接,這個(gè)通道分配過(guò)程只需一次。

 圖4  FPGAView迅速簡(jiǎn)便地映射針腳

  使用Bank(組)列表下拉菜單,選擇想要的組。一旦選擇了組,FPGAView會(huì )通過(guò)JTAG接口與FPGA通信并配置測試內核,以便選擇希望的組。

  FPGAView還將這些通道名稱(chēng)通過(guò)對TLA系列邏輯分析儀的控制進(jìn)行自動(dòng)分配,從而可以簡(jiǎn)便地理解測量結果。為測量不同的一套內部信號,用戶(hù)只需選擇不同的信號組(參見(jiàn)圖5)。全功能TLA系列邏輯分析儀會(huì )自動(dòng)把這些FPGA信號與系統中的其它信號關(guān)聯(lián)起來(lái)(參見(jiàn)圖6)。

 圖5  選擇希望測量的信號組


 圖6  TLA系列邏輯分析儀自動(dòng)完成和簡(jiǎn)化了許多測量

  在TLA邏輯分析儀中,針對設計人員關(guān)心的各種時(shí)間信息,提供了業(yè)內獨有的定時(shí)參數自動(dòng)測量功能,通過(guò)鼠標簡(jiǎn)單的拖放操作,能夠得到周期,頻率,占空比,脈沖寬度,通道一通道延遲,邊沿計數,周期計數,違規計數,周期抖動(dòng),以及周期間抖動(dòng)等信息。

高速FPGA的信號完整性測試和分析

  當前流行的FPGA芯片都提供高速總線(xiàn),例如DDR內存總線(xiàn),PCI-X總線(xiàn)、SPI總線(xiàn);針對超高速的數據傳輸,FPGA通過(guò)集成SerDes提供高速串行I0,支持各種諸如PCI-E、GBE、XAUI等高速串行總線(xiàn)協(xié)議,為各種不同標準的高速傳輸提供極大的靈活性。

高速串行總線(xiàn)眼圖測試

  對于采用內嵌SERDES電路的FPGA芯片,其高速串行信號進(jìn)行測試和驗證,最基本的工具是通過(guò)示波器進(jìn)行對其眼圖測試。因為眼圖能夠非常直觀(guān)的反映一條被測信號路徑上的整體信號質(zhì)量問(wèn)題,包括信號的抖動(dòng)量大小(眼寬)以及幅度的大小(眼高)等重要信息。圖7是一個(gè)高速數據信號的眼圖形成的過(guò)程。

 圖7  眼圖的形成過(guò)程

  從眼圖的形成過(guò)程可以看出,一個(gè)NRZ編碼的高速數據無(wú)論傳輸何種碼流,都可以看一個(gè)重復信號,經(jīng)過(guò)一定時(shí)間和樣本數的累計,它反映整個(gè)傳輸通路上的信號質(zhì)量。

示波器的帶寬要求

  示波器進(jìn)行高速總線(xiàn)測試啕帶寬是對示波器的基本要求。以一個(gè)NRZ編碼的高速串行總線(xiàn)為例,它理想的波形是一個(gè)方波信號,方波信號是由它的基波(正弦波)和奇次諧波(3次,5次,7次)組成。根據信號的傳輸速率和上升時(shí)間時(shí)間,選擇盡量高帶寬和最快上升時(shí)間的示波器,這樣測試結果保留更多的諧波分量,構建高精度的眼圖測試結果。

  示波器帶寬反映了對被測信號幅度上的衰減,而示波器上升時(shí)間決定了對被測信號上升時(shí)間測試的誤差。經(jīng)典的示波器帶寬和上升時(shí)間的關(guān)系為:帶寬



關(guān)鍵詞: FPGA 測量 測試

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>