stdlib: Improving synthetic traffic generation.

This change adds a new traffic generator module to the standard
library that can read a .cfg file describing the traffic pattern
as a state machine. It wraps around the TrafficGen SimObject.
In addition it adds a method to ComplexGenerator to set the
traffic from outside using python generators like the example
found in configs/dram/sweep.py.

Change-Id: I5989bb900d26091e6e0e85ea63c741441b72069c
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/62473
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Mahyar Samani
2022-08-17 16:54:52 -07:00
parent 26ea5a1c72
commit 8ba46bafb0
15 changed files with 300 additions and 93 deletions

View File

@@ -178,6 +178,8 @@ PySource('gem5.components.processors',
'gem5/components/processors/abstract_core.py')
PySource('gem5.components.processors',
'gem5/components/processors/abstract_generator_core.py')
PySource('gem5.components.processors',
'gem5/components/processors/abstract_generator.py')
PySource('gem5.components.processors',
'gem5/components/processors/abstract_processor.py')
PySource('gem5.components.processors',
@@ -215,6 +217,10 @@ PySource('gem5.components.processors',
PySource('gem5.components.processors',
'gem5/components/processors/switchable_processor.py')
PySource('gem5.utils', 'gem5/utils/simpoint.py')
PySource('gem5.components.processors',
'gem5/components/processors/traffic_generator_core.py')
PySource('gem5.components.processors',
'gem5/components/processors/traffic_generator.py')
PySource('gem5.prebuilt', 'gem5/prebuilt/__init__.py')
PySource('gem5.prebuilt.demo', 'gem5/prebuilt/demo/__init__.py')
PySource('gem5.prebuilt.demo', 'gem5/prebuilt/demo/x86_demo_board.py')