0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Valid-Ready握手協(xié)議的介紹與時序說明

冬至子 ? 來源:芯時代青年 ? 作者:尼德蘭的喵 ? 2023-12-04 10:37 ? 次閱讀

最早接觸到握手協(xié)議是在校期間學習PCIe的AXI總線時,至今日雖然PCIe的結構已經(jīng)忘得一干二凈,但握手協(xié)議經(jīng)過不斷的使用還算掌握的不錯。

對于點開這篇文章的人而言,握手協(xié)議是什么其實不需要贅述:

"Valid-Ready" 握手協(xié)議是一種常用于數(shù)字電路中的接口協(xié)議,用于控制數(shù)據(jù)的傳輸和處理。這種協(xié)議通常在兩個設備(如芯片、模塊或模塊間的通信)之間使用,以確保數(shù)據(jù)的有效傳輸和正確處理。

下面是 "Valid-Ready" 握手協(xié)議的特點和優(yōu)勢:

特點:

*有效數(shù)據(jù)傳輸: "Valid-Ready" 握手協(xié)議通過有效信號(Valid)來指示數(shù)據(jù)是否有效,Ready信號來指示接收方是否已準備好接收數(shù)據(jù)。只有在Valid和Ready信號都為高電平時,數(shù)據(jù)傳輸才會發(fā)生,從而確保數(shù)據(jù)在正確的時機傳輸。

*流控制: Ready信號可以起到流量控制的作用。如果接收方?jīng)]有準備好接收數(shù)據(jù),它可以將Ready信號置低,從而停止發(fā)送方的數(shù)據(jù)傳輸,以防止數(shù)據(jù)擁塞。

*同步性: "Valid-Ready" 握手協(xié)議提供了同步機制,確保發(fā)送和接收之間的時序一致性。數(shù)據(jù)傳輸只會在雙方都準備好的情況下進行,避免了數(shù)據(jù)的不同步問題。

*靈活性: 握手信號的有效和準備狀態(tài)可以根據(jù)具體的應用需求來控制。這使得協(xié)議可以適應不同的數(shù)據(jù)傳輸速率和處理速度。

*錯誤檢測: 在有效信號中,還可以包含錯誤檢測位,以便接收方可以驗證傳輸?shù)臄?shù)據(jù)的正確性。

優(yōu)勢:

*簡單可靠: "Valid-Ready" 握手協(xié)議相對簡單,易于實現(xiàn)和調試。它的工作原理直觀清晰,使得設計者和開發(fā)者能夠更容易地理解和管理數(shù)據(jù)傳輸流程。

*節(jié)約資源: 與其他復雜的通信協(xié)議相比,"Valid-Ready" 握手協(xié)議在硬件資源和時鐘周期方面的需求較低。這使得它在資源受限的系統(tǒng)中具有優(yōu)勢。

*適應性強: 由于其簡單性,"Valid-Ready" 握手協(xié)議可以適應不同類型的通信和數(shù)據(jù)處理需求。它可以用于內部芯片通信,模塊之間的通信,以及許多其他數(shù)字電路場景。

*實時性好: 由于有效和準備信號的即時性,"Valid-Ready" 握手協(xié)議通常能夠滿足實時數(shù)據(jù)傳輸?shù)男枨?,特別適用于需要低延遲的應用。

好的,冠冕堂皇的部分結束了。那么一句話來概括握手協(xié)議就是:通過valid控制信號發(fā)送,通過ready控制信號接收,通過若干info承載信息的一種接口總線,其典型時序圖如下:

圖片

握手接口時序

對于發(fā)射模塊而言,valid/data為輸出,ready為輸入。對于接收模塊而言,valid/data為輸入,ready為輸出:

圖片

接口方向

對于握手協(xié)議的時序,有如下幾條較為通用的要求:

1.發(fā)送方在準備好發(fā)送數(shù)據(jù)之后,需要將valid信號置高,表示數(shù)據(jù)有效,在接收方的ready置高前(包括當拍)valid不可拉低;

2.接收方在準備好接收數(shù)據(jù)時,需要將ready信號置高,表示已準備好接收數(shù)據(jù);

3.在數(shù)據(jù)傳輸期間,valid 和ready信號需要保持同步,數(shù)據(jù)傳輸只能在valid和ready信號同時為高電平時進行;

4.解復位后(工作期間)valid不可為不定態(tài),即仿真中valid不允許出現(xiàn)X態(tài)和Z態(tài),必須為高/低電平;

5.解復位后(工作期間)ready不可為不定態(tài),即仿真中valid不允許出現(xiàn)X態(tài)和Z態(tài),必須為高/低電平,注意ready的定態(tài)要求不如valid嚴格(或者說在valid不為1時,ready的不定態(tài)一般是允許的,有時也會要求ready全程不可為不定態(tài));

6.info在valid為1時不可為不定態(tài),在valid為0時無約束;

7.在valid置起為1后,到valid和ready進行握手前(包括當拍),info值不能跳變;
7.
8.valid的產(chǎn)生邏輯中不可包含或隱式包含ready信號;

9.ready的產(chǎn)生邏輯中可以包含valid信號;

當然了,以上是相對通用的要求,是否需要遵守可以根據(jù)實際情況來判斷。比如果接收模塊需要5拍來處理一個info,那么數(shù)據(jù)傳輸就不必非要在valid和ready同時為高時進行,可以在valid拉高后就開始處理,處理完成時再拉高ready接收并丟棄info。

個人的建議是,1、2、4、7、8/9選一為必須遵守的規(guī)則,其余為盡量遵守但是可以調整的規(guī)則。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16383

    瀏覽量

    178334
  • 接收器
    +關注

    關注

    14

    文章

    2472

    瀏覽量

    71950
  • 數(shù)據(jù)傳輸

    關注

    9

    文章

    1914

    瀏覽量

    64645
  • 數(shù)字電路

    關注

    193

    文章

    1606

    瀏覽量

    80658
  • 高電平
    +關注

    關注

    6

    文章

    149

    瀏覽量

    21409
收藏 人收藏

    評論

    相關推薦

    valid-ready握手協(xié)議和enable-xoff協(xié)議對比

    這一篇主要對比下valid-ready握手協(xié)議和enable-xoff協(xié)議,當然這個對比僅限于同時鐘域下的信號傳輸。
    的頭像 發(fā)表于 12-04 10:32 ?815次閱讀
    <b class='flag-5'>valid-ready</b><b class='flag-5'>握手</b><b class='flag-5'>協(xié)議</b>和enable-xoff<b class='flag-5'>協(xié)議</b>對比

    【芯片設計】握手協(xié)議介紹時序說明

    最早接觸到握手協(xié)議是在校期間學習PCIe的AXI總線時,至今日雖然PCIe的結構已經(jīng)忘得一干二凈,但握手協(xié)議經(jīng)過不斷的使用還算掌握的不錯。
    的頭像 發(fā)表于 12-11 14:11 ?3349次閱讀
    【芯片設計】<b class='flag-5'>握手</b><b class='flag-5'>協(xié)議</b>的<b class='flag-5'>介紹</b>與<b class='flag-5'>時序</b><b class='flag-5'>說明</b>

    玩轉Zynq連載4——AXI總線協(xié)議介紹2

    表明主機可以接收從機送出的讀數(shù)據(jù):1 = 主機是準備好的;0 = 主機未準備好。3 握手過程全部5個通道使用同樣的VALIDREADY握手機制來實現(xiàn)數(shù)據(jù)和控制信息的傳輸。這個雙向的流
    發(fā)表于 05-10 16:15

    ARM系列 -- AXI協(xié)議資料匯總(一)

    前兩條好理解,重點看一下第三條。之前講過,為了避免死鎖,協(xié)議規(guī)定發(fā)送方的VALID不能依賴接收方的READY;反過來,接收方的READY可以等待,也可以不等待發(fā)送方的
    發(fā)表于 04-08 09:34

    AXI接口協(xié)議詳解

    和AXi4-stream都支持三種握手機制,但其具體的總線結構是不同的,詳情在后文中會介紹。這三種握手機制分別是:(1) VALID 先變高 REA
    發(fā)表于 04-08 10:45

    基于ECC帶緩存的快速SSL握手協(xié)議

    標準安全套接層(SSL)握手協(xié)議帶寬開銷大且網(wǎng)絡數(shù)據(jù)通信效率低。該文提出一種基于橢圓曲線密碼體制、帶緩存的快速SSL握手協(xié)議。該協(xié)議將服務器
    發(fā)表于 04-13 09:41 ?19次下載

    什么是握手信號? 什么是握手協(xié)議?

    什么是握手信號? 什么是握手協(xié)議? RS -232通行方式允許簡單連接三線:Tx、Rx和地線。但是對于數(shù)據(jù)傳輸,雙方必須對數(shù)據(jù)定
    發(fā)表于 10-14 10:26 ?5446次閱讀

    什么是詢問握手身份驗證協(xié)議

    什么是詢問握手身份驗證協(xié)議 CHAP(詢問握手身份驗證協(xié)議)是用于遠程登錄的身份驗證協(xié)議,通過三次握手
    發(fā)表于 04-03 16:06 ?2683次閱讀

    AXI總線協(xié)議的幾種時序介紹

    由于ZYNQ架構和常用接口IP核經(jīng)常出現(xiàn) AXI協(xié)議,賽靈思的協(xié)議手冊講解時序比較分散。所以筆者收藏AXI協(xié)議的幾種時序,方便編程。
    發(fā)表于 05-12 09:10 ?1.1w次閱讀
    AXI總線<b class='flag-5'>協(xié)議</b>的幾種<b class='flag-5'>時序</b><b class='flag-5'>介紹</b>

    setup/hold的概念

    協(xié)議,需要打拍的信號間存在時序的耦合。 所以問題就簡化成如何在遵循valid -ready協(xié)議的master和slave 之間完成“打拍
    的頭像 發(fā)表于 07-25 10:09 ?2070次閱讀

    Channel傳輸示例介紹

    本節(jié)檢查源和目標之間可能的握手的一些示例。它顯示了符合 AXI 協(xié)議規(guī)范的 VALIDREADY 序列的幾種可能組合。
    的頭像 發(fā)表于 05-08 10:30 ?957次閱讀
    Channel傳輸示例<b class='flag-5'>介紹</b>

    AXI4協(xié)議五個不同通道的握手機制

    AXI4 協(xié)議定義了五個不同的通道,如 AXI 通道中所述。所有這些通道共享基于 VALIDREADY 信號的相同握手機制
    的頭像 發(fā)表于 05-08 11:37 ?1230次閱讀
    AXI4<b class='flag-5'>協(xié)議</b>五個不同通道的<b class='flag-5'>握手</b>機制

    握手協(xié)議中的Valid及data打拍技巧

    AXI 協(xié)議使用的是valid-ready握手的方式去傳輸數(shù)據(jù)。
    發(fā)表于 06-27 16:12 ?1663次閱讀
    在<b class='flag-5'>握手</b><b class='flag-5'>協(xié)議</b>中的<b class='flag-5'>Valid</b>及data打拍技巧

    valid ready協(xié)議中對ready進行timing修復打拍的方法

    首先將把目標設計想象成一個黑盒子,如圖1所示,我們的目標是將READY_DOWN通過打拍的方法獲得時序優(yōu)化。
    的頭像 發(fā)表于 06-27 16:20 ?1358次閱讀
    在<b class='flag-5'>valid</b> <b class='flag-5'>ready</b><b class='flag-5'>協(xié)議</b>中對<b class='flag-5'>ready</b>進行timing修復打拍的方法

    validready信號有哪三種情況

    信號一旦置起就不能置低,直到完成握手,至少傳輸一周期數(shù)據(jù)。 協(xié)議另外規(guī)定:發(fā)送方不能通過等待接收方 READY信號來確定置起 VALID 信號的時機。 通俗來講就是設計發(fā)送方邏輯時,不
    的頭像 發(fā)表于 10-31 15:44 ?2138次閱讀
    <b class='flag-5'>valid</b>與<b class='flag-5'>ready</b>信號有哪三種情況