精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

valid-ready握手協議和enable-xoff協議對比

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

這一篇主要對比下valid-ready握手協議和enable-xoff協議,當然這個對比僅限于同時鐘域下的信號傳輸。

工作中接觸的第一個模塊采用的接口協議就是典型的enable-xoff協議,這種協議的典型特點是通過enable信號標記數據有效,通過xoff信號進行反壓,比較典型的波形如下:

圖片

上面的波形中呢,data_en就是使能信號,為1時表明上游的傳輸數據有效;data_xoff為反壓信號,為1時表明下游的接收端無法接收數據,此時數據傳輸不會立即停止,而是會繼續傳輸N拍,N的大小稱為過沖。

還有另外一種常見場景:

圖片

這種波形的特點是,數據不再是單拍有效的,而是若干拍組成一個“包”,data_sop是包頭標志,data_eop為包尾標志,data_sop和date_eop之間(左右均包含)data_en有效的數據即為整個包的數據。這種包傳輸很常見的場景是包頭為多層ID,包尾為ECC校驗,中間為payload:

圖片

這種包傳輸起反壓時,可能有兩種場景:一是過沖若干拍,二是過沖若干個包。具體的要求就要看上下游模塊的協議要求了。這種場景比較復雜暫不過多討論,只看一下最見到的單拍enable-xoff接口,可以發現其與valid-ready最大的區別在于,后者ready拉低時數據傳輸時強制停止的,只有valid和ready同時高有效才完成了一個數據的傳輸。

而前者則不然,enable信號高有效時就完成了一個數據的傳輸,而xoff為1后(起反壓,類似于ready拉低的效果)仍然會過沖幾個數據,直到enable拉低后才停止數據傳輸。

單純從代碼實現的角度看,valid-ready型接口的valid信號必然是會看上一拍是否握手,如果握手了就可以立刻開始下一個數據的發送(而不需要關心本拍ready的情況),不握手就一直維持高有效;而enable-xoff則是在感知到xoff后主動停止發送(單接口上不一定是立即停止),直到xoff降為0后再重新開始發送數據(而不能維持enable信號為1)。

比較典型的enable-xoff就是兩個fifo級聯的電路結構,從這個結構也能看出為什么xoff為高后接口不會立即停止數據發送而是會過沖幾個數據。在這種結構中,下級的fifo將afull(將滿)信號作為xoff輸入給上一級,afull信號參與fifo0的rd_en邏輯中,當afull為1時rd_en會為0。

圖片

那么顯然,即使fifo0在第一時間停止數據發送了,那么由fifo0到fifo1的路上還有4個寄存器呢呀,極端場景這4個寄存器里都有有效數據,那么下級的fifo1是必須得能夠把數據收下來的(要不然不就丟數了嗎),所以fifo1入口的接口協議就是:xoff為1之后,最多允許過沖4個數據(包括xoff為1的當拍)。

順便延伸一下,那么這個時候fifo1的afull水線應該設為多少呢?應當是N-4,N為fifo深度對吧。那么繼續深入一下,N的值最小應該為多少?答案是,N最小值應該為8,大于8肯定是沒有關系的。為什么要這么設置呢,我們來看一下下游阻塞-恢復場景(不糾結于具體的時序,只看行為):

圖片

下游阻塞 -> fifo將滿,起反壓 -> fifo接收路徑上的過沖,等待下游通流 -> 下游通流,fifo出數 -> fifo不再將滿,撤銷反壓 -> 上游恢復發送數據,那么如果在fifo1里面將滿水線以下的數據發送完成之前,上游的數據沒能補充過來(路上有流水),那么必然會造成下游的斷流現象,也就是非阻塞斷流。這對于對帶寬、延遲、抖動有要求的芯片而言是不可接受的。

因此fifo的將滿水線必須設置合理,太淺會丟數,太深會斷流。對于驗證而言,這里的性能驗證也是重中之重,而這一關過去后還有包反壓過沖場景的性能問題以及反壓流水場景:

圖片

反正哪個都夠忙上一陣的,這個不是重點也就不贅述了。說了這么多,其實valid-ready和enable-xoff接口的差異已經說的也比較清楚了:

在芯片設計中,"valid-ready握手接口"和"enable-xoff使能接口"都是用于控制數據傳輸和通信的接口,但它們在功能和用途上有一些差異。

Valid-Ready握手接口:

"Valid" 和 "Ready" 是兩個信號線,用于在數據傳輸過程中進行握手和同步。

"Valid" 信號表示數據是否有效。當數據準備好并可以傳輸時,"Valid" 信號置高。

"Ready" 信號表示接收方是否準備好接收數據。當接收方準備好接收數據時,"Ready" 信號置高。

握手的基本原則是:當發送方的 "Valid" 信號為高且接收方的 "Ready" 信號也為高時,數據可以傳輸。

Enable-XOFF使能接口:

"Enable" 和 "XOFF" 是兩個信號線,用于控制數據流的啟用和停止。

"Enable" 信號用于啟用數據傳輸,當 "Enable" 為高時,數據傳輸可以進行。

"XOFF" 信號用于停止數據傳輸,當 "XOFF" 為高時,數據傳輸被暫停。

通常,"XOFF" 信號用于流量控制,以避免數據過載,允許接收方在處理數據之前進行暫停。

在實際應用中,選擇使用哪種接口取決于項目的需求和設計目標。"Valid-Ready握手接口"通常用于高速數據。

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

    關注

    31

    文章

    5317

    瀏覽量

    120006
  • FIFO芯片
    +關注

    關注

    0

    文章

    10

    瀏覽量

    8802
  • 信號傳輸
    +關注

    關注

    4

    文章

    412

    瀏覽量

    20147
  • 時鐘域
    +關注

    關注

    0

    文章

    52

    瀏覽量

    9529
收藏 人收藏

    評論

    相關推薦

    【芯片設計】握手協議的介紹與時序說明

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

    TCP協議和UDP協議的區別有哪些

    計算機網絡簡答題1、TCP 協議和 UDP 協議的區別有哪些?(1)TCP 屬于面向連接的協議,UDP 屬于面向無連接的協議 ;(2)TCP 可以保證數據可靠、有序的傳輸,可以進行流量
    發表于 08-06 08:43

    TCP協議和UDP協議的區別有哪些?

    TCP協議和UDP協議的區別有哪些?IP地址與MAC地址的區別是什么?ARP協議的工作原理是什么?二層交換機與路由器有什么區別?
    發表于 11-12 06:34

    基于ECC帶緩存的快速SSL握手協議

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

    CAN 的較高層協議和協議

    CAN 的較高層協議和協議 本文主要介紹了幾個基于CAN 的較高層協議CAL/CANopen DeviceNet SDS 并且對這幾個較高層協議的重要功能作了一些比較使讀者更深入地
    發表于 03-22 15:31 ?34次下載

    基于CAN的較高層協議和協議

    基于CAN的較高層協議和協議
    發表于 10-18 16:38 ?21次下載
    基于CAN的較高層<b class='flag-5'>協議和</b>子<b class='flag-5'>協議</b>

    什么是握手信號? 什么是握手協議?

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

    什么是詢問握手身份驗證協議

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

    基于CAN的較高層協議和協議

    基于CAN的較高層協議和協議
    發表于 12-14 16:39 ?13次下載

    AXI4協議五個不同通道的握手機制

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

    TCP協議和UDP協議最核心的區別是什么?

    對于TCP協議和UDP協議,大家應該都有所耳聞。TCP協議和UDP協議都工作在傳輸層,他們的目標都是在應用之間傳輸數據。
    發表于 06-15 09:37 ?664次閱讀
    TCP<b class='flag-5'>協議和</b>UDP<b class='flag-5'>協議</b>最核心的區別是什么?

    握手協議中的Valid及data打拍技巧

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

    tcp/ip協議和opc協議對比詳解

    TCP/IP協議和OPC協議是兩種重要的網絡協議,它們在不同的網絡層級上運行,并為數據傳輸和通信提供了不同的功能。
    的頭像 發表于 10-21 10:11 ?1353次閱讀

    validready信號有哪三種情況

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

    Valid-Ready握手協議的介紹與時序說明

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