福晞2025
為方便用戶(hù)了解和熟悉「福晞軟件」,我們就軟件的調(diào)試工具進(jìn)行詳細(xì)的講解和說(shuō)明,以幫助用戶(hù)實(shí)現(xiàn)高效地開(kāi)發(fā)和調(diào)試。
福晞軟件提供了一套完整的芯片在線調(diào)試工具,用戶(hù)可以通過(guò)這一系列的調(diào)試工具,在線觀察芯片內(nèi)部信號(hào)的變化。
本工具集提供了多種添加 Debugware IP 的方式,在完整運(yùn)行福晞流程生成碼流,并成功下載后,通過(guò) Real Time Debug 工具可選擇不同 LA Core,設(shè)置不同采樣頻率,不同觸發(fā)條件。最后通過(guò) Waveform 可以方便查看采樣波形。
圖 1-1清晰地描述了整個(gè)調(diào)試過(guò)程中不同工具的功能以及工具之間的相互依賴(lài)關(guān)系。

圖 1-1 福晞軟件調(diào)試流程
福晞軟件在線調(diào)試主要分為以下4個(gè)步驟:
(1) 工程添加 Debugware IP;
(2) 運(yùn)行綜合,布局&布線,生成碼流和下載;
(3) 設(shè)置觸發(fā)條件;
(4) 查看波形。
在步驟(1)中,福晞軟件提供了兩種方式幫助用戶(hù)在工程中添加 Debugware IP: Debugware UI 手動(dòng)例化 Debugware IP 和借助 Debug Insert 工具自動(dòng)添加 Debugware IP。
近期,我們將詳細(xì)介紹上述相關(guān)步驟。
添加 Debugware IP
手動(dòng)例化 Debugware IP
本節(jié)主要描述 Debugware IP 的手動(dòng)例化使用方法。該 IP 核是一種嵌入式邏輯分析儀(Embedded Logic Analyzer),用于幫助設(shè)計(jì)人員觀察 FPGA 內(nèi)部信號(hào)跳變。采樣信號(hào)波形存儲(chǔ) EMB 中,成功觸發(fā)后可通過(guò) JTAG 接口回讀數(shù)據(jù)。用戶(hù)可根據(jù)預(yù)設(shè)條件獲取對(duì)應(yīng)的波形圖。
Debugware IP 支持以下功能:
動(dòng)態(tài)配置觸發(fā)條件
支持實(shí)時(shí)捕獲
支持多種觸發(fā)類(lèi)型與條件:
(1) 算術(shù)運(yùn)算
a. 等于(equal)
b. 不等于(not equal)
(2) 邊沿檢測(cè)
a. 上升沿(rise)
b. 下降沿(fall)
支持最多 4 個(gè) LA 核
多 LA 核協(xié)同管理
支持多 EMB 擴(kuò)展,以增加采樣數(shù)據(jù)的位寬與深度
注意
確保設(shè)計(jì)滿(mǎn)足時(shí)序要求;
確保 Debugware IP 實(shí)際使用的 EMB 數(shù)量不要超過(guò)當(dāng)前器件可使用 EMB 總數(shù)。
Debugware IP 支持器件:
HME-M7,HME-M5,HME-HR3,HME-HR2,HME-H1,HME-H3,HME-H3P,HME-H7,HME-P0,HME-P1,HME-P2,HME-P3
Debugware IP 端口介紹

表 2-1 Debugware IP 端口介紹
Debugware IP 框圖
Debugware IP 由三部分組成:
TAP,LA Manager 和 LA Core,如圖2-1所示。
TAP:JTAG 控制器的調(diào)試接口封裝邏輯(為 JTAG 協(xié)議提供硬件適配層)。
LA Manager:Debugware IP 的中央控制單元,擔(dān)任 TAP 模塊與 LA 核之間的橋接樞紐,有且只有一個(gè)(1個(gè) LA Manager 可同時(shí)控制最多4個(gè) LA 核)。
LA Core:Debugware IP 的執(zhí)行單元;包含兩大核心模塊:觸發(fā)生成模塊(Trigger Generator)和存儲(chǔ)模塊(Storage Module)。

圖 2-1 Debugware IP UI 介紹
Debugware IP 使用介紹
用戶(hù)可通過(guò) Debugware 按以下步驟生成 Debugware IP:
步驟 1
按照?qǐng)D 2-2所示,從Wizard Manager中選擇Debugware(v2.1a)啟動(dòng) Debugware IP UI。

圖 2-2 選擇 Debugware IP
步驟 2
用戶(hù)可按照?qǐng)D 2-3,圖 2-4和圖 2-5所示,配置Debugware IP。

圖 2-3 輸入模塊名稱(chēng)

圖 2-4選擇 LA Core 的數(shù)量(最大值為4)

圖 2-5配置存儲(chǔ)參數(shù)
Trigger Model:設(shè)置觸發(fā)模式,可選項(xiàng)為:Single 和 Multiple;選擇 Single 時(shí),Debugware 不支持多窗口觸發(fā)方式;選擇 Multiple 時(shí),支持多窗口觸發(fā)模式。但 Multiple 模式下,窗口個(gè)數(shù)設(shè)為1時(shí),不等價(jià)于 Single 模式。Multiple 模式使用的資源數(shù)量比 Single 模式多。
Data Width:設(shè)置 Debugware 使用的 EMB 的數(shù)據(jù)位寬,數(shù)據(jù)位寬的值應(yīng)該大于等于您要實(shí)際觀察信號(hào)的數(shù)量;
Memory Depth:設(shè)置 Debugware 使用 EMB 的深度,該值大小決定觸發(fā)時(shí)采樣的周期數(shù)。
Input DFF Level:設(shè)置待觀測(cè)信號(hào)的打拍個(gè)數(shù),范圍0~6。說(shuō)明:改善增加 Debugware IP 對(duì)用戶(hù)邏輯性能的影響,值越大影響越小,推薦值為2。
步驟 3
點(diǎn)擊Finish生成 IP RTL 源代碼文件,該文件會(huì)被自動(dòng)加到工程中。然后,您需要在工程中手動(dòng)例化 Debugware IP。并將需要觀察信號(hào)接到 IP 的 data_in_n(n=0,1,2,3) 端口。
生成 IP 源文件時(shí),UI 同時(shí)生成以圖 2-3中 Module Name 命名的 *.adf 文件。該文件記錄了 IP 使用的 LA Core 的配置信息:Core 使用的 Clock 名稱(chēng)、觸發(fā)條件和 IP 使用的存儲(chǔ)信息。在下文第4部分觸發(fā)中,Real Time Debug 工具會(huì)加載 adf 文件中的初始觸發(fā)條件。同時(shí),adf 文件會(huì)記錄用戶(hù)自定義的觸發(fā)條件。
運(yùn)行流程
所有修改完成后,可依次運(yùn)行綜合、布局&布線和生成碼流步驟,生成 *.acf 文件。
關(guān)閉調(diào)試
當(dāng)完成當(dāng)前調(diào)試過(guò)程后,您需要手動(dòng)在工程源代碼中刪除 Debugware IP 的例化代碼,重新運(yùn)行流程生成新的 *.acf 文件。
自動(dòng)添加 Debugware IP
除了上述介紹的手動(dòng)例化 Debugware IP的方式,福晞軟件還提供了 Debug Insert 工具。Debug Insert 是一款基于福晞綜合網(wǎng)表 *.amv 文件進(jìn)行調(diào)試的工具。因此,在使用 Debug Insert 工具之前,您需要提前運(yùn)行綜合,確保生成 *.amv 網(wǎng)表文件。
該工具在正確設(shè)置 LA Core 個(gè)數(shù)和選擇待觀察的信號(hào)后,會(huì)自動(dòng)生成 *.dxc 約束文件。接下來(lái),福晞運(yùn)行流程時(shí),福晞流程讀取約束文件中 LA Core 的信息,在 *.amv 網(wǎng)表中自動(dòng)添加 Debugware IP。
因此,該工具可以幫助用戶(hù)在工程中自動(dòng)添加 Debugware IP,這避免了用戶(hù)手動(dòng)修改 RTL 源代碼,簡(jiǎn)化了 IP 添加的過(guò)程,在一定程度上提高了用戶(hù)調(diào)試效率。
啟動(dòng) Debug Insert 工具
依次選擇Tools -> Debug Insert;
在Flow Navigator 窗口中, 依次選擇Synthesize->Open Synthesized Design->Debug Insert;
在Project或者Hierarchy窗口中,新建 *.dxc 文件,雙擊 *.dxc 文件打開(kāi)工具,如圖 2-7。

圖 2-7 Debug Insert 界面
設(shè)置 LA Core
在Core Setting頁(yè)面,設(shè)置 LA Core參數(shù):
Trigger Model:設(shè)置觸發(fā)模式,可選項(xiàng)為:Single 和 Multiple;選擇 Single 時(shí),Debugware 不支持多窗口觸發(fā)方式;選擇 Multiple 時(shí),支持多窗口觸發(fā)模式。但 Multiple 模式下,窗口個(gè)數(shù)設(shè)為1時(shí),不等價(jià)于 Single 模式。Multiple 模式使用的資源數(shù)量比 Single 模式多。
Core Name:設(shè)置 LA Core 的名稱(chēng),名稱(chēng)需要保持唯一。
Memory Depth:設(shè)置 Debugware 使用 EMB 的深度,該值大小決定了觸發(fā)時(shí)采樣周期數(shù)。
Input DFF Level:設(shè)置待觀測(cè)信號(hào)的打拍個(gè)數(shù),范圍0~6。說(shuō)明:改善增加 Debugware IP 對(duì)用戶(hù)邏輯性能的影響,值越大影響越小,推薦值為2。
Clock:在LA Core行Clock列對(duì)應(yīng)單元格雙擊,彈出Search Design對(duì)話框如圖 2-8,設(shè)置要觀察信號(hào)所在時(shí)鐘域。未設(shè)置 Clock 時(shí),該單元格用紅色標(biāo)記,并顯示N/A,如上圖 2-7 Debug Insert 界面。

圖 2-8 時(shí)鐘選擇
另外,可通過(guò)工具欄中?或者右鍵菜單“Remove Core”刪除當(dāng)前選中 LA Core。
注意
Debug Insert 工具無(wú)需設(shè)置數(shù)據(jù)位寬,工具會(huì)根據(jù)實(shí)際選擇信號(hào)個(gè)數(shù)自動(dòng)確定;
如果綜合網(wǎng)表中沒(méi)有有效時(shí)鐘,LA Core 將無(wú)法選擇時(shí)鐘;
在保存時(shí),如果 Clock 顯示為 N/A(未配置),將不能保存。
選擇觀察信號(hào)
Debug Insert 工具提供了兩種添加信號(hào)的方式:
在 RTL 中使用MARK_DEBUG宏標(biāo)記觀察信號(hào)(wire 或者 reg)。
使用 Debug Insert UI 對(duì)話框選擇福晞綜合 amv 網(wǎng)表中信號(hào)。
(1)使用MARK_DEBUG宏
在 RTL 源文件,找到對(duì)應(yīng)的 reg 或者 wire 信號(hào),在信號(hào)前添加屬性:(* MARK_DEBUG = “YES” *),然后保存 RTL,如圖 2-9所示。

圖 2-9 MARK_DEBUG 宏
運(yùn)行綜合成功后,打開(kāi) Debug Insert,選擇Create a new debug constraint file。Debug Insert 工具會(huì)自動(dòng)加載 RTL中標(biāo)記的信號(hào)。如圖 2-10:

圖 2-10 LA Core 頁(yè)面
如圖 2-10所示,工具會(huì)自動(dòng)根據(jù) MARK_DEBUG 標(biāo)記的信號(hào)所屬時(shí)鐘域創(chuàng)建 LA Core。每個(gè)時(shí)鐘域?qū)?yīng)一個(gè) LA Core,同時(shí)時(shí)鐘域內(nèi)的觀察信號(hào)也對(duì)應(yīng)添加到 LA Core 對(duì)應(yīng)的被觀察信號(hào)頁(yè)面。
在被觀察信號(hào)頁(yè)面,RTL 中標(biāo)記的信號(hào)和 UI 中手動(dòng)添加的信號(hào)使用不同圖標(biāo)標(biāo)記:

代表 RTL 標(biāo)記,

代表 UI 手動(dòng)添加,
如下圖 2-11所示:

圖 2-11 MARK_DEBUG 宏添加信號(hào)
(2)使用Debug Insert UI對(duì)話框
點(diǎn)擊 LA Core 名稱(chēng)對(duì)應(yīng)的頁(yè)面,切換到被觀察信號(hào)頁(yè)面。在本頁(yè)面可通過(guò)⊕或者右鍵“Add Nets”打開(kāi)福晞綜合 .amv 網(wǎng)表中所有 Net 信號(hào)集合對(duì)話框,如圖 2-12。在本對(duì)話框中,依次選擇觀察信號(hào),選擇完成后,點(diǎn)擊OK,選擇信號(hào)將被添加到被觀察信號(hào)頁(yè)面。

圖 2-12 可觀察信號(hào)集合
Search Design窗口中,可根據(jù)Net Name進(jìn)行查找。在該窗口中,Net 列表顯示福晞綜合 .amv 網(wǎng)表中所有的信號(hào)信息,表格有以下3列:
Net Name:信號(hào)的名稱(chēng)。
Status:顯示該信號(hào)是否已經(jīng)被添加到 LA Core 中,如果已經(jīng)添加,
則以

標(biāo)記。
Driver Module:顯示該信號(hào)的驅(qū)動(dòng)模塊類(lèi)型。
生成 *.dxc
在完成 LA Core 設(shè)置和選擇完被觀察信號(hào)后,可通過(guò)
Core 頁(yè)面

或者右鍵菜單Generate彈出
Summary對(duì)話框,顯示所有配置信息。在Summary對(duì)話框中(如圖2-13),選擇Generate,生成 *.dxc 文件,Debugware IP文件和 *.adf 文件。
注意
使用 Debug Insert 工具生成的 adf 文件為:fx_insert_debugware_v2_1,不可修改。

圖 2-13 Summary 對(duì)話框
生成 *.dxc 文件后,該文件會(huì)自動(dòng)加入工程,并顯示在福晞軟件的Hierarchy窗口和Project窗口,如圖 2-14所示。編輯已存在 dxc 文件,可通過(guò)在 Hierarchy 或者 Project 窗口雙擊 .dxc 文件,打開(kāi) Debug Insert 工具。


圖 2-14 Hierarchy 和 Project 窗口
運(yùn)行流程
經(jīng)過(guò)前邊三個(gè)小節(jié):
設(shè)置 LA Core,選擇觀察信號(hào)和生成 *.dxc;已經(jīng)生成了
調(diào)試約束文件 *.dxc 和 *.adf 文件。*.dxc 文件記錄了調(diào)試需要的 LA Core 設(shè)置以及需要觀察的信號(hào)。 Debugware IP 的添加需要重新編譯工程生成新的 *.acf 文件。
在 Console 窗口打印如下 log 信息,說(shuō)明流程正常啟動(dòng),如圖 2-15。

圖 2-15 Debug Insert 流程 log
關(guān)閉調(diào)試
完成調(diào)試流程后,您可以選擇以下任意一種方式關(guān)閉調(diào)試流程:
在圖 2-14Hierarchy或Project窗口中,選中 *.dxc 文件,在右鍵菜單中選擇Remove From Project,移除 *.dxc 文件;
在圖 2-7Debug Insert界面中,將Enable選項(xiàng)取消勾選。
注意
如圖 2-1所示,由于芯片中有且只有一個(gè) JTAG 模塊,因此工程中不能同時(shí)使用手動(dòng)例化 Debugware IP和自動(dòng)添加 Debugware IP添加 IP。否則,運(yùn)行流程時(shí),將會(huì)報(bào)如下錯(cuò):
ERROR : [PLACER 01201] : The cell JTAG_DBWV1 only one in device, so can't place u_debug_u_tap_genblk1_u_jtag.
如果 Placer 報(bào)上述錯(cuò)誤,請(qǐng)檢查您工程中是否同時(shí)例化了 IP 并添加了處于 Enable 狀態(tài)的 .dxc 文件。
下載
通過(guò)前邊介紹的手動(dòng)例化 Debugware IP或自動(dòng)添加Debugware IP方式,生成 *acf 碼流文件后,
您可以通過(guò)

或者Tools->Downloader打開(kāi)下載界面,
如圖3-1所示。選擇對(duì)應(yīng)的 acf 文件,點(diǎn)擊Program按鈕下載碼流至芯片。

圖 3-1 Downloader 界面
(未完待續(xù)……)
-
FPGA
+關(guān)注
關(guān)注
1659文章
22378瀏覽量
633854 -
IP
+關(guān)注
關(guān)注
5文章
1855瀏覽量
155440 -
布線
+關(guān)注
關(guān)注
9文章
821瀏覽量
86063 -
調(diào)試工具
+關(guān)注
關(guān)注
1文章
57瀏覽量
12943
原文標(biāo)題:福晞?軟件調(diào)試工具介紹:工程添加 Debugware IP
文章出處:【微信號(hào):HME-FPGA,微信公眾號(hào):HME京微齊力】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
福晞軟件調(diào)試工具介紹之工程添加Debugware IP(2)
Nuclei Studio 編譯調(diào)試工程
VB TCP/UDP Socket調(diào)試助手軟件 Socket調(diào)試工具軟件
介紹Lauterbach調(diào)試工具的應(yīng)用
多核應(yīng)用調(diào)試工具CodeViser介紹
京微齊力福晞軟件全面提升設(shè)計(jì)師交互體驗(yàn)
福晞軟件調(diào)試工具介紹之工程添加Debugware IP(1)
評(píng)論