Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wyvernsemi/pcievhost

PCIe (1.0a to 2.0) Virtual Root Complex model for Verilog, with Endpoint capabilities
https://github.com/wyvernsemi/pcievhost

bfm c cosim modelling pcie pli verification verilog virtual

Last synced: about 8 hours ago
JSON representation

PCIe (1.0a to 2.0) Virtual Root Complex model for Verilog, with Endpoint capabilities

Awesome Lists containing this project

README

        

# pcievhost
PCIe (1.0a to 2.0) Virtual host model for Verilog and SystemVerilog logic simulation environments.

The _pcievhost_ model generates PCIe Physical, Data Link and Transaction Layer traffic for up to 16 lanes, controlled from a user C program, via a comprehensive API. It has configurable internal memory and configuration space models, and will auto-generate completions (configurably), with flow control, ACKs, and NAKS etc. The protocol itself is modelled in C and is integrated with a logic simulation using the [_VProc_](https://github.com/wyvernSemi/vproc) virtual processor. The diagram below shows the structure of the model which ultimately generates a stream of 8b10b encoded symbols, and processes the returned symbols.



_pcievhost_ is bundled with verilog pcie link traffic display modules and an example test harness. The model has been tested with ModelSim/Questa, Vivado xsim and Verilator at the present time, though easily adpated for other simulators. The _pcievhost_ model can also be configured to act as an _**endpoint**_ via a parameter and with simple running user code—the model itself automatically generating responses to transactions. The diagram below shows the example test bench structure.



More information can be found in the documentation doc/pcieVHost.pdf