Bobby R. Bruce has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/47466 )

Change subject: python: Add Components Library [Alpha Release]
......................................................................

python: Add Components Library [Alpha Release]

The purpose of the gem5 components library is to provide gem5 users a
standard set of common and useful gem5 components pre-built to add to
their experiments. The gem5 components library adopts a modular
architecture design with the goal of components being easy to add and
remove from designs, and extendable as needed. E.g., any Memory system
should be interchangable with any other, and if not a helpful error
messages should be raised.

Examples of using the gem5 components library can be found in
`configs/example/components-library`.

Important Disclaimer:

This is a pre-alpha release of the gem5 components library. The purpose
of this release is to get some community feedback on this new component
of gem5. Though some testing has been done, we expect regular fixes and
improvements until this is in a stable state.

The components library has been formatted with Python Black; typing has
been checked with MyPy; and the library has been tested with the scripts
in `configs/example/components-libary`. More rigorous tests are to be
added in future revisions.

More detailed documentation will appear in future revisions.

Jira Ticket outlining TODOs and known bugs can be found here:
https://gem5.atlassian.net/browse/GEM5-648

Change-Id: I3492ec4a6d8c59ffbae899ce8e87ab4ffb92b976
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/47466
Reviewed-by: Bobby R. Bruce <bbr...@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbr...@ucdavis.edu>
Tested-by: kokoro <noreply+kok...@google.com>
---
A components_library/README.md
A components_library/__init__.py
A components_library/boards/abstract_board.py
A components_library/boards/mem_mode.py
A components_library/boards/simple_board.py
A components_library/boards/test_board.py
A components_library/boards/x86_board.py
A components_library/cachehierarchies/abstract_cache_hierarchy.py
A components_library/cachehierarchies/abstract_two_level_cache_hierarchy.py
A components_library/cachehierarchies/classic/abstract_classic_cache_hierarchy.py
A components_library/cachehierarchies/classic/caches/l1dcache.py
A components_library/cachehierarchies/classic/caches/l1icache.py
A components_library/cachehierarchies/classic/caches/l2cache.py
A components_library/cachehierarchies/classic/caches/mmu_cache.py
A components_library/cachehierarchies/classic/no_cache.py
A components_library/cachehierarchies/classic/private_l1_private_l2_cache_hierarchy.py
A components_library/cachehierarchies/ruby/__init__.py
A components_library/cachehierarchies/ruby/abstract_ruby_cache_hierarhcy.py
A components_library/cachehierarchies/ruby/caches/abstract_directory.py
A components_library/cachehierarchies/ruby/caches/abstract_dma_controller.py
A components_library/cachehierarchies/ruby/caches/abstract_l1_cache.py
A components_library/cachehierarchies/ruby/caches/abstract_l2_cache.py
A components_library/cachehierarchies/ruby/caches/mesi_two_level/directory.py A components_library/cachehierarchies/ruby/caches/mesi_two_level/dma_controller.py
A components_library/cachehierarchies/ruby/caches/mesi_two_level/l1_cache.py
A components_library/cachehierarchies/ruby/caches/mesi_two_level/l2_cache.py
A components_library/cachehierarchies/ruby/mesi_two_level_cache_hierarchy.py
A components_library/cachehierarchies/ruby/topologies/__init__.py
A components_library/cachehierarchies/ruby/topologies/simple_pt2pt.py
A components_library/coherence_protocol.py
A components_library/isas.py
A components_library/memory/abstract_memory_system.py
A components_library/memory/ddr3_1600_8x8.py
A components_library/memory/dram_interfaces/ddr3.py
A components_library/memory/dram_interfaces/ddr4.py
A components_library/memory/dram_interfaces/gddr.py
A components_library/memory/dram_interfaces/hbm.py
A components_library/memory/dram_interfaces/hmc.py
A components_library/memory/dram_interfaces/lpddr2.py
A components_library/memory/dram_interfaces/lpddr3.py
A components_library/memory/dram_interfaces/lpddr5.py
A components_library/memory/dram_interfaces/wideio.py
A components_library/memory/dramsim_3.py
A components_library/memory/single_channel.py
A components_library/processors/abstract_core.py
A components_library/processors/abstract_generator_core.py
A components_library/processors/abstract_processor.py
A components_library/processors/complex_generator.py
A components_library/processors/complex_generator_core.py
A components_library/processors/cpu_types.py
A components_library/processors/linear_generator.py
A components_library/processors/linear_generator_core.py
A components_library/processors/random_generator.py
A components_library/processors/random_generator_core.py
A components_library/processors/simple_core.py
A components_library/processors/simple_processor.py
A components_library/processors/simple_switchable_processor.py
A components_library/processors/switchable_processor.py
A components_library/runtime.py
A components_library/utils/override.py
A configs/example/components-library/boot_exit_disk_run.py
A configs/example/components-library/parsec_disk_run.py
A configs/example/components-library/simple_binary_run.py
A configs/example/components-library/simple_traffic_run.py
64 files changed, 6,951 insertions(+), 0 deletions(-)

Approvals:
  Bobby R. Bruce: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass




--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/47466
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I3492ec4a6d8c59ffbae899ce8e87ab4ffb92b976
Gerrit-Change-Number: 47466
Gerrit-PatchSet: 6
Gerrit-Owner: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Jason Lowe-Power <ja...@lowepower.com>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Mahyar Samani <msam...@ucdavis.edu>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to