Fix parsing error with >2 attributes

This commit is contained in:
Akash Levy 2024-03-27 19:33:58 -07:00
parent 8bf51ab7ee
commit bbd92a5aef
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 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 "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_name "_1415_"
set instance_src_location [[sta::find_instance $instance_name] get_attribute "src"] 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 \"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" *) (* src = "synthesis/tests/counter.v:18.14-18.19" *)
input reset; input reset;
input in; 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_ ( sky130_fd_sc_hd__dfrtp_1 _1415_ (
.CLK(clk), .CLK(clk),
.D(in), .D(in),

View File

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