diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-cocotbext-pcie.spec | 223 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 225 insertions, 0 deletions
@@ -0,0 +1 @@ +/cocotbext-pcie-0.2.12.tar.gz diff --git a/python-cocotbext-pcie.spec b/python-cocotbext-pcie.spec new file mode 100644 index 0000000..c6c5d93 --- /dev/null +++ b/python-cocotbext-pcie.spec @@ -0,0 +1,223 @@ +%global _empty_manifest_terminate_build 0 +Name: python-cocotbext-pcie +Version: 0.2.12 +Release: 1 +Summary: PCI express simulation framework for cocotb +License: MIT +URL: https://github.com/alexforencich/cocotbext-pcie +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/80/49/b5f07e303e5c0a5478827bcf9687bc32898ec32678a48dacd6cbb362bd42/cocotbext-pcie-0.2.12.tar.gz +BuildArch: noarch + +Requires: python3-cocotb +Requires: python3-cocotbext-axi +Requires: python3-pytest +Requires: python3-cocotb-test + +%description +# PCI express simulation framework for Cocotb + +[](https://github.com/alexforencich/cocotbext-pcie/actions/) +[](https://codecov.io/gh/alexforencich/cocotbext-pcie) +[](https://pypi.org/project/cocotbext-pcie) +[](https://pepy.tech/project/cocotbext-pcie) + +GitHub repository: https://github.com/alexforencich/cocotbext-pcie + +## Introduction + +PCI express simulation framework for [cocotb](https://github.com/cocotb/cocotb). + +## Installation + +Installation from pip (release version, stable): + + $ pip install cocotbext-pcie + +Installation from git (latest development version, potentially unstable): + + $ pip install https://github.com/alexforencich/cocotbext-pcie/archive/master.zip + +Installation for active development: + + $ git clone https://github.com/alexforencich/cocotbext-pcie + $ pip install -e cocotbext-pcie + +## Documentation and usage examples + +See the `tests` directory, [verilog-pcie](https://github.com/alexforencich/verilog-pcie), and [corundum](https://github.com/corundum/corundum) for complete testbenches using these modules. + +### Core PCIe simulation framework + +The core PCIe simulation framework is included in `cocotbext.pcie.core`. This framework implements an extensive event driven simulation of a complete PCI express system, including root complex, switches, devices, and functions, including support for configuration spaces, capabilities and extended capabilities, and memory and IO operations between devices. The framework includes code to enumerate the bus, initialize configuration space registers and allocate BARs, route messages between devices, perform memory read and write operations, allocate DMA accessible memory regions in the root complex, and handle message signaled interrupts. Any module can be connected to a cosimulated design, enabling testing of not only isolated components and host-device communication but also communication between multiple components such as device-to-device DMA and message passing. + +### PCIe IP core models + +#### Xilinx UltraScale and UltraScale+ + +Models of the Xilinx UltraScale and UltraScale+ PCIe hard cores are included in `cocotbext.pcie.xilinx.us`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Xilinx UltraScale, UltraScale+, or Virtex 7 series FPGAs, up to PCIe gen 3 x16 or PCIe gen 4 x8. The models currently only support operation as a device, not as a root port. + +#### Intel Stratix 10 H-Tile/L-Tile + +Models of the Intel Stratix 10 H-Tile/L-Tile PCIe hard cores are included in `cocotbext.pcie.intel.s10`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Intel Stratix 10 GX, SX, TX, and MX series FPGAs that contain H-Tiles or L-Tiles, up to PCIe gen 3 x16. The models currently only support operation as a device, not as a root port. + +#### Intel P-Tile + +Models of the Intel P-Tile PCIe hard cores are included in `cocotbext.pcie.intel.ptile`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Intel Stratix 10 DX or Agilex F series FPGAs that contain P-Tiles, up to PCIe gen 4 x16. The models currently only support operation as a device, not as a root port. + + +%package -n python3-cocotbext-pcie +Summary: PCI express simulation framework for cocotb +Provides: python-cocotbext-pcie +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-cocotbext-pcie +# PCI express simulation framework for Cocotb + +[](https://github.com/alexforencich/cocotbext-pcie/actions/) +[](https://codecov.io/gh/alexforencich/cocotbext-pcie) +[](https://pypi.org/project/cocotbext-pcie) +[](https://pepy.tech/project/cocotbext-pcie) + +GitHub repository: https://github.com/alexforencich/cocotbext-pcie + +## Introduction + +PCI express simulation framework for [cocotb](https://github.com/cocotb/cocotb). + +## Installation + +Installation from pip (release version, stable): + + $ pip install cocotbext-pcie + +Installation from git (latest development version, potentially unstable): + + $ pip install https://github.com/alexforencich/cocotbext-pcie/archive/master.zip + +Installation for active development: + + $ git clone https://github.com/alexforencich/cocotbext-pcie + $ pip install -e cocotbext-pcie + +## Documentation and usage examples + +See the `tests` directory, [verilog-pcie](https://github.com/alexforencich/verilog-pcie), and [corundum](https://github.com/corundum/corundum) for complete testbenches using these modules. + +### Core PCIe simulation framework + +The core PCIe simulation framework is included in `cocotbext.pcie.core`. This framework implements an extensive event driven simulation of a complete PCI express system, including root complex, switches, devices, and functions, including support for configuration spaces, capabilities and extended capabilities, and memory and IO operations between devices. The framework includes code to enumerate the bus, initialize configuration space registers and allocate BARs, route messages between devices, perform memory read and write operations, allocate DMA accessible memory regions in the root complex, and handle message signaled interrupts. Any module can be connected to a cosimulated design, enabling testing of not only isolated components and host-device communication but also communication between multiple components such as device-to-device DMA and message passing. + +### PCIe IP core models + +#### Xilinx UltraScale and UltraScale+ + +Models of the Xilinx UltraScale and UltraScale+ PCIe hard cores are included in `cocotbext.pcie.xilinx.us`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Xilinx UltraScale, UltraScale+, or Virtex 7 series FPGAs, up to PCIe gen 3 x16 or PCIe gen 4 x8. The models currently only support operation as a device, not as a root port. + +#### Intel Stratix 10 H-Tile/L-Tile + +Models of the Intel Stratix 10 H-Tile/L-Tile PCIe hard cores are included in `cocotbext.pcie.intel.s10`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Intel Stratix 10 GX, SX, TX, and MX series FPGAs that contain H-Tiles or L-Tiles, up to PCIe gen 3 x16. The models currently only support operation as a device, not as a root port. + +#### Intel P-Tile + +Models of the Intel P-Tile PCIe hard cores are included in `cocotbext.pcie.intel.ptile`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Intel Stratix 10 DX or Agilex F series FPGAs that contain P-Tiles, up to PCIe gen 4 x16. The models currently only support operation as a device, not as a root port. + + +%package help +Summary: Development documents and examples for cocotbext-pcie +Provides: python3-cocotbext-pcie-doc +%description help +# PCI express simulation framework for Cocotb + +[](https://github.com/alexforencich/cocotbext-pcie/actions/) +[](https://codecov.io/gh/alexforencich/cocotbext-pcie) +[](https://pypi.org/project/cocotbext-pcie) +[](https://pepy.tech/project/cocotbext-pcie) + +GitHub repository: https://github.com/alexforencich/cocotbext-pcie + +## Introduction + +PCI express simulation framework for [cocotb](https://github.com/cocotb/cocotb). + +## Installation + +Installation from pip (release version, stable): + + $ pip install cocotbext-pcie + +Installation from git (latest development version, potentially unstable): + + $ pip install https://github.com/alexforencich/cocotbext-pcie/archive/master.zip + +Installation for active development: + + $ git clone https://github.com/alexforencich/cocotbext-pcie + $ pip install -e cocotbext-pcie + +## Documentation and usage examples + +See the `tests` directory, [verilog-pcie](https://github.com/alexforencich/verilog-pcie), and [corundum](https://github.com/corundum/corundum) for complete testbenches using these modules. + +### Core PCIe simulation framework + +The core PCIe simulation framework is included in `cocotbext.pcie.core`. This framework implements an extensive event driven simulation of a complete PCI express system, including root complex, switches, devices, and functions, including support for configuration spaces, capabilities and extended capabilities, and memory and IO operations between devices. The framework includes code to enumerate the bus, initialize configuration space registers and allocate BARs, route messages between devices, perform memory read and write operations, allocate DMA accessible memory regions in the root complex, and handle message signaled interrupts. Any module can be connected to a cosimulated design, enabling testing of not only isolated components and host-device communication but also communication between multiple components such as device-to-device DMA and message passing. + +### PCIe IP core models + +#### Xilinx UltraScale and UltraScale+ + +Models of the Xilinx UltraScale and UltraScale+ PCIe hard cores are included in `cocotbext.pcie.xilinx.us`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Xilinx UltraScale, UltraScale+, or Virtex 7 series FPGAs, up to PCIe gen 3 x16 or PCIe gen 4 x8. The models currently only support operation as a device, not as a root port. + +#### Intel Stratix 10 H-Tile/L-Tile + +Models of the Intel Stratix 10 H-Tile/L-Tile PCIe hard cores are included in `cocotbext.pcie.intel.s10`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Intel Stratix 10 GX, SX, TX, and MX series FPGAs that contain H-Tiles or L-Tiles, up to PCIe gen 3 x16. The models currently only support operation as a device, not as a root port. + +#### Intel P-Tile + +Models of the Intel P-Tile PCIe hard cores are included in `cocotbext.pcie.intel.ptile`. These modules can be used in combination with the PCIe BFM to test an HDL design that targets Intel Stratix 10 DX or Agilex F series FPGAs that contain P-Tiles, up to PCIe gen 4 x16. The models currently only support operation as a device, not as a root port. + + +%prep +%autosetup -n cocotbext-pcie-0.2.12 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-cocotbext-pcie -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.12-1 +- Package Spec generated @@ -0,0 +1 @@ +c97e3b0d5be639a5fb9b9907c5075aa3 cocotbext-pcie-0.2.12.tar.gz |