作者:mobiledu2502873797 | 来源:互联网 | 2023-08-22 10:18
篇首语:本文由编程笔记#小编为大家整理,主要介绍了PCIE协议解析synopsysIPRegister配置空间读书笔记相关的知识,希望对你有一定的参考价值。对于P
篇首语:本文由编程笔记#小编为大家整理,主要介绍了PCIE协议解析 synopsys IP Register配置空间 读书笔记相关的知识,希望对你有一定的参考价值。
对于PCIE配置空间寄存器的读写可以通过DBI接口完成,同时也可以通过远程终端通过PCIE Configuration Request完成寄存器的读写,但对于每一个配置空间的访问权限,有以下规定:
HwInit HwInit(cs) HwInit(cs2) | Hardware Initialized 该bit是core的硬件控制,并且为read_only,这些bit只能通过cold reset改变,而FLR(function level reset)、warm rest、hot reset都无法改变HwInit的值。 而HwInit(cs)和HWInit(cs2)表示DBI访问时,需要dbi_cs2的使能。 |
RO RO(cs) RO(cs2) | Read-Only 只读寄存器,无法通过软件改变,除非有特殊的说明。寄存器可以通过硬件完成初始化。 有些只读寄存器可以通过本地的DBI接口改变,但不可以通过远程的link partner访问。 RO(cs),RO (cs2)表示DBI访问时,需要dbi_cs2的使能 |
WO(cs) WO(cs2) | Write -Only 只写寄存器,只能通过本地的DBI进行写操作,远程的host无法进行写操作。本地DBI和远程的host无法读取该寄存器,寄存器可以被core硬件初始化。 在有些case中,必须配置这些只写寄存器。 例如:BAR Mask寄存器只有在BARn_SIZING_SCHEME_N==1是可以通过DBI接口进行写操作。 |
RW | 读写寄存器 |
RW1C | Read-Only Status/Write-1-to-Clear Status 只读状态寄存器/写1清零,写入0的话没有效果。 |
ROS ROS(cs) ROS(cs2) | Sticky Read-Only 只读寄存器,host和application software无法改变,除非特殊说明。 寄存器的值无法通过hot reset和FLR进行初始化和修改,有一些bit被设计为当有备用电源时在上电后将不会受任何形式的复位影响。 |
RWS | Sticky Read-Write 可以通过DIB读写,但是无法通过Hot reset和FLR进行初始化和修改。 |
RW1CS | Sticky Read-Only Status/Write-1-to-Clear Status 只读状态寄存器/写1清零,写入0的话没有效果。 无法通过Hot reset和FLR进行初始化和修改。 |
RsvdP | Reserved and Preserved 保留寄存器,只读,读取返回值为0。 软件在写同一个寄存器的其他bit时,需要保证写入 reserved bit值与读取出来的值一致。(是否对于有reserved bit的register都需要先读取reserved的值,再写入??) |
RsvdZ | Reserved and Zero 保留,只读,读取返回值为0. 软件在写同一个寄存器的其他bit时,该bit必须写入0. |
PF | Physical Function Indicates that this Virtual Function (VF) register bit inherits its value from the corresponding parent Physical Function. |