ecppll: fix broken port names in highres mode, fix regression This is the regression introduced by commit b2884bf: CLKOP and CLKFB parameters should not be named as clkout0_name.
diff --git a/libtrellis/tools/ecppll.cpp b/libtrellis/tools/ecppll.cpp index 3764645..b2c1131 100644 --- a/libtrellis/tools/ecppll.cpp +++ b/libtrellis/tools/ecppll.cpp
@@ -398,7 +398,10 @@ file << "assign phasesel_hw = phasesel - 1;\n"; } file << "(* FREQUENCY_PIN_CLKI=\"" << params.clkin_frequency << "\" *)\n"; - file << "(* FREQUENCY_PIN_CLKOP=\"" << params.fout << "\" *)\n"; + + if(params.mode != pll_mode::HIGHRES) + file << "(* FREQUENCY_PIN_CLKOP=\"" << params.fout << "\" *)\n"; + if(params.secondary[0].enabled) file << "(* FREQUENCY_PIN_CLKOS=\"" << params.secondary[0].freq << "\" *)\n"; if(params.secondary[1].enabled) @@ -453,7 +456,12 @@ else file << " .STDBY(1'b0),\n"; file << " .CLKI(" << params.clkin_name << "),\n"; - file << " .CLKOP(" << params.clkout0_name << "),\n"; + + if(params.mode == pll_mode::HIGHRES) + file << " .CLKOP(clkfb),\n"; + else + file << " .CLKOP(" << params.clkout0_name << "),\n"; + if(params.secondary[0].enabled){ if(params.mode == pll_mode::HIGHRES) file << " .CLKOS(" << params.clkout0_name << "),\n"; @@ -466,16 +474,17 @@ if(params.secondary[2].enabled){ file << " .CLKOS3(" << params.secondary[2].name << "),\n"; } - if(params.internal_feedback) - { + + if(params.internal_feedback || params.mode == pll_mode::HIGHRES) file << " .CLKFB(clkfb),\n"; - file << " .CLKINTFB(clkfb),\n"; - } else - { file << " .CLKFB(" << params.feedback_wname[params.feedback_clkout] << "),\n"; + + if(params.internal_feedback) + file << " .CLKINTFB(clkfb),\n"; + else file << " .CLKINTFB(),\n"; - } + if(params.dynamic) { file << " .PHASESEL0(phasesel_hw[0]),\n";