概述
網(wǎng)表約束MARK_DEBUG可應(yīng)用在源碼中的任意一個(gè)網(wǎng)絡(luò)信號上,被施加該約束的網(wǎng)絡(luò)信號在調(diào)試界面中可見,從而方便在線調(diào)試時(shí)快速定位該信號,提升調(diào)試效率。話不多說,下面以FPGA中的在線邏輯分析儀(ILA)的調(diào)試實(shí)踐為例,讓大家感受一下網(wǎng)表約束MARK_DEBUG的妙用。
工程實(shí)踐
以STAR FPGA開發(fā)板中的at7_ex10工程為例,這個(gè)工程實(shí)現(xiàn)UART傳輸?shù)膌oopback功能。該實(shí)例中使用在線邏輯分析儀希望探測到FPGA端接收并進(jìn)行串并轉(zhuǎn)換過程中所設(shè)計(jì)的一些主要信號。
首先需要找出待探測的信號。如圖1和圖2所示,在my_uart_rx.v模塊中,uart_rx、clk_bps、rx_data、rx_int、num、rx_temp_data是需要探測監(jiān)控的信號。
圖1 識別需要進(jìn)行探測的信號1
圖2識別需要進(jìn)行探測的信號2
如圖3所示,在待探測信號定義申明前面增加語句:(*mark_debug= "true"*)。當(dāng)然了,如果后續(xù)不探測這個(gè)信號了,直接修改“true”為“false”就可以。
圖3 標(biāo)注需要探測的信號
完成對探測信號的mark_debug標(biāo)記后,如圖4所示,點(diǎn)擊“Synthesis à Run Synthesis”對工程進(jìn)行綜合編譯。
圖4 工程的綜合編譯
綜合編輯完成后,如圖5所示,接著點(diǎn)擊“Synthesis à Synthesized Design à Set Up Debug”。
圖5 Set Up Debug菜單
如圖6所示,點(diǎn)擊Next進(jìn)入下一步。
圖6 Set Up Debug Wizard頁面
如圖7所示,Nets to Debug界面顯示的信號正是我們在前面的工程源碼中標(biāo)記了(*mark_debug = "true"*)的信號。如果沒有被標(biāo)記過的信號,我們希望添加到Nets to Debug界面中,就要點(diǎn)擊Find Netsto Add…按鈕逐個(gè)查找并添加了,效率要明顯低于直接在工程源碼中事先標(biāo)記。對這些調(diào)試信號做采樣和觸發(fā)屬性設(shè)置后,點(diǎn)擊Next進(jìn)入下一頁面。
圖7 Nets to Debug頁面
如圖8所示,ILA Core Options頁面中,可以設(shè)定探測信號的采樣深度、緩存寄存器等級和信號采集觸發(fā)相關(guān)控制選項(xiàng)。完成設(shè)置后,點(diǎn)擊Next進(jìn)入下一頁面。
圖8 ILA CoreOptions頁面
如圖9所示,Set up Debug Summary中點(diǎn)擊Finish完成設(shè)置。
圖9 Set upDebug Summary頁面
此時(shí),如圖10所示,所有的探測信號出現(xiàn)在了Debug窗口中。
圖10 Debug窗口
接著,重新對工程進(jìn)行編譯,將產(chǎn)生的比特流燒錄到FPGA器件中,最終便能捕捉到如圖11所示的實(shí)際的信號波形。
圖11 觸發(fā)位置的波形
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601238 -
源碼
+關(guān)注
關(guān)注
8文章
632瀏覽量
29110 -
約束
+關(guān)注
關(guān)注
0文章
82瀏覽量
12708
原文標(biāo)題:物理約束實(shí)踐:網(wǎng)表約束MARK_DEBUG
文章出處:【微信號:FPGA快樂學(xué)習(xí),微信公眾號:FPGA快樂學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論