當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]FPGA設(shè)計(jì)及調(diào)試問題分析

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

  
1.1 設(shè)計(jì)階段

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

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

與嵌入式邏輯分析儀方法一樣,也需要考慮許多矛盾。[!--empirenews.page--]
  
3.1 針腳與內(nèi)部資源

  
外部邏輯分析儀方法采用非常少的邏輯資源,不使用FPGA內(nèi)存資源。它釋放了這些資源,來實(shí)現(xiàn)所需功能。其矛盾在于,必須增加專用于調(diào)試的針腳數(shù)量,而設(shè)計(jì)時(shí)需要使用這些針腳。
  
3.2 探測(cè)與工作模式
  
外部邏輯分析儀探測(cè)要比嵌入式邏輯分析儀方法要求的探測(cè)復(fù)雜一些。必須確定怎樣使用邏輯分析儀探頭探測(cè)FPGA內(nèi)部信號(hào),而不能使用電路板上已有的JTAG連接器。最簡便的方式是在電路板中增加一個(gè)測(cè)試連接器,這可以簡便地把FPGA信號(hào)與系統(tǒng)中的其他信號(hào)關(guān)聯(lián)起來。
  
3.3 成本與靈活性
  
盡管外部邏輯分析儀的購買價(jià)格確實(shí)要高于嵌入式邏輯分析儀,但使用外部邏輯分析儀可以解決更加廣泛的問題。邏輯分析儀不僅可以用于FP

GA調(diào)試,還可以用來解決其他數(shù)字設(shè)計(jì)挑戰(zhàn),它被公認(rèn)為是進(jìn)行通用數(shù)字系統(tǒng)硬件調(diào)試的最佳工具。外部邏輯分析儀能夠?qū)崿F(xiàn)更加靈活的采集模式和觸發(fā)功能。通過外部邏輯分析儀,可以設(shè)置最多16個(gè)不同的觸發(fā)狀態(tài)(每一個(gè)狀態(tài)含有16個(gè)條件判斷分支),每一個(gè)通道提供256 MB的內(nèi)存,并且可以在定時(shí)分析模式下以高達(dá)125 ps的分辨率(8 GS/s采樣) 捕獲數(shù)據(jù)。
  
4 FPGAView進(jìn)行FPGA調(diào)試
  
外部邏輯分析儀方法有效地利用了FPGA的處理能力,并根據(jù)需要重新對(duì)設(shè)備配置,將有用的內(nèi)部信號(hào)路由到通常很少的針腳上。這是一種非常有用的方法,但它也有一定的局限性:用戶每次需要查看一套不同的內(nèi)部信號(hào)時(shí),都必須改變?cè)O(shè)計(jì)(在RTL級(jí)或使用FPGA編輯器工具),把希望的信號(hào)組路由到調(diào)試針腳上。這不僅耗時(shí),而且如果要求重新匯編設(shè)計(jì),還會(huì)改變?cè)O(shè)計(jì)的定時(shí),可能會(huì)隱藏需要解決的問題。當(dāng)更改FPGA內(nèi)部測(cè)試信號(hào)時(shí),在外部邏輯分析儀上的被測(cè)信號(hào)名稱需要手工進(jìn)行更新。一般說來,調(diào)試針腳數(shù)量很少,內(nèi)部信號(hào)與調(diào)試針腳之間1:1的關(guān)系限制著設(shè)計(jì)查看能力和洞察力。為克服這些局限性,出現(xiàn)了一種新的FPGA調(diào)試方法,它不僅提供了外部邏輯分析儀方法的所有優(yōu)勢(shì),還消除了主要局限性。FPGAView軟件在與泰克TLA系列邏輯分析儀配套使用時(shí),為調(diào)試FPGA和周邊硬件電路提供了一個(gè)完整的解決方案,如圖2所示。

  
這種組合可以時(shí)間關(guān)聯(lián)的查看FPGA的內(nèi)部活動(dòng)和外部活動(dòng);迅速改變FPGA內(nèi)部探點(diǎn),而無須重新匯編設(shè)計(jì);每個(gè)針腳監(jiān)測(cè)多個(gè)內(nèi)部信號(hào);在TLA邏輯分析儀上自動(dòng)更新切換的內(nèi)部信號(hào)名稱。此外,F(xiàn)PGAView可以在一臺(tái)設(shè)備中處理多個(gè)測(cè)試內(nèi)核(適合監(jiān)測(cè)不同的時(shí)鐘域),并可以在一個(gè)JTAG鏈上處理多臺(tái)FPGA設(shè)備。
  
5 快速使用FPGAView
  
使用FPGAView的步驟如下所述:
  
(1) 插入內(nèi)核
  
這步是配置測(cè)試內(nèi)核,把它插入到FPGA設(shè)計(jì)中。例如,在使用ALTERA或Xilinx器件時(shí),可以使用FPGA開發(fā)工具提供的邏輯分析儀接口編輯器,創(chuàng)建最適合自己需求的測(cè)試核。
  
對(duì)大多數(shù)的測(cè)試內(nèi)核,可以指定下述參數(shù):
  
①針腳數(shù)量(pin count):表示希望專用于邏輯分析儀接口的針腳數(shù)量;
  
②組數(shù)(bank count):表示希望映射到每個(gè)針腳上的內(nèi)部信號(hào)數(shù)量;
  
③輸出/捕獲模式(output/capture mode):選擇希望執(zhí)行的采集類型;可以選擇組合邏輯/定時(shí)模式(combina-tion/timing)或寄存器/狀態(tài)模式(registered/state);
  
④時(shí)鐘(clock):如果用戶選擇了registered/state的捕獲模式,這一選項(xiàng)允許選擇測(cè)試內(nèi)核的取樣時(shí)鐘;
  
⑤通電狀態(tài)(power-up state):這個(gè)參數(shù)允許指明用于邏輯分析儀接口的針腳的通電狀態(tài)。
  
(2) 把測(cè)試內(nèi)核信息加載到FPGAView中
  
從FPGAView軟件窗口中,可以與JTAG編程電纜建立連接,并且連接到TLA系列邏輯分析儀(TLA邏輯分析儀使用Windows平臺(tái))或PC工作站上。
  
在使用ALTERA FPGA芯片時(shí),按打開(Open)工具條按鈕,調(diào)出一個(gè)文件瀏覽器,選擇QuartusⅡLAI Editor軟件以前生成的邏輯分析儀接口(.lai)文件。這樣就加載了與LAI核心有關(guān)的所有信息,包括每一組的信號(hào)數(shù)量、組數(shù)和信號(hào)名稱,另外如果設(shè)備中的LAI內(nèi)核多于一個(gè),那么還包括每個(gè)LAI內(nèi)核的信息。

(3) 把FPGA針腳映射到邏輯分析儀上
  
映射FPGA針腳和TLA邏輯分析儀探頭之間的物理連接。FPGAView可以自動(dòng)更新邏輯分析儀上顯示的信號(hào)名稱,與測(cè)試內(nèi)核當(dāng)前監(jiān)測(cè)的信號(hào)相匹配。為此,簡單地點(diǎn)擊探頭(probes)按鈕,將出現(xiàn)一個(gè)拖放窗口,把測(cè)試內(nèi)核輸出信號(hào)名稱與邏輯分析儀上的相應(yīng)通道連接起來。對(duì)某條目標(biāo)連接,這個(gè)通道分配過程只需一次。
  
(4) 進(jìn)行測(cè)量
  
使用組(bank)列表下拉菜單,選擇想要測(cè)量的組。一旦選擇了組,F(xiàn)PGAView會(huì)通過JTAG接口與FPGA通信,并配置測(cè)試內(nèi)核,以便選擇希望的組。
  
FPGAView還將這些通道名稱通過對(duì)TLA系列邏輯分析儀的控制進(jìn)行自動(dòng)分配,從而可以簡便地理解測(cè)量結(jié)果。為測(cè)量不同的一套內(nèi)部信號(hào),用戶只需選擇不同的信號(hào)組。全功能TLA系列邏輯分析儀會(huì)自動(dòng)地把這些FPGA信號(hào)與系統(tǒng)中的其他信號(hào)關(guān)聯(lián)起來。
  
在TLA邏輯分析儀中,針對(duì)設(shè)計(jì)人員關(guān)心的各種時(shí)間信息,提供了業(yè)內(nèi)獨(dú)有的定時(shí)參數(shù)自動(dòng)測(cè)量功能,通過鼠標(biāo)簡單地拖放操作,能夠得到周期、頻率、占空比、脈沖寬度、通道/通道延遲、邊沿計(jì)數(shù)、周期計(jì)數(shù)、違規(guī)計(jì)數(shù)、周期抖動(dòng)、以及周期間抖動(dòng)等信息。
  
6 結(jié)
  
調(diào)試針對(duì)Altera和Xilinx的FPGA系統(tǒng)時(shí)用嵌入式邏輯分析儀和外部邏輯分析儀這2種方法各有其優(yōu)勢(shì)和不足,而FPGAView等新方法進(jìn)一步提高了外部邏輯分析儀方法的吸引力。能夠快速方便地移動(dòng)探點(diǎn),而不需重新匯編設(shè)計(jì),同時(shí)能夠把內(nèi)部FPGA信號(hào)活動(dòng)與電路板級(jí)信號(hào)關(guān)聯(lián)起來,能夠較好地滿足產(chǎn)品開發(fā)周期的要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉