diff --git a/tcl/main.tcl b/tcl/main.tcl
index 4db3d1f87ec2a482e6aab7bdca5e52cd8ca7aee4..f07eb1f3df47cd2d98188adad36f48abf2f3ccc1 100644
--- a/tcl/main.tcl
+++ b/tcl/main.tcl
@@ -18,9 +18,11 @@ proc setSources {} {
   # Generate VHDL package with modversion
   genModVerFile VHDL ../hdl/pkg_combpm_version.vhd
 
+  lappend Vhdl ../hdl/pkg_combpm_version.vhd
   lappend Vhdl ../hdl/combpm_protocol_electron.vhd
   lappend Vhdl ../hdl/top_combpm_electron.vhd
   lappend Vhdl ../hdl/pkg_bpmframe_stream.vhd
+  lappend Vhdl ../hdl/combpm_packet_filter.vhd
 
 }
 
@@ -32,16 +34,22 @@ proc setAddressSpace {} {
 
 # ==============================================================================
 proc doOnCreate {} {
-  variable Vhdl
-  addSources Vhdl
 
-  # TODO sould probably get that part number from the project configuration
-  set fpga_part "xczu11eg-ffvc1760-2L-e"
-  set_property part ${fpga_part} [current_project]
-  set_property target_language VHDL [current_project]
+  # This module is only for vivado tool. End here for another tooltype.
+  if {$::fwfwk::ToolType ne "vivado"} {
+      puts "\n[ERROR] This module is only configured to work with Vivado"
+      exit -1
+  }
 
   # Create GT wizard IP
-  source ../tcl/combpm_gtwizard.tcl
+  set_property part ${::fwfwk::FpgaPart} [current_project]
+  set_property target_language VHDL [current_project]
+  source combpm_gtwizard.tcl
+
+  source generate_combpm_packet_filter_ip.tcl
+
+  variable Vhdl
+  addSources Vhdl
 }
 
 # ==============================================================================