diff --git a/doc/xschem_man/developer_info.html b/doc/xschem_man/developer_info.html index 6feda0eb..e5e97533 100644 --- a/doc/xschem_man/developer_info.html +++ b/doc/xschem_man/developer_info.html @@ -122,6 +122,8 @@ p{padding: 15px 30px 10px;}
  • v : XSCHEM Version string
  • S : Global property associated to the .sch file for SPICE netlisting
  • V : Global property associated to the .sch file for VERILOG netlisting
  • +
  • F : Global property associated to the .sch file for SPECTRE netlisting + (file format 1.3 and newer)
  • G : Global property associated to the .sch file for VHDL netlisting OR Global property associated to the .sym file for netlisting (in 1,2 file format K is used, although backward compatibility is guaranteed)
  • @@ -189,11 +191,11 @@ T {NF=@nf} -5 -15 0 1 0.15 0.15 {}

    VERSION STRING

    Example:
    -v {xschem version=2.9.7 file_version=1.2}
    +v {xschem version=3.4.7 file_version=1.3}

    Two attributes are defined, the xschem version and the file format version. - Current file format version is 1.2. This string is guaranteed to be the first one in XSCHEM .sch and .sym files. + Current file format version is 1.3. This string is guaranteed to be the first one in XSCHEM .sch and .sym files. A comment can be added (by manually editing the xschem schematic or symbol file) as shown below:

    @@ -236,7 +238,8 @@ template="name=U1 footprint=TO220"} telling netlisters what to do with the symbol, while global property strings in schematic files corresponding to the active netlisting mode of XSCHEM are copied verbatim to the netlist.
    - the object tag (S, V, G, E, K) is followed by the property string enclosed in curly braces + File formats 1.3 and newer introduce also the SPECTRE global attribute ('F') for Spectre netlists.
    + the object tag (S, V, G, E, F, K) is followed by the property string enclosed in curly braces ({...}). This allows strings to contain any white space and newlines. Curly braces if present in the string are automatically escaped with the '\' character by XSCHEM when saving data.
    diff --git a/src/gschemtoxschem.awk b/src/gschemtoxschem.awk index f7bcefec..1fbf3f97 100755 --- a/src/gschemtoxschem.awk +++ b/src/gschemtoxschem.awk @@ -461,7 +461,7 @@ function print_header() "device @name @device\n" \ "@comptag\"\n" } - print "v {xschem version=3.4.8RC file_version=1.2}" + print "v {xschem version=3.4.8RC file_version=1.3}" template_attrs = "template=\"" template_attrs "\"\n" if(FILENAME ~/\.sym$/) { diff --git a/src/make_sch_from_spice.awk b/src/make_sch_from_spice.awk index 8f1904f8..071608c9 100755 --- a/src/make_sch_from_spice.awk +++ b/src/make_sch_from_spice.awk @@ -700,7 +700,7 @@ function print_sym(sym, template, format, subckt_name, sym_type, extra, dir, pin print "start print symbol: " sym - print "v {xschem version=3.4.8RC file_version=1.2}" > sym + print "v {xschem version=3.4.8RC file_version=1.3}" > sym print "K {type=" sym_type > sym # print "format=\"@name @pinlist @symname " format_translate(template) "\"" > sym iii = format_translate(template, extra) diff --git a/src/make_sym.awk b/src/make_sym.awk index 2f69ff7e..9a67b4d6 100755 --- a/src/make_sym.awk +++ b/src/make_sym.awk @@ -68,7 +68,7 @@ function beginfile(f) text_voffset=20 lab_voffset=4 ip=op=n_pin=0 - print "v {xschem version=3.4.8RC file_version=1.2}" > sym + print "v {xschem version=3.4.8RC file_version=1.3}" > sym if(template !~/^{[ \t\n]*$/) { printf "%s", "K {type=subcircuit\nformat=\"@name @pinlist @symname\"\n" >sym printf "%s\n", "template=\"name=x1\"" >sym diff --git a/src/make_sym_from_spice.awk b/src/make_sym_from_spice.awk index a8335d11..41876aa4 100755 --- a/src/make_sym_from_spice.awk +++ b/src/make_sym_from_spice.awk @@ -401,7 +401,7 @@ function print_sym(sym, template, format, subckt_name, sym_type, extra, dir, pin print "start print symbol: " sym - print "v {xschem version=3.4.8RC file_version=1.2}" > sym + print "v {xschem version=3.4.8RC file_version=1.3}" > sym print "K {type=" sym_type > sym # print "format=\"@name @pinlist @symname " format_translate(template) "\"" > sym iii = format_translate(template, extra) diff --git a/src/make_sym_lcc.awk b/src/make_sym_lcc.awk index 8956f874..39b76876 100644 --- a/src/make_sym_lcc.awk +++ b/src/make_sym_lcc.awk @@ -61,7 +61,7 @@ function beginfile(f) text_voffset=10 lab_voffset=4 ip=op=n_pin=n_p=n_l=0 - print "v {xschem version=3.4.8RC file_version=1.2}" > sym + print "v {xschem version=3.4.8RC file_version=1.3}" > sym if(template=="") { printf "%s", "K {type=subcircuit\nformat=\"@name @pinlist @symname\"\n" >sym printf "%s\n", "template=\"name=x1\"" >sym diff --git a/src/symgen.awk b/src/symgen.awk index fcc7eb2f..747b958f 100755 --- a/src/symgen.awk +++ b/src/symgen.awk @@ -393,7 +393,7 @@ function attrs(a) function header() { - print "v {xschem version=3.4.8RC file_version=1.2}" + print "v {xschem version=3.4.8RC file_version=1.3}" } function round(n) diff --git a/src/xschem.h b/src/xschem.h index 5bec6162..a0db4b19 100644 --- a/src/xschem.h +++ b/src/xschem.h @@ -24,7 +24,7 @@ #define CADGLOBALS #define XSCHEM_VERSION "3.4.8RC" -#define XSCHEM_FILE_VERSION "1.2" +#define XSCHEM_FILE_VERSION "1.3" /* 1.3 introduces F {..} field for global Spectre attribute */ #if HAS_PIPE == 1 /* fdopen() */ diff --git a/src/xschem.tcl b/src/xschem.tcl index 7fec5a5d..ef52da93 100644 --- a/src/xschem.tcl +++ b/src/xschem.tcl @@ -5415,7 +5415,7 @@ proc create_symbol {name {in {}} {out {}} {inout {}}} { set symname [file rootname $name].sym set res [catch {open $symname {WRONLY CREAT EXCL}} fd] if {$res} {puts $fd; return 0} ;# Error. Print reason and exit. - puts $fd {v {xschem version=3.4.8RC file_version=1.2}} + puts $fd {v {xschem version=3.4.8RC file_version=1.3}} puts $fd {K {type=subcircuit format="@name @pinlist @symname" template="name=X1"}} set x -150 set y 0