Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21595 討論

Agilex™ 5 EMIF IP for Hard Processor Subsystem (HPS) in Quartus 24.3.1

Nicole04
新貢獻者 I
3,748 檢視

Good day,

I had a working EMIF IP set up and connected to the HPS in Quartus 24.2. I then upgraded to Quartus 24.3.1 and now can no longer get the EMIF IP to compile without errors. I replaced the old EMIF IP with the HPS EMIF IP (emif_io96b_hps). 

I can generate the HDL from Platform Designer without any errors. I get the following error when compiling:

Error(17821): Netlist error at hps_system_emif_io96b_emif_io96b_hps_200_7xwqmpy_emif_0_lpddr4.vhd(275): port 's1_axi4_wuser' of width 64 cannot connect to actual of width 32

Details:

  • Quartus 24.3.1 is used with all IP upgraded.
  • I connect the io96b0_to_hps conduits of the HPS and HPS EMIF together. 
  • The channel 1 axi4 wuser is 32 bits wide for both the HPS and EMIF:
    Nicole04_0-1741089039437.png
    Nicole04_1-1741089061503.png
  • I am using LPDDR4 with configuration of 2x16 (8Gbit).
  • In hps_system_emif_io96b_emif_io96b_hps_200_7xwqmpy_emif_0_lpddr4.vhd the wuser signals are all of width 32.

I am unable to see where the 64-bit wide signal is and how to fix it.

C:/Firmware/CheetahTacticalRouter/tactical-router-fw/tactical_router_fpga/quartus/ip/hps_system/hps_system_emif_io96b/hps_system_emif_io96b_emif_io96b_hps_200_7xwqmpy/synth/ip/hps_system_emif_io96b_emif_io96b_hps_200_7xwqmpy/hps_system_emif_io96b_emif_io96b_hps_200_7xwqmpy_emif_0_lpddr4/synth/hps_system_emif_io96b_emif_io96b_hps_200_7xwqmpy_emif_0_lpddr4.vhd

 

標籤 (1)
0 積分
26 回應
sstrell
榮譽貢獻者 III
3,032 檢視

Can you show your connections and parameter settings in PD?

Nicole04
新貢獻者 I
3,013 檢視

Good day,

Platform Designer Connections:

Nicole04_0-1741155264561.png

Nicole04_1-1741155269674.png

EMIF Parameters:

Nicole04_2-1741155308076.png

HPS Parameters:

Nicole04_3-1741155340497.png

 
 
 

I added the last two images for the HPS Parameters as attachments, because they did not want to load here.

 
 

The system compiled without errors in Quartus 24.2. I had to upgrade the HPS and EMIF IP, the remaining HPS related IP did not change.

 

Let me know if you require any further information.

 

 

sstrell
榮譽貢獻者 III
2,986 檢視

It looks OK.  Is this an example design you generated or a design you built yourself?  Perhaps try generating the example design and then customize that as needed if you built this manually.

Nicole04
新貢獻者 I
2,959 檢視

Good day,

This is not an example design; no example design exists for this. The Quartus 24.2 design was based on the development kit and worked. This seems to be either an issue with the latest Quartus (24.3.1) or the updated IP Cores for this version.

If I remove the EMIF then it complains about other HPS pins, such as USB2 not being connected, however it is not something that is done outside of the IP core and the settings show it is connected. This is why I think there may be issues with the HPS IP.

sstrell
榮譽貢獻者 III
2,922 檢視

No, I mean a customized example design you generate from the IP Parameter Editor that creates a whole project for you based on the settings you specify in the Parameter Editor.  This is a good way to create a complete design quickly.

Nicole04
新貢獻者 I
2,874 檢視

Yes, I understand, but there is no option for this.

Nicole04_0-1741349470969.png

Is there a different path from which this can be done?

 

sstrell
榮譽貢獻者 III
2,851 檢視

Your screenshot is for your PD system, not the IP itself.  You have to go into the IP parameter editor for the EMIF and there is an Example Design tab for configuring the example design and a button in the upper right to generate the example design based on the parameter settings.

https://www.intel.com/content/www/us/en/docs/programmable/817394/24-3-1/about-the-external-memory-interfaces-fpga-ip.html

Nicole04
新貢獻者 I
2,756 檢視

This is the error I get when trying to generate the example design. It is not available.

Nicole04_0-1741593052706.png

Has the updated IP been tested?

Nicole04
新貢獻者 I
2,735 檢視

I realized that the error disappears when the EMIF (in HPS and EMIF IP parameter settings) is set to 1x32 instead of 2x16.

Jeet14
員工
2,657 檢視

Hi,


Thanks Sstrell for helping on customer issue.

Looks like this issue is resolved now.


Regards

Tiwari


Nicole04
新貢獻者 I
2,580 檢視

Hi Tiwari,

 

The issue has not been resolved. I need to use the 2x16 architecture. 

The 1x32 also stopped working after regenerating the HDL. I get the following error for it too:
Error(17821): Netlist error at emif_bank2a_fpga.vhd(175): port 's0_axi4_wuser' of width 64 cannot connect to actual of width 32

The s0_axi4_wuser port is of width 32 in the mentioned .vhd file. 

Please assist with this issue. 

 

Kind regards,

Nicole

mfiorenza
初學者
2,417 檢視

Any resolution to this issue? I am also running into this issue on 24.3.1. However, for me it is with the EMIF IP (Not for HPS) variant. The EMIF for HPS worked fine for me, however, I am using it as 1x32. The EMIF IP for FPGA DDR is also configured the same 1x32 but I am running into the issue above.

 

Both DDR (HPS and FPGA) are identical. Both configured as 1x32 for LPDDR4. HPS EMIF IP compiles fine, EMIF IP for FPGA DDR fails to compile with the same error mentioned above. I try to inspect the source where the error is originating however it appears to be two 32-bit wide ports connecting so I'm not sure where the 64-bit is coming from.

 

I also never had any issues with prior versions of Quartus. Please advise. 

Nicole04
新貢獻者 I
2,395 檢視

Unfortunately, I have not received any feedback from Intel regarding this issue. 

 

If I find a work-around I will be sure to let you know.

AdzimZM_Intel
員工
2,389 檢視

Hi Nicole,


I cannot replicate the issue at my end. Can you share a small design that replicate this issue?


I can see a warning message that may sound related, but no error messages reported.

Warning(24541): Verilog HDL warning at as_emif_io96b_hps_0_emif_io96b_hps_200_e2lhgoi_emif_0_lpddr4.v(230): actual bit length 32 differs from formal bit length 64 for port "s1_axi4_ruser" 


Regards,

Adzim


Nicole04
新貢獻者 I
2,370 檢視

Hi Adzim,

 

Due to confidentiality, I can unfortunately not share my current design, but I had a similar issue (with 1x32) with a development kit. Here are those files. The full project is too large to share (let me know if I can email it). I have attached the top level and hps .qsys files.

 

We make use of VHDL. The warning you get is definitely related to the error that I get. 

Nicole04_0-1742971066311.png

 

Kind regards,

 

Nicole

AdzimZM_Intel
員工
2,363 檢視

Hi Nicole,


Thank you for your feedback.


I will try to replicate the issue again with the file that you have shared.


Regards,

Adzim


mfiorenza
初學者
2,345 檢視

I have attached my project below for reference if it will help. My project only has the Agilex5 HPS IP, HPS EMIF IP, and FPGA EMIF IP. Both LPDDR4s are the same. HPS EMIF IP compiles successfully but the FPGA EMIF IP leaves me with the error (s0_axi4_wuser) shown above.

MM-ATH
新貢獻者 I
2,262 檢視

We had similar problems  - if we have checked Compile to VHDL (in Platform Designer/generate HDL). if ve have checked Compile to Verilog, problem gone away.

AdzimZM_Intel
員工
2,256 檢視

Hi,


The issue can be replicated if the EMIF IP is used VHDL code.


There is a parameter where the axi4_wuser width is determined.

If it does not use the NoC, the width is set to 64 for axi4_wuser.


The parameter can be found in the EMIF IP file path *_emif_io96b_lpddr4_0\emif_io96b_lpddr4_200\synth\*_emif_io96b_lpddr4_0_emif_io96b_lpddr4_200_*.sv.


localparam PORT_AXI_USER_WIDTH   = 64,

localparam PORT_AXI_NOC_USER_WIDTH = 32,

localparam PORT_AXI_S0_USER_WIDTH  = PHY_USE_NOC_INTF ? PORT_AXI_NOC_USER_WIDTH : PORT_AXI_USER_WIDTH,


Change the PORT_AXI_USER_WIDTH = 64 to 32 can resolve this error message.

Can you try to change the port width to 32 and check the compilation again?


Regards,

Adzim


MM-ATH
新貢獻者 I
2,256 檢視

Thanks Adzim,

Yes, this change leads to good compilation on our testing design.

 

回覆