FPGA, SoC, And CPLD Boards And Kits
FPGA Evaluation and Development Kits
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
5203 Discussions

Getting multiple fan-out errors when compiling a scratch Nios with DDR SDRAM support

Altera_Forum
Honored Contributor II
799 Views

Hi,  

 

I'm new to FPGA, working with the Altera CIII Dev Kit. I've created a base Nios system running from on-chip mem, successfully controlling pio's via SW.  

Now I went to add DDR SDRAM support, did it with SOPC builder (DDR SDRAM High Performance ....). I assigned the outputs correctly, as described in the Dev Kit ref. manual. 

 

Now when I compile the system, I get a whole bunch of these errors: 

Error: The DDIO_OUT WYSIWYG primitive "my_nios:inst5|altmemddr_0:the_altmemddr_0|altmemddr_0_controller_phy:altmemddr_0_controller_phy_inst|altmemddr_0_phy:altmemddr_0_phy_inst|altmemddr_0_phy_alt_mem_phy:altmemddr_0_phy_alt_mem_phy_inst|altmemddr_0_phy_alt_mem_phy_dp_io:dpio|dq_ddio_dataout[0]" feeding the node "my_nios:inst5|altmemddr_0:the_altmemddr_0|altmemddr_0_controller_phy:altmemddr_0_controller_phy_inst|altmemddr_0_phy:altmemddr_0_phy_inst|altmemddr_0_phy_alt_mem_phy:altmemddr_0_phy_alt_mem_phy_inst|altmemddr_0_phy_alt_mem_phy_dp_io:dpio|dqs_group[0].dq[0].dq_obuf" has multiple fan-outs 

 

Can anybody help me out? 

 

Best, 

Erik
0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
105 Views

Hi again, 

 

Turned out that I was using the term 'correctly' a bit cassually! 

 

The error came from the fact that I had assigned bidirectional ports on the Nios to output-pins instead of bidir-pins! 

 

Cheers, 

Erik
Altera_Forum
Honored Contributor II
105 Views

Just a quick note to say I hit the same problem and used the same solution - changing the clocks and dqs to inout. 

 

output wire ddr2_ec_local_refresh_ack, // ddr2_ec.local_refresh_ack 

output wire ddr2_ec_local_init_done, // .local_init_done 

output wire ddr2_ec_reset_phy_clk_n, // .reset_phy_clk_n 

output wire [0:0] ddr2_m_mem_odt, // ddr2_m.mem_odt 

inout wire [0:0] ddr2_m_mem_clk, // .mem_clk 

inout wire [0:0] ddr2_m_mem_clk_n, // .mem_clk_n 

output wire [0:0] ddr2_m_mem_cs_n, // .mem_cs_n 

output wire [0:0] ddr2_m_mem_cke, // .mem_cke 

output wire [12:0] ddr2_m_mem_addr, // .mem_addr 

output wire [1:0] ddr2_m_mem_ba, // .mem_ba 

output wire ddr2_m_mem_ras_n, // .mem_ras_n 

output wire ddr2_m_mem_cas_n, // .mem_cas_n 

output wire ddr2_m_mem_we_n, // .mem_we_n 

inout wire [31:0] ddr2_m_mem_dq, // .mem_dq 

inout wire [3:0] ddr2_m_mem_dqs, // .mem_dqs 

output wire [3:0] ddr2_m_mem_dm // .mem_dm
Reply