使用 Vivado ILA 進行復雜時序分析的完整流程
1.設計準備
在 HDL 代碼中標記待觀測信號,添加(* mark_debug = "true" *)屬性(Verilog)或keep屬性(VHDL)
確保時鐘域劃分清晰,關鍵時序路徑已標識
例化 ILA IP 核,配置參數(shù):
采樣深度:$$ ext{深度} = frac{ ext{待分析時間窗口}}{ ext{時鐘周期}} $$
觸發(fā)條件數(shù)量:根據(jù)復雜時序關系確定
信號位寬:匹配待測信號
2.工程配置
# Tcl 配置示例create_debug_coreu_ila ilaset_propertyC_DATA_DEPTH1024[get_debug_cores u_ila]set_propertyC_TRIGIN_EN false[get_debug_cores u_ila]
通過 IP Integrator 添加 ILA 核
設置觸發(fā)條件:
基本觸發(fā):信號邊沿/電平
高級觸發(fā):邏輯組合(AND/OR)
順序觸發(fā):多級狀態(tài)機觸發(fā)
3.實現(xiàn)與生成
運行綜合與實現(xiàn)
關鍵時序約束:
create_clock-period5.0-name clk[get_ports clk]set_input_delay-clock clk1.5[get_ports data_in]
生成比特流文件(.bit)
4.硬件連接
JTAG 連接配置:
時鐘頻率:$$ f_{ ext{JTAG}} leq frac{1}{4} f_{ ext{設計時鐘}} $$
電纜驅動:安裝 Cable Drivers
FPGA 上電時序:
先上電 FPGA
后連接 JTAG
5.觸發(fā)設置
在 Hardware Manager 中:
源時鐘域信號作為觸發(fā)條件
目標時鐘域信號作為觀測對象
設置多條件觸發(fā):$$ ext{觸發(fā)} = ( ext{Cond}_A land ext{Cond}_B) lor ext{Cond}_C $$
配置觸發(fā)位置(預觸發(fā)/后觸發(fā)比例)
時鐘域交叉分析:
6.數(shù)據(jù)捕獲與分析
執(zhí)行單次/連續(xù)觸發(fā)
波形分析工具:
時間測量:$$ Delta t = t_{ ext{數(shù)據(jù)有效}} - t_{ ext{時鐘沿}} $$
建立/保持時間檢查: $$ t_{ ext{su}} = T_{ ext{clk}} - Delta t_{ ext{max}} $$ $$ t_{ ext{h}} = Delta t_{ ext{min}} $$
跨時鐘域路徑分析:
timeline title CDC 路徑分析 section源時鐘域 觸發(fā)事件 : a1: 數(shù)據(jù)變化 section目標時鐘域 觀測點 : b1: 同步后數(shù)據(jù) 測量點 :c1: 數(shù)據(jù)穩(wěn)定窗口
7.高級調(diào)試技巧
窗口函數(shù)分析 : $$ W(t) = sum_{n=0}^{N} x[n] cdot e^{-jomega n} $$ 用于檢測周期性時序違規(guī)
統(tǒng)計模式 :
建立時間直方圖
保持時間分布圖
關聯(lián)分析 :
將時序違規(guī)與溫度/電壓波動關聯(lián)
建立時序余量模型:$$ ext{余量} = k cdot Delta V + c $$
8.結果導出
導出 CSV 數(shù)據(jù):$$ ext{數(shù)據(jù)集} = { (t_n, ext{data}_n) mid n=1,2,cdots,N } $$
生成時序報告:
Violation Type | Frequency | Worst Slack -----------------------------------------Setup | 12% | -0.15 ns Hold | 3% | -0.08 ns
注意事項:
采樣深度與存儲資源平衡:$$ ext{所需BRAM} = frac{ ext{位寬} imes ext{深度}}{36 ext{Kb}} $$
對于亞穩(wěn)態(tài)分析,觸發(fā)條件應包含復位事件
多時鐘系統(tǒng)需同步 ILA 采樣時鐘與被測時鐘域
此流程可有效診斷建立/保持時間違規(guī)、時鐘偏斜、跨時鐘域問題等復雜時序故障,需結合具體設計場景調(diào)整參數(shù)。
-
代碼
+關注
關注
30文章
4967瀏覽量
73937 -
時序分析
+關注
關注
2文章
130瀏覽量
24225 -
Vivado
+關注
關注
19文章
857瀏覽量
71094
原文標題:使用 Vivado ILA 進行復雜時序分析的完整流程
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
VIVADO時序約束及STA基礎
vivado時序分析相關經(jīng)驗
vivado ILA在線調(diào)試求助
Vivado下顯示指定路徑時序報告的流程
FPGA入門開發(fā)完整流程(Vivado2020+Verilog)精選資料分享
Vivado邏輯分析儀使用教程
Vivado中的靜態(tài)時序分析工具Timing Report的使用與規(guī)范
關于Vivado時序分析介紹以及應用
引入增量編譯流程進行調(diào)試的好處與步驟
Xilinx Vivado軟件ILA使用心得
Vivado進行時序約束的兩種方式
使用Vivado ILA進行復雜時序分析的完整流程
評論