configuration
1094 TopicsDK-DEV-AGI027RBES CXL Type-3 example remains in reset and is not detected by host
Hi, I have several Agilex 7 FPGA I-Series Development Kits with serial numbers 8100035 and 8020138. My goal is to run the boards as CXL Type-3 devices and verify that they can be enumerated by the host. I am currently debugging board 8020138 with the following setup: Board: DK-DEV-AGI027RBES FPGA: AGIB027R29A1E2VR3 Power configuration: Power Solution 2 Quartus Prime Pro: 24.3 Connection: PCIe edge connector Design: CXL Type 3 with DDR4 Link width: CXL x16 Number of slices: 2 PLD clock: 400 MHz Reference clock mode: Common Refclk source is global clock: Enabled The board can successfully enumerate as a normal PCIe endpoint when using the pcie_ed example design included in: agilex_agib027r29a1e1vb_fpga_revc_v24.3b194_v1.1 However, when I generate and compile the RBES CXL Type-3 DDR4 example design, the host cannot detect the device and it does not appear in lspci. I added JTAG debug registers and Signal Tap probes. The observed status is: config_done = 1 pll_lock = 1 sip_rst_n = 0 cxl_warm_rst_n = 0 cxl_cold_rst_n = 0 ip2hdm_reset_n = 0 ip2cafu_avmm_rstn = 0 ip2csr_avmm_rstn = 0 pf0_bus_master_en = 0 pf0_memory_access_en = 0 pf0_msix_enable = 0 The fabric heartbeat counter(refclk4) is running, so FPGA configuration and the debug fabric clock are working. However, the CXL cold, warm, and SIP resets never deassert, and host enumeration never starts. Could you please confirm: Are these CXL IP settings correct for board 8020138, Power Solution 2, and the PCIe edge connector? For CXL x16 with two slices, must both refclk0 and refclk1 be active? What conditions control cxl_cold_rst_n, cxl_warm_rst_n, and sip_warm_rstn_o? How can I observe the physical PERST# status, R-Tile reset status, PHY initialization status, LTSSM state, and link-up status? Should Enable PIPE Mode Simulation be disabled for hardware operation? Is 400 MHz the correct PLD clock frequency? Is there a known-good CXL Type-3 DDR4 example project or SOF for DK-DEV-AGI027RBES with FPGA AGIB027R29A1E2VR3? Are there any required Quartus 24.3 patches for this board and CXL IP? The normal PCIe example works, but the CXL example remains in reset. This suggests the issue may be related to the CXL IP configuration, reference-clock/reset requirements, or the generated example-design constraints. I can provide the IP configuration, QSF/SDC files, Signal Tap captures, compilation logs, and host logs if needed. Thank you. Best regards, Jeffrey45Views0likes4CommentsAgilex 5 GTS Reference Clock Buffer Protection
While reviewing the Agilex 5 GTS documentation, I found that the Input Reference Clock Buffer Protection mechanism automatically disables the reference clock buffer when the input clock is not toggling, and that the documented recovery methods are either reconfiguration or a buffer turn-on request. For an Agilex 5 design, I would like to clarify: Is there any supported method to keep the GTS reference clock buffer permanently enabled? Can the Input Reference Clock Buffer Protection mechanism be disabled? Is there any alternative to repeatedly issuing a Buffer Turn-on Request when the reference clock may stop and restart during normal operation? If not supported, is the documented re-enable procedure the only recommended approach?93Views0likes2CommentsAgilex 5 HPS EMIF - Differential Pair Polarity Inversion Support
For the Agilex 5 HPS DDR interface, is P/N swapping (polarity inversion) within a differential pair supported? I could not find a clear statement in the Agilex 5 EMIF documentation. Specifically: Is polarity inversion supported for HPS DDR differential signals? If yes, is any Quartus, HPS EMIF, or firmware configuration required? If not, must polarity be preserved at the PCB level? Is there a documentation section or application note that explicitly covers this requirement? I am looking specifically for the Agilex 5 HPS EMIF/DDR interface, not a generic FPGA differential I/O or transceiver interface.108Views0likes2CommentsThree 9x9 multipliers in one DSP
Hello everyone, Do have somebody the project example with three 9x9 multipliers in one DSP looks like in this post: How to configure DSP block in "three 9x9 multipliers" mode? | Altera Community - 90399 I tired to do this project and I have got one mult. per DSP.15Views0likes1CommentCyclone10LP Remote System Upgrade
Hi guys, I am working on implementing Remote System Upgrade for my Cyclone 10LP FPGA, which loads its configuration data from an external flash device (MT25QL128). I've reviewed multiple documents on RSU and concluded that I need to have two broad sections in my design: firstly, a flash controller for writing configuration data to the flash device, and secondly, a remote update IP for switching between the factory and application image. (Please correct me if I misunderstood something) 1.) Now I've been facing a problem with finding a suitable IP for the flash controller section that can access the SPI pins with the flash device. I've tried using the generic serial flash interface IP, but it supports MT25* flashes with sizes above 256Mb only. So, is there any suitable IP for this purpose that supports both Cyclone10LP and MT25QL128? Or is it possible to write a state machine for this purpose and access those SPI pins through my design (which are normally not accessible)? 2.) The Remote Update IP again doesn't have MT25QL128 in its supported devices. Some sources suggest selecting Macronix flash device with a similar density in the parameter editor gui. Does that really work or are there any better alternatives? 3.) Also what does changing configuration mode to "Remote" in Quartus GUI actually do? Gives access to Flash SPI pins in some way? Looking forward to your responses, thanks.140Views0likes3CommentsIS25LP064A interface with Cyclone V HPS
Hi all, has anyone tried accessing serial NOR flash IS25LP064A using QSPI driver within hwlib ? I have successfully performed initialisation, setup device configuration. The problem is that a read attempt (Normal Read and Fast Read) after executing erase sequence returns all zeros instead of all ones. has anyone else faced similar issue ? Best Regards Naresh82Views0likes4Comments