Tcl,
pasted
on May 7:
|
set inFile "timing () { \n related_pin : \"clk\"; \n timing_type : setup_rising; \n fall_constraint (constraint_template_5X5) { \n index_1 (\"0.01, 0.05, 0.12, 0.2, 0.4\"); \n index_2 (\"0.005, 0.025, 0.06, 0.1, 0.3\"); \n index_3 (\"0.094, 0.24, 3.39, 15.4, 13.94\") ; \n values ( \ \n \"1.1, 1.2, 1.3, 1.4, 1.5\", \ \n \"2.1, 2.2, 2.3, 2.4, 2.5\", \ \n \"3.1, 3.2, 3.3, 3.4, 3.5\", \ \n \"4.1, 4.2, 4.3, 4.4, 4.5\", \ \n \"5.1, 5.2, 5.3, 5.4, 5.5\", \ \n \"6.1, 6.2, 6.3, 6.4, 6.5\", \ \n \"7.1 ,7.2, 7.3, 7.4, 7.5\", \ \n \"8.1, 8.2, 8.3, 8.4, 8.5\", \ \n \"9.1, 9.2, 9.3, 9.4, 9.5\", \ \n \"10.1,10.2,10.3,10.4,10.5\", \ \n \"11.1,11.2,11.3,11.4,11.5\", \ \n \"12.1,12.2,12.3,12.4,12.5\", \ \n \"13.1,13.2,13.3,13.4,13.5\", \ \n \"14.1,14.2,14.3,14.4,14.5\", \ \n \"15.1,15.2,15.3,15.4,15.5\", \ \n \"16.1,16.2,16.3,16.4,16.5\", \ \n \"17.1,17.2,17.3,17.4,17.5\", \ \n \"18.1,18.2,18.3,18.4,18.5\", \ \n \"19.1,19.2,19.3,19.4,19.5\", \ \n \"20.1,20.2,20.3,20.4,20.5\", \ \n \"21.1,21.2,21.3,21.4,21.5\", \ \n \"22.1,22.2,22.3,22.4,22.5\", \ \n \"23.1,23.2,23.3,23.4,23.5\", \ \n \"24.1,24.2,24.3,24.4,24.5\", \ \n \"25.1,25.2,25.3,25.4,25.5\", \ \n ); \n }\n\n"
puts "Original:"
puts "$inFile"
puts "After regexp:"
foreach line [split $inFile "\n"] {
if {[regexp {index_3} $line]} {
puts "/* $line */"
} else {
puts $line
}
}
|
Output:
|
Original:
timing () {
related_pin : "clk";
timing_type : setup_rising;
fall_constraint (constraint_template_5X5) {
index_1 ("0.01, 0.05, 0.12, 0.2, 0.4");
index_2 ("0.005, 0.025, 0.06, 0.1, 0.3");
index_3 ("0.094, 0.24, 3.39, 15.4, 13.94") ;
values (
"1.1, 1.2, 1.3, 1.4, 1.5",
"2.1, 2.2, 2.3, 2.4, 2.5",
"3.1, 3.2, 3.3, 3.4, 3.5",
"4.1, 4.2, 4.3, 4.4, 4.5",
"5.1, 5.2, 5.3, 5.4, 5.5",
"6.1, 6.2, 6.3, 6.4, 6.5",
"7.1 ,7.2, 7.3, 7.4, 7.5",
"8.1, 8.2, 8.3, 8.4, 8.5",
"9.1, 9.2, 9.3, 9.4, 9.5",
"10.1,10.2,10.3,10.4,10.5",
"11.1,11.2,11.3,11.4,11.5",
"12.1,12.2,12.3,12.4,12.5",
"13.1,13.2,13.3,13.4,13.5",
"14.1,14.2,14.3,14.4,14.5",
"15.1,15.2,15.3,15.4,15.5",
"16.1,16.2,16.3,16.4,16.5",
"17.1,17.2,17.3,17.4,17.5",
"18.1,18.2,18.3,18.4,18.5",
"19.1,19.2,19.3,19.4,19.5",
"20.1,20.2,20.3,20.4,20.5",
"21.1,21.2,21.3,21.4,21.5",
"22.1,22.2,22.3,22.4,22.5",
"23.1,23.2,23.3,23.4,23.5",
"24.1,24.2,24.3,24.4,24.5",
"25.1,25.2,25.3,25.4,25.5",
);
}
After regexp:
timing () {
related_pin : "clk";
timing_type : setup_rising;
fall_constraint (constraint_template_5X5) {
index_1 ("0.01, 0.05, 0.12, 0.2, 0.4");
index_2 ("0.005, 0.025, 0.06, 0.1, 0.3");
/* index_3 ("0.094, 0.24, 3.39, 15.4, 13.94") ; */
values (
"1.1, 1.2, 1.3, 1.4, 1.5",
"2.1, 2.2, 2.3, 2.4, 2.5",
"3.1, 3.2, 3.3, 3.4, 3.5",
"4.1, 4.2, 4.3, 4.4, 4.5",
"5.1, 5.2, 5.3, 5.4, 5.5",
"6.1, 6.2, 6.3, 6.4, 6.5",
"7.1 ,7.2, 7.3, 7.4, 7.5",
"8.1, 8.2, 8.3, 8.4, 8.5",
"9.1, 9.2, 9.3, 9.4, 9.5",
"10.1,10.2,10.3,10.4,10.5",
"11.1,11.2,11.3,11.4,11.5",
"12.1,12.2,12.3,12.4,12.5",
"13.1,13.2,13.3,13.4,13.5",
"14.1,14.2,14.3,14.4,14.5",
"15.1,15.2,15.3,15.4,15.5",
"16.1,16.2,16.3,16.4,16.5",
"17.1,17.2,17.3,17.4,17.5",
"18.1,18.2,18.3,18.4,18.5",
"19.1,19.2,19.3,19.4,19.5",
"20.1,20.2,20.3,20.4,20.5",
"21.1,21.2,21.3,21.4,21.5",
"22.1,22.2,22.3,22.4,22.5",
"23.1,23.2,23.3,23.4,23.5",
"24.1,24.2,24.3,24.4,24.5",
"25.1,25.2,25.3,25.4,25.5",
);
}
|
|