FPGA綜合出來(lái)的電路都在芯片內(nèi)部,基本上是沒(méi)法用示波器或者邏輯分析儀器去測(cè)量信號(hào)的,所以xilinx等廠家就發(fā)明了內(nèi)置的邏輯分析儀。
在vivado中叫 ILA(Integrated Logic Analyzer),之前在ISE中是叫ChipScope。基本原理就是用fpga內(nèi)部的門電路去搭建一個(gè)邏輯分析儀,綜合成一個(gè)ILA的core核伸出許多probe去探測(cè)信號(hào)線。
下面逐步講解在線debug的過(guò)程,主要側(cè)重ILA中clock domain的正確使用。
第一大部分 添加被測(cè)信號(hào)線
通常有兩種方式 :
1、在代碼中添加這么一句 ( MARK_DEBUG="TRUE" ) 。不管是reg還是wire型的,接口信號(hào)或者內(nèi)部變量,都可以添加。
2、在Setup Debug過(guò)程中,直接添加Netlist
我一般是,常用信號(hào)都加DEBUG標(biāo)識(shí),臨時(shí)測(cè)量的就手動(dòng)加net,需要的就加,不要的就刪。
第二大部分 生成ILA模塊
1、完成綜合之后,Open Synth Design,點(diǎn)里面的Set Up Debug
2、按需要選一個(gè)
3、進(jìn)去之后,就可以添加/刪除被測(cè)net。如果提示沒(méi)有參考時(shí)鐘,右鍵選擇一個(gè)合適的即可
4、選擇FIFO深度。這個(gè)深度可以選很大,每個(gè)被測(cè)信號(hào)都會(huì)得到這么大的一個(gè)FIFO,所以邏輯分析儀非常占用bram資源!合理設(shè)置觸發(fā)條件,F(xiàn)IFO就不用選太大的。
5、我這里再跳回上一步選時(shí)鐘域的部分,結(jié)合上面的FIFO來(lái)說(shuō)明選取clock domain的重要性。
時(shí)鐘域的選擇會(huì)影響兩大方面:生成幾個(gè)ILA核,以及能探測(cè)多少時(shí)間。
1) 選了3個(gè)時(shí)鐘就一定會(huì)生成3個(gè)ILA核,畢竟給D觸發(fā)器的clk不一樣嘛;
2) FIFO的參考時(shí)鐘不同,直接決定FIFO多久會(huì)被存滿;
比如我這個(gè)設(shè)計(jì)中有3個(gè)時(shí)鐘進(jìn)來(lái) 50mhz 20mhz 以及8mhz轉(zhuǎn)400khz給IIC用。如果IIC的參考50mhz,那scl sda的FIFO瞬間就存滿了,觸發(fā)后FIFO的任務(wù)完成了,但是我們連一個(gè)信號(hào)跳變都看不到。如果參考400khz的,那從起始條件到8bit數(shù)據(jù)到停止條件都能抓到了。
FIFO存數(shù)據(jù)是參考信號(hào)時(shí)鐘的,有一拍clk才會(huì)存1bit數(shù)據(jù)。
選擇合適的clock domain非常重要,因?yàn)樽罱K影響到資源的占用。ILA核的個(gè)數(shù),F(xiàn)IFO的個(gè)數(shù)(經(jīng)常會(huì)出現(xiàn)要抓500個(gè)甚至1000個(gè)信號(hào)。為什么這么多!比如你32位的地址,32位的總線,還讀寫分開,還有好幾個(gè),慢慢就聚集多了,fpga本來(lái)功能就是采用并行總線提高速度的原理)。
比如下面這個(gè)設(shè)置,鐵定會(huì)生成3個(gè)ILA核,分3個(gè)波形界面顯示。其實(shí)如果資源確實(shí)夠用的話,建議按照大功能分開,這樣能顯示在不同界面上,然后各自設(shè)置觸發(fā)條件。
第三大部分 信號(hào)波形
1、連上jtag,open目標(biāo)板,然后燒寫bit和ltx文件。
2、設(shè)置觸發(fā)條件。這里就跟示波器是一樣的用法了,可以run也可以trig。
3、右鍵有很多功能:short顯示名 設(shè)置顏色 進(jìn)制轉(zhuǎn)換 分組 等等,可以琢磨一下。
4、舉例子
下面被測(cè)的信號(hào)是20mhz的clk,但是顯示的波形卻不是均勻方波!為什么?因?yàn)槭怯?0mhz的時(shí)鐘采的,就是這樣的,沒(méi)有錯(cuò)。所以再說(shuō)一遍,clock domain的選擇非常重要。
-
示波器
+關(guān)注
關(guān)注
113文章
6696瀏覽量
189196 -
D觸發(fā)器
+關(guān)注
關(guān)注
3文章
171瀏覽量
48754 -
邏輯分析儀
+關(guān)注
關(guān)注
3文章
216瀏覽量
23741 -
FPGA系統(tǒng)
+關(guān)注
關(guān)注
0文章
10瀏覽量
7158 -
FIFO存儲(chǔ)
+關(guān)注
關(guān)注
0文章
103瀏覽量
6188
發(fā)布評(píng)論請(qǐng)先 登錄
集成邏輯分析儀(ILA)的使用方法

為什么要使用邏輯分析儀
無(wú)法在Vivado邏輯分析儀中查看wavefrom
Vivado邏輯分析儀使用教程
邏輯分析儀的工作原理
邏輯分析儀的使用
邏輯分析儀選型參數(shù)有哪些_邏輯分析儀有哪些技術(shù)指標(biāo)_邏輯分析儀有什么推薦的?
Xilinx Vivado軟件ILA使用心得
Vivado中關(guān)于ILA的詳解

Vivado之ILA詳解

評(píng)論