Skip to content

Commit 65d3142

Browse files
committed
Add parameter DPA testcase
1 parent 096d529 commit 65d3142

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

test/rdl_src/parameters.rdl

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,3 +122,33 @@ addrmap param_scope {
122122
rf_t #(.N(3)) rfY;
123123
rf_t rfZ;
124124
};
125+
126+
127+
//------------------------------------------------------------------------------
128+
129+
addrmap param_dpa_scopes #(
130+
string X = "top default"
131+
) {
132+
133+
reg param_reg #(
134+
string X = "reg default"
135+
) {
136+
desc = X;
137+
name = X;
138+
field {
139+
desc = X;
140+
name = X;
141+
} f;
142+
};
143+
144+
param_reg reg_default;
145+
param_reg #(.X(X)) reg_override1;
146+
param_reg #(.X("from inst")) reg_override2;
147+
148+
reg_default->name = "dpa1";
149+
reg_default.f->name = "dpa2";
150+
reg_override1->name = X;
151+
reg_override1.f->name = X;
152+
reg_override2->name = X;
153+
reg_override2.f->name = X;
154+
};

test/test_parameters.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,33 @@ def test_param_scope(self):
191191
self.assertEqual(ffY.width, 3)
192192
self.assertEqual(ffZ.width, 1)
193193

194+
def test_param_dpa_scopes(self):
195+
root = self.compile(
196+
["rdl_src/parameters.rdl"],
197+
"param_dpa_scopes"
198+
)
199+
top = root.top
200+
d = top.find_by_path("reg_default")
201+
df = top.find_by_path("reg_default.f")
202+
o1 = top.find_by_path("reg_override1")
203+
o1f = top.find_by_path("reg_override1.f")
204+
o2 = top.find_by_path("reg_override2")
205+
o2f = top.find_by_path("reg_override2.f")
206+
207+
self.assertEqual(d.get_property("desc"), "reg default")
208+
self.assertEqual(df.get_property("desc"), "reg default")
209+
self.assertEqual(o1.get_property("desc"), "top default")
210+
self.assertEqual(o1f.get_property("desc"), "top default")
211+
self.assertEqual(o2.get_property("desc"), "from inst")
212+
self.assertEqual(o2f.get_property("desc"), "from inst")
213+
214+
self.assertEqual(d.get_property("name"), "dpa1")
215+
self.assertEqual(df.get_property("name"), "dpa2")
216+
self.assertEqual(o1.get_property("name"), "top default")
217+
self.assertEqual(o1f.get_property("name"), "top default")
218+
self.assertEqual(o2.get_property("name"), "top default")
219+
self.assertEqual(o2f.get_property("name"), "top default")
220+
194221
def test_err_ref_in_parameter(self):
195222
self.assertRDLCompileError(
196223
["rdl_err_src/err_ref_in_parameter.rdl"],

0 commit comments

Comments
 (0)