chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

ARM系列-CXS基礎(chǔ)知識介紹

冬至子 ? 來源:老秦談芯 ? 作者:老秦談芯 ? 2023-11-20 15:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CXS (Credited eXtensible Stream)是一個流接口協(xié)議,主要用于點到點(point-to-point)的數(shù)據(jù)包通信。CXS接口的主要使用情形是在片上互連和PCIe控制器。CXS中的數(shù)據(jù)傳輸是單向的,因此一般CXS接口是收/發(fā)成對出現(xiàn)的。

看到這里,是不是想起了什么?沒錯,就是AXI-Stream,同樣也是點到點的流接口傳輸,比如中斷控制器GIC的組件之間就采用了AXI-Stream。AXI-Stream在 FPGA中應(yīng)用較多,尤其是多媒體領(lǐng)域。

image.png

CXS接口的數(shù)據(jù)傳輸是單向的,兩端是Transmitter(TX)和Receiver(RX)。一個時鐘周期內(nèi)傳輸?shù)臄?shù)據(jù)稱作flit。一個數(shù)據(jù)包可以占用一個或多個flit組成。

CXS的接口信號分為兩部分,一部分是必須包含的,另一部分是可選信號。其中必須實現(xiàn)的信號如下(以下用正粗體表示信號,斜粗體表示屬性):

image.png

從接口信號上看,并沒有READY信號,也就是說CXS不像其它的AMBA總線,比如AXI,是通過“VALID - READY”來控制流量。

正如名字中的含義,CXS接口上的流量控制(flow control)通過信用交換機制實現(xiàn)。其信用機制規(guī)則如下:

  • 僅當(dāng)TX有信用值時才能發(fā)送數(shù)據(jù)
  • 當(dāng)接口剛完成復(fù)位或者是第一次active,TX沒有信用值,不能發(fā)送數(shù)據(jù)
  • RX通過CXSCRDGNT信號授予TX信用
  • CXSCRDGNT被RX置位的每個時鐘周期,RX授予一個信用值給TX。每個信用值可用作一次flit傳輸。
  • RX必須保證每釋放一個信用值,即可接收一個flit
  • TX置位 CXSVALID ,每個時鐘周期發(fā)送一個flit,占用一個信用值
  • RX可以授予TX的最大信用值數(shù)由CXS_MAX_CREDIT屬性決定
  • TX只有等到CXSCRDGNT被置位之后,得到信用才能發(fā)送flit
  • 可選,TX可以通過CXSCRDRTN返還信用值給RX,無需發(fā)送flit
  • RX不能重用已消耗或返回的信用
  • 如果TX在發(fā)送flit或者返回給RX信用的同時接收到一個信用,則TX端的可用信用數(shù)不變

正常情況下,TX發(fā)送一個flit給RX,同時消耗一個信用值;RX接收到flit,如果有能力接收更多的flit,則可以授予TX一個信用值;隨后,TX得到新的信用值。從TX消耗信用值到得到新的信用值,這段時間稱為信用延遲(credit latency)。為保證TX能夠源源不斷的發(fā)送數(shù)據(jù),則需要設(shè)計好最大可用的信用數(shù)量,以保證不會由于信用延遲造成的斷流。

CXS接口的屬性包括以下:

image.png

其中,TX和RX的屬性可以單獨設(shè)置。

CXS的完整接口信號列表如下:

image.png

其中,CXSLAST用于連續(xù)傳輸;CXSPRCLTYPE用于支持多種協(xié)議類型。

當(dāng)CXSCHECKTYPE 屬性被設(shè)置成Odd_Byte_Parity,CXS接口上會增加額外的信號線,用于增強接口信號的完整性。對于單bit信號線,增加一個bit,比如 CXSVALID ,增加一個信號 CXSVALIDCHK ;對于多bit信號,每8bit增加一個信號,比如256-bit的 CXSDATA ,增加一個32-bit信號 CXSDATACHK 。增加的信號與原信號相加為奇數(shù)。

CXS對每個flit中的數(shù)據(jù)包放置進行了限制,以簡化數(shù)據(jù)路徑實現(xiàn):

  • 數(shù)據(jù)包的第一個byte必須是16-byte對齊的邊界
  • 數(shù)據(jù)包的后續(xù)字節(jié)占用flit的后續(xù)字節(jié)
  • 數(shù)據(jù)包可以在任何4-byte對齊的邊界上結(jié)束。
  • 從字節(jié)位置開始的數(shù)據(jù)包將占用該flit中的每個后續(xù)字節(jié),直到數(shù)據(jù)包結(jié)束或flit結(jié)束。
  • 如果flit結(jié)束時數(shù)據(jù)包中還有剩余字節(jié),則該數(shù)據(jù)包將從下一個flit的字節(jié)[0]開始,并占據(jù)隨后的每個字節(jié)位置,直到數(shù)據(jù)包結(jié)束或flit結(jié)束。
  • 當(dāng)數(shù)據(jù)包在flit中結(jié)束時,flit中的剩余字節(jié)可以不使用。
  • flit中的任何數(shù)據(jù)包必須從相對于flit開始或前一數(shù)據(jù)包結(jié)束的第一個可用16-byte邊界開始。

CXSCNTL信號總線可以分為五個字段,分別為:START,START[N:0]PTR,END,ENDERROR和END[N:0]PTR。下面分別解釋。

image.png

下圖給出CXSCNTL信號的組成示例。當(dāng)屬性 **CXSMAXPKTPERFLIT ** = 4,屬性 **CXSDATAFLITWIDTH ** = 512時,CXSCNTL信號共有36-bit。

image.png

CXS接口傳輸滿足以下要求的數(shù)據(jù)包大小需滿足:

  • 至少為4字節(jié)
  • 為4字節(jié)的倍數(shù)
  • 數(shù)據(jù)大小沒有上限

如果CXS用于CCIX數(shù)據(jù)包傳輸,需要遵守CCIX的約定。

協(xié)議中給出了數(shù)據(jù)包傳輸?shù)睦樱匆粋€比較復(fù)雜的示例。屬性 ***CXSMAXPKTPERFLIT *** = 4, ***CXSDATAFLITWIDTH *** = 512, ***CXSCONTINUOUSDATA *** = true,Protocol 0用于可變長數(shù)據(jù)包,Protocol 1用于固定長64-byte數(shù)據(jù)包。在Protocol 0中,P0D和P0E分組必須保持在一起;在Protocol 1中,P1B和P1C分組必須保持在一起,P1E,P1F和P1分組必須保持在一起。

image.png

當(dāng)屬性 **CXSLINKCONTROL _ ** = Explicit *Credit *Return,CXS接口上會多出一組信號, CXSCRDRTN , CXSACTIVEREQ ,CXSACTIVEACKCXSDEACTHINT 。

其中 CXSACTIVEREQCXSACTIVEACK實現(xiàn)四相位的握手機制。握手機制共分為四種狀態(tài):

    1. STOP
  • CXS接口在STOP狀態(tài)時沒有任何操作,所有的信用被RX收回
  • STOP是一個穩(wěn)定狀態(tài),CXS接口可以無限期保持在STOP
  • RX此時不可以接收flit,也不可以授予信用
  • TX此時不可以發(fā)送flit,也不可以返還信用
  • 如果TX有flit等待發(fā)送,需要從STOP狀態(tài)轉(zhuǎn)移到ACTIVATE狀態(tài)
    1. ACTIVATE
  • 此狀態(tài)為STOP到RUN的過渡
  • 期望進入此狀態(tài)后,期待CXS通路很快進入RUN狀態(tài)
  • 此狀態(tài)下,TX必須接收信用,但還不可以發(fā)送flit
  • RX此時不可以接收flit,也不可以授予信用
  • RX不可以在狀態(tài)ACTIVATE下發(fā)送信用。但是允許RX在進入RUN狀態(tài)的同一周期內(nèi)發(fā)送信用。由于存在潛在的競爭條件,因此TX在ACTIVATE狀態(tài)下可能會收到信用
  • 當(dāng)RX準(zhǔn)備好接收flit時,它可以從ACTIVATE狀態(tài)轉(zhuǎn)移到RUN狀態(tài)
    1. RUN
  • TX和RX在此狀態(tài)下傳輸flit
  • RUN狀態(tài)是穩(wěn)定狀態(tài),CXS通道可以一直保持在RUN狀態(tài)
  • RX可以接收flit,授予信用,接收返還的信用
  • TX可以發(fā)送flit,,接收信用
  • TX允許返還信用給RX
  • TX可以在某些情況下從RUN狀態(tài)切換到DEACTIVATE狀態(tài),比如TX沒有flit可以發(fā)送了
    1. DEACTIVATE
  • 此狀態(tài)用于從RUN到STOP的過渡
  • DEACTIVATE是一個中間狀態(tài)
  • 在進入此狀態(tài)前,TX必須停止發(fā)送flit,由于潛在的競爭條件,RX有可能在此狀態(tài)下接收flit
  • RX可以發(fā)送信用,當(dāng)RX發(fā)現(xiàn)TX返還信用時必須停止繼續(xù)發(fā)送信用
  • RX可以接收TX返還的信用
  • TX必須發(fā)送信用返回,以便將所有信用返回給RX。
  • 只有當(dāng)所有信用都已返回時,RX才能退出該狀態(tài)并移至STOP狀態(tài)。

四種狀態(tài)轉(zhuǎn)換的關(guān)系如下圖:

image.png

TX始終負責(zé)啟動從RUN到STOP,或從STOP到RUN的狀態(tài)更改,例如:

  • TX端有flit等待發(fā)送,所以需要從STOP轉(zhuǎn)移到RUN
  • TX端沒有flit可以發(fā)送,可以從RUN切換到STOP
  • TX可以觀測一個獨立的邊帶信號,判斷是否需要從RUN移動到STOP,或從STOP移動到RUN
  • TX可以觀測RX發(fā)出的CXSDEACTHINT來判斷是否需要從RUN轉(zhuǎn)移到STOP

當(dāng)接口的一方同時執(zhí)行兩個操作時,即存在競爭條件。CXS規(guī)范允許數(shù)據(jù)流和鏈路控制信號組之間存在不同的延遲。因此,到達時的操作順序可能與發(fā)出的順序不同。競爭條件之所以會存在,是因為不要求CXSACTIVEREQCXSACTIVEACK信號不需要在TX和RX之間的其它信號具有相同的延遲。

image.png

CXS接口信號間的時序關(guān)系如下。

  • CXSVALID,CXSDATA,CXSCNTL和CXSCRDRTN必須是同步關(guān)系,且具有相同的延時
  • CXSCRDGNT,CXSACTIVEACK,CXSDEACTHINT必須是同步,但是可以有任意延時
  • CXSACTIVEREQ必須是同步驅(qū)動,但是接收端可以異步接收,且可以任意延時

來看一個例子。

image.png

  1. 1.T0時刻,TX和RX都處于STOP狀態(tài),兩邊都可以關(guān)斷時鐘,甚至電源;
    1. T1時刻,TX置位 CXSACTIVEREQ ,從STOP轉(zhuǎn)移到ACTIVATE;TX等待RX啟動;
  2. 3.T6時刻,RX完成啟動,置位 CXSACTIVEACK ;
  3. 4. CXSCRDGNTCXSACTIVEACK**在同一時刻被置位;
  4. 5. T7時刻,TX接收到一個信用,發(fā)送一個flit;
  5. 6. TX在接收到更多信用后,連續(xù)發(fā)送flit。

某些情況下,CXS通道不能中斷數(shù)據(jù)流,例如PCIe。這時,需要TX和RX實現(xiàn)一個存儲轉(zhuǎn)發(fā)(store-and-forward)buffer。

如果RX內(nèi)置了這個buffer,數(shù)據(jù)包可以被下游完整接收。RX必須有足夠的空間來存儲TX所能發(fā)送的最大數(shù)據(jù)包。這種情況下,TX和RX可以設(shè)置屬性 *** CXSCONTINUOUSDATA * ** = False。TX無需緩存數(shù)據(jù)包。

如果RX沒有緩沖區(qū)并且需要連續(xù)數(shù)據(jù),則它會將** *CXSCONTINUOUSDATA *屬性設(shè)置為True,并且TX也必須將 *CXSCONTINUOUSDATA ***設(shè)置為True。然后,TX必須能夠在不依賴其它接口的情況下發(fā)出數(shù)據(jù)包內(nèi)的所有flit。

如果需要連續(xù)流量,必須確保RX有足夠的信用來覆蓋最壞情況下的往返信用延遲:

  • RX和TX之間的CXSCRDGNT延遲
  • TX端的CXSTXCRDGNTCXSTXVALID之間的最大內(nèi)部延遲,由TX的CXS_MAX_CREDIT_LATENCY屬性描述
  • RX和TX之間的CXSVALID延遲
  • RX端的CXSTXVALIDCXSTXCRDGNT之間的最大內(nèi)部延遲,由RX的CXS_MAX_CREDIT_LATENCY屬性描述

RX可以發(fā)出的最大信用數(shù)取決于其緩沖區(qū)的大小,可以通過其** CXS MAX *CREDIT ***屬性來描述。

如果下游接口的時鐘比CXS鏈路慢,則可能不需要每個周期發(fā)送一個flit。在這種情況下,RX保持恒定流量所需的信用數(shù)可能小于往返延遲。

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

    關(guān)注

    6

    文章

    2056

    瀏覽量

    47017
  • 接收機
    +關(guān)注

    關(guān)注

    9

    文章

    1224

    瀏覽量

    54567
  • 狀態(tài)機
    +關(guān)注

    關(guān)注

    2

    文章

    493

    瀏覽量

    28237
  • 中斷控制器
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

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

    關(guān)注

    0

    文章

    121

    瀏覽量

    10130
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    電感基礎(chǔ)知識 圖文介紹

    `電感基礎(chǔ)知識 圖文介紹`
    發(fā)表于 08-16 19:34

    IGBT的介紹和應(yīng)用基礎(chǔ)知識

    IGBT的介紹和應(yīng)用,基礎(chǔ)知識
    發(fā)表于 06-24 22:42

    ARM基礎(chǔ)知識

    ARM基礎(chǔ)知識
    發(fā)表于 01-25 02:23

    ARM架構(gòu)基礎(chǔ)知識小結(jié)

    從單片機轉(zhuǎn)到ARM ―― ARM架構(gòu)基礎(chǔ)知識小結(jié)
    發(fā)表于 12-29 06:16

    電阻的基礎(chǔ)知識介紹

    電阻基礎(chǔ)知識介紹
    發(fā)表于 02-26 06:17

    介紹關(guān)于編程的基礎(chǔ)知識

    關(guān)注、星標(biāo)公眾號,不錯過精彩內(nèi)容作者:strongerHuang對于軟件工程師來說,代碼升級(或程序更新)算是必備基礎(chǔ)知識。下面將介紹關(guān)于編程的基礎(chǔ)知識,以及結(jié)合STM32官方提供的De...
    發(fā)表于 07-27 08:13

    介紹PLC的原理及基礎(chǔ)知識

    在自動化控制領(lǐng)域,PLC應(yīng)用十分廣泛,這里開始介紹PLC的原理及基礎(chǔ)知識
    發(fā)表于 09-09 09:07

    1602液晶基礎(chǔ)知識介紹

    一、1602液晶基礎(chǔ)知識介紹1、1602液晶的硬件接口介紹2、1602液晶的讀寫時序介紹3、1602液晶的指令介紹4、簡單實例二、1602液
    發(fā)表于 11-22 07:08

    STM32的基礎(chǔ)知識大合集

    2021.3.30第一次筆記STM32的入門學(xué)習(xí)之基礎(chǔ)知識一STM32的介紹STM32是基于ARM內(nèi)核的32位MCU系列———內(nèi)核為ARM
    發(fā)表于 11-29 08:09

    GSM基礎(chǔ)知識介紹

    GSM基礎(chǔ)知識介紹
    發(fā)表于 07-29 17:18 ?75次下載
    GSM<b class='flag-5'>基礎(chǔ)知識</b>的<b class='flag-5'>介紹</b>

    arm內(nèi)核基礎(chǔ)知識介紹

    arm內(nèi)核基礎(chǔ)知識介紹,有需要的朋友下來看看。
    發(fā)表于 01-08 14:44 ?12次下載

    后視鏡設(shè)計基礎(chǔ)知識介紹

    后視鏡設(shè)計基礎(chǔ)知識介紹,感興趣的小伙伴們可以看看我的上傳的資源,有分享更多。
    發(fā)表于 08-12 15:00 ?23次下載

    淺談ARM處理器基礎(chǔ)知識

    淺談ARM處理器基礎(chǔ)知識
    發(fā)表于 01-14 12:31 ?16次下載

    PIC24H系列參考手冊基礎(chǔ)知識

    本文主要介紹了PIC24H系列參考手冊基礎(chǔ)知識.
    發(fā)表于 06-24 03:20 ?4次下載
    PIC24H<b class='flag-5'>系列</b>參考手冊<b class='flag-5'>基礎(chǔ)知識</b>

    FPGA基礎(chǔ)知識介紹

    電子發(fā)燒友網(wǎng)站提供《FPGA基礎(chǔ)知識介紹.pdf》資料免費下載
    發(fā)表于 02-23 09:45 ?34次下載