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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【芯片設(shè)計(jì)】握手協(xié)議的介紹與時(shí)序說明

冬至子 ? 來源:芯時(shí)代青年 ? 作者:尼德蘭的喵 ? 2023-12-11 14:11 ? 次閱讀

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

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

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

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

特點(diǎn)

  • 有效數(shù)據(jù)傳輸: "Valid-Ready" 握手協(xié)議通過有效信號(hào)(Valid)來指示數(shù)據(jù)是否有效,Ready信號(hào)來指示接收方是否已準(zhǔn)備好接收數(shù)據(jù)。只有在Valid和Ready信號(hào)都為高電平時(shí),數(shù)據(jù)傳輸才會(huì)發(fā)生,從而確保數(shù)據(jù)在正確的時(shí)機(jī)傳輸。
  • 流控制: Ready信號(hào)可以起到流量控制的作用。如果接收方?jīng)]有準(zhǔn)備好接收數(shù)據(jù),它可以將Ready信號(hào)置低,從而停止發(fā)送方的數(shù)據(jù)傳輸,以防止數(shù)據(jù)擁塞。
  • 同步性: "Valid-Ready" 握手協(xié)議提供了同步機(jī)制,確保發(fā)送和接收之間的時(shí)序一致性。數(shù)據(jù)傳輸只會(huì)在雙方都準(zhǔn)備好的情況下進(jìn)行,避免了數(shù)據(jù)的不同步問題。
  • 靈活性: 握手信號(hào)的有效和準(zhǔn)備狀態(tài)可以根據(jù)具體的應(yīng)用需求來控制。這使得協(xié)議可以適應(yīng)不同的數(shù)據(jù)傳輸速率和處理速度。
  • 錯(cuò)誤檢測(cè): 在有效信號(hào)中,還可以包含錯(cuò)誤檢測(cè)位,以便接收方可以驗(yàn)證傳輸?shù)臄?shù)據(jù)的正確性。

優(yōu)勢(shì)

  • 簡單可靠: "Valid-Ready" 握手協(xié)議相對(duì)簡單,易于實(shí)現(xiàn)和調(diào)試。它的工作原理直觀清晰,使得設(shè)計(jì)者和開發(fā)者能夠更容易地理解和管理數(shù)據(jù)傳輸流程。
  • 節(jié)約資源: 與其他復(fù)雜的通信協(xié)議相比,"Valid-Ready" 握手協(xié)議在硬件資源和時(shí)鐘周期方面的需求較低。這使得它在資源受限的系統(tǒng)中具有優(yōu)勢(shì)。
  • 適應(yīng)性強(qiáng): 由于其簡單性,"Valid-Ready" 握手協(xié)議可以適應(yīng)不同類型的通信和數(shù)據(jù)處理需求。它可以用于內(nèi)部芯片通信,模塊之間的通信,以及許多其他數(shù)字電路場景。
  • 實(shí)時(shí)性好: 由于有效和準(zhǔn)備信號(hào)的即時(shí)性,"Valid-Ready" 握手協(xié)議通常能夠滿足實(shí)時(shí)數(shù)據(jù)傳輸?shù)男枨?,特別適用于需要低延遲的應(yīng)用。

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

image.png

握手接口時(shí)序

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

image.png

接口方向

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

  1. 發(fā)送方在準(zhǔn)備好發(fā)送數(shù)據(jù)之后,需要將valid信號(hào)置高,表示數(shù)據(jù)有效,在接收方的ready置高前(包括當(dāng)拍)valid不可拉低;
  2. 接收方在準(zhǔn)備好接收數(shù)據(jù)時(shí),需要將ready信號(hào)置高,表示已準(zhǔn)備好接收數(shù)據(jù);
  3. 在數(shù)據(jù)傳輸期間,valid 和ready信號(hào)需要保持同步,數(shù)據(jù)傳輸只能在valid和ready信號(hào)同時(shí)為高電平時(shí)進(jìn)行;
  4. 解復(fù)位后(工作期間)valid不可為不定態(tài),即仿真中valid不允許出現(xiàn)X態(tài)和Z態(tài),必須為高/低電平;
  5. 解復(fù)位后(工作期間)ready不可為不定態(tài),即仿真中valid不允許出現(xiàn)X態(tài)和Z態(tài),必須為高/低電平,注意ready的定態(tài)要求不如valid嚴(yán)格(或者說在valid不為1時(shí),ready的不定態(tài)一般是允許的,有時(shí)也會(huì)要求ready全程不可為不定態(tài));
  6. info在valid為1時(shí)不可為不定態(tài),在valid為0時(shí)無約束;
  7. 在valid置起為1后,到valid和ready進(jìn)行握手前(包括當(dāng)拍),info值不能跳變;
  8. valid的產(chǎn)生邏輯中不可包含或隱式包含ready信號(hào);
  9. ready的產(chǎn)生邏輯中可以包含valid信號(hào);

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片設(shè)計(jì)
    +關(guān)注

    關(guān)注

    15

    文章

    984

    瀏覽量

    54705
  • AXI總線
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    14228
  • PCIe接口
    +關(guān)注

    關(guān)注

    0

    文章

    117

    瀏覽量

    9649
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    由于ZYNQ架構(gòu)和常用接口IP核經(jīng)常出現(xiàn) AXI協(xié)議,賽靈思的協(xié)議手冊(cè)講解時(shí)序比較分散。所以筆者收藏AXI協(xié)議的幾種時(shí)序,方便編程。
    發(fā)表于 08-02 12:42 ?7890次閱讀

    握手型接口的同步FIFO實(shí)現(xiàn)

    按照正常的思路,在前文完成前向時(shí)序優(yōu)化和后向時(shí)序優(yōu)化后,后面緊跟的應(yīng)該是雙向時(shí)序優(yōu)化策略了,不過不急,需要先實(shí)現(xiàn)一下握手型同步FIFO。
    的頭像 發(fā)表于 12-04 14:03 ?604次閱讀
    <b class='flag-5'>握手</b>型接口的同步FIFO實(shí)現(xiàn)

    bq25792握手協(xié)議

    Android項(xiàng)目,在沒開機(jī)前,充電,bq25792 走默認(rèn)的5v1.5A充電。 在開機(jī)后,主控通過i2c與bq芯片通信后,有中斷觸發(fā),status狀態(tài)改變,但D+/D- 沒有產(chǎn)生握手。適配器不充電
    發(fā)表于 06-11 16:20

    [ElfBoard] USB接口及握手協(xié)議介紹

    與USB2.0控制器握手完畢,進(jìn)行后續(xù)的480Mbps 高速信號(hào)通信,這就是咱們常說的USB握手協(xié)議,怎么樣,是不是很有趣呢
    發(fā)表于 11-22 13:36

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

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

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

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

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

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

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

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

    時(shí)序分析的優(yōu)化策略詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA的時(shí)序分析的優(yōu)化策略詳細(xì)說明。
    發(fā)表于 01-14 16:03 ?17次下載
    <b class='flag-5'>時(shí)序</b>分析的優(yōu)化策略詳細(xì)<b class='flag-5'>說明</b>

    時(shí)序分析的優(yōu)化策略詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是FPGA的時(shí)序分析的優(yōu)化策略詳細(xì)說明。
    發(fā)表于 01-14 16:03 ?19次下載
    <b class='flag-5'>時(shí)序</b>分析的優(yōu)化策略詳細(xì)<b class='flag-5'>說明</b>

    Xilinx的時(shí)序設(shè)計(jì)與約束資料詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是Xilinx的時(shí)序設(shè)計(jì)與約束資料詳細(xì)說明
    發(fā)表于 01-14 16:26 ?34次下載

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

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

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

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

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

    "Valid-Ready" 握手協(xié)議是一種常用于數(shù)字電路中的接口協(xié)議,用于控制數(shù)據(jù)的傳輸和處理。
    的頭像 發(fā)表于 12-04 10:37 ?1266次閱讀
    Valid-Ready<b class='flag-5'>握手</b><b class='flag-5'>協(xié)議</b>的<b class='flag-5'>介紹</b>與<b class='flag-5'>時(shí)序</b><b class='flag-5'>說明</b>

    簡述TCP協(xié)議的三次握手機(jī)制

    機(jī)制是建立一個(gè)可靠的連接的關(guān)鍵步驟。以下是對(duì)TCP協(xié)議三次握手機(jī)制的介紹: 概述 TCP協(xié)議的三次握手機(jī)制是一種用于在兩個(gè)通信實(shí)體之間建立連
    的頭像 發(fā)表于 08-16 10:57 ?339次閱讀