Incorrect Requester ID used in PCI-express Root port model
I would like to verify if there is mistake in the pci_exp_usrapp_tx.v testbench file generated by Logicore Spartan-6 Integrated Block for PCI Express V1.2.
In all tasks TSK_TX_xxx, the Requester ID fields are filled with Completer IDs. Although the test bench can complete the configuration process right up to BAR initialization, this does not follow the PCI Express specs.
Also, the Requester ID is set to 0x01AF, which decodes to Bus ID=1, Dev ID=21, Function ID=7. Since configuration can only be performed by PCI Express root complex, shouldn't the Bus=0? What is the Dev ID and Function ID for root complex?