mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-08-28 17:15:13 +02:00
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:
+5
-2
@@ -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
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user