Merge pull request #166 from ikle/issue-160
ecppll: fix broken port names in highres mode, fix regression
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";