<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設計及調試問(wèn)題分析

FPGA設計及調試問(wèn)題分析

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

現代科技對系統的可靠性提出了更高的要求,而技術(shù)在電子系統中應用已經(jīng)非常廣泛,因此易測試性就變得很重要。要獲得的內部信號十分有限、FPGA封裝和印刷電路板(PCB)電氣噪聲,這一切使得和檢驗變成中最困難的一個(gè)流程。另一方面,當前幾乎所有的像CPU、DSP、ASIC等高速芯片的總線(xiàn),除了提供高速并行總線(xiàn)接口外,正迅速向高速串行接口的方向發(fā)展,FPGA也不例外。每一條物理鏈路的速度從600 Mbps到10 Gbps,高速I(mǎi)/O的測試和驗證更成為傳統專(zhuān)注于FPGA內部邏輯的設計人員所面臨的巨大挑戰。這些挑戰使設計人員非常容易地將絕大部分設計時(shí)間放在和檢驗設計上。
  
本文就FPGA系統時(shí)遇到的及有助于提高調試效率的方法,針對Altera和Xilinx的FPGA調試提供了最新的方法和工具。
  
1 FPGA一般設計流程
  
在FPGA系統設計完成前,有2個(gè)不同的階段:設計階段、調試和檢驗階段,如圖1所示。設計階段的主要任務(wù)是輸入、仿真和實(shí)現;調試和檢驗階段的主要任務(wù)是檢驗設計,校正發(fā)現的錯誤。

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

  
1.1 設計階段

在這一階段不僅要設計,而且要使用仿真工具開(kāi)始調試。實(shí)踐證明,正確使用仿真為找到和校正設計錯誤提供了一條有效的途徑。但是,不應依賴(lài)仿真作為調試FPGA設計的唯一工具。
  
在設計階段,還需要提前考慮調試和檢驗階段,規劃怎樣在線(xiàn)快速調試FPGA,這可以定義整體調試方法,幫助識別要求的任何測試測量工具,確定選擇的調試方法對電路板設計帶來(lái)的影響。針對可能選用的FPGA存在的高速總線(xiàn),除了考慮邏輯時(shí)序的測試和驗證外,還應該充分考慮后面可能面臨的信號完整性測試和難題。
  
1.2 調試和檢驗階段
  
在調試階段,必須找到仿真沒(méi)有找到的棘手。怎樣以省時(shí)省力的方式完成這一工作是一個(gè)挑戰。本文將研究如何選擇正確的FPGA調試方法及如何有效地利用新方法的處理能力,這些新方法可以只使用少量的FPGA針腳查看許多內部FPGA信號。如果使用得當,可以突破最棘手的FPGA調試。
  
1.3 FPGA調試方法
  
在設計階段需要作出的關(guān)鍵選擇是使用哪種FPGA調試方法。在理想情況下,設計者希望有一種方法,這種方法可以移植到所有FPGA設計中,能夠洞察FPGA內部運行和系統運行過(guò)程,為確定和棘手的問(wèn)題提供相應的處理能力。
  
基本在線(xiàn)FPGA調試方法有2種:使用嵌入式邏輯儀以及使用外部邏輯分析儀。選擇使用何種方法取決于項目的調試需求。
  
2 嵌入式邏輯分析儀內核
  
主要的FPGA廠(chǎng)商針對器件的在線(xiàn)調試都提供了嵌入式邏輯分析儀內核,這些知識產(chǎn)權模塊插入FPGA設計中,同時(shí)提供觸發(fā)功能和存儲功能。它們使用FPGA邏輯資源實(shí)現觸發(fā)電路;使用FPGA存儲模塊實(shí)現存儲功能;使用JTAG配置內核操作,并用它將捕獲的數據傳送到PC上進(jìn)行查看。
  
由于嵌入式邏輯分析儀使用內部FPGA資源,因此其通常用于大型FPGA,這些大型FPGA可以更好地消化插入內核帶來(lái)的開(kāi)銷(xiāo)。一般來(lái)說(shuō),用戶(hù)希望內核占用的FPGA邏輯資源不超過(guò)可用資源的5%。
  
與其他調試方法一樣,還要知道這種方法存在的部分矛盾。
  
2.1 針腳與內部資源
  
嵌入邏輯分析儀內核不使用額外的測試針腳,因為它通過(guò)現有的JTAG針腳訪(fǎng)問(wèn)內核。這意味著(zhù)即使設計受到FPGA針腳限制,仍可以使用這種方法。矛盾在于,它使用的內部FPGA邏輯資源和存儲模塊可以用來(lái)實(shí)現設計。此外,由于使用片內內存存儲捕獲的數據,因此內存深度一般相對較淺。
  
2.2 探測與運行模式
  
嵌入式邏輯分析儀核心的探測非常簡(jiǎn)單,它使用現有的JTAG針腳。矛盾在于,盡管嵌入式邏輯分析儀可以查看FPGA操作,但沒(méi)有一種方式將這些信息與電路板級或系統級信息時(shí)間關(guān)聯(lián)起來(lái)。而將FPGA內部的信號與FPGA外部的信號關(guān)聯(lián)起來(lái)對解決棘手的調試問(wèn)題至關(guān)重要。在分析方法上,嵌入式邏輯分析儀只能進(jìn)行狀態(tài)分析。
  
2.3 成本與靈活性
  
大多數FPGA廠(chǎng)商提供了嵌入式邏輯分析儀內核,而其價(jià)格要低于全功能外部邏輯分析儀。雖然用戶(hù)希望更多的功能,但嵌入式邏輯分析儀內核的功能無(wú)論從通用性、分析方式、觸發(fā)能力,還是從存儲和分析能力都弱于全功能外部邏輯分析儀,而用戶(hù)通常需要這些功能來(lái)捕獲和分析棘手的調試問(wèn)題。例如,嵌入式邏輯分析儀只能在狀態(tài)模式下操作,它們捕獲與FPGA設計中已有的指定時(shí)鐘同步的數據,因此不能提供精確的信號定時(shí)關(guān)系。
  
3 外部邏輯分析儀
  
由于嵌入式邏輯分析儀方法存在部分限制,FPGA設計人員采用外部邏輯分析儀方法,來(lái)利用FPGA的靈活性和外部邏輯分析儀的處理能力,如泰克TLA系列邏輯分析儀。

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

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


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 分析 問(wè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>