Corrected a set of regexps in the schematic-to-layout script that

prevented normal x=y type parameters from being parsed.
This commit is contained in:
Tim Edwards
2021-03-11 11:09:37 -05:00
parent 5b8a59c4ad
commit 3bd9adbaf8
3 changed files with 9 additions and 6 deletions
+1 -1
View File
@@ -1 +1 @@
8.3.139 8.3.140
+5 -2
View File
@@ -53,7 +53,8 @@ proc readspice {netfile} {
# Read data from file. Remove comment lines and concatenate # Read data from file. Remove comment lines and concatenate
# continuation lines. # continuation lines.
puts stderr "Annotating port orders from $netfile" puts stdout "Annotating port orders from $netfile"
flush stdout
set fdata {} set fdata {}
set lastline "" set lastline ""
while {[gets $fnet line] >= 0} { while {[gets $fnet line] >= 0} {
@@ -109,6 +110,8 @@ proc readspice {netfile} {
# Make sure pins aren't duplicated by first moving all pin # Make sure pins aren't duplicated by first moving all pin
# indexes above the number of pins to check. # indexes above the number of pins to check.
puts stdout "Annotating cell $cell"
flush stdout
set npins [expr {[llength $ftokens] - 1}] set npins [expr {[llength $ftokens] - 1}]
set highport [port last] set highport [port last]
set outport $highport set outport $highport
@@ -116,7 +119,7 @@ proc readspice {netfile} {
set p [port first] set p [port first]
while {$p != -1 && $p <= $highport} { while {$p != -1 && $p <= $highport} {
if {$p == ""} { if {$p == ""} {
puts stderr "Error: $cellname port numbering failed." puts stderr "Error: $cell port numbering failed."
break break
} }
set p1 [port $p next] set p1 [port $p next]
+3 -3
View File
@@ -215,13 +215,13 @@ proc magic::generate_layout_add {subname subpins complist library} {
} }
while {$rest != ""} { while {$rest != ""} {
if {[regexp -nocase {([^= \t]+)=\'([^\']+)\'[ \t]*(.*)} $rest \ if {[regexp -nocase {^([^= \t]+)=\'([^\']+)\'[ \t]*(.*)} $rest \
valid pname value rest]} { valid pname value rest]} {
lappend paramlist [list $pname "{$value}"] lappend paramlist [list $pname "{$value}"]
} elseif {[regexp -nocase {([^= \t]+)=\{([^\}]+)\}[ \t]*(.*)} $rest \ } elseif {[regexp -nocase {^([^= \t]+)=\{([^\}]+)\}[ \t]*(.*)} $rest \
valid pname value rest]} { valid pname value rest]} {
lappend paramlist [list $pname "{$value}"] lappend paramlist [list $pname "{$value}"]
} elseif {[regexp -nocase {([^= \t]+)=([^= \t]+)[ \t]*(.*)} $rest \ } elseif {[regexp -nocase {^([^= \t]+)=([^= \t]+)[ \t]*(.*)} $rest \
valid pname value rest]} { valid pname value rest]} {
lappend paramlist [list $pname $value] lappend paramlist [list $pname $value]
} else { } else {