本文介紹有關使用VARON的設計流程和基礎示例的介紹,
設計流程
圖1顯示了VARON的設計流程, 第一步,將VARON IP匯入用戶的目標設計, VARON IP用RTL(Verilog HDL)撰寫, 這允許用戶將VARON IP匯入到Verilog HDL或VHDL撰寫的用戶設計和環境中,第二步是選擇要觀察的AXI信號,然后完成VARON IP配置并注入用戶設計,
VARON IP實施完成后,運行仿真,將選擇的信號資料提取到檔案中并進行仿真,
最后,啟動VARON監控器并加載總線性能資料,然后使用各種性能分析工具開始性能分析,
VARON IP配置
圖2顯示了VARON IP, VARON IP由時鐘計數器,讀取側/寫入側的延遲計數器和RTL撰寫的緩沖區組成,以及由C語言撰寫的檔案輸出軟體組成,
1. 時鐘計數器
- ACLK的計數(由ARESETn初始化)
- 單位時間的測量:周期間隔(單位時間)可以從仿真引數中設定,
2. 延遲計數器(事務)
- 一個延遲計數器可以捕獲1個AXI總線埠,
- 捕獲交易時間和突發長度,
3. 緩沖區(DPI-C)
- 收集時鐘計數器和每個埠的事務處理資訊,并通過DPI-C將其傳遞到檔案輸出軟體以輸出檔案,
時鐘計數器
時鐘計數器對ACLK的數量進行計數,并將時間戳添加到VARON IP輸出的輸出資料中(由ARESETn初始化), 收集每個計數器的捕獲資料并將其一次存盤到緩沖區中,以減少軟體(DPI-C)對硬體仿真器性能的呼叫, 在捕獲AXI事件和寫入時間到檔案里之間存在延遲, 每個捕獲資料都包含時間戳資訊,以補償將捕獲存盤到緩沖區時的延遲,
有兩種方法可以對單位時間的間隔時間進行編程,一種是從仿真引數開始,另一種是VARON RTL輸入信號,
時鐘計數器時序如圖3所示,
單位時間計數器通過引數設定周期來輸出時間,或者從用戶電路輸入表示單位時間周期的信號,
延遲計數器
圖4顯示了延遲計數器的讀取通道時間以及與GUI圖表的關系,
圖5顯示了延遲計數器的寫入通道時間以及與GUI圖表的關系,
AXI總線時序觀察
圖6顯示了在AXI總線標準上讀取/寫入事務的捕獲時序,
例如,VARON測出讀取事務需要3個等待周期,
- 地址等待周期是從ARVALID宣告到ARREADY宣告,它表示從主機到主機發送地址到從機的延遲,
- 訪問時間是指從接受地址到開始資料傳輸的時間,
- 資料周期是從接收到的第一個突發資料到最后一個接收的突發資料的周期,取決于RVALID和RREADY握手,它可能與真實的傳輸突發長度不同,
示例設計
圖7顯示了一個簡單的示例設計, 該示例設計包含8個讀/寫主通道,這些通道由主控器和2個從屬埠連接到MEMC AXI總線互連,通過主控器的AXI ID和接收到的埠號產生從屬(連接到MEMC)埠AXI ID,
在典型的性能分析中,用戶希望捕獲來自MEMC埠的資料傳輸量和突發長度,以及來自主埠的等待周期,等待時間周期和資料傳輸量, 此示例將連接主機和互連的AXI總線記錄為“主側”,將連接互連和MEMC的AXI總線記錄為“從側”,
圖8是運行此示例設計的34,000個周期時仿真結果的主機訪問影像視圖, 對于兩個MEMC埠,VARON每200個時鐘周期(單位時間)捕獲一次資料傳輸量,
VARON IP 的生成和連接
此步驟將創建組態檔以生成VARON IP,并定義要探測的信號串列,然后生成VARON IP, Verilog RTL撰寫的VARON IP允許用戶使用用戶電路進行仿真, 最后,運行仿真并通過VARON Monitor執行性能分析,
有關VARON IP的生成和連接,后續會有文章詳細介紹,
分析結果
示例設計中的VARON監控器分析圖示例如圖9所示,VARON 仿真版本,允許用戶通過一次仿真獲得所有分析圖,該仿真運行80,000個時鐘周期,單位時間(用于測量資料量的間隔時間)為200個時鐘周期,
以下是圖9中分析結果圖表的串列,
- 每個AXI ID和單位時間的從站側讀取資料傳輸量
- 每個AXI ID和單位時間的從站側讀取資料傳輸量分布
- 每個埠/ ID的主站側讀取事務時序圖
- 每個埠的主端讀取延遲分布
VARON監視器允許用戶對分析圖進行以下操作,
- 垂直度/水平滾動(通過滾動條和游標鍵,)
- 放大,縮小和縮放適合(通過按鈕和按鍵+,-,f,)
- 工具提示:將滑鼠移至捕獲并顯示值,
- 指定顯示的時鐘周期數(時間序列圖)
- 搜索意外值(按鈕和按鍵:Ctrl-F)
- 打開對話框->設定范圍(最小和最大值)->以紅色突出顯示超出范圍的捕獲
以下是查找具有較大延遲值的事務的示例,
1. VARON通過“按埠讀取延遲數字直方圖”圖表幫助用戶查找延遲值超出目標范圍的事務,
①單擊“按埠讀取延遲號直方圖”圖,
②單擊“查找超出范圍的值”按鈕,
③為Port0設定等待時間0的最小值和等待時間100的最大值,然后單擊確定,
④超出范圍的事務將突出顯示為紅色,
2.此示例通過“按埠/ ID讀取事務時序圖”圖表查找延遲值超出目標范圍的事務,
①點擊“按埠/ ID讀取交易時序圖”圖,
②單擊“查找超出范圍的值”按鈕,
③為Port0設定等待時間0的最小值和等待時間100的最大值,然后單擊“確定”,
④超出范圍的事務將突出顯示為紅色,
⑤單擊工具列的向右箭頭按鈕,然后搜索下一個錯誤,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/168633.html
標籤:其他
