diff --git a/src/python/gem5/components/processors/gups_generator.py b/src/python/gem5/components/processors/gups_generator.py
index 191be6b..41d1812 100644
--- a/src/python/gem5/components/processors/gups_generator.py
+++ b/src/python/gem5/components/processors/gups_generator.py
@@ -25,15 +25,14 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from ...utils.override import overrides
+from typing import Optional
 from m5.objects import Addr
+from ...utils.override import overrides
 
 from ..boards.mem_mode import MemMode
-
-from .gups_generator_core import GUPSGeneratorCore
-
 from .abstract_processor import AbstractProcessor
 from ..boards.abstract_board import AbstractBoard
+from .gups_generator_core import GUPSGeneratorCore
 
 
 class GUPSGenerator(AbstractProcessor):
@@ -42,6 +41,7 @@
         start_addr: Addr,
         mem_size: str,
         update_limit: int = 0,
+        clk_freq: Optional[str] = None,
     ):
         """The GUPSGenerator class
         This class defines the interface for a single core GUPSGenerator, this
@@ -63,6 +63,7 @@
                     start_addr=start_addr,
                     mem_size=mem_size,
                     update_limit=update_limit,
+                    clk_freq=clk_freq,
                 )
             ]
         )
diff --git a/src/python/gem5/components/processors/gups_generator_core.py b/src/python/gem5/components/processors/gups_generator_core.py
index 8ce921e..f315b8b 100644
--- a/src/python/gem5/components/processors/gups_generator_core.py
+++ b/src/python/gem5/components/processors/gups_generator_core.py
@@ -24,10 +24,11 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-from m5.objects import Port, GUPSGen, Addr
 
+from typing import Optional
 from ...utils.override import overrides
 from .abstract_generator_core import AbstractGeneratorCore
+from m5.objects import Port, GUPSGen, Addr, SrcClockDomain, VoltageDomain
 
 
 class GUPSGeneratorCore(AbstractGeneratorCore):
@@ -36,14 +37,24 @@
         start_addr: Addr,
         mem_size: str,
         update_limit: int,
+        clk_freq: Optional[str],
     ):
         """
         Create a GUPSGeneratorCore as the main generator.
         """
         super().__init__()
         self.generator = GUPSGen(
-            start_addr=start_addr, mem_size=mem_size, update_limit=update_limit
-        )
+                start_addr=start_addr,
+                mem_size=mem_size,
+                update_limit=update_limit,
+            )
+        if clk_freq:
+            clock_domain = SrcClockDomain(
+                clock=clk_freq, voltage_domain=VoltageDomain()
+            )
+            self.generator.clk_domain = clock_domain
+
+
 
     @overrides(AbstractGeneratorCore)
     def connect_dcache(self, port: Port) -> None:
diff --git a/src/python/gem5/components/processors/gups_generator_ep.py b/src/python/gem5/components/processors/gups_generator_ep.py
index 203a88c..da27494 100644
--- a/src/python/gem5/components/processors/gups_generator_ep.py
+++ b/src/python/gem5/components/processors/gups_generator_ep.py
@@ -25,17 +25,14 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from ...utils.override import overrides
+from typing import Optional
 from m5.objects import Addr
-from m5.util.convert import toMemorySize
-
 from ..boards.mem_mode import MemMode
-
-from .gups_generator_core import GUPSGeneratorCore
-
+from ...utils.override import overrides
+from m5.util.convert import toMemorySize
 from .abstract_processor import AbstractProcessor
 from ..boards.abstract_board import AbstractBoard
-
+from .gups_generator_core import GUPSGeneratorCore
 
 class GUPSGeneratorEP(AbstractProcessor):
     def __init__(
@@ -44,6 +41,7 @@
         start_addr: Addr,
         mem_size: str,
         update_limit: int = 0,
+        clk_freq: Optional[str] = None,
     ):
         """The GUPSGeneratorEP class
         This class defines the interface for multi core GUPSGenerator, this
@@ -64,6 +62,7 @@
                 start_addr=start_addr,
                 mem_size=mem_size,
                 update_limit=update_limit,
+                clk_freq=clk_freq,
             )
         )
 
@@ -73,6 +72,7 @@
         start_addr: Addr,
         mem_size: str,
         update_limit: int,
+        clk_freq: Optional[str],
     ):
         """
         Helper function to create cores.
@@ -85,6 +85,7 @@
                 start_addr=start_addr + i * chunk_size,
                 mem_size=table_size,
                 update_limit=update_limit,
+                clk_freq=clk_freq
             )
             for i in range(num_cores)
         ]
diff --git a/src/python/gem5/components/processors/gups_generator_par.py b/src/python/gem5/components/processors/gups_generator_par.py
index aad360a..12e8d4c 100644
--- a/src/python/gem5/components/processors/gups_generator_par.py
+++ b/src/python/gem5/components/processors/gups_generator_par.py
@@ -25,17 +25,14 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 
-from ...utils.override import overrides
+from typing import Optional
 from m5.objects import Addr
+from ...utils.override import overrides
 
 from ..boards.mem_mode import MemMode
-
-from .gups_generator_core import GUPSGeneratorCore
-
 from .abstract_processor import AbstractProcessor
 from ..boards.abstract_board import AbstractBoard
-
-
+from .gups_generator_core import GUPSGeneratorCore
 class GUPSGeneratorPAR(AbstractProcessor):
     def __init__(
         self,
@@ -43,6 +40,7 @@
         start_addr: Addr,
         mem_size: str,
         update_limit: int = 0,
+        clk_freq: Optional[str] = None,
     ):
         """The GUPSGeneratorPAR class
         This class defines the interface for multi core GUPSGenerator, this
@@ -63,6 +61,7 @@
                 start_addr=start_addr,
                 mem_size=mem_size,
                 update_limit=update_limit,
+                clk_freq=clk_freq,
             )
         )
 
@@ -72,6 +71,7 @@
         start_addr: Addr,
         mem_size: str,
         update_limit: int,
+        clk_freq: Optional[str],
     ):
         """
         Helper function to create cores.
@@ -81,8 +81,9 @@
                 start_addr=start_addr,
                 mem_size=mem_size,
                 update_limit=update_limit / num_cores,
+                clk_freq=clk_freq,
             )
-            for i in range(num_cores)
+            for _ in range(num_cores)
         ]
 
     @overrides(AbstractProcessor)
