FPGA+DSP協(xié)同平臺設(shè)計(jì)之調(diào)試技巧和注意事項(xiàng)
作為雙芯片的協(xié)同系統(tǒng),調(diào)試的開始階段需要對每個芯片進(jìn)行單獨(dú)測試。這種情況下就需要避免另外一個芯片對調(diào)試產(chǎn)生影響,比較好的辦法就是讓它停止工作。
對于FPGA芯片,如果沒有進(jìn)行配置,那么所有的管腳都處于高阻狀態(tài)。由于高阻態(tài)沒有驅(qū)動能力,所以不會對DSP產(chǎn)生直接的影響。但是在某些情況下,會產(chǎn)生間接的影響。
例如,很多DSP會在系統(tǒng)復(fù)位的時候讀取某些地址信號來確定啟動后的工作模式。如果這些信號連接到了FPGA的管腳上,那么上電后這些信號就會處于不確定的狀態(tài)。如果處于錯誤的電平狀態(tài),就會對DSP產(chǎn)生很大的影響。
解決的辦法就是通過上拉或者下拉電阻來保證這些處于高阻態(tài)的信號處于正常的狀態(tài),如圖11.10所示。這樣,在FPGA的管腳處于高阻狀態(tài)的時候,管腳會被上拉到高電平或者下拉到低電平。
圖1 雙端口RAM模塊
DSP芯片和FPGA芯片不同,即使在沒有進(jìn)行配置的情況下,有些管腳也會處于輸出狀態(tài),比如地址信號和控制信號。那么在單獨(dú)調(diào)試FPGA芯片的時候,就要考慮到這些管腳是否會對FPGA產(chǎn)生影響。
特別是沒有用到(unused)的FPGA管腳,有些系統(tǒng)默認(rèn)的狀態(tài)是低電平。這些管腳如果和DSP的輸出管腳連接到一起,就會出現(xiàn)總線的沖突情況。因此,在工程項(xiàng)目設(shè)置的時候,要將UNUSED PIN指定為高阻態(tài)或者INPUT模式。2 FPGA測試點(diǎn)的設(shè)計(jì)
FPGA芯片的管腳資源一般都很豐富,除了滿足系統(tǒng)應(yīng)用外,還會剩余部分管腳沒有指定功能。這些剩余的管腳用來做測試點(diǎn)會方便系統(tǒng)的調(diào)試。
例如,DSP的地址和數(shù)據(jù)信號都屬于高速信號,如果直接在這些信號上加測試點(diǎn)測試會影響到信號的波形質(zhì)量。特別是BGA封裝的DSP芯片,這些管腳不能用示波器設(shè)備的探頭或表筆直接測量。而且,板上的測試點(diǎn)太多也會影響布線的質(zhì)量和美觀。
充分利用FPGA的靈活性,可以將需要測試的信號指定到某個測試點(diǎn)上。這樣就不需要直接測試這些信號點(diǎn),而是通過測試點(diǎn)進(jìn)行間接的測量。
如圖2所示,如果需要測試DSP的信號ADDR[15]和DATA[0],可以把這兩個信號在FPGA內(nèi)部指定到測試點(diǎn)T1、T2。只要直接測試T1、T2就可以了。
此外,這些測試點(diǎn)還可以用來做功能擴(kuò)展。因?yàn)檫@些測試點(diǎn)都是雙向的普通I/O,可以作為連接器信號和其他板卡或者系統(tǒng)互聯(lián)。
3 借助FPGA的內(nèi)部邏輯分析儀來輔助調(diào)試
在前面的章節(jié)中曾經(jīng)介紹過FPGA的內(nèi)部邏輯分析儀功能,如Altera公司的Signal TAPII和Xilinx公司的Chip Scope等。這些工具可以用來測試FPGA運(yùn)行狀態(tài)下信號的變化情況,特別是總線的運(yùn)行狀態(tài)。
在FPGA+DSP的系統(tǒng)中,DSP的很多信號需要連接到FPGA的管腳。利用內(nèi)部邏輯分析儀功能,就可以通過FPGA來觀察這些信號的時序和狀態(tài),提高了調(diào)試的可視化程度。
fpga相關(guān)文章:fpga是什么
評論