Altera_Forum
Honored Contributor
16 years agoStratix IV and DDR3
Has anyone done a Stratix IV design with DDR3? I've got a little test project set up. The DDR3 controller is instantiated inside SoPC builder. During synthesis the following error is given:
Error: Illegal connection found on I/O input buffer primitive prism_main_sopc:prism_main_sopc_inst|a_ddr3:the_a_ddr3|a_ddr3_controller_phy:a_ddr3_controller_phy_inst|a_ddr3_phy:a_ddr3_phy_inst|a_ddr3_phy_alt_mem_phy:a_ddr3_phy_alt_mem_phy_inst|a_ddr3_phy_alt_mem_phy_clk_reset:clk|gen_mimic_diff_ibuf.fb_clk_ibuf. Source IO prism_main_sopc:prism_main_sopc_inst|a_ddr3:the_a_ddr3|a_ddr3_controller_phy:a_ddr3_controller_phy_inst|a_ddr3_phy:a_ddr3_phy_inst|a_ddr3_phy_alt_mem_phy:a_ddr3_phy_alt_mem_phy_inst|a_ddr3_phy_alt_mem_phy_clk_reset:clk|DDR_CLK_OUT.mem_clk_obuf~0 also drives out to other destination than the buffer. Following the error down to the source file reveals the following IO buffer instance: stratixiii_io_ibuf fb_clk_ibuf(
.i (mem_clk),
.ibar (mem_clk_n),
.o (fb_clk)
); I believe this is the fedback clock used for the mimic path in the DDR3 controller. The error statement made by Quartus is of course true. mem_clk is driven directly out of the device in addition to feeding this buffer. It's curious that the instance is that of a Stratix III IO buf rather than Stratix IV. It's not totally absurd that Altera just uses the Stratix III version for both. Regardless, the question remains as to why the error is ocurring. Perhaps I'm just running into preliminary Stratix IV support issues. Any ideas? Jake