Arria 10 HPS EMIF DDR4 16-bits "Fitter was unable to place an EMIF/PHYLite system"
Hi.
I'm working on a custom board using a Soc FPGA Arria 10 (10AS048E4F29E3SG) with DDR4 memory (using two components MT40A512M16(TB)062E) linked to the HPS module.
Because of a yet unexplained error, the dq3 lane used to communicate with one of these components fails its calibration on the prototype. As I don't actually needs that much memory for the current state of the project, I've been trying to compile a limited version that will use only one of the memory component (so using a 16-bits wide memory instead of 32-bits).
My problem is that trying to compile the project fails (see error below) when trying to use only 16bits, but I have no compilation error when using the initially expected 32bits.
I have manage to reproduce the problem using a stand-alone quartus project containing only the HPS_EMIF IP, but I don't have the same issue using the FPGA_EMIF IP : see the two linked archives.
Can you help me identify the source of the problem, please ? Thank you in advance.
Rob
Error(14566): The Fitter cannot place 1 periphery component(s) due to conflicts with existing constraints (1 DQ_GRP(s)). Fix the errors described in the submessages, and then rerun the Fitter. The Intel FPGA Knowledge Database may also contain articles with information on how to resolve this periphery placement failure. Review the errors and then visit the Knowledge Database at https://www.altera.com/support/support-resources/knowledge-base/search.html and search for this specific error message number.
Error(175020): The Fitter cannot place logic DQ_GRP that is part of Generic Component hps_ddr4_hps_emif in region (78, 87) to (78, 98), to which it is constrained, because there are no valid locations in the region for logic of this type.
Info(14596): Information about the failing component(s):
Info(175028): The DQ_GRP name(s): u0|hps_emif|hps_emif|arch|arch_inst|io_tiles_wrap_inst|io_tiles_inst|tile_gen[1].lane_gen[0].lane_inst_DQ_GRP_1
Error(16234): No legal location could be found out of 3 considered location(s). Reasons why each location could not be used are summarized below:
Error(175005): Could not find a location with: DQ_X9 (2 locations affected)
Info(175029): DQ_GRP containing Y21
Info(175029): DQ_GRP containing Y21
Error(175005): Could not find a location with: HPS_X16 (1 location affected)
Info(175029): DQ_GRP containing Y21
Info(175015): The I/O pad hps_mem_dqs[0] is constrained to the location PIN_AA17 due to: User Location Constraints (PIN_AA17)
Info(14709): The constrained I/O pad is contained within a pin, which is contained within this DQ_GRP