Merge pull request #1599 from antmicro/fix-gtp-prefixes

segmaker: fix site_type prefixes for GTP sites
diff --git a/fuzzers/071-ppips/generate.tcl b/fuzzers/071-ppips/generate.tcl
index 2c92afd..ce3da5c 100644
--- a/fuzzers/071-ppips/generate.tcl
+++ b/fuzzers/071-ppips/generate.tcl
@@ -153,21 +153,27 @@
 
     foreach pip [get_pips -of_objects $tile] {
         set dst_wire [get_wires -downhill -of_objects $pip]
-        if {[get_pips -uphill -of_objects [get_nodes -of_objects $dst_wire]] == $pip} {
-            set src_wire [get_wires -uphill -of_objects $pip]
+        set src_wire [get_wires -uphill -of_objects $pip]
 
-            if {![regexp "IMUX" $src_wire] && ![regexp "GTPE2_CTRL" $src_wire] && ![regexp "GTPE2_CLK" $src_wire]} {
-                continue
-            }
-
-            puts $fp "${tile_type}${tile_suffix}.[regsub {.*/} $dst_wire ""].[regsub {.*/} $src_wire ""] always"
+        set logic_outs [regexp "LOGIC_OUTS" $dst_wire]
+        set imux [regexp "IMUX" $src_wire]
+        set ctrl [regexp "GTPE2_CTRL" $src_wire]
+        set clk [regexp "GTPE2_CLK" $src_wire]
+        set ibufds [regexp "IBUFDS" $src_wire]
+        set refclk [regexp "COMMON_REFCLK" $src_wire]
+        set tx_pads [regexp "TX\[NP\]_PAD" $dst_wire]
+        set rx_pads [regexp "RX\[NP\]_PAD" $src_wire]
+        if {!$logic_outs && !$tx_pads && !$rx_pads && !$imux && !$ctrl && !$clk && !$refclk && !($ibufds && $tile_suffix == "")} {
+            continue
         }
+
+        puts $fp "${tile_type}${tile_suffix}.[regsub {.*/} $dst_wire ""].[regsub {.*/} $src_wire ""] always"
     }
 
     close $fp
 }
 
-proc write_gtp_int_interface_ppips_db {filename tile} {
+proc write_gtp_int_interface_ppips_db {filename tile tile_suffix wire_suffix} {
     set fp [open $filename "w"]
     set tile [get_tiles $tile]
     set tile_type [get_property TILE_TYPE $tile]
@@ -176,15 +182,17 @@
         set dst_wire [get_wires -downhill -of_objects $pip]
         set src_wire [get_wires -uphill -of_objects $pip]
 
-        if {![regexp "IMUX_OUT" $dst_wire]} {
-            continue
-        }
-
         if {[regexp "DELAY" $src_wire]} {
             continue
         }
 
-        puts $fp "${tile_type}.[regsub {.*/} $dst_wire ""].[regsub {.*/} $src_wire ""] always"
+        set map {}
+        lappend map {GTPE2} GTPE2${wire_suffix}
+
+        set dst_wire [string map $map $dst_wire]
+        set src_wire [string map $map $src_wire]
+
+        puts $fp "${tile_type}${tile_suffix}.[regsub {.*/} $dst_wire ""].[regsub {.*/} $src_wire ""] always"
     }
 
     close $fp
@@ -261,6 +269,8 @@
     set tiles [get_tiles -filter "TILE_TYPE == $tile_type"]
     if {[llength $tiles] != 0} {
         set tile [lindex $tiles 0]
-        write_gtp_int_interface_ppips_db "ppips_[string tolower $tile_type].db" $tile
+        write_gtp_int_interface_ppips_db "ppips_[string tolower $tile_type].db" $tile "" ""
+        write_gtp_int_interface_ppips_db "ppips_[string tolower $tile_type]_r.db" $tile "_R" "_R"
+        write_gtp_int_interface_ppips_db "ppips_[string tolower $tile_type]_l.db" $tile "_L" "_LEFT"
     }
 }