Forum Discussion
Altera_Forum
Honored Contributor
13 years agoPCIe HIP and Credits
I am using a SIV with the PCIe HIP. I have a functional application layer using DMA and things are running well. So why am I writing? Recently, I re-wrote much of the TX path to increase bandwi...
Altera_Forum
Honored Contributor
13 years agoGot my answer by opening a service ticket....
"After further study, I found that it's optional to implement the credit checking mechanism. Sorry for the previous confusion. From reading the PCIe user guide, it has some statements in multiple locations. - bullet point# 1, pg77: " The IP core uses [...] tx_cred[35:0] for the hard IP implementation. The application layer may choose to ignore this information." - bullet point# 3, pg77: " The IP core verifies that sufficient flow control credits exist, and acknowledges or postpones the request" The PCIe core will always checks for sufficient credits before acknowledging a request. However, by checking available credits with this signal, the application can improve system performance by dividing a large transaction layer packet into smaller transaction layer packets based on available credits or arbitrating among different types of transaction layer packets. The only reason for application layer to implement credit checking is if user wants (optionally) to perform an additional layer of optimization. The Altera design example ignore credit checking because it doesn't perform this level of transmit optimization for application. I sincerely hope the responses in this service request have addressed the questions."