本篇博文中的分析是根據(jù)真實客戶問題撰寫的,該客戶發(fā)現(xiàn)在現(xiàn)場出現(xiàn)罕見的比特翻轉(zhuǎn), 本篇博文旨在演示用于縮小根本原因范圍以及修復(fù)此問題的部分調(diào)試技巧。
最終發(fā)現(xiàn),此問題是由于時鐘域交匯 (CDC) 處理不當所導(dǎo)致的,在 report_methodology 和 report_cdc 報告中高亮顯示了相關(guān)處理錯誤。
這是使用方法論報告系列博文的第 4 部分。如需閱讀整個系列中的所有博文,請點擊如下標題查看。
第1部分:時序以滿足,但硬件功能出現(xiàn)錯誤
第2部分:方法違例對于QoR的影響
第3部分:時序已滿足,但硬件中存在 DDR4 校準失敗
問題說明:
此客戶在現(xiàn)場部署了數(shù)萬個基于 Zynq-7000 系列的產(chǎn)品,這些產(chǎn)品都是使用 Vivado 2013.4 開發(fā)的,其最終客戶報告稱大量卡上出現(xiàn)數(shù)據(jù)包損壞,調(diào)查顯示在所有數(shù)據(jù)包損壞案例中,設(shè)計中的相同位置都發(fā)生了比特翻轉(zhuǎn)。
根本原因分析:
為了縮小范圍,我們首先要求客戶提供網(wǎng)表中這些寄存器的位置:
我們要求客戶提供 DCP 以便我們使用各項報告來審查設(shè)計。
雖然通常隨機問題是由電源問題所導(dǎo)致的,但我們同時還要求客戶提供操作期間的 VCCINT/VCCAUX/VCCIO 測量方法,以便測量電平和噪聲,如(賽靈思答復(fù)記錄 62181-點擊閱讀原文可查看)中的硬件調(diào)試最佳實踐中所述。
我們還要求其提供板級原理圖 (schematic) 以復(fù)查使用的去耦電容是否足夠。
很快我們就把電源問題排除在原因之外。
收到 DCP 后,我們首先使用最新版本的 Vivado 運行
report_timing_summary、report_methodology、report_drc 和 report_cdc。
有多個問題馬上顯現(xiàn)了出來。
最重要的發(fā)現(xiàn)與可疑 FF 相關(guān),report_methodology LUTAR-1 檢查標記出了這些可疑 FF:LUT 驅(qū)動異步復(fù)位警告
FF 具有異步復(fù)位,由邏輯級數(shù)深度為 2 的路徑驅(qū)動:
其危險性在于 LUT(紅色箭頭)可出現(xiàn)毛刺并觸發(fā)意外復(fù)位。
第二項最嚴重的發(fā)現(xiàn)與時鐘域交匯和約束有關(guān)。
Report_cdc 發(fā)現(xiàn)約有 40000 條路徑采用非推薦 CDC 架構(gòu):
不安全的時鐘域交匯可能導(dǎo)致翻轉(zhuǎn) FF 下游或上游出現(xiàn)問題,并且可能成為所觀測到的行為的真正根源。
就約束而言,report_methodology 的“TIMING-24:僅最大延遲數(shù)據(jù)路徑已被覆蓋”檢查發(fā)現(xiàn)多項嚴重違例。
在移除 set_clock_groups -asynchronous 約束并將其替換為 set_max_delay -datapath_only 和時鐘對的最小時鐘周期后,發(fā)現(xiàn)出現(xiàn)了非常嚴重的時序違例:-5.8ns,原因是異步時鐘之間的邏輯級數(shù)達到 11。
第二輪審查發(fā)現(xiàn)設(shè)計中幾乎所有復(fù)位上都存在偽路徑約束,這些約束是為了幫助達成時序收斂而添加的,根據(jù)經(jīng)驗,我們知道這是非常危險的:如果狀態(tài)機的各個位在不同時間脫離復(fù)位,則可能進入非法狀態(tài)、無法恢復(fù)并且導(dǎo)致設(shè)計運行錯誤。
即使復(fù)位為異步,取消復(fù)位仍需達成時序收斂,因此永遠不能忽略復(fù)位上的時序收斂,您應(yīng)該盡可能明確自己實際是否需要復(fù)位,因為不使用復(fù)位可節(jié)省寶貴的布線資源,并且使 SR 管腳可用于控制置位的重映射,從而減小設(shè)計規(guī)模,因為邏輯函數(shù)可部分映射到這些 SR 管腳。
修復(fù)所報告的問題(LUT 驅(qū)動異步復(fù)位、CDC、CDC 約束)并在現(xiàn)場部署一些新固件后,這些罕見的比特翻轉(zhuǎn)就沒有再出現(xiàn)。
結(jié)論:
Vivado 報告功能(方法論、CDC)的進步使我們得以成功調(diào)試并解決罕見的比特翻轉(zhuǎn)問題。
無論何時遇到任何疑問,都應(yīng)該首先考慮使用最新版本的 Vivado 來重新審查設(shè)計,最新版本的 Vivado 中包含 CDC 分析和最新的方法論檢查,這些都是進行原始設(shè)計所沒有的。
責(zé)任編輯:haq
-
DDR
+關(guān)注
關(guān)注
11文章
712瀏覽量
65387 -
硬件
+關(guān)注
關(guān)注
11文章
3345瀏覽量
66285 -
Xinlix
+關(guān)注
關(guān)注
0文章
6瀏覽量
8008
原文標題:開發(fā)者分享 | 使用方法論報告4: 罕見的比特翻轉(zhuǎn)
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論