<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è) > 測試測量 > 設計應用 > 基于邏輯分析內核的FPGA電路內調試

基于邏輯分析內核的FPGA電路內調試

作者: 時(shí)間:2008-05-23 來(lái)源:網(wǎng)絡(luò ) 收藏

  隨著(zhù)融入越來(lái)越多的能力,對有效工具的需求將變得至關(guān)重要。對內部可視能力的事前周密計劃將能使研制組采用正確的戰略,以更快完成他們的設計任務(wù)。

  “我知道我的設計中存在一個(gè)問(wèn)題,但我沒(méi)有很快找到問(wèn)題所需要的內部可視能力?!庇捎谌狈ψ銐虻膬炔靠梢暷芰?,基系統可能會(huì )受挫。使用通常包含整個(gè)系統的較大時(shí),調試的可視能力成為很大的問(wèn)題。為獲得內部可視能力,設計工程師必須把一些專(zhuān)門(mén)用作調試,而不是實(shí)際用于設計。哪些工具可用于進(jìn)行內部FPGA跡線(xiàn)測量?又有哪些技術(shù)可用固定的數最大化內部可視能力?

  FPGA設計工程師有兩種進(jìn)行內部跡線(xiàn)測量的方法:

  1. 把結點(diǎn)路由至引腳,使用傳統的外部邏輯分析儀測試。

  2. 把一個(gè)邏輯分析儀內核插入FPGA 設計,通過(guò)JTAG把由內部FPGA存儲器保存的跡線(xiàn)捕獲路由輸出。

  邏輯分析

  FPGA開(kāi)發(fā)者要在設計前期作出重要的判定,他們有意識或無(wú)意識地確定如何能夠調試他們的設計。得到內部FPGA可視能力的最常用方法是使用邏輯分析儀,把感興趣的內部結點(diǎn)路由至分析儀探測的引腳。這種方法提供深存儲器跡線(xiàn),在這里問(wèn)題成因和其影響可能有很大的時(shí)間間隔。邏輯分析儀能很好測量可能逃逸事件。一個(gè)例子是具有非相關(guān)的兩個(gè)或多個(gè)時(shí)鐘域交互影響。邏輯分析儀提供強大的觸發(fā),所得到的測量結果能建立與其它系統事件的時(shí)間相關(guān)。

  傳統邏輯分析儀提供狀態(tài)和模式,因此可同步或地捕獲數據。在模式,設計工程師能看到躍變間的關(guān)系。在狀態(tài)模式,設計工程師有能力觀(guān)察相對于狀態(tài)時(shí)鐘的總線(xiàn)。當調試總線(xiàn)值至關(guān)重要的數據路徑時(shí),狀態(tài)模式是特別有用的。

  有效的真實(shí)世界測量需要事先周密的計劃。使用傳統邏輯分析儀要顧及的主要權衡是把結點(diǎn)路由輸出至可探測的引腳。傳統邏輯分析儀只能觀(guān)察到路由至引腳的。由于還不知道潛在的電路內調試問(wèn)題,設計工程師只能把很少幾個(gè)引腳用于調試。這樣少的引腳數可能不足以提供解決手頭問(wèn)題的足夠可視能力,從而延誤項目的完成。

  保持內部可視能力,同時(shí)減少專(zhuān)用于調試引腳數的一種方法是在設計中插入開(kāi)關(guān)多路轉換器(見(jiàn)圖1)。例如當 FPGA 設計進(jìn)入電路時(shí),可能需要觀(guān)察128個(gè)內部結點(diǎn),這就需要一次跟蹤32個(gè)通道。在這種情況下,可在FPGA設計中實(shí)現多路轉換器,在給間內路由出32個(gè)結點(diǎn)。為編程多路轉換器,設計工程師可下載新的配置文件,使用JTAG或通過(guò)多路轉換器上的控制線(xiàn)經(jīng)路由切換各。在設計階段,必須仔細規劃測試多路轉換器插入。否則設計工程師可能止步于不能同時(shí)訪(fǎng)問(wèn)需要調試的結點(diǎn)。

圖1: 測試多路轉換器的插
入使設計工程師有能力路由出內
部信號的子集,圖中為Agilent 16702B所捕獲的跡線(xiàn)。

  最小化調試專(zhuān)用引腳數的第二種方法是時(shí)分復用(TDM)。TDM復用常用于設計原型,此時(shí)把多片FPGA 作為單片ASIC的原型,從而用于最小化調試專(zhuān)用引腳數。這項技術(shù)最適合用于處理較慢的內部電路。假定使用8位總線(xiàn)的50MHz設計(時(shí)鐘沿間為20ns)需要電路內的可視能力。使用100MHz在第一個(gè)10ns期間采樣低4bit,在第二個(gè)10ns期間采樣高4位。這樣僅用4個(gè)引腳,就可在每個(gè)20ns周期內捕獲到全部8位的調試信息。在捕獲跡線(xiàn)后,組合相繼的4位捕獲就可重建8位跡線(xiàn)。TDM復用也有一些缺點(diǎn)。如果用傳統邏輯分析儀捕獲跡線(xiàn),觸發(fā)就變得非常復雜和容易出錯。例如在8位碼型上的觸發(fā)就包括把邏輯分析儀設置到尋找跟隨規定4位碼型后的另一特定4位碼型。但邏輯分析儀不知道哪一個(gè)4位是 8位組的開(kāi)始,因此要在與觸發(fā)設置相匹配的條件上觸發(fā)-而不是使用者所中意的觸發(fā)條件。

  采用TDM復用時(shí)得到的測量結果有精確的周期。但設計工程師卻丟失了時(shí)鐘周期間的定時(shí)關(guān)系信息。通常單端引腳的速度和邏輯分析儀收集跡線(xiàn)的采集速度(狀態(tài)模式)限制了壓縮比。例如如果最大單端引腳速度是200MHz,內部電路運行于高達100 MHz,那么可實(shí)現的最大壓縮比是2:1。

  隨著(zhù)給定FPGA設計的成熟,它可能會(huì )增強和改變。原來(lái)專(zhuān)門(mén)用于調試的引腳會(huì )被用于設計增強?;蜷_(kāi)始就限制了設計的引腳。另一種調試技術(shù)為這類(lèi)情況帶來(lái)價(jià)值。

  邏輯分析內核

  現在大多數FPGA 廠(chǎng)商也提供邏輯分析(見(jiàn)圖2)。這些 IP在合成前或合成后插入FPGA。內核包含觸發(fā)電路,以及用于設置測量和內部RAM,以保存跡線(xiàn)的資源。插入設計的邏輯分析內核改變了設計的定時(shí),因此大多數設計工程師都把內核永久性地留在設計內。

圖2: 從 JTAG 下載邏輯分析儀的配置,
圖中的例子是 Xilinx ChipScopePro。

  對于電路內配置,可通過(guò)JTAG訪(fǎng)問(wèn)內核,以及為觀(guān)察而把捕獲數據傳送到PC。如果內核消耗不到5%的可用資源,FPGA 內核就能充分發(fā)揮作用。如果 FPGA的尺寸使內核要消耗超過(guò)10%的資源,設計工程師在使用這種方法時(shí)將會(huì )遇到很多問(wèn)題。

  邏輯分析內核有三項主要優(yōu)點(diǎn)。

  1. 它們的使用不增加引腳??赏ㄟ^(guò)FPGA 上已有的專(zhuān)門(mén)JTAG引腳訪(fǎng)問(wèn)。即使沒(méi)有其它可用引腳,這種調試方法也能得到內部可視能力。

  2. 簡(jiǎn)單的探測。探測包括把結點(diǎn)路由到內部邏輯分析儀的輸入。不需要擔心為得到有效信息,應如何連接到電路板上,也不存在信號完整性問(wèn)題。

  3. 邏輯分析內核是便宜的。FPGA廠(chǎng)商把他們的業(yè)務(wù)模型建立于用硅片所獲取價(jià)值的基礎上。所以所用的調試IP 通常能以低于$1,000美元的價(jià)格獲得。

  使用內部邏輯分析內核也有三方面的影響。

  1. 內核的尺寸限制了在大FPGA中的使用。此外由于內部FPGA存儲器用于跡線(xiàn),使跡線(xiàn)深度很淺。

  2. 設計工程師必須放棄把內部存儲器用于調試,存儲器會(huì )由所作的設計使用。

  3. 內部邏輯分析儀只工作于狀態(tài)模式。它們捕獲的數據與規定的時(shí)鐘同步,而不能提供信號定時(shí)關(guān)系。

  混合技術(shù)

  一些FPGA廠(chǎng)商已開(kāi)始與傳統邏輯分析儀廠(chǎng)商聯(lián)合開(kāi)發(fā)組合技術(shù)(見(jiàn)圖 3)。例如Agilent 和 Xilinx 最近聯(lián)合為Xilinx的ChipScope開(kāi)發(fā)2M狀態(tài)深存儲器。

圖3: 混合內部和傳統邏輯分析的第
一個(gè)例子是Agilent 和 Xilinx聯(lián)
合為ChipScopePro開(kāi)發(fā)的深存儲器
,通過(guò)TDM復用能把引腳數減到最少。

  這一解決方案把內部邏輯分析內核用于觸發(fā)。在滿(mǎn)足內核的觸發(fā)條件時(shí),內核把跡線(xiàn)信息從經(jīng)路由的結點(diǎn)傳送到內核,再送到引腳。引腳通過(guò)mictor連接器接到一個(gè)小的外部跟蹤盒。該解決方案融入了TDM復用,以減少調試專(zhuān)用引腳數。根據內部電路的速度,復用壓縮可能是1:1,2:1或4:1。由于跡線(xiàn)未在內部保存,因此IP內核要小于帶跡線(xiàn)存儲器的邏輯分析IP。

  如何作出決定?

  傳統邏輯分析和基于內核的邏輯分析技術(shù)都很有用。在選擇最適合您調試需要的方案時(shí),事先考慮一些因素將能幫助您作出決定。下面這幾個(gè)問(wèn)題能幫助您確定哪種方案最為有效。

  1. 您預計會(huì )遇到哪種類(lèi)型的調試問(wèn)題?用內部邏輯分析儀能找到較簡(jiǎn)單的問(wèn)題,而傳統邏輯分析儀則能勝任復雜的故障。

  2. 除了狀態(tài)模式外,您還需要捕獲定時(shí)信息嗎?如果需要,傳統邏輯分析儀能適應這一要求。

  3. 需要多深的跡線(xiàn)?傳統邏輯分析儀可在各通道上捕獲達64M的跡線(xiàn),而內部邏輯分析內核更適合淺的跡線(xiàn)。

  4. 有多少引腳可專(zhuān)門(mén)用于調試?引腳數越少,使用內部邏輯分析儀就越適合。

  5. 必須為新工具投入多少資金?雖然32通道傳統邏輯分析儀的起價(jià)為$6K,但內部邏輯分析儀及相隨波形觀(guān)察器的起價(jià)還不到$1K。

  6. 研制組能容忍對FPGA設計的沖擊嗎??jì)群酥荒茉诖蟮?FPGA上工作,并會(huì )改變設計的定時(shí)。對所有尺寸和類(lèi)型的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>