實(shí)時(shí)調(diào)試與驗(yàn)證解決FPGA開發(fā)的關(guān)鍵瓶
在嵌入式系統(tǒng)設(shè)計(jì)中的各種硬件核心中,隨著FPGA門數(shù)的增多和速度的加快,EDA開發(fā)工具越來越高效,更具便利性和靈活性的FPGA無疑是當(dāng)前系統(tǒng)設(shè)計(jì)中的熱門選擇。而隨著FPGA設(shè)計(jì)的完善程度和復(fù)雜程度不斷增長,產(chǎn)品開發(fā)周期的限制,調(diào)試驗(yàn)證的重要性愈發(fā)突出。對(duì)此熱點(diǎn)話題,筆者特別采訪了泰克邏輯分析儀市場(chǎng)策略經(jīng)理Mike Juliana先生,請(qǐng)他就FPGA的設(shè)計(jì)和驗(yàn)證做出專門闡述。
FPGA開發(fā)流程包括設(shè)計(jì)階段和調(diào)試階段,設(shè)計(jì)階段的任務(wù)是設(shè)計(jì)錄入、設(shè)計(jì)實(shí)施、仿真,調(diào)試和驗(yàn)證階段的任務(wù)是在線驗(yàn)證檢驗(yàn)設(shè)計(jì),校正發(fā)現(xiàn)的任何漏洞。在設(shè)計(jì)階段,仿真調(diào)試能夠縮短調(diào)試時(shí)間,發(fā)現(xiàn)和排除顯而易見的錯(cuò)誤,但是仿真很難對(duì)真實(shí)世界的數(shù)據(jù)進(jìn)行校驗(yàn),很難仿真定時(shí)錯(cuò)誤和異步事件。在調(diào)試階段時(shí),需要由測(cè)試工程師在真實(shí)的FPGA運(yùn)行中測(cè)試,仿真層不能夠覆蓋的部分則用測(cè)試來實(shí)現(xiàn)。
對(duì)于當(dāng)前復(fù)雜的FPGA開發(fā)階段,Mike Juliana先生認(rèn)為,仿真實(shí)際應(yīng)該是設(shè)計(jì)的第一步驟,而調(diào)試是必須進(jìn)行的第二步驟,不能只通過仿真來完成設(shè)計(jì)和調(diào)試。仿真只能覆蓋低速、門數(shù)較少的FPGA,而高速、復(fù)雜的設(shè)計(jì)中,調(diào)試是必須進(jìn)行的開發(fā)階段。
過去,設(shè)計(jì)人員有兩種FPGA調(diào)試方法,內(nèi)嵌式調(diào)試方法和外部邏輯分析儀調(diào)試。內(nèi)嵌式邏輯分析儀,采用FPGA的片內(nèi)資源進(jìn)行編制邏輯分析功能,F(xiàn)PGA廠家提供了很多內(nèi)嵌的調(diào)試方法和軟件工具,如Altera的SignalTap II,Xilinx的ChipScope TM ILA,以及Actel的CLAM 。但FPGA片內(nèi)資源有限,并且內(nèi)嵌式調(diào)試僅僅支持狀態(tài)分析方式,不能進(jìn)行實(shí)時(shí)調(diào)試。外部邏輯分析儀,F(xiàn)PGA可以將信號(hào)通過引腳的方式引出,用邏輯分析儀采集和分析信號(hào)。但需要占用許多的FPGA引腳,如果要改變FPGA的內(nèi)部必須重新編譯。
并且隨著設(shè)計(jì)尺寸和復(fù)雜程度不斷提高,內(nèi)部節(jié)點(diǎn)與外部管腳的矛盾成為FPGA內(nèi)部信號(hào)訪問的最大障礙。對(duì)此,測(cè)試測(cè)量行業(yè)的兩大巨頭泰克與安捷倫都選擇使用了JTAG口通過自動(dòng)方式映射內(nèi)部節(jié)點(diǎn),加速工程師FPGA調(diào)試過程,減少在發(fā)現(xiàn)問題時(shí)返回設(shè)計(jì)階段的步驟和時(shí)間。
泰克FPGAView解決方案綜合了兩種傳統(tǒng)的調(diào)試方式,借助調(diào)試軟件,創(chuàng)建和插入測(cè)試代碼,利用工程師所設(shè)計(jì)的測(cè)試核,把FPGA針腳映射到邏輯分析儀,自動(dòng)更新節(jié)點(diǎn)與管腳的對(duì)應(yīng)關(guān)系。FPGAView可以即時(shí)移動(dòng)探點(diǎn),而不需重新匯編設(shè)計(jì)。同時(shí)它能夠把內(nèi)部FPGA信號(hào)活動(dòng)與電路板級(jí)信號(hào)關(guān)聯(lián)起來,在滿足時(shí)間表方面起到事半功倍的作用。對(duì)于Altera的FPGA產(chǎn)品,可直接利用其自帶的測(cè)試核 Quartus V5.15W,而Xilinx產(chǎn)品可以借助FS2 TestCore進(jìn)行調(diào)試。目前泰克邏輯分析儀可達(dá)到1.25Ga/s采樣速率,完全支持市場(chǎng)中200-300M中高速度的FPGA調(diào)試。
此外,Mike Juliana先生建議,對(duì)于FPGA的調(diào)試工作,除了需要選擇合適的調(diào)試工具之外,還需要注意另外兩點(diǎn),首先要做好仿真階段,其次要制定完整的調(diào)試戰(zhàn)略。工程師需要在設(shè)計(jì)階段就考慮哪些信號(hào)需要測(cè)試,在設(shè)計(jì)時(shí)制定好調(diào)試戰(zhàn)略,根據(jù)戰(zhàn)略來選擇調(diào)試方案。實(shí)際上,這個(gè)問題經(jīng)常被設(shè)計(jì)工程師所忽視,導(dǎo)致加重測(cè)試階段的時(shí)間和復(fù)雜度。在制定調(diào)試戰(zhàn)略時(shí),需要觀察兩部分,包括狀態(tài)機(jī)及各個(gè)狀態(tài)機(jī)之間的關(guān)系,總線內(nèi)部以及之間的關(guān)系,從而發(fā)現(xiàn)典型性的問題和潛在性的問題。
對(duì)于未來FPGA的發(fā)展趨勢(shì),Mike Juliana先生認(rèn)為FPGA將會(huì)變得更加復(fù)雜,很多功能都在片上來實(shí)現(xiàn),SOC將成為未來的主要設(shè)計(jì)方向。此外,更多的FPGA中將會(huì)內(nèi)嵌處理器和控制器。而對(duì)此泰克的很多方案諸如模塊化結(jié)構(gòu)和硬件的增值服務(wù),可以使不同領(lǐng)域的儀器結(jié)合在一起,觀測(cè)數(shù)字世界。
評(píng)論