Altera_Forum
Honored Contributor
15 years agoOutput port "O" of PSEUDO_DIFF_OUT primitive... must drive only one OBUF primitive...
I'm creating a QII test project to validate an SO-DIMM design. I want to use the Quartus II created "HPC1_example_top" test bench to exercise my SO-DIMM so I created the "DDR2Test5.bdf" top-level design which contains an HPC1_example_top block generated from the HPC1_example_top.v verilog module generated by the Megawizard for the HPCII controller. I then placed pins in my design, ran the HPC1_pin_assignments.tcl, properly placed the pins in the design and tried to compile the design. I'm getting the below error message:
Error: Output port "O" of PSEUDO_DIFF_OUT primitive "HPC1_example_top:inst1|HPC1:HPC1_inst|HPC1_controller_phy:HPC1_controller_phy_inst|HPC1_phy:HPC1_phy_inst|HPC1_phy_alt_mem_phy:HPC1_phy_alt_mem_phy_inst|HPC1 _phy_alt_mem_phy_clk_reset:clk|DDR_CLK_OUT[0].mem_clk_pdiff" must drive only one OBUF primitive on the I port and cannot drive anything else The RTL viewer shows that the low-level primitive in question IS only driving one other primitive so I'm lost. Other forum posts regarding this issue seem to have been resolved by renaming incorrectly named pin names but as far as I can see, my pins are named correctly accordingly to the HPC1_pin_assignments.tcl file. As previously recommended in this forum, the negative pins of diff pairs have been left unconnected in the top-level design. The pin planner automatically assigned the negative pin location when I filled in the positive pin location. I'm also getting an error message saying that the bidirectional mem_dqsn signals must be driven by a pin. But since the pin planner automatically assigns a negative pin with a different name I'm unable to do this. Would it work to change the I/O standard of diff pins to SSTL-18 CLASS I and instead manually assign the negative pin in the pin planner? Any pointers in the right direction are appreciated!