有效
用于高速互连网络接口芯片的PIO通信装置,芯片,设备及方法
欧洋、常俊胜、陆平静、黎渊、罗章、董德尊、张建民、徐金波、孙岩、熊泽宇、翦杰、王子聪
中国人民解放军国防科技大学
欧
欧洋 专利 68
中国人民解放军国防科技大学电子数据处理计算技术物理仪器
常
常俊胜 专利 70
中国人民解放军国防科技大学电子数据处理通用计算机数字信息传输
陆
陆平静 专利 61
中国人民解放军国防科技大学电子数据处理计算技术物理仪器
黎
黎渊 专利 55
广西医科大学第二附属医院(广西医科大学第二临床医学院)电子数据处理计算技术物理仪器
罗
罗章 专利 62
中国人民解放军国防科技大学数字信息传输电通信技术电子数据处理
董
董德尊 专利 94
中国人民解放军国防科技大学网络流控数字信息传输电通信技术
张
张建民 专利 617
清华大学坝堰细部水利工程地水敷设
徐
徐金波 专利 45
中国人民解放军国防科技大学数字信息传输电通信技术电子数据处理
孙
孙岩 专利 64
中国人民解放军国防科学技术大学电子数据处理计算技术物理仪器
熊
熊泽宇 专利 34
中国人民解放军国防科技大学数字信息传输电子数据处理计算技术
翦
翦杰 专利 19
中国人民解放军国防科技大学电通信技术数字信息传输电子数据处理
王
王子聪 专利 36
中国人民解放军国防科技大学电子数据处理计算技术物理仪器
摘要
本发明公开了一种用于高速互连网络接口芯片的PIO通信装置,芯片,设备及方法,本发明用于高速互连网络接口芯片的PIO通信装置包括读写仲裁逻辑、PIO写控制状态机、PIO读控制状态机、描述符组合逻辑、读应答接收逻辑、目标地址选择器mux0和BAR空间编码选择器mux1,本发明通过读写仲裁逻辑、PIO写控制状态机、PIO读控制状态机、描述符组合逻辑、读应答接收逻辑、目标地址选择器mux0和BAR空间编码选择器mux1的配合,能够将PCIE IP事务层的PIO读写请求进行解析并生成高速互连网络接口芯片核心逻辑的寄存器读写请求和写描述符请求,从而完成主机对高速互连网络接口芯片的PIO操作。
1.一种用于高速互连网络接口芯片的PIO通信装置,其特征在于包括:读写仲裁逻辑(1),用于从PCIE IP事务层接收PIO读请求和PIO写请求,对读写请求进行仲裁分发;PIO写控制状态机(2),用于从读写仲裁逻辑(1)接收PIO写请求使能、BAR空间编码、目标偏移地址、长度和数据,根据写请求BAR空间编码,判断写请求的目标基址,并将写请求发送给对应目标;描述符组合逻辑(3),用于从PIO写控制状态机(2)接收写请求,在完成描述符的组合后,将完整描述符发送给高速互连网络接口芯片核心逻辑;PIO读控制状态机(4),用于从读写仲裁逻辑(1)接收PIO读请求使能、BAR空间编码、目标偏移地址、长度和Tag号,将读请求发送给高速互连网络接口芯片核心逻辑和读应答接收逻辑(5);目标地址选择器mux0,用于根据读写仲裁逻辑(1)的仲裁结果将PIO写控制状态机(2)或PIO读控制状态机(4)发送的目标偏移地址发送给高速互连网络接口芯片核心逻辑;BAR空间编码选择器mux1,用于根据读写仲裁逻辑(1)的仲裁结果将PIO写控制状态机(2)或PIO读控制状态机(4)发送的BAR空间编码发送给高速互连网络接口芯片核心逻辑;读应答接收逻辑(5),用于从高速互连网络接口芯片寄存器读应答接收读应答数据、从PIO读控制状态机(4)接收待返回读请求,经过数据组合后,将请求完成数据和相关信息以PIO读应答的方式返回给PCIE IP事务层。
2.根据权利要求1所述的用于高速互连网络接口芯片的PIO通信装置,其特征在于,所述读写仲裁逻辑(1)包含写请求缓冲、写请求数据缓冲、读请求缓冲以及校验检查器ECCC,且所述读写仲裁逻辑(1)具有IDLE、ARB、W_READ和W_DONE四个状态,其中IDLE状态表示空闲,ARB状态表示有请求需要处理,W_READ状态表示写就绪,W_DONE状态表示写完毕;在上电复位之后读写仲裁逻辑(1)处于IDLE状态,当PIO写请求的写请求使能有效或PIO读请求的读请求使能有效后,将写请求存入写请求缓冲、读请求存入读请求缓冲,而后读写仲裁逻辑(1)转入ARB状态;在读写仲裁逻辑(1)处于ARB状态时,当且仅当PIO写控制状态机(2)和PIO读控制状态机(4)同时空闲,对读请求缓冲和写请求缓冲中请求按照轮询的方式进行仲裁:仲裁结果若是写请求,读写仲裁逻辑(1)转入READ状态;仲裁结果若是读请求,读写仲裁逻辑(1)则向PCIE IP事务层发送读请求接收应答,并将读请求缓冲中请求发送给PIO读状态控制机,置读写仲裁为读选通,之后转入IDLE状态;若PIO写控制状态机(2)或PIO读控制状态机(4)不处于空闲状态,则读写仲裁逻辑(1)继续处于ARB状态;在读写仲裁逻辑(1)处于W_READ状态时,向PCIE IP事务层发送读数据使能信号,并将PIO写请求返回的写请求数据和ECC校验码经由校验检查器ECCC校验纠错后,生成纠错数据并存入写请求数据缓冲,在所有数据接收完毕后,转入W_DONE状态;在读写仲裁逻辑(1)处于W_DONE状态时,向PCIE IP事务层发送写请求接收应答,并将写请求缓冲中的写请求和写请求数据缓冲中的写请求数据发送给PIO写控制状态机(2),置读写仲裁为写选通,之后读写仲裁逻辑(1)转入IDLE状态。
3.根据权利要求1所述的用于高速互连网络接口芯片的PIO通信装置,其特征在于,所述PIO写控制状态机(2)内部设有写请求寄存器且包含WR_IDLE和WR_ACK两种状态,其中WR_IDLE状态为写空闲状态,WR_ACK状态为写响应状态;在上电复位之后,PIO写控制状态机(2)处于WR_IDLE 状态,当接收到来自读写仲裁逻辑(1)的写请求使能有效后,将写请求暂存在写请求寄存器中, PIO写控制状态机(2)转入WR_ACK状态;在PIO写控制状态机(2)处于WR_ACK状态时,从写请求寄存器中取出BAR空间编码、目标偏移地址、长度和数据,并发送到对应目标,之后转入WR_IDLE 状态:若写请求BAR空间编码为BAR2,置描述符组合逻辑(3)写使能有效,并将目标偏移地址、长度和数据发送给描述符组合逻辑(3);若写请求BAR空间编码为BAR0或BAR4,将BAR空间编码发送给BAR空间编码选择器mux1、目标偏移地址发送给目标地址选择器mux0、数据发送给高速互连网络接口芯片核心逻辑,并置寄存器写使能有效。
4.根据权利要求1所述的用于高速互连网络接口芯片的PIO通信装置,其特征在于,所述描述符组合逻辑(3)中包含多组256bit的数据寄存器Di和4bit的有效标志DBEi,其中i为寄存器编号,每一个数据寄存器Di中的数据被划分4组64bit,有效标志DBEi的每一位表示数据寄存器Di的对应的某一组64bit数据是否有效;当描述符组合逻辑(3)接收到PIO写控制状态机(2)的写使能有效后,根据写请求目标偏移地址Addr[20:18]计算出对应数据寄存器编号j,并根据数据寄存器编号j取出数据寄存器Dj和有效标志DBEj;且获取写请求目标偏移地址[4:3]的值k,确定本次写请求从数据寄存器Dj[64*k]位开始,写入长度为Length的数据Data;随后,描述符组合逻辑(3)将数据寄存器Dj和数据Data进行拼接组合成新的256bit数据NewD,而后将新的256bit数据NewD再次写入数据寄存器Dj中,同时更新有效标志DBEj[(Length /64+k-1):k]对应位为1,当有效标志DBEj=4’b1111时,表明数据寄存器Dj中数据全部有效,则置描述符写使能有效,并将数据寄存器Dj中数据、队列编号j发送到高速互连网络接口芯片核心逻辑,最后将有效标志DBEj清零。
5.根据权利要求1所述的用于高速互连网络接口芯片的PIO通信装置,其特征在于,所述PIO读控制状态机(4)内部设有读请求寄存器且包含RD_IDLE、RD_WAIT和RD_DONE三种状态,RD_IDLE状态表示读空闲,RD_WAIT状态表示读等待,RD_DONE状态表示读完成;在上电复位之后,PIO读控制状态机(4)处于RD _IDLE 状态,当接收到来自读写仲裁逻辑(1)的读请求使能有效后,将读请求暂存在读请求寄存器中,PIO读控制状态机(4)转入RD_WAIT状态;在PIO读控制状态机(4)处于RD_WAIT状态时,判断来自读应答接收逻辑(5)的待应答读请求FIFO满信号rd_tag_full是否为1:若rd_tag_full为0,表示待应答读请求FIFO未满,则PIO读控制状态机(4)转入RD_DONE状态;若rd_tag_full为1,表示待应答读请求FIFO已满,不能继续发送读请求到高速互连网络接口芯片核心逻辑,PIO读控制状态机(4)继续处于RD_WAIT状态;在PIO读控制状态机(4)处于RD_DONE状态时,则从读请求寄存器取出读请求,将目标偏移地址的第3位和第4位、以及读请求Tag号存入读应答接收逻辑(5)的待应答读请求FIFO中,同时将BAR空间编码发送给BAR空间编码选择器mux1、目标偏移地址发送给目标地址选择器mux0、数据发送给高速互连网络接口芯片核心逻辑并置寄存器读使能有效,PIO读控制状态机(4)转入RD_IDLE状态。
6.根据权利要求1所述的用于高速互连网络接口芯片的PIO通信装置,其特征在于,所述读应答接收逻辑(5)包含待应答读请求FIFO、数据应答FIFO和ECC校验码生成模块ECCGEN,当来自高速互连网络接口芯片核心逻辑的读应答使能有效时,读应答接收逻辑(5)将读应答数据存入数据应答FIFO;所述读应答接收逻辑(5)包括RDACK_IDLE、RDACK_WAIT、RDACK_ECCGEN和RDACK_DONE四个状态,RDACK_IDLE状态表示读应答空闲,RDACK_WAIT状态表示读应答等待,RDACK_ECCGEN状态表示读应答校验生成,RDACK_DONE状态表示读应答完成;在上电复位之后,读应答接收逻辑(5)处于RDACK_IDLE状态,当数据应答FIFO非空时,表明高速互连网络接口芯片返回了寄存器的读应答数据,置数据应答FIFO读使能有效、待应答读请求FIFO读使能有效,将64bit应答数据存入数据应答FIFO,读应答接收逻辑(5)转入RDACK_WAIT状态;在读应答接收逻辑(5)处于RDACK_WAIT状态时,从数据应答FIFO中取出FIFO头部的64bit应答数据D,从待应答读请求FIFO取出FIFO头部的待应答读请求第3位和第4位地址rdack_addr,以及待应答读请求Tag号rdack_tag,转入RDACK_ECCGEN状态;在读应答接收逻辑(5)处于RDACK_ECCGEN状态时,根据rdack_addr的值p得到64bit的字节有效位BE,再结合应答数据D,得到256bit应答数据RD,同时,通过ECC校验码生成模块ECCGEN计算出RD的56bit ECC校验码RD_ECC,之后读应答接收逻辑(5)转入RDACK_DONE状态;在读应答接收逻辑(5)处于RDACK_DONE状态时,将应答数据RD、ECC校验码RD_ECC、字节有效位BE和请求Tag号rdack_tag发送到PCIE IP事务层,并置PIO读应答的读完成信号和应答数据写入使能有效,之后读应答接收逻辑(5)转入RDACK_IDLE状态。
7.根据权利要求6所述的用于高速互连网络接口芯片的PIO通信装置,其特征在于,所述字节有效位BE的计算函数表达式如下:BE ={(64-8*p)’b0,8’hff,(8*p)’b0}上式中,p表示rdack_addr的值;所述应答数据RD的计算函数表达式如下:RD={(192-64*p)’b0,D,(64*p)’b0}上式中,p表示rdack_addr的值,D表示应答数据。
8.一种高速互连网络接口芯片,包括高速互连网络接口芯片核心逻辑以及PCIE IP,其特征在于,所述高速互连网络接口芯片核心逻辑以及PCIE IP之间连接有权利要求1~7中任意一项所述用于高速互连网络接口芯片的PIO通信装置。
9.一种带有高速互连网络接口芯片的设备,所述高速互连网络接口芯片包括高速互连网络接口芯片核心逻辑以及PCIE IP,其特征在于,所述高速互连网络接口芯片核心逻辑以及PCIE IP之间连接有权利要求1~7中任意一项所述用于高速互连网络接口芯片的PIO通信装置。
10.一种权利要求1~7中任意一项所述用于高速互连网络接口芯片的PIO通信装置的应用方法,其特征在于实施步骤包括:PCIE IP事务层的PIO读写请求发送给所述用于高速互连网络接口芯片的PIO通信装置,通过所述PIO通信装置将PCIE IP事务层的PIO读写请求进行解析,生成高速互连网络接口芯片的核心逻辑的寄存器读写请求和写描述符请求,从而完成主机对高速互连网络接口芯片的PIO操作。



