6979 - PCIe for Nexus FPGAs: Does the vc_tx_valid_i can be delayed (insert 3 clock cycles) during long external memory read since the FPGA lose the access for some clocks?
Description: The vc_tx_valid_i should not be delayed or do insertion of the 3 clock cycles gap within packets as it affects the validity of the data thus it is forbidden to insert such delay. This cannot be use as a workaround for the long external memory read process.
Solution:
Alternatively, users can use DMA or FIFO buffer to interface with the external memory.
Related Articles
6247 - PCIe for Nexus FPGAs: How to access PCIe peripherals using AHB-lite interface?
Solution: DMA support must be enabled to access the PCIe endpoint through AHB-lite. The DMA (Direct Memory Access) support has an option to enable efficient data transfer when the device acts as an initiator or a master. For more information, refer ...
6927 - PCIe for Nexus FPGAs: Using the Lattice CertusPro-NX PCIe x4 IP Core and the AXI4-Stream interface, what is the latency of read and write access through the APB interface across the Link Layer registers, Configuration Space Registers, and the Soft
Here is the latency table of the read & write through the APB interface for CertusPro-NX:
1947 - PCIe of LatticeECP3: How should 'tx_req' port should be implemented for better Tx throughput?
For better Tx throughput, tx_req from user logic should be implemented such that gaps in tx_rdy are minimized. The Lattice PCIe IP core arbitrates among user (tx_req) and internal requests to assert tx_rdy to enable packet transmission through the ...
6250 - PCIe for Nexus FPGAs: In PCIe X4 IP Core, I have selected AHB_LITE as the Data Interface Type. What is the clock domain for this interface?
clk_usr_o originates from the PCIe Core, bypassing the PCIe Soft IP. It serves as an output to an external pin. Additionally, there are two input clocks for the Soft IP: clk_usr_i at 250 MHz and clk_usr_div2_i at 125 MHz.
1578 - For a DDR2 memory controller countinous read, is a new read pulse required per Burst (4 clock cycles) or only when the read sequence has been interrupted by other commands?
You do not need to issue a new read pulse for continuous read since there is no postamble between the reads. If there is a postamble between read bursts, then a new read pulse is required.