Initial Commit - Forked from PeakRDL-regblock @ a440cc19769069be831d267505da4f3789a26695
This commit is contained in:
0
tests/test_pkg_params/__init__.py
Normal file
0
tests/test_pkg_params/__init__.py
Normal file
11
tests/test_pkg_params/regblock.rdl
Normal file
11
tests/test_pkg_params/regblock.rdl
Normal file
@@ -0,0 +1,11 @@
|
||||
addrmap top #(
|
||||
longint N_REGS = 1,
|
||||
longint REGWIDTH = 32,
|
||||
string NAME = "abcd"
|
||||
) {
|
||||
reg reg_t {
|
||||
regwidth = REGWIDTH;
|
||||
field {sw=rw; hw=r;} f[REGWIDTH] = 1;
|
||||
};
|
||||
reg_t regs[N_REGS];
|
||||
};
|
||||
8
tests/test_pkg_params/tb_template.sv
Normal file
8
tests/test_pkg_params/tb_template.sv
Normal file
@@ -0,0 +1,8 @@
|
||||
{% extends "lib/tb_base.sv" %}
|
||||
|
||||
{% block seq %}
|
||||
{% sv_line_anchor %}
|
||||
assert(regblock_pkg::N_REGS == {{testcase.n_regs}});
|
||||
assert(regblock_pkg::REGWIDTH == {{testcase.regwidth}});
|
||||
assert(regblock_pkg::NAME == "{{testcase.name}}");
|
||||
{% endblock %}
|
||||
27
tests/test_pkg_params/testcase.py
Normal file
27
tests/test_pkg_params/testcase.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from parameterized import parameterized_class
|
||||
|
||||
from ..lib.sim_testcase import SimTestCase
|
||||
from ..lib.test_params import get_permutations
|
||||
|
||||
PARAMS = get_permutations({
|
||||
"n_regs" : [1, 2],
|
||||
"regwidth" : [8, 16],
|
||||
"name" : ["hello", "world"],
|
||||
})
|
||||
@parameterized_class(PARAMS)
|
||||
class TestRetimedFanin(SimTestCase):
|
||||
n_regs = 20
|
||||
regwidth = 32
|
||||
name = "xyz"
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.rdl_elab_params = {
|
||||
"N_REGS": cls.n_regs,
|
||||
"REGWIDTH": cls.regwidth,
|
||||
"NAME": f'"{cls.name}"',
|
||||
}
|
||||
super().setUpClass()
|
||||
|
||||
def test_dut(self):
|
||||
self.run_test()
|
||||
Reference in New Issue
Block a user