Merge pull request #20 from silimate/master

Fix parsing error with >2 attributes
This commit is contained in:
James Cherry 2024-03-28 11:06:24 -07:00 committed by GitHub
commit 661097bdae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 8 additions and 2 deletions

View File

@ -1,2 +1,4 @@
top_instance:"counter" attribute "src" = synthesis/tests/counter.v:16.1-32.10
instance: _1415_ attribute "src" = synthesis/tests/counter.v:22.3-28.6
instance: _1415_ attribute "attr1" = test_attr1
instance: _1415_ attribute "attr2" = test_attr2

View File

@ -11,4 +11,8 @@ puts "top_instance:\"$cell_name\" attribute \"src\" = $src_location"
set instance_name "_1415_"
set instance_src_location [[sta::find_instance $instance_name] get_attribute "src"]
set instance_attr1 [[sta::find_instance $instance_name] get_attribute "attr1"]
set instance_attr2 [[sta::find_instance $instance_name] get_attribute "attr2"]
puts "instance: $instance_name attribute \"src\" = $instance_src_location"
puts "instance: $instance_name attribute \"attr1\" = $instance_attr1"
puts "instance: $instance_name attribute \"attr2\" = $instance_attr2"

View File

@ -11,7 +11,7 @@ module counter(clk, reset, in, out);
(* src = "synthesis/tests/counter.v:18.14-18.19" *)
input reset;
input in;
(* src = "synthesis/tests/counter.v:22.3-28.6" *)
(* src = "synthesis/tests/counter.v:22.3-28.6", attr1 = "test_attr1", attr2 = "test_attr2" *)
sky130_fd_sc_hd__dfrtp_1 _1415_ (
.CLK(clk),
.D(in),

View File

@ -499,7 +499,7 @@ attr_specs:
{ $$ = new sta::VerilogAttributeEntrySeq;
$$->push_back($1);
}
| attr_spec ',' attr_spec
| attr_specs ',' attr_spec
{ $$->push_back($3); }
;