From 3bd9adbaf8ced1e8c563f9ea04e2d8d0273bfb6b Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Thu, 11 Mar 2021 11:09:37 -0500 Subject: [PATCH] Corrected a set of regexps in the schematic-to-layout script that prevented normal x=y type parameters from being parsed. --- VERSION | 2 +- tcltk/readspice.tcl | 7 +++++-- tcltk/toolkit.tcl | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/VERSION b/VERSION index 49bc7f3f..fe52a0f1 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.3.139 +8.3.140 diff --git a/tcltk/readspice.tcl b/tcltk/readspice.tcl index 6ddf8345..18902782 100644 --- a/tcltk/readspice.tcl +++ b/tcltk/readspice.tcl @@ -53,7 +53,8 @@ proc readspice {netfile} { # Read data from file. Remove comment lines and concatenate # continuation lines. - puts stderr "Annotating port orders from $netfile" + puts stdout "Annotating port orders from $netfile" + flush stdout set fdata {} set lastline "" while {[gets $fnet line] >= 0} { @@ -109,6 +110,8 @@ proc readspice {netfile} { # Make sure pins aren't duplicated by first moving all pin # indexes above the number of pins to check. + puts stdout "Annotating cell $cell" + flush stdout set npins [expr {[llength $ftokens] - 1}] set highport [port last] set outport $highport @@ -116,7 +119,7 @@ proc readspice {netfile} { set p [port first] while {$p != -1 && $p <= $highport} { if {$p == ""} { - puts stderr "Error: $cellname port numbering failed." + puts stderr "Error: $cell port numbering failed." break } set p1 [port $p next] diff --git a/tcltk/toolkit.tcl b/tcltk/toolkit.tcl index a7e0dd8b..89758b22 100644 --- a/tcltk/toolkit.tcl +++ b/tcltk/toolkit.tcl @@ -215,13 +215,13 @@ proc magic::generate_layout_add {subname subpins complist library} { } while {$rest != ""} { - if {[regexp -nocase {([^= \t]+)=\'([^\']+)\'[ \t]*(.*)} $rest \ + if {[regexp -nocase {^([^= \t]+)=\'([^\']+)\'[ \t]*(.*)} $rest \ valid pname value rest]} { lappend paramlist [list $pname "{$value}"] - } elseif {[regexp -nocase {([^= \t]+)=\{([^\}]+)\}[ \t]*(.*)} $rest \ + } elseif {[regexp -nocase {^([^= \t]+)=\{([^\}]+)\}[ \t]*(.*)} $rest \ valid pname value rest]} { lappend paramlist [list $pname "{$value}"] - } elseif {[regexp -nocase {([^= \t]+)=([^= \t]+)[ \t]*(.*)} $rest \ + } elseif {[regexp -nocase {^([^= \t]+)=([^= \t]+)[ \t]*(.*)} $rest \ valid pname value rest]} { lappend paramlist [list $pname $value] } else {