1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
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
* Tue May 30 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.12-1
- Package Spec generated
|