diff --git a/bank_tiles.h b/common/bank_tiles.h
similarity index 100%
rename from bank_tiles.h
rename to common/bank_tiles.h
diff --git a/common/utils.h b/common/utils.h
new file mode 100644
index 0000000..42ad7b1
--- /dev/null
+++ b/common/utils.h
@@ -0,0 +1,19 @@
+#include <algorithm>
+#include <cctype>
+#include <locale>
+
+inline void trim_left(std::string &str)
+{
+    str.erase(str.begin(), std::find_if(str.begin(), str.end(), [](unsigned char ch) { return !std::isspace(ch); }));
+}
+
+inline void trim_right(std::string &str)
+{
+    str.erase(std::find_if(str.rbegin(), str.rend(), [](unsigned char ch) { return !std::isspace(ch); }).base(), str.end());
+}
+
+inline void trim(std::string &str)
+{
+    trim_left(str);
+    trim_right(str);
+}
diff --git a/design_introspection-plugin/get_ports.cc b/design_introspection-plugin/get_ports.cc
index 042ada7..d6a0916 100644
--- a/design_introspection-plugin/get_ports.cc
+++ b/design_introspection-plugin/get_ports.cc
@@ -18,6 +18,7 @@
  *
  */
 #include "get_ports.h"
+#include "../common/utils.h"
 
 USING_YOSYS_NAMESPACE
 
@@ -30,6 +31,7 @@
 GetPorts::SelectionObjects GetPorts::ExtractSelection(RTLIL::Design *design, const CommandArgs &args)
 {
     std::string port_name = args.selection_objects.at(0);
+    trim(port_name);
     std::string port_str(port_name.size(), '\0');
     int bit(0);
     if (!sscanf(port_name.c_str(), "%[^[][%d]", &port_str[0], &bit)) {
diff --git a/design_introspection-plugin/tests/Makefile b/design_introspection-plugin/tests/Makefile
index fcca1e9..1602a48 100644
--- a/design_introspection-plugin/tests/Makefile
+++ b/design_introspection-plugin/tests/Makefile
@@ -3,6 +3,8 @@
 	get_cells \
 	get_pins
 
+UNIT_TESTS = trim_name
+
 include $(shell pwd)/../../Makefile_test.common
 
 get_nets_verify = $(call diff_test,get_nets,txt)
diff --git a/design_introspection-plugin/tests/get_ports/get_ports.golden.txt b/design_introspection-plugin/tests/get_ports/get_ports.golden.txt
index d87ba55..d427ccd 100644
--- a/design_introspection-plugin/tests/get_ports/get_ports.golden.txt
+++ b/design_introspection-plugin/tests/get_ports/get_ports.golden.txt
@@ -4,3 +4,5 @@
 clk
 led[0] port
 led[0]
+led[1] port
+led[1]
diff --git a/design_introspection-plugin/tests/get_ports/get_ports.tcl b/design_introspection-plugin/tests/get_ports/get_ports.tcl
index eca245d..f82305a 100644
--- a/design_introspection-plugin/tests/get_ports/get_ports.tcl
+++ b/design_introspection-plugin/tests/get_ports/get_ports.tcl
@@ -10,18 +10,24 @@
 
 set fp [open "get_ports.txt" "w"]
 
-puts "\nsignal_p port"
+puts "\n signal_p port"
 puts $fp "signal_p port"
 puts $fp [get_ports signal_p]
 
-puts "\nclk port"
+puts "\n clk port"
 puts $fp "clk port"
 puts $fp [get_ports clk]
 
-puts {\nled[0] port}
+puts "\n"
+puts { led[0] port}
 puts $fp {led[0] port}
 puts $fp [get_ports {led[0]}]
 
+puts "\n"
+puts { led[1] port}
+puts $fp {led[1] port}
+puts $fp [get_ports { led[1] }]
+
 #puts "\nsignal_* ports quiet"
 #puts $fp "signal_* ports quiet"
 #puts $fp [get_ports -quiet signal_*]
diff --git a/design_introspection-plugin/tests/trim_name/trim_name.test.cc b/design_introspection-plugin/tests/trim_name/trim_name.test.cc
new file mode 100644
index 0000000..5da2641
--- /dev/null
+++ b/design_introspection-plugin/tests/trim_name/trim_name.test.cc
@@ -0,0 +1,22 @@
+#include "../common/utils.h"
+
+#include <gtest/gtest.h>
+
+TEST(UtilitiesTest, TrimName)
+{
+    std::string original("  wire_name  ");
+    // trim wire_name from both sides
+    std::string name(original);
+    trim(name);
+    EXPECT_EQ(name, "wire_name");
+
+    // trim wire_name from left-hand side
+    name = original;
+    trim_left(name);
+    EXPECT_EQ(name, "wire_name  ");
+
+    // trim wire_name from right-hand side
+    name = original;
+    trim_right(name);
+    EXPECT_EQ(name, "  wire_name");
+}
diff --git a/fasm-plugin/fasm.cc b/fasm-plugin/fasm.cc
index 5ab4c1a..245d4bd 100644
--- a/fasm-plugin/fasm.cc
+++ b/fasm-plugin/fasm.cc
@@ -24,7 +24,7 @@
  *   annotations on the design cells.
  */
 
-#include "../bank_tiles.h"
+#include "../common/bank_tiles.h"
 #include "kernel/log.h"
 #include "kernel/register.h"
 #include "kernel/rtlil.h"
diff --git a/xdc-plugin/xdc.cc b/xdc-plugin/xdc.cc
index 3d792dd..1e97033 100644
--- a/xdc-plugin/xdc.cc
+++ b/xdc-plugin/xdc.cc
@@ -26,7 +26,7 @@
  *   Tcl interpreter and processed by the new XDC commands imported to the
  *   Tcl interpreter.
  */
-#include "../bank_tiles.h"
+#include "../common/bank_tiles.h"
 #include "kernel/log.h"
 #include "kernel/register.h"
 #include "kernel/rtlil.h"
