亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于FPGA的SRIO節(jié)點(diǎn)自動(dòng)匹配相異DeviceID寬度的電路及方法

文檔序號(hào):9767816閱讀:978來(lái)源:國(guó)知局
基于FPGA的SRIO節(jié)點(diǎn)自動(dòng)匹配相異DeviceID寬度的電路及方法
【技術(shù)領(lǐng)域】
[00011本發(fā)明涉及FPGA設(shè)計(jì)技術(shù)領(lǐng)域,具體涉及一種基于FPGA的SRI0節(jié)點(diǎn)自動(dòng)匹配相異 DevicelD寬度的電路及方法。
【背景技術(shù)】
[0002] 目前基于FPGA的SRIO IP核無(wú)法處理本地節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)存在相異寬度DevicelD 的情況。因?yàn)楦鶕?jù)SRI0協(xié)議,SRI0本地和遠(yuǎn)程雙發(fā)收發(fā)幀的內(nèi)容均含有DevicelD信息,包括 DevicelD寬度和內(nèi)容,由本地和遠(yuǎn)程雙方配置決定。一旦本地節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn)的DevicelD 配置寬度不匹配,那么基于FPGA的SRIO IP核將會(huì)按照本地DevicelD寬度的配置情況對(duì)接 收幀內(nèi)容進(jìn)行協(xié)議解析,從而導(dǎo)致有效信息解析失效。

【發(fā)明內(nèi)容】

[0003] (一)要解決的技術(shù)問(wèn)題
[0004] 本發(fā)明要解決的技術(shù)問(wèn)題是:如何設(shè)計(jì)一種基于FPGA的SRI0節(jié)點(diǎn)自動(dòng)匹配相異 DevicelD寬度的電路及匹配方法。
[0005] (二)技術(shù)方案
[0006] 為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種基于FPGA的SRI0節(jié)點(diǎn)自動(dòng)匹配相異 DevicelD寬度的電路,包括基于FPGA的SRIO IP核、DevicelD自動(dòng)匹配模塊和用戶端;所述 基于FPGA的SRIO IP核包括BUFFER層和PHY層,所述DevicelD自動(dòng)匹配模塊連接用戶端與 BUFi^ER 層;
[0007] 所述基于FPGA的SRIO IP核是實(shí)現(xiàn)物理層、傳輸層和協(xié)議層的電路模塊,所述物理 層由基于FPGA的SRIO IP核的PHY層實(shí)現(xiàn),實(shí)現(xiàn)SRI0協(xié)議收發(fā)幀的數(shù)據(jù)并串轉(zhuǎn)換和收發(fā)功 能;所述的協(xié)議層和傳輸層的協(xié)議解析由DevicelD自動(dòng)匹配模塊實(shí)現(xiàn),實(shí)現(xiàn)基于DevicelD 寬度自動(dòng)匹配的SRIO的協(xié)議解析功能;
[0008] 所述DevicelD自動(dòng)匹配模塊包含Initiator接口、Target接口以及SRIO Stream包 格式接口;所述的Initiator接口、Target接口與用戶端連接,所述SRIO Stream包格式接口 與BUFFER層連接;
[0009] 所述DevicelD自動(dòng)匹配模塊還包含本地DevicelD寬度判決模塊、本地SRI0 Stream包格式封幀模塊、遠(yuǎn)程DevicelD寬度判決模塊和遠(yuǎn)程SRIO Stream包格式解幀模塊; [0010] 所述本地Device ID寬度判決模塊連接Initiator接口和本地SRIOStream包格式封 幀模塊,用于接收Initiator接口的Device ID寬度信息,進(jìn)行寬度判決,然后將得到的 DevicelD寬度判決信息傳遞至本地SRIO Stream包格式封幀模塊參與本地SRIO Stream包 格式封幀;
[0011 ] 所述本地SRIO Stream包格式封幀模塊連接Initiator接口、本地DevicelD寬度判 決模塊和SRIO Stream包格式接口,用于將來(lái)自于Initiator接口的SRI0協(xié)議信息和來(lái)自于 本地DevicelD寬度判決模塊的DevicelD寬度判決信息進(jìn)行封幀得到SRIO Stream包格式 幀,通過(guò)SRIO Stream包格式接口傳遞至BUFFER層,并通過(guò)PHY層最終通過(guò)串行總線發(fā)送出 去;
[0012] 所述遠(yuǎn)程DevicelD寬度判決模塊連接BUFFER層和遠(yuǎn)程SRIO Stream包格式解幀模 塊,用于接收BUFFER層傳遞過(guò)來(lái)的DevicelD寬度信息,進(jìn)行判決后得到DevicelD寬度判決 信息,并將DevicelD寬度判決信息傳遞至遠(yuǎn)程SRIO Stream包格式解幀模塊;
[0013] 所述遠(yuǎn)程SRIO Stream包格式解幀模塊連接SRIO Stream包格式接口、Target接口 和遠(yuǎn)程DevicelD寬度判決模塊,內(nèi)部含有8位解幀模塊、16位解幀模塊和2選1選擇器,用于 接收BUFFER層傳遞過(guò)來(lái)的SRIO Stream包格式幀,并根據(jù)遠(yuǎn)程DevicelD寬度判決模塊傳遞 過(guò)來(lái)的DevicelD寬度判決信息通過(guò)2選1選擇器的選擇進(jìn)行8位或16位解幀,并將包含協(xié)議 解析信息的解幀結(jié)果通過(guò)Target接口傳遞至用戶端。
[0014] 本發(fā)明還提供了一種基于上述電路實(shí)現(xiàn)FPGA的SRI0節(jié)點(diǎn)自動(dòng)匹配相異DevicelD 寬度的方法,包括發(fā)送過(guò)程和接收過(guò)程;
[0015] 所述發(fā)送過(guò)程包括以下步驟:
[0016] A1、用戶端通過(guò)Initiator接口將SRI0協(xié)議信息傳遞至本地SRIOStream包格式封 幀模塊;
[0017] A2、本地DevicelD寬度判決模塊接收來(lái)自于Initiator接口的本地DevicelD寬度 信息,并根據(jù)本地DevicelD 8位或16位的寬度信息產(chǎn)生需要參與本地SRIO Stream包格式 封幀模塊封幀的寬度判決信息傳遞至本地SRIO Stream包格式封幀模塊;
[0018] A3、本地SRIO Stream包格式封幀模塊將Initiator接口、SRI0協(xié)議信息和本地 DevicelD寬度判決信息進(jìn)行封幀,得到SRIO Stream包格式幀并通過(guò)SRIO Stream包格式接 口傳遞至BUFFER層;
[0019] A4、BUFFER層將SRIO Stream包格式傳遞至PHY層并最終通過(guò)串行總線發(fā)送出去;
[0020] 所述接收過(guò)程包括以下步驟:
[0021] B1、串行總線接收到串行數(shù)據(jù)通過(guò)PHY層傳遞至BUFFER層;
[0022] B2、遠(yuǎn)程DevicelD寬度判決模塊接收BUFFER層傳遞過(guò)來(lái)的DevicelD寬度信息,進(jìn) 行判決后得到DevicelD寬度判決信息,并將DevicelD寬度判決信息傳遞至遠(yuǎn)程SRI0 Stream包格式解幀模塊的2選1選擇器;
[0023] B3、遠(yuǎn)程SRIO Stream包格式解幀模塊接收BUFFER層傳遞過(guò)來(lái)的SRIO Stream包格 式幀,分別進(jìn)行8位和16位解幀,得到8位的SRIO Stream協(xié)議信息和16位的SRIO Stream協(xié) 議信息,并根據(jù)遠(yuǎn)程DevicelD寬度判決模塊傳遞過(guò)來(lái)的DevicelD寬度判決信息通過(guò)2選1選 擇器進(jìn)行8位的SRIO Stream協(xié)議信息和16位的SRIO Stream協(xié)議信息的2選1,得到其中一 種SRIO Stream協(xié)議信息作為解析結(jié)果通過(guò)Target接口傳遞至用戶端。
[0024]優(yōu)選地,步驟B2中判決的方式是根據(jù)SRIO Stream包格式幀的有效位得到 DevicelD寬度判決信息。
[0025](三)有益效果
[0026]本發(fā)明充分利用SRIO Stream包格式的有效位得到DevicelD寬度判決信息,保留 了原有SRIO Stream包格式的完整性,沒(méi)有增加額外的幀開(kāi)銷,同時(shí)基于FPGA的SRI0節(jié)點(diǎn)自 動(dòng)匹配相異DevicelD寬度的電路采用結(jié)構(gòu)簡(jiǎn)單的數(shù)字電路,實(shí)時(shí)實(shí)現(xiàn)DevicelD寬度判決功 能,保留了原有SRIO模塊低延遲、高寬帶的包交換特性,相比原有SRIO收發(fā)模塊具有很好的 兼容性。
【附圖說(shuō)明】
[0027] 圖1為本發(fā)明實(shí)施例的電路結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0028] 為使本發(fā)明的目的、內(nèi)容、和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的
【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。
[0029]如圖1所示,本發(fā)明提供了一種基于FPGA的SRI0節(jié)點(diǎn)自動(dòng)匹配相異DevicelD寬度 的電路,包括基于FPGA的SRI0 IP核、DeviceID自動(dòng)匹配模塊和用戶端;所述基于FPGA的 SRIO IP核包括BUFFER層和PHY層,所述DevicelD自動(dòng)匹配模塊連接用戶端與BUFFER層; [0030]所述基于FPGA的SRIO IP核是實(shí)現(xiàn)串行RapidIO的物理層、傳輸層和協(xié)議層的電路 模塊,所述物理層由基于FPGA的SRIO IP核的PHY層實(shí)現(xiàn),實(shí)現(xiàn)SRI0協(xié)議收發(fā)幀的數(shù)據(jù)并串 轉(zhuǎn)換和收發(fā)功能;所述的協(xié)議層和傳輸層的協(xié)議解析由DevicelD自動(dòng)匹配模塊實(shí)現(xiàn),實(shí)現(xiàn) 基于DevicelD寬度自動(dòng)匹配的SRI0的協(xié)議解析功能;
[0031 ] 所述DevicelD自動(dòng)匹配模塊包含Initiator接口、Target接口以及SRIO Stream包 格式接口;所述的Initiator接口、Target接口與用戶端連接,所述SRIO Stream包格式接口 與BUFFER層連接;
[0032] 所述DevicelD自動(dòng)匹配模塊還包含本地DevicelD寬度判決模塊、本地SRI0 Stream包格式封幀模塊、遠(yuǎn)程DevicelD寬度判決模塊和遠(yuǎn)程SRIO Stream包格式解幀模塊; [0033] 所述本地DevicelD寬度判決模塊連接Initiator接口和本地SRIO Stream包格式 封幀模塊,用于接收Initiator接口的DevicelD寬度信息(DevicelD寬度為8位或16位),進(jìn) 行寬度判決,例如,若寬度為8位則得到值為0的DevicelD寬度判決信息,若為16位則得到值 為1的DevicelD寬度判決信息,然后將得到的DevicelD寬度判決信息傳遞至本地SRI0 Stream包格式封幀模塊參與本地SRIO Stream包格式封幀;
[0034] 所述本地SRIO Stream包格式封幀模塊連接Initiator接口、本地DevicelD寬度判 決模塊和SRIO Stream包格式接口,用于將來(lái)自于Initiator接口的SRI0協(xié)議信息和來(lái)自于 本地DevicelD寬度判決模塊的DevicelD寬度判決信息進(jìn)行封幀得到SRIO Stream包格式 幀,通過(guò)SRIO Stream包格式接口傳遞至BUFFER層,并通過(guò)PHY層最終通過(guò)串行總線發(fā)送出 去;
[0035] 所述遠(yuǎn)程DevicelD寬度判決模塊連接BUFFER層和遠(yuǎn)程SRIO Stream包格式解幀模 塊,用于接收
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1