From 8079f626ec1d3a5bd44257cbc0573fd0087b4090 Mon Sep 17 00:00:00 2001
From: Stefan Frederik
Date: Mon, 20 Sep 2021 01:57:04 +0200
Subject: [PATCH] documentation update about tcleval(...) tcl substitution of
attributes by get_tok_value()
---
doc/xschem_man/component_property_syntax.html | 13 +++++++++++++
doc/xschem_man/symbol_property_syntax.html | 10 ++++++++++
2 files changed, 23 insertions(+)
diff --git a/doc/xschem_man/component_property_syntax.html b/doc/xschem_man/component_property_syntax.html
index b7c63a3a..f64ca1a4 100644
--- a/doc/xschem_man/component_property_syntax.html
+++ b/doc/xschem_man/component_property_syntax.html
@@ -184,6 +184,19 @@ name="mchanged_name" model=\"nmos\" w="20u" l="3u" m="10"
This is mainly used for tedax, where by back annotation a connection to a symbol must be changed.
This notation is faster since xschem does not have to find a pin by string matching.
+
+ TCL ATTRIBUTE SUBSTITUTION
+
+
+ Any attribute and symbol text can be embedded in a tcleval(....) construct, the string inside the
+ parentheses will be passed to the tcl interpreter for evaluation. This allows to use any tcl
+ variable/command/expression. Example:
+ value="tcleval([expr {[info exists ::resval] ? $::resval : {100k}}])"
+ this attribute will set value (example: value of a resistor) to 100k if global tcl variable
+ resval is not set or to the value of resval if set.
+
+
+
diff --git a/doc/xschem_man/symbol_property_syntax.html b/doc/xschem_man/symbol_property_syntax.html
index 97309939..b65bfbad 100644
--- a/doc/xschem_man/symbol_property_syntax.html
+++ b/doc/xschem_man/symbol_property_syntax.html
@@ -458,6 +458,16 @@ verilog_format="xnor #(@risedel , @falldel ) @name ( @@Z , @@A , @@B );"
this expandes to the Verilog global property string of the schematic containing the symbol
+ TCL ATTRIBUTE SUBSTITUTION
+
+
+ Any attribute and symbol text can be embedded in a tcleval(....) construct, the string inside the
+ parentheses will be passed to the tcl interpreter for evaluation. This allows to use any tcl
+ variable/command/expression. Example:
+ spice_ignore="tcleval($::ignore_symbol)"
+ will cause the symbol to be ignored by the spice netlister if the ignore_symbol tcl variable is
+ existing and set to true
+