www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > FPGA開源工作室

1. 前言

在數(shù)字IP/IC,F(xiàn)PGA項目的上板驗證階段,對于一些難以確定原因的bug,比如:RTL仿真時,測試pattern覆蓋不夠全面,fpga跑起來后的實際信號時序可能跟RTL 仿真不一致,從而出現(xiàn)Bug。一種debug的方式就是用FPGA工具提供的ILA模塊(xilixn在ISE中叫:chipscope),來實時抓取FPGA內(nèi)部數(shù)字信號的波形,分析邏輯錯誤的原因,幫助debug。

ILA的正確、高效使用,能加速debug的進程。

2. ILA工作原理

根據(jù)xilinx的datasheet功能描述,猜測ILA也是一個數(shù)字IP,大致結(jié)構(gòu)如下:

其中:

1) dbg_sig?:是待觀測的debug信號;

2) ila_clk:是設置的ILA工作時鐘(監(jiān)測、抓?。?;

3) jtag_inf:ILA數(shù)據(jù)與上層的交互口(tigger條件設置,抓取的數(shù)據(jù)上傳);

4) sram_ctrl:根據(jù)trig_ctrl,觸發(fā)抓取,并把抓取的數(shù)據(jù)按cila_clk的cycle實時寫入SRAM;

5) sram:抓取數(shù)據(jù)的存儲空間;

6) jtag_io:Jtag協(xié)議定義的標準IO;

根據(jù)這個大致結(jié)構(gòu),預計ILA工作原理如下:

1) PC端GUI應用程序設置trigger條件;通過jtag_io配置進入ILA core;

2) ILA core開始工作,使用ila_clk監(jiān)測debug信號是否符合tigger條件;

3) 符合條件后,使用ila_clk抓取debug信號,并實時存入SRAM;

4) 抓取結(jié)束后,通過jtag_io把debug信號的值上傳到PC端;

5) PC端GUI應用程序顯示波形;

根據(jù)這個工作原理,可以推導出ILA的一些使用特性:

1) ILA加入后,需要增加LUT/DFF的使用量;

2) ILA加入后,需要增加的使用量,跟debug信號的數(shù)量,抓取深度成正比;

這些特性,跟實際布局布線后的結(jié)果是匹配的。

3. ILA使用方法與注意

ILA的使用步驟如下:

A. 設計綜合;

B. 點擊:Set Up Debug開始添加ILA;

C. 添加debug信號:

D. 對每個debug信號選擇監(jiān)測、抓取時鐘:

E. 設置抓取特性:

F. 結(jié)束,保存ILA設置。ILA信息將存入工程的xdc約束文件:

到此,ILA插入結(jié)束,在place&route完成,產(chǎn)生configure bit后,下載進入FPAG即可使用ILA進行內(nèi)部觀測了。

4. ILA使用注意

在ILA的使用過程中,有如下3點需要注意:

A. 設置監(jiān)測、抓取時鐘時,最好用drive這個信號的clk。因為是數(shù)字電路,也存在跨時鐘域的問題。如果ila_clk和debug信號的clk不一致,這兒就是一個跨時鐘域的點。在P&R時,timing會報錯。你可以用set_false_path來mask掉這些timing violation,但是需要記住跨時鐘域的特性:如果debug一個4bit信號,實際信號只有4'b0001--> 4'b0111的變化,可能抓取到:4'b0001--> 4'b0101 -> 4'b0111。

B. 因為綜合可能優(yōu)化掉一些信號(尤其是組合邏輯),或改變信號的名字,為了keep某些信號,可以在RTL code中,添加:“* mark_debug = "true" *”,使用如下:

C. 設置抓取特性時,"input pipe stage"建議設置到2~3。這樣雖然多用些DFF,可以確保ILA輸入時的timing更容易過。因為你的debug邏輯可能離ILA core非常的遠,增加pipe stage寄存器,可以把信號一級一級pipe到ILA core的輸入口。

5. 寫在最后

雖然ILA比邏輯分析儀好用多了,但是并不建議靠ILA來debug。因為:

1) ILA分析的波形長度有限;

2) ILA抓取的信號數(shù)量有限;

3) 添加大量信號時,麻煩;

4) 如果需要新加debug信號,需要重新做ILA,在Place&Route,這樣費時費力(一個稍大的工程,可能需要跑數(shù)小時);

所以,“此女”雖好但不可褻玩焉,否則走火入魔,舉步維艱。建立完備的測試pattern,cover全功能點,跑RTL simulation才是正道。

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