From b50ec272da9533e8c0f6085b32d661e017bbb4c1 Mon Sep 17 00:00:00 2001 From: Jacob Walker Date: Thu, 9 Mar 2023 14:12:14 -0800 Subject: [PATCH] updated top level rom unit tests --- compiler/modules/rom_base_bank.py | 4 +++ compiler/rom.py | 1 + compiler/tests/05_rom_base_bank_1kB_test.py | 10 ++++-- compiler/tests/05_rom_base_bank_2kB_test.py | 38 -------------------- compiler/tests/05_rom_base_bank_4kB_test.py | 9 ++++- compiler/tests/05_rom_base_bank_8kB_test.py | 39 --------------------- 6 files changed, 21 insertions(+), 80 deletions(-) delete mode 100644 compiler/tests/05_rom_base_bank_2kB_test.py delete mode 100644 compiler/tests/05_rom_base_bank_8kB_test.py diff --git a/compiler/modules/rom_base_bank.py b/compiler/modules/rom_base_bank.py index 2619a587..c36f8321 100644 --- a/compiler/modules/rom_base_bank.py +++ b/compiler/modules/rom_base_bank.py @@ -55,6 +55,10 @@ class rom_base_bank(design): self.route_stack = self.m2_stack self.route_layer = self.route_stack[0] + if OPTS.is_unit_test: + self.create_netlist() + self.create_layout() + def create_netlist(self): start_time = datetime.datetime.now() diff --git a/compiler/rom.py b/compiler/rom.py index 53d7f435..8180b36c 100644 --- a/compiler/rom.py +++ b/compiler/rom.py @@ -25,6 +25,7 @@ class rom(): word_size=OPTS.word_size, words_per_row=OPTS.words_per_row, rom_endian=OPTS.rom_endian, + scramble_bits=OPTS.scramble_bits strap_spacing=OPTS.strap_spacing) if name is None: diff --git a/compiler/tests/05_rom_base_bank_1kB_test.py b/compiler/tests/05_rom_base_bank_1kB_test.py index 2cfb1b81..be3fcb3a 100644 --- a/compiler/tests/05_rom_base_bank_1kB_test.py +++ b/compiler/tests/05_rom_base_bank_1kB_test.py @@ -22,9 +22,15 @@ class rom_bank_test(openram_test): config_file = "{}/tests/configs/config".format(os.getenv("OPENRAM_HOME")) openram.init_openram(config_file, is_unit_test=True) debug.info(1, "Testing 1kB rom cell") - test_data = "{0}/{1}/rom_data_1kB".format(os.getenv("OPENRAM_HOME"), OPTS.rom_data_dir) - a = factory.create(module_type="rom_base_bank", strap_spacing = 8, data_file = test_data, word_size = 1) + + from openram import rom_config + + conf = rom_config(strap_spacing = 8, + rom_data = test_data, + word_size = 1) + + a = factory.create(module_type="rom_base_bank", rom_config=conf) a.sp_write(OPTS.openram_temp + 'simulation_file.sp') self.local_check(a) diff --git a/compiler/tests/05_rom_base_bank_2kB_test.py b/compiler/tests/05_rom_base_bank_2kB_test.py deleted file mode 100644 index c4f1c08a..00000000 --- a/compiler/tests/05_rom_base_bank_2kB_test.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python3 -# See LICENSE for licensing information. -# -# Copyright (c) 2016-2023 Regents of the University of California and The Board -# of Regents for the Oklahoma Agricultural and Mechanical College -# (acting for and on behalf of Oklahoma State University) -# All rights reserved. -# -import unittest -from testutils import * -import sys, os - -import openram -from openram import OPTS -from openram.sram_factory import factory -from openram import debug - - -class rom_bank_test(openram_test): - - def runTest(self): - config_file = "{}/tests/configs/config".format(os.getenv("OPENRAM_HOME")) - openram.init_openram(config_file, is_unit_test=True) - debug.info(1, "Testing 2kB rom cell") - - test_data = "{0}/{1}/rom_data_2kB".format(os.getenv("OPENRAM_HOME"), OPTS.rom_data_dir) - a = factory.create(module_type="rom_base_bank", strap_spacing = 8, data_file = test_data, word_size = 1) - a.sp_write(OPTS.openram_temp + 'simulation_file.sp') - self.local_check(a) - - openram.end_openram() - -# run the test from the command line -if __name__ == "__main__": - (OPTS, args) = openram.parse_args() - del sys.argv[1:] - header(__file__, OPTS.tech_name) - unittest.main(testRunner=debugTestRunner()) \ No newline at end of file diff --git a/compiler/tests/05_rom_base_bank_4kB_test.py b/compiler/tests/05_rom_base_bank_4kB_test.py index 90547d57..b9a37a21 100644 --- a/compiler/tests/05_rom_base_bank_4kB_test.py +++ b/compiler/tests/05_rom_base_bank_4kB_test.py @@ -24,7 +24,14 @@ class rom_bank_test(openram_test): debug.info(1, "Testing 4kB rom cell") test_data = "{0}/{1}/rom_data_4kB".format(os.getenv("OPENRAM_HOME"), OPTS.rom_data_dir) - a = factory.create(module_type="rom_base_bank", strap_spacing = 8, data_file = test_data, word_size = 2) + + from openram import rom_config + + conf = rom_config(strap_spacing = 8, + rom_data = test_data, + word_size = 2) + + a = factory.create(module_type="rom_base_bank", rom_config=conf) a.sp_write(OPTS.openram_temp + 'simulation_file.sp') self.local_check(a) diff --git a/compiler/tests/05_rom_base_bank_8kB_test.py b/compiler/tests/05_rom_base_bank_8kB_test.py deleted file mode 100644 index 3cf86b27..00000000 --- a/compiler/tests/05_rom_base_bank_8kB_test.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python3 -# See LICENSE for licensing information. -# -# Copyright (c) 2016-2023 Regents of the University of California and The Board -# of Regents for the Oklahoma Agricultural and Mechanical College -# (acting for and on behalf of Oklahoma State University) -# All rights reserved. -# -import unittest -from testutils import * -import sys, os - -import openram -from openram import OPTS -from openram.sram_factory import factory -from openram import debug - - -class rom_bank_test(openram_test): - - def runTest(self): - config_file = "{}/tests/configs/config".format(os.getenv("OPENRAM_HOME")) - openram.init_openram(config_file, is_unit_test=True) - debug.info(1, "Testing 8kB rom cell") - - test_data = "{0}/{1}/rom_data_8kB".format(os.getenv("OPENRAM_HOME"), OPTS.rom_data_dir) - a = factory.create(module_type="rom_base_bank", strap_spacing = 8, data_file = test_data, word_size = 2) - a.sp_write(OPTS.openram_temp + 'simulation_file_8kB.sp') - self.local_check(a) - - - openram.end_openram() - -# run the test from the command line -if __name__ == "__main__": - (OPTS, args) = openram.parse_args() - del sys.argv[1:] - header(__file__, OPTS.tech_name) - unittest.main(testRunner=debugTestRunner()) \ No newline at end of file