Hello,
I am trying to incude a DDR3 UniPHY Controller megacore to my design, but I am experiencing several issues. I am working on a TR4 development kit (TERASIC) based on the STRATIX IV FPGA (EP4SGX530KH40C2).
Basically I have generated the Megacore by using the Megawizard plug-in manager, I have parametrized my DDR3 block and I have generated the entity for my design.
After this I have normally instantiated the DDR3_Controller by defining it as a component inside my VHDL code, and I have connected it to the right signals. In addition I have mapped them to the pins on my development board by using the pin planner.
I haven´t still developed a control logic to drive the controller but this shouldn´t be a problem.
When I try to compile my design, it already fails in the Analysis and Synthesis step, and I get the following errors:
What is the problem here? How can I fix this?
I am getting problems both by compiling the examples automatically generated by the Megacore, and the examples developed with my board are quite bugged and fully not working...
BR,
Giovanni.
I am trying to incude a DDR3 UniPHY Controller megacore to my design, but I am experiencing several issues. I am working on a TR4 development kit (TERASIC) based on the STRATIX IV FPGA (EP4SGX530KH40C2).
Basically I have generated the Megacore by using the Megawizard plug-in manager, I have parametrized my DDR3 block and I have generated the entity for my design.
After this I have normally instantiated the DDR3_Controller by defining it as a component inside my VHDL code, and I have connected it to the right signals. In addition I have mapped them to the pins on my development board by using the pin planner.
I haven´t still developed a control logic to drive the controller but this shouldn´t be a problem.
When I try to compile my design, it already fails in the Analysis and Synthesis step, and I get the following errors:
Code:
Error (15700): Termination calibration block atom "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|altera_mem_if_oct_stratixiv:oct0|sd1a_0" uses RUP port, which must be connected to an I/O atom in input mode
Error (15700): Termination calibration block atom "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|altera_mem_if_oct_stratixiv:oct0|sd1a_0" uses RUP port, which must be connected to a dedicated I/O atom with no other fanout
Error (15700): Termination calibration block atom "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|altera_mem_if_oct_stratixiv:oct0|sd1a_0" uses RDN port, which must be connected to an I/O atom in input mode
Error (15700): Termination calibration block atom "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|altera_mem_if_oct_stratixiv:oct0|sd1a_0" uses RDN port, which must be connected to a dedicated I/O atom with no other fanout
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[7].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[6].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[5].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[4].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[3].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[2].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[1].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15853): Input port IBAR of I/O input buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[0].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|strobe_in" must be driven by a top-level pin
Error (15065): Clock input port inclk[0] of PLL "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_pll0:pll0|altpll:upll_memphy|altpll_8nd3:auto_generated|pll1" must be driven by a non-inverted input pin or another PLL, optionally through a Clock Control block
Info (15024): Input port INCLK[0] of node "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_pll0:pll0|altpll:upll_memphy|altpll_8nd3:auto_generated|pll1" is not connected
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[7].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[6].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[5].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[4].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[3].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[2].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[1].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
Error (15856): Output port O of I/O output buffer "SDRAM_Controller:b7|SDRAM_Controller_0002:sdram_controller_inst|SDRAM_Controller_p0:p0|SDRAM_Controller_p0_memphy:umemphy|SDRAM_Controller_p0_new_io_pads:uio_pads|SDRAM_Controller_p0_altdqdqs:dq_ddio[0].ubidir_dq_dqs|altdq_dqs2_ddio_3reg_stratixiv:altdq_dqs2_inst|obuf_os_bar_0" must drive a top-level pin
I am getting problems both by compiling the examples automatically generated by the Megacore, and the examples developed with my board are quite bugged and fully not working...
BR,
Giovanni.