本發(fā)明涉及高速串行總線技術(shù)領(lǐng)域,尤其涉及一種PCI-Express IP核。
背景技術(shù):
PCI-Express是為了適應(yīng)計(jì)算機(jī)技術(shù)的發(fā)展而提出的第3代高性能I/O總線技術(shù),由Intel在2001年提出,發(fā)展至今已演進(jìn)到PCI-Express 4.0,其所支持的速率也由PCI-Express 1.0的2.5GT/s(GTransfer/second)到PCI-Express 3.0的8GT/s,再到PCI-Express 4.0的16GT/s。PCI-Express高速互連的特性以及各種版本規(guī)格的多樣性、靈活性和兼容性,使其被廣泛應(yīng)用于圖形加速、網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)、大數(shù)據(jù)傳輸及服務(wù)器等領(lǐng)域。
各版本PCI-Express協(xié)議均從業(yè)務(wù)應(yīng)用到底層互連,自上到下,將PCI-Express分為TL(Transaction Layer,業(yè)務(wù)層)、DLL(Data Link Layer,數(shù)據(jù)鏈路層)及PHY(Physical Layer,物理層)。FPGA開發(fā)具有開發(fā)速度快,易迭代升級(jí),相對(duì)專用芯片價(jià)格低廉等優(yōu)點(diǎn)?,F(xiàn)有的PCI-Express的實(shí)現(xiàn)多使用基于FPGA的已有PCI-Express IP進(jìn)行設(shè)計(jì)實(shí)現(xiàn)。在常見的PCI-Express IP架構(gòu)中,多依據(jù)PCI-Express協(xié)議結(jié)構(gòu)直接劃分功能模塊,分別完成TL、DLL及PHY功能設(shè)計(jì),PCI-Express IP核為PCI Express總線提供了靈活、高性能及易用的本地接口。然而作為基于FPGA的IP設(shè)計(jì),不僅需要完成其本身的功能,還需要提供外部接口方便、內(nèi)部實(shí)現(xiàn)簡單的接口方案以供用戶方便的使用。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下技術(shù)問題:現(xiàn)有的PCI-Express IP核,用戶接口復(fù)雜,PCI-Express IP核靠近用戶接口部分的內(nèi)部結(jié)構(gòu)也復(fù)雜,從而使得用戶使用起來不方便,同時(shí)在IP設(shè)計(jì)實(shí)現(xiàn)時(shí),難度大、耗時(shí)長。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供的一種PCI-Express IP核,該P(yáng)CI-Express IP核與用戶邏輯之間使用簡單的用戶接口,PCI-Express IP核內(nèi)靠近用戶接口的部分結(jié)構(gòu)簡單,能夠方便用戶使用,降低PCI-Express IP核設(shè)計(jì)實(shí)現(xiàn)難度,縮短IP設(shè)計(jì)實(shí)現(xiàn)周期。
本發(fā)明提供一種PCI-Express IP核,所述PCI-Express IP核包括用戶接口模塊及通用模塊,所述用戶接口模塊與所述通用模塊相互連接,所述用戶接口模塊用于實(shí)現(xiàn)PCI-Express協(xié)議的業(yè)務(wù)層中的與用戶數(shù)據(jù)相關(guān)的功能,所述通用模塊用于實(shí)現(xiàn)PCI-Express協(xié)議的業(yè)務(wù)層的其他功能、數(shù)據(jù)鏈路層功能及物理層的功能。
可選地,所述用戶接口模塊包括:AXI主模塊、AXI從模塊、Express控制模塊、TLP接收模塊、TLP發(fā)送模塊及MSG TLP組包模塊,所述AXI主模塊連接TLP接收模塊、TLP發(fā)送模塊,所述AXI從模塊連接TLP接收模塊、TLP發(fā)送模塊,所述TLP接收模塊連接AXI主模塊、AXI從模塊、Express控制模塊、TLP發(fā)送模塊及MSG TLP組包模塊,所述TLP發(fā)送模塊連接AXI主模塊、AXI從模塊、Express控制模塊、TLP接收模塊及MSG TLP組包模塊,所述Express控制模塊連接TLP接收模塊、TLP發(fā)送模塊及MSG TLP組包模塊,所述MSG TLP組包模塊連接Express控制模塊、TLP接收模塊、TLP發(fā)送模塊。
可選地,所述用戶接口模塊連接用戶邏輯及所述通用模塊,所述用戶接口模塊的AXI主模塊連接所述用戶邏輯的AXI從模塊,所述用戶接口模塊的AXI從模塊連接所述用戶邏輯的AXI主模塊,所述用戶接口模塊的TLP接收模塊及TLP發(fā)送模塊連接所述通用模塊,所述Express控制模塊連接所述用戶邏輯及所述通用模塊,所述MSG TLP組包模塊連接所述用戶邏輯及所述通用模塊。
可選地,所述用戶接口模塊的AXI主模塊通過AXI接口連接所述用戶邏輯的AXI從模塊,所述用戶接口模塊的AXI從模塊通過AXI接口連接所述用戶邏輯的AXI主模塊,所述Express控制模塊通過APB接口連接所述用戶邏輯。
可選地,在所述TLP接收模塊中設(shè)置有接收緩存。
本發(fā)明實(shí)施例提供的一種PCI-Express IP核,PCI-Express IP核包括用戶接口模塊及通用模塊,用戶接口模塊用于實(shí)現(xiàn)PCI-Express協(xié)議的業(yè)務(wù)層中的與用戶數(shù)據(jù)相關(guān)的功能,該用戶接口模塊相對(duì)簡單。用戶接口模塊通過AXI接口與用戶邏輯進(jìn)行數(shù)據(jù)發(fā)送及接收,用戶不需要關(guān)心PCI-Express協(xié)議,從而方便用戶使用,特別是方便PCI-Express的初級(jí)用戶使用。此外因用戶接口模塊相對(duì)簡單,降低了PCI-Express IP核設(shè)計(jì)實(shí)現(xiàn)難度,縮短了IP核設(shè)計(jì)實(shí)現(xiàn)周期。
附圖說明
圖1為PCI-Express協(xié)議層次結(jié)構(gòu);
圖2為本發(fā)明一實(shí)施例提供的PCI-Express IP核結(jié)構(gòu)示意圖;
圖3為本發(fā)明一實(shí)施例提供的PCI-Express IP核結(jié)構(gòu)中的用戶接口模塊結(jié)構(gòu)示意圖;
圖4為發(fā)明一實(shí)施例提供的PCI-Express IP核結(jié)構(gòu)中的用戶接口模塊接收請(qǐng)求的數(shù)據(jù)通路;
圖5為發(fā)明一實(shí)施例提供的PCI-Express IP核結(jié)構(gòu)中的用戶接口模塊發(fā)送請(qǐng)求的數(shù)據(jù)通路。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1示出了PCI-Express協(xié)議層次結(jié)構(gòu)。各版本PCI-Express協(xié)議均從業(yè)務(wù)應(yīng)用到底層互連,自上到下,將PCI-Express分為TL(Transaction Layer,業(yè)務(wù)層)、DLL(Data Link Layer,數(shù)據(jù)鏈路層)及PHY(Physical Layer,物理層)。其中TL主要實(shí)現(xiàn)業(yè)務(wù)的發(fā)起與接收以及流量控制等。DLL的主要功能為鏈路的管理以及保證數(shù)據(jù)的完整性,包括重發(fā)機(jī)制等。PHY實(shí)現(xiàn)所有的接口電路,包括驅(qū)動(dòng)、輸入緩存、并串/串并轉(zhuǎn)換、鎖相環(huán)及阻抗匹配電路等。
在本發(fā)明中,依據(jù)數(shù)據(jù)流方向及靠近用戶邏輯遠(yuǎn)近程度的原則,將IP內(nèi)與用戶數(shù)據(jù)相關(guān)的功能及接口歸入U(xiǎn)ser Interface(用戶接口)模塊,其余通用功能歸入Common(通用)模塊,用戶接口模塊及通用模塊中的各子模塊功能則依據(jù)PCI-Express協(xié)議規(guī)定的必須實(shí)現(xiàn)的功能來制定。這樣做的目的是使IP內(nèi)部各模塊功能清晰簡單,耦合度小,便于重用升級(jí)。
本發(fā)明提供的一種PCI-Express IP核,如圖2所示,所述PCI-Express IP核包括用戶接口模塊21及通用模塊22,所述用戶接口模塊21與所述通用模塊22相互連接,所述用戶接口模塊21用于實(shí)現(xiàn)PCI-Express協(xié)議的業(yè)務(wù)層中的與用戶數(shù)據(jù)相關(guān)的功能,所述通用模塊22用于實(shí)現(xiàn)PCI-Express協(xié)議的業(yè)務(wù)層的其他功能、數(shù)據(jù)鏈路層功能及物理層的功能。
其中用戶接口模塊21的主要功能包括:AXI接口功能,實(shí)現(xiàn)用戶數(shù)據(jù)的接收與發(fā)送;APB接口功能,實(shí)現(xiàn)配置功能及PCI-Express Configuration Space(配置空間);Msg(無數(shù)據(jù)的消息業(yè)務(wù))TLP(Transaction Layer Packet,業(yè)務(wù)層數(shù)據(jù)包)組包功能,用戶數(shù)據(jù)對(duì)應(yīng)轉(zhuǎn)換為MWr(存儲(chǔ)寫請(qǐng)求)/MRd(存儲(chǔ)讀請(qǐng)求)/MRdLk(鎖定的存儲(chǔ)讀請(qǐng)求)/IOWr(IO寫請(qǐng)求)/IORd(IO讀請(qǐng)求)/Cpl(無數(shù)據(jù)的完成業(yè)務(wù))/CplD(帶數(shù)據(jù)的完成業(yè)務(wù))/CplLk(鎖定的無數(shù)據(jù)對(duì)完成業(yè)務(wù))/CplDLk(鎖定的帶數(shù)據(jù)的完成業(yè)務(wù))TLP及TLP發(fā)送功能;Msg/MWr/MRd/MRdLk/IOWr/IORd/Cpl/CplD/CplLk/CplDLk/CfgWr0(配置類型0的寫請(qǐng)求)/CfgRd0(配置類型0的讀請(qǐng)求)/Unlock Msg(解除鎖定的消息業(yè)務(wù))TLP的接收及TLP轉(zhuǎn)換為對(duì)應(yīng)用戶數(shù)據(jù)的功能。通用模塊的主要功能包括協(xié)議規(guī)定的TL Flow Control Credit(流量控制信用)計(jì)算;協(xié)議規(guī)定的必須實(shí)現(xiàn)的DLL功能;協(xié)議規(guī)定的必須實(shí)現(xiàn)的PHY功能。
本發(fā)明實(shí)施例提供的一種PCI-Express IP核,PCI-Express IP核包括用戶接口模塊21及通用模塊22,用戶接口模塊21用于實(shí)現(xiàn)PCI-Express協(xié)議的業(yè)務(wù)層中的與用戶數(shù)據(jù)相關(guān)的功能,該用戶接口模塊21相對(duì)簡單。用戶接口模塊21通過AXI接口與用戶邏輯進(jìn)行數(shù)據(jù)發(fā)送及接收,用戶不需要關(guān)心PCI-Express協(xié)議,從而方便用戶使用,特別是方便PCI-Express的初級(jí)用戶使用。此外因用戶接口模塊21相對(duì)簡單,降低了PCI-Express IP核設(shè)計(jì)實(shí)現(xiàn)難度,縮短了IP核設(shè)計(jì)實(shí)現(xiàn)周期。
可選地,如圖3所示,所述用戶接口模塊21包括:AXI主模塊、AXI從模塊、Express控制模塊、TLP接收模塊、TLP發(fā)送模塊及MSG TLP組包模塊,所述AXI主模塊連接TLP接收模塊、TLP發(fā)送模塊,所述AXI從模塊連接TLP接收模塊、TLP發(fā)送模塊,所述TLP接收模塊連接AXI主模塊、AXI從模塊、Express控制模塊、TLP發(fā)送模塊及MSG TLP組包模塊,所述TLP發(fā)送模塊連接AXI主模塊、AXI從模塊、Express控制模塊、TLP接收模塊及MSG TLP組包模塊,所述Express控制模塊連接TLP接收模塊、TLP發(fā)送模塊及MSG TLP組包模塊,所述MSG TLP組包模塊連接Express控制模塊、TLP接收模塊、TLP發(fā)送模塊。
可選地,所述用戶接口模塊21連接用戶邏輯及所述通用模塊,所述用戶接口模塊21的AXI主模塊連接所述用戶邏輯的AXI從模塊,所述用戶接口模塊21的AXI從模塊連接所述用戶邏輯的AXI主模塊,所述用戶接口模塊21的TLP接收模塊及TLP發(fā)送模塊連接所述通用模塊,所述Express控制模塊連接所述用戶邏輯及所述通用模塊,所述MSG TLP組包模塊連接所述用戶邏輯及所述通用模塊。
可選地,所述用戶接口模塊21的AXI主模塊通過AXI接口連接所述用戶邏輯的AXI從模塊,所述用戶接口模塊21的AXI從模塊通過AXI接口連接所述用戶邏輯的AXI主模塊,所述Express控制模塊通過APB接口連接所述用戶邏輯。
可選地,在所述TLP接收模塊中設(shè)置有接收緩存。
各功能模塊實(shí)現(xiàn)的功能描述如下:
1.AXI主模塊,用于對(duì)接用戶邏輯的AXI從模塊接口;
2.AXI從模塊,用于對(duì)接用戶邏輯的AXI主模塊接口;
3.Express控制模塊實(shí)現(xiàn)功能如下:
a)實(shí)現(xiàn)APB用戶接口讀寫配置空間寄存器;
b)實(shí)現(xiàn)CfgWr0/CfgRd0業(yè)務(wù)對(duì)應(yīng)的讀寫配置空間寄存器;
c)實(shí)現(xiàn)與配置相關(guān)的內(nèi)部參數(shù);
d)實(shí)現(xiàn)錯(cuò)誤報(bào)告與狀態(tài)記錄功能;
e)實(shí)現(xiàn)PCI-Express Type0配置空間;
f)實(shí)現(xiàn)電源管理配置空間;
g)實(shí)現(xiàn)消息功能配置空間;
h)實(shí)現(xiàn)PCI-Express擴(kuò)展配置空間,虛擬通道管理機(jī)制(VC Virtual Channel Mechanism)。
4.TLP接收模塊實(shí)現(xiàn)功能如下:
a)接收TLP,根據(jù)協(xié)議規(guī)定對(duì)TLP進(jìn)行解析;
b)依據(jù)解析結(jié)果及協(xié)議規(guī)定將對(duì)應(yīng)的Cpl/CplD返回給AXI從模塊;
c)解析正確的TLP,依據(jù)協(xié)議規(guī)定對(duì)CfgWr0/CfgRd0操作進(jìn)行處理,將Msg/MWr/MRd/MRdLk/IOWr/IORd/Cpl/CplD/CplLk/CplDLk發(fā)送給AXI主模塊;
在接收方向上,為適配對(duì)端發(fā)來的PCI-Express亂序包,本發(fā)明在TLP接收模塊中設(shè)置了RX Buffer(接收緩存)用于接收來自對(duì)端的包,在收到完整的包后按接收順序發(fā)送至相應(yīng)AXI接口。
5.TLP發(fā)送模塊實(shí)現(xiàn)功能如下:
a)MWr/MRd/MRdLk/IOWr/IORd/Cpl/CplD/CplLk/CplDLk TLP組包;
b)接收Msg TLP包;
c)輪詢發(fā)送TLP包;
d)預(yù)置DLL Header/LCRC。
在發(fā)送方向,為了減少PCI-Express系統(tǒng)的Latency(延遲),本發(fā)明在TLP發(fā)送模塊不設(shè)置TX Buffer(發(fā)送緩存)存儲(chǔ)完整的用戶數(shù)據(jù)包,即收即發(fā),不實(shí)現(xiàn)亂序功能且要求用戶以連續(xù)發(fā)送的形式發(fā)送數(shù)據(jù)包。
6.MSG TLP組包模塊實(shí)現(xiàn)功能如下:
a)用戶側(cè)中斷狀態(tài)發(fā)送、Interrupt(中斷)MSG TLP組包
b)Error(錯(cuò)誤狀態(tài))MSG TLP組包
c)輪詢發(fā)送兩種MSG TLP包
用戶接口模塊21的AXI主模塊通過AXI接口連接用戶邏輯的AXI從模塊,用戶接口模塊21的AXI從模塊通過AXI接口連接用戶邏輯的AXI主模塊,所述Express控制模塊通過APB接口連接所述用戶邏輯。APB接口是ARM公司提出的一種AMBA總線結(jié)構(gòu)之一,幾乎已成為一種標(biāo)準(zhǔn)的片上總線結(jié)構(gòu)。AXI接口是ARM公司提出的AMBA中高性能總線結(jié)構(gòu),是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。常見的PCI-Express IP多提供多種數(shù)據(jù)傳輸接口方案,導(dǎo)致IP內(nèi)部適配選擇實(shí)現(xiàn)起來較為復(fù)雜。本發(fā)明中的用戶接口模塊與用戶邏輯之間采用AXI接口,實(shí)現(xiàn)起來較為簡單。用戶通過AXI接口發(fā)送數(shù)據(jù)時(shí),僅需要提供數(shù)據(jù)地址、數(shù)據(jù)長度、數(shù)據(jù)業(yè)務(wù)操作類型、數(shù)據(jù)ID和數(shù)據(jù)即可。用戶通過AXI接口接收數(shù)據(jù)時(shí),對(duì)應(yīng)的,也僅需要獲取數(shù)據(jù)地址、數(shù)據(jù)長度、數(shù)據(jù)業(yè)務(wù)操作類型、數(shù)據(jù)ID和數(shù)據(jù)即可,用戶不需要對(duì)PCI-Express協(xié)議有很深刻的理解。采用APB、AXI這類通用接口可以降低用戶的使用成本,使用戶更容易適配到用戶邏輯中。
參照?qǐng)D4,示出本發(fā)明接收請(qǐng)求的數(shù)據(jù)通路。其邏輯流程如下:
①在PHY為L0狀態(tài)(PHY正常工作狀態(tài))且DLL為DL_ACTIVE狀態(tài)(DLL正常工作狀態(tài))時(shí),用戶接口模塊開始正常工作。作為EP(Endpoint,終端),首先會(huì)接收CfgWr0/CfgRd0操作,即,CfgWr0和CfgRd0TLP,見圖4中粗實(shí)線路徑。TLP接收模塊接收到CfgWr0/CfgRd0TLP后,按照協(xié)議對(duì)CfgWr0/CfgRd0TLP進(jìn)行解析。
②如果CfgWr0TLP解析正確,則將相應(yīng)配置寫入配置空間;如果CfgRd0TLP解析正確,則從相應(yīng)配置空間讀取對(duì)應(yīng)配置或狀態(tài),并送入TLP接收模塊。
③如果CfgWr0TLP解析正確,TLP發(fā)送模塊則將TLP接收模塊傳送來的包信息依據(jù)協(xié)議完成Cpl組包,然后發(fā)送至通用模塊;如果CfgRd0TLP解析正確,TLP發(fā)送模塊則將TLP接收模塊傳送來的包信息及配置、狀態(tài)信息依據(jù)協(xié)議完成CplD組包,然后發(fā)送至通用模塊;如果CfgWr0/CfgRd0TLP解析錯(cuò)誤,TLP發(fā)送模塊則將TLP接收模塊傳送來的包信息依據(jù)協(xié)議完成Cpl組包。
④如果CfgWr0/CfgRd0TLP解析錯(cuò)誤,則將錯(cuò)誤信息發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
在配置讀寫完成后,與對(duì)端的通信建立完畢,即此時(shí)可以接收對(duì)端其他請(qǐng)求——IOWr、MRd/MRdLk/IORd、MWr/Unlock Msg。
針對(duì)IOWr操作,見圖4中細(xì)實(shí)線路徑:
①TLP接收模塊接收到IOWr TLP后,按照協(xié)議對(duì)IOWr TLP進(jìn)行解析。
②如果IOWr TLP解析錯(cuò)誤,TLP接收模塊則將TLP接收模塊傳送來的包信息依據(jù)協(xié)議完成Cpl組包。
③如果IOWr TLP解析錯(cuò)誤,則將錯(cuò)誤信息發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
④如果IOWr TLP解析正確,TLP接收模塊則將IOWr TLP中的用戶數(shù)據(jù)發(fā)送至AXI主模塊,通過AXI AW(地址寫)通道發(fā)送給用戶。
⑤用戶根據(jù)用戶數(shù)據(jù)做出反饋,然后將反饋數(shù)據(jù)通過AXI B(反饋)通道發(fā)送給TLP發(fā)送模塊,然后TLP發(fā)送模塊依據(jù)協(xié)議完成Cpl組包。
針對(duì)MRd/MRdLk/IORd操作,見圖4中長短虛線路徑:
①TLP接收模塊接收到MRd/MRdLk/IORd TLP后,按照協(xié)議對(duì)MRd/MRdLk/IORd TLP進(jìn)行解析。
②如果MRd/MRdLk/IORd TLP解析錯(cuò)誤,TLP發(fā)送模塊則將TLP接收模塊傳送來的包信息依據(jù)協(xié)議完成Cpl/CplLk組包。
③如果MRd/MRdLk/IORd TLP解析錯(cuò)誤,則將錯(cuò)誤信息發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
④如果MRd/MRdLk/IORd TLP解析正確,TLP接收模塊則將MRd/MRdLk/IORd TLP中的用戶數(shù)據(jù)發(fā)送至AXI主模塊,通過AXI AR(地址讀)通道發(fā)送給用戶。
⑤用戶根據(jù)用戶數(shù)據(jù)做出反饋,然后將反饋數(shù)據(jù)通過AXI R(讀)通道發(fā)送給TLP發(fā)送模塊,然后TLP發(fā)送模塊依據(jù)協(xié)議完成CplD/CplDLk組包。
針對(duì)MWr/Unlock Msg,見圖4中短虛線路徑:
①TLP接收模塊接收到MWr/Unlock Msg TLP后,按照協(xié)議對(duì)MWr/Unlock Msg TLP進(jìn)行解析。
②如果MWr/Unlock Msg TLP解析錯(cuò)誤,則將錯(cuò)誤信息發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
③如果MWr/UnlockMsg TLP解析正確,TLP接收模塊則將MWr/UnlockMsg TLP中的用戶數(shù)據(jù)發(fā)送至AXI主模塊,通過AXI AW(地址寫)通道發(fā)送給用戶。
④用戶根據(jù)用戶數(shù)據(jù)做出反饋,將正常反饋發(fā)送至TLP接收模塊,將異常反饋發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
圖5示出本發(fā)明發(fā)送請(qǐng)求的數(shù)據(jù)通路。其邏輯流程如下:
在PHY為L0狀態(tài)(PHY正常工作狀態(tài))且DLL為DL_ACTIVE狀態(tài)(DLL正常工作狀態(tài))時(shí),用戶接口模塊開始正常工作,即,用戶可以發(fā)起MWr、IOWr及MRd/IORd。
針對(duì)MWr操作,見圖5中實(shí)線路徑:
①通過AXI從模塊的AXI AW(地址寫)通道接收用戶邏輯發(fā)起的MWr操作所需的數(shù)據(jù)。
②在AXI從模塊接收過程中,如果發(fā)送錯(cuò)誤,則通過AXI B(反饋)通道反饋到用戶邏輯。
③AXI從模塊正確接收用戶數(shù)據(jù)后,發(fā)送至TLP發(fā)送模塊進(jìn)行MWr TLP組包,然后發(fā)送至通用模塊。
針對(duì)IOWr操作,見圖5中長虛線路徑:
①通過AXI從模塊的AXI AW(地址寫)通道接收用戶邏輯發(fā)起的IOWr操作所需的數(shù)據(jù)。
②在AXI從模塊接收過程中,如果發(fā)送錯(cuò)誤,則通過AXI B(反饋)通道反饋到用戶邏輯。
③AXI從模塊正確接收用戶數(shù)據(jù)后,發(fā)送至TLP發(fā)送模塊進(jìn)行IOWr TLP組包,然后發(fā)送至通用模塊。
④對(duì)端在接收到用戶發(fā)出的IOWr操作后,依據(jù)協(xié)議規(guī)定反饋Cpl操作,TLP接收模塊接收后對(duì)其進(jìn)行解析。
⑤如果Cpl TLP解析錯(cuò)誤,則將錯(cuò)誤信息發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
⑥如果Cpl TLP解析正確,則將Cpl TLP中的信息或者數(shù)據(jù)通過AXI從模塊的AXI B(反饋)通道發(fā)送至用戶邏輯。
針對(duì)MRd/IORd,見圖5中短虛線路徑
①通過AXI從模塊的AXI AR(地址讀)通道接收用戶邏輯發(fā)起的MRd/IORd操作所需的數(shù)據(jù)。
②AXI從模塊正確接收用戶數(shù)據(jù)后,發(fā)送至TLP發(fā)送模塊模塊進(jìn)行MRd/IORd TLP組包,然后發(fā)送至通用模塊。
③對(duì)端在接收到用戶發(fā)出的MRd/IORd操作后,依據(jù)協(xié)議規(guī)定反饋CplD操作,TLP接收模塊接收后對(duì)其進(jìn)行解析。
④如果CplD TLP解析錯(cuò)誤,則將錯(cuò)誤信息發(fā)送至MSG TLP組包模塊,用于完成Error Msg TLP組包。
⑤如果CplD TLP解析正確,則將CplD TLP中的信息或者數(shù)據(jù)通過AXI從模塊的AXI R(讀)通道發(fā)送至用戶邏輯。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。