├── .gitignore ├── LICENSE ├── README.md ├── docs ├── Associativity.rst ├── Overview.rst ├── Parameter.rst ├── Port.rst ├── Replacement.rst ├── State.rst └── images │ ├── port_diagram.svg │ └── state_diagram.svg ├── generator ├── Makefile ├── base │ ├── configuration.py │ ├── design.py │ ├── policy.py │ └── state.py ├── cache │ ├── cache.py │ ├── cache_base.py │ ├── cache_config.py │ ├── direct_cache.py │ └── n_way_cache.py ├── debug.py ├── globals.py ├── logic │ ├── input_interface.py │ ├── logic_base.py │ ├── memory_controller.py │ ├── output_interface.py │ ├── replacer.py │ ├── replacers │ │ ├── fifo_replacer.py │ │ ├── lru_replacer.py │ │ └── random_replacer.py │ └── state_machine.py ├── modules │ ├── cache_signal.py │ ├── dram_instance.py │ ├── hit_detector.py │ └── sram_instance.py ├── opencache.py ├── options.py ├── tests │ ├── 00_code_format_test.py │ ├── 01_sim_cache_test.py │ ├── 12_basic_direct_test.py │ ├── 12_basic_nway_fifo_test.py │ ├── 12_basic_nway_lru_test.py │ ├── 12_basic_nway_random_test.py │ ├── 13_hazardless_direct_test.py │ ├── 13_hazardless_nway_fifo_test.py │ ├── 13_hazardless_nway_lru_test.py │ ├── 13_hazardless_nway_random_test.py │ ├── 14_wmask_direct_test.py │ ├── 14_wmask_nway_fifo_test.py │ ├── 14_wmask_nway_lru_test.py │ ├── 14_wmask_nway_random_test.py │ ├── 15_line_direct_test.py │ ├── 15_line_nway_fifo_test.py │ ├── 15_line_nway_lru_test.py │ ├── 15_line_nway_random_test.py │ ├── 16_instruction_direct_test.py │ ├── 16_instruction_nway_fifo_test.py │ ├── 16_instruction_nway_lru_test.py │ ├── 16_instruction_nway_random_test.py │ ├── 17_write_through_direct_test.py │ ├── 17_write_through_nway_fifo_test.py │ ├── 17_write_through_nway_lru_test.py │ ├── 17_write_through_nway_random_test.py │ ├── configs │ │ └── config.py │ ├── regress.py │ └── testutils.py └── verify │ ├── __init__.py │ ├── core.py │ ├── sim_cache.py │ ├── sim_dram.py │ ├── sim_sram.py │ ├── test_bench.py │ ├── test_data.py │ └── verification.py ├── requirements.txt ├── setpaths.csh └── setpaths.sh /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/README.md -------------------------------------------------------------------------------- /docs/Associativity.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/Associativity.rst -------------------------------------------------------------------------------- /docs/Overview.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/Overview.rst -------------------------------------------------------------------------------- /docs/Parameter.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/Parameter.rst -------------------------------------------------------------------------------- /docs/Port.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/Port.rst -------------------------------------------------------------------------------- /docs/Replacement.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/Replacement.rst -------------------------------------------------------------------------------- /docs/State.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/State.rst -------------------------------------------------------------------------------- /docs/images/port_diagram.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/images/port_diagram.svg -------------------------------------------------------------------------------- /docs/images/state_diagram.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/docs/images/state_diagram.svg -------------------------------------------------------------------------------- /generator/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/Makefile -------------------------------------------------------------------------------- /generator/base/configuration.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/base/configuration.py -------------------------------------------------------------------------------- /generator/base/design.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/base/design.py -------------------------------------------------------------------------------- /generator/base/policy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/base/policy.py -------------------------------------------------------------------------------- /generator/base/state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/base/state.py -------------------------------------------------------------------------------- /generator/cache/cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/cache/cache.py -------------------------------------------------------------------------------- /generator/cache/cache_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/cache/cache_base.py -------------------------------------------------------------------------------- /generator/cache/cache_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/cache/cache_config.py -------------------------------------------------------------------------------- /generator/cache/direct_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/cache/direct_cache.py -------------------------------------------------------------------------------- /generator/cache/n_way_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/cache/n_way_cache.py -------------------------------------------------------------------------------- /generator/debug.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/debug.py -------------------------------------------------------------------------------- /generator/globals.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/globals.py -------------------------------------------------------------------------------- /generator/logic/input_interface.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/input_interface.py -------------------------------------------------------------------------------- /generator/logic/logic_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/logic_base.py -------------------------------------------------------------------------------- /generator/logic/memory_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/memory_controller.py -------------------------------------------------------------------------------- /generator/logic/output_interface.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/output_interface.py -------------------------------------------------------------------------------- /generator/logic/replacer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/replacer.py -------------------------------------------------------------------------------- /generator/logic/replacers/fifo_replacer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/replacers/fifo_replacer.py -------------------------------------------------------------------------------- /generator/logic/replacers/lru_replacer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/replacers/lru_replacer.py -------------------------------------------------------------------------------- /generator/logic/replacers/random_replacer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/replacers/random_replacer.py -------------------------------------------------------------------------------- /generator/logic/state_machine.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/logic/state_machine.py -------------------------------------------------------------------------------- /generator/modules/cache_signal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/modules/cache_signal.py -------------------------------------------------------------------------------- /generator/modules/dram_instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/modules/dram_instance.py -------------------------------------------------------------------------------- /generator/modules/hit_detector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/modules/hit_detector.py -------------------------------------------------------------------------------- /generator/modules/sram_instance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/modules/sram_instance.py -------------------------------------------------------------------------------- /generator/opencache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/opencache.py -------------------------------------------------------------------------------- /generator/options.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/options.py -------------------------------------------------------------------------------- /generator/tests/00_code_format_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/00_code_format_test.py -------------------------------------------------------------------------------- /generator/tests/01_sim_cache_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/01_sim_cache_test.py -------------------------------------------------------------------------------- /generator/tests/12_basic_direct_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/12_basic_direct_test.py -------------------------------------------------------------------------------- /generator/tests/12_basic_nway_fifo_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/12_basic_nway_fifo_test.py -------------------------------------------------------------------------------- /generator/tests/12_basic_nway_lru_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/12_basic_nway_lru_test.py -------------------------------------------------------------------------------- /generator/tests/12_basic_nway_random_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/12_basic_nway_random_test.py -------------------------------------------------------------------------------- /generator/tests/13_hazardless_direct_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/13_hazardless_direct_test.py -------------------------------------------------------------------------------- /generator/tests/13_hazardless_nway_fifo_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/13_hazardless_nway_fifo_test.py -------------------------------------------------------------------------------- /generator/tests/13_hazardless_nway_lru_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/13_hazardless_nway_lru_test.py -------------------------------------------------------------------------------- /generator/tests/13_hazardless_nway_random_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/13_hazardless_nway_random_test.py -------------------------------------------------------------------------------- /generator/tests/14_wmask_direct_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/14_wmask_direct_test.py -------------------------------------------------------------------------------- /generator/tests/14_wmask_nway_fifo_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/14_wmask_nway_fifo_test.py -------------------------------------------------------------------------------- /generator/tests/14_wmask_nway_lru_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/14_wmask_nway_lru_test.py -------------------------------------------------------------------------------- /generator/tests/14_wmask_nway_random_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/14_wmask_nway_random_test.py -------------------------------------------------------------------------------- /generator/tests/15_line_direct_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/15_line_direct_test.py -------------------------------------------------------------------------------- /generator/tests/15_line_nway_fifo_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/15_line_nway_fifo_test.py -------------------------------------------------------------------------------- /generator/tests/15_line_nway_lru_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/15_line_nway_lru_test.py -------------------------------------------------------------------------------- /generator/tests/15_line_nway_random_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/15_line_nway_random_test.py -------------------------------------------------------------------------------- /generator/tests/16_instruction_direct_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/16_instruction_direct_test.py -------------------------------------------------------------------------------- /generator/tests/16_instruction_nway_fifo_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/16_instruction_nway_fifo_test.py -------------------------------------------------------------------------------- /generator/tests/16_instruction_nway_lru_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/16_instruction_nway_lru_test.py -------------------------------------------------------------------------------- /generator/tests/16_instruction_nway_random_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/16_instruction_nway_random_test.py -------------------------------------------------------------------------------- /generator/tests/17_write_through_direct_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/17_write_through_direct_test.py -------------------------------------------------------------------------------- /generator/tests/17_write_through_nway_fifo_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/17_write_through_nway_fifo_test.py -------------------------------------------------------------------------------- /generator/tests/17_write_through_nway_lru_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/17_write_through_nway_lru_test.py -------------------------------------------------------------------------------- /generator/tests/17_write_through_nway_random_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/17_write_through_nway_random_test.py -------------------------------------------------------------------------------- /generator/tests/configs/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/configs/config.py -------------------------------------------------------------------------------- /generator/tests/regress.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/regress.py -------------------------------------------------------------------------------- /generator/tests/testutils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/tests/testutils.py -------------------------------------------------------------------------------- /generator/verify/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/__init__.py -------------------------------------------------------------------------------- /generator/verify/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/core.py -------------------------------------------------------------------------------- /generator/verify/sim_cache.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/sim_cache.py -------------------------------------------------------------------------------- /generator/verify/sim_dram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/sim_dram.py -------------------------------------------------------------------------------- /generator/verify/sim_sram.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/sim_sram.py -------------------------------------------------------------------------------- /generator/verify/test_bench.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/test_bench.py -------------------------------------------------------------------------------- /generator/verify/test_data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/test_data.py -------------------------------------------------------------------------------- /generator/verify/verification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/generator/verify/verification.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/requirements.txt -------------------------------------------------------------------------------- /setpaths.csh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/setpaths.csh -------------------------------------------------------------------------------- /setpaths.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VLSIDA/OpenCache/HEAD/setpaths.sh --------------------------------------------------------------------------------