SRIO入門之官方例程仿真驗證

仿真SRIO事務時序

仿真之前先完成下面兩步操作:

1.Vivado軟件版本2020.1,創建好工程及SRIO的IP核

2.右鍵綜合化的IP核,然后選擇打開IP示例工程

直接運行仿真

分別將request和response兩個模塊添加到仿真窗口進行查看

運行1000us左右就可以看到信號動作

可以看到不同的事務類型

接收MAINTENANCE READ REQUEST請求

首先會由一個維護讀請求事務,指定一個維護讀請求,不需要響應,因此val_tresp_tvalid=0。

發送SWRITE請求

仿真后面可以看到val_ireq_tvalid拉高時發送的數據包有效,結合ftype(6)和ttype(0)值,包頭對應instruction.vh頭文件的流寫事務,在數據發送完后tlast拉高。

接收SWRITE請求

在request模塊發送完數據后,response模塊接收到SWRITE請求,結合ftype(6)和ttype(0)值可以驗證是SWRITE事務。

發送NWRITE_R請求

接著request模塊繼續發送下一個數據包事務,是NWRITE_R事務。

接收NWRITE_R請求,發送響應

在發送請求一段時間后,在response模塊中接收NWRITE_R事務,和發送的請求包一致,該事務會產生響應,在一段時間后可以看到val_tresp_tvalid拉高一個周期,發送響應包val_tresp_tdata = 64'h25d0_4000_0000_0000。

發送NREAD請求

接著request模塊繼續發送下一個數據包事務,是NREAD事務。先發送讀數據請求包,該事務請求只含包頭,不包含數據。

接收NREAD請求

在發送一段時間請求包后response模塊收到請求包,接收到讀數據事務后根據數據類型接收模塊會返回一個響應包和一串數據。

發送NREAD響應

在response模塊接收到讀事務一段時間后產生相應包val_tresp_tdata=64'h4bd8400000000000,并和數據一起打包,因為接收到的size=8'h3f,所以需要發送的數據個數是64字節,數據位寬是64位發送,則需要發送8個周期的數據。

接收NREAD響應

在響應包發送一段時間后在request模塊中收到了響應包包頭和數據,響應包包頭為val_iresp_tdata=64'h4bd8400000000000,跟在包頭后面的是數據0。

上述只對流寫事務、帶響應的寫事務和讀事務進行仿真時序分析,其它幾個事務可以根據頭文件和仿真繼續分析。

本期分享結束,感謝大家看完,私信我可獲取相關源碼工程

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917578.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917578.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917578.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CMake進階: 使用FetchContent方法基于gTest的C++單元測試

目錄 1.前言 2.FetchContent詳解 2.1.FetchContent簡介 2.2.FetchContent_Declare 2.2.1.簡介 2.2.2.關鍵特性 2.2.3.常見示例 2.3.FetchContent_MakeAvailable 2.3.1.簡介 2.3.2.核心功能與工作流程 2.3.3.示例用法 2.3.4.關鍵特性 2.3.5.常見問題與解決方案 3.…

亞馬遜廣告投放:如何減少無效曝光提高ROI

“為什么廣告花費高但轉化率低?”“如何判斷關鍵詞是否值得繼續投放?”“曝光量暴漲但訂單沒增加怎么辦?”“ACOS居高不下該如何優化?”“手動廣告和自動廣告的預算怎么分配?”如果你也在為這些問題頭疼,說…

Ethereum:擁抱開源,OpenZeppelin 未來的兩大基石 Relayers 與 Monitor

不知道大家是否注意到,OpenZeppelin 正在經歷一次重大的戰略轉型。他們決定在 2026 年 7 月 1 日正式關閉其廣受好評的 SaaS 平臺——Defender,并將重心全面轉向開源工具的建設。 這一舉動在社區引發了廣泛的討論,也標志著 OpenZeppelin 希望…

HFSS許可監控與分析

在電磁仿真領域,HFSS(High Frequency Structure Simulator)因其卓越的性能和廣泛的應用而受到用戶的青睞。然而,隨著企業和研究機構對HFSS使用需求的不斷增長,如何有效監控和分析HFSS許可證的使用情況,以確…

【前端:Html】--1.3.基礎語法

目錄 1.Html--文件路徑 2.Html--頭部元素 2.1.head元素 2.2.title元素 2.3.style元素 2.4.link元素 2.5.meta元素 2.6.script元素 2.7.base 3.Html--布局技巧 3.1.CSS Float 浮動布局 3.2.CSS Flexbox 布局 3.3.CSS Grid 網格布局 3.Html--響應式web設計 3.1.設…

Java 中 Nd4j 中的 INDArray 經過 reshape 之后數據丟失(rank = 0)

問題: 數據經過: INDArray inputArray Nd4j.create(input); // 將整個輸入數組轉換為 INDArray INDArray accs inputArray.get(NDArrayIndex.interval(0, imuNum * 3)).reshape(imuNum, 3, 1); // 加速度部分 INDArray oris inputArray.get(NDArrayIn…

正點原子阿波羅STM32F429IGT6移植zephyr rtos(四)---在獨立的應用工程里使用MPU6050

硬件平臺:正點原子阿波羅STM32F429IGT6 zephyr版本:Zephyr version 4.2.0 開發環境:wsl ubuntu 24.4 前景提要: 正點原子阿波羅STM32F429IGT6移植zephyr rtos(三)---創建一個獨立的應用工程-CSDN博客 一.修…

SAP_MMFI模塊-質保金標準解決方案詳解

一、業務背景 在許多企業的采購業務中,尤其是設備采購、工程項目或關鍵物料供應,通常會與供應商約定一筆質保金(或稱保留金)。這筆款項在貨物交付驗收后并不會立即支付,而是會被扣留一段時間(如一年),作為供應商產品質量的保證。 核心業務痛點: 在沒有系統化管理的…

Stanford CS336 assignment1 | Byte-Pair Encoding (BPE) Tokenizer

BPE一、 BPETrain1、 unicode standard and unicode encoding2、 子詞分詞(subword tokenization)3、 BPE的訓練a、 Vocabulary initializationb、 Pre-tokenizationc、 Compute BPE merges4、 train_BPE更多實現上的細節二、 BPETokenizerinit函數from_filesencodedecodeencod…

RockAI 的破壁之戰:Yan 架構如何啃下“端側煉丹”硬骨頭?

過去兩年,AI 模型的發展敘事幾乎被兩大陣營主導:無所不能的云端模型與充滿想象的端側模型。行業曾描繪一個誘人藍圖:隨著輕量化模型能力的提升,AI 終將擺脫云端束縛,在每個人的設備上實現永不離線的貼身智能。然而&…

交叉驗證:原理、作用與在機器學習流程中的位置

交叉驗證(Cross-Validation)是機器學習中評估模型性能、選擇最優參數和防止過擬合的核心技術。它在整個機器學習流程中扮演著關鍵角色。一、為什么需要交叉驗證?1. 解決訓練/測試劃分的局限性??問題??:隨機單次劃分訓練集/測試…

js怎么判斷一個未申明的變量?

在 JavaScript 中,判斷一個變量是否未聲明(未定義)需要特別注意,因為直接訪問未聲明的變量會拋出 ReferenceError 錯誤。 最安全的方式是使用 typeof 操作符,因為它對未聲明的變量操作時不會報錯,而是返回 …

C++進階-封裝紅黑樹模擬實現map和set(難度較高)

目錄 1.預備知識 2.初步代碼 3.對紅黑樹實現的代碼進行改造 4.對map和set的改造 5.對RBTree::insert的改造 6.對RBTree::Find函數的改造 7.實現iterator(最重要) 8.實現const_iterator 9.完成set和map的key不能修改 10.實現map的operator[] 11.代碼匯總 12.總結 1.預…

安裝MySQL可視化管理工具DBeaver教程

系統(kelin)上安裝MySQL可視化管理工具DBeaver教程 背景說明 在國產操作系統麒麟(基于Debian/Ubuntu)環境下,MySQL數據庫管理常依賴命令行,效率較低且不便于直觀操作。借助 DBeaver 這類跨平臺的圖形化數據…

非機動車亂停放識別準確率↑37%:陌訊多特征融合算法實戰解析

一、行業痛點:非機動車治理的技術瓶頸根據《2023 城市靜態交通治理報告》顯示,國內一線城市非機動車亂停放占用人行道比例超 60%,傳統監控方案存在三大技術難點:遮擋干擾:共享單車與私人電動車堆疊導致目標完整性缺失&…

Eclipse 安裝插件指南

Eclipse 安裝插件指南 引言 Eclipse 是一款強大的集成開發環境(IDE),廣泛應用于Java、C/C++、PHP等多種編程語言。為了提高開發效率,Eclipse 支持通過插件來擴展其功能。本文將詳細介紹如何在Eclipse中安裝插件,幫助您快速提升開發體驗。 插件概述 Eclipse 插件是用于…

區塊鏈 和 一致性哈希的結合

怎么結合呢? 我們先來回顧一下一致性哈希代碼實現里面的結構 // Consistent holds the information about the members of the consistent hash circle. type Consistent struct {mu sync.RWMutex // 讀寫鎖,用于保護并發訪問共享數據config Con…

使用yolo11訓練智慧醫療-孤獨癥兒童行為檢測數據集VOC+YOLO格式7295張34類別步驟和流程

【數據集介紹】數據集中有很多增強圖片,也有很多視頻連續截取圖片請查看圖片預覽數據集格式:Pascal VOC格式YOLO格式(不包含分割路徑的txt文件,僅僅包含jpg圖片以及對應的VOC格式xml文件和yolo格式txt文件)圖片數量(jpg文件個數):…

vim 組件 使用pysocket進行sock連接

vim組件實現 以下是使用 Vim 插件架構實現 Python Socket 客戶端的完整方案&#xff0c;支持集成到 Vim 控件并實現雙向通信&#xff1a; ~/.vim/plugin/socket_client.vim" 定義全局命令和快捷鍵 command! -nargs* SocketConnect call s:StartSocketClient(<f-args>…

FFmpeg+javacpp中純音頻播放

FFmpegjavacpp中純音頻播放1. Java Sound播放2、整合音頻信息AudioInfo3、添加ExecutorService執行播放FFmpegjavacppjavacv使用 FFmpegjavacpp中FFmpegFrameGrabber FFmpegjavacpp中仿ffplay播放 JavaCV 1.5.12 API JavaCPP Presets for FFmpeg 7.1.1-1.5.12 API1. Java Soun…