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";