


<?xml version="1.0" encoding="utf-8"?>
<!--  RSS generated by Flaimo.com RSS Builder [2012-02-13 11:54:37]  --> <rss version="2.0" xmlns:im="http://purl.org/rss/1.0/item-images/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" >
<channel>
<docs>http://www.eda.org/svdb/</docs>
<description>EDA.org Mantis - ISSUES</description>
<link>http://www.eda.org/svdb/</link>
<title>EDA.org Mantis - ISSUES</title>
<image>
<title>EDA.org Mantis - ISSUES</title>
<url>http://www.eda.org/svdb/images/mantis_logo_button.gif</url>
<link>http://www.eda.org/svdb/</link>
<description>EDA.org Mantis - ISSUES</description>
</image>
<category>All Projects</category>
<ttl>10</ttl>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2012-02-13T11:54:36-08:00</sy:updateBase>
<item>
<title>0003609: dpi functions which uses VPI/PLI need to be imported as contexts functions</title>
<link>http://www.eda.org/svdb/view.php?id=3609</link>
<description>UVM imports dpi function ie:&lt;br /&gt;
   import &quot;DPI-C&quot; function int uvm_hdl_force(string path, uvm_hdl_data_t &lt;br /&gt;
value);&lt;br /&gt;
&lt;br /&gt;
This function uses PLI/VPI to set design variables.&lt;br /&gt;
As per LRM it is written that such function need to be imported as &lt;br /&gt;
context functions.&lt;br /&gt;
&lt;br /&gt;
IMHO above declaration should be changed to be compatible with LRM:&lt;br /&gt;
   import &quot;DPI-C&quot; context function int uvm_hdl_force(string path, &lt;br /&gt;
uvm_hdl_data_t value);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: all other functions using pli need to be contexts:&lt;br /&gt;
import &quot;DPI-C&quot; function int uvm_hdl_check_path(string path);&lt;br /&gt;
  import &quot;DPI-C&quot; function int uvm_hdl_deposit(string path, uvm_hdl_data_t value);&lt;br /&gt;
  import &quot;DPI-C&quot; function int uvm_hdl_force(string path, uvm_hdl_data_t value);&lt;br /&gt;
  import &quot;DPI-C&quot; function int uvm_hdl_release_and_read(string path, inout uvm_hdl_data_t value);&lt;br /&gt;
import &quot;DPI-C&quot; function int uvm_hdl_release(string path);&lt;br /&gt;
import &quot;DPI-C&quot; function int uvm_hdl_read(string path, output uvm_hdl_data_t value);</description>
<guid>http://www.eda.org/svdb/view.php?id=3609</guid>
<author>Daniel Mlynek &lt;Daniel Mlynek@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3609#bugnotes</comments>
</item>
<item>
<title>0004037: Define false vacuity and contributions to pass/fail counters in simulation</title>
<link>http://www.eda.org/svdb/view.php?id=4037</link>
<description>*  Introduce the term “vacuous false” for a property that is false and vacuous.  That condition occurs for the following properties: &lt;br /&gt;
      “not (property_expr )” when property_expr  is vacuous.  &lt;br /&gt;
      “reject_on(expression_or_dist)” or “sync_reject_on(expression_or_dist)” when the xpression_or_dist is true. &lt;br /&gt;
* In simulation, clarify the evaluation outcome of a vacuously false property and define its contribution to the fail counter.  &lt;br /&gt;
&lt;br /&gt;
ADD to 16.14.8 Nonvacuous evaluations&lt;br /&gt;
&quot;A property that evaluates to false, but is vacuous as a result of its vacuity definition is considered vacuous false.  In simulation, an assertion of a property that evaluates as vacuous false shall not contribute to the fail count.&quot;</description>
<guid>http://www.eda.org/svdb/view.php?id=4037</guid>
<author>Ben Cohen &lt;Ben Cohen@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=4037#bugnotes</comments>
</item>
<item>
<title>0003213: Update definition of sampled value</title>
<link>http://www.eda.org/svdb/view.php?id=3213</link>
<description>According to the existing definition, the sampled value of a variable is its value in the Preponed region. This definition does not work for many SV(A) constructs: automatic variables, local variables, sequence methods, free checker variables etc. This approach requires listing many exceptions in different contexts, e.g., &quot;in concurrent assertions the variables are sampled except of ...&quot;.&lt;br /&gt;
&lt;br /&gt;
Beside of the need to list sampling exceptions in every relevant place, this definition does not allow applying sampled value functions, such as $past to free checker variables and to sequence method triggered.&lt;br /&gt;
&lt;br /&gt;
To overcome these problems it is better to define sampled values differently for different data types. E.g., sampled value is normally defined as a value in the Preponed region, but the sampled value of a checker free variable is its current value, etc.</description>
<guid>http://www.eda.org/svdb/view.php?id=3213</guid>
<author>Dmitry Korchemny &lt;Dmitry Korchemny@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3213#bugnotes</comments>
</item>
<item>
<title>0004040: psprintf in UVM 1.1a</title>
<link>http://www.eda.org/svdb/view.php?id=4040</link>
<description>UVM 1.1a uses $psprintf which is not a standard SystemVerilog construct. $sformatf should be used instead. &lt;br /&gt;
&lt;br /&gt;
This is a regression from &lt;a href=&quot;http://eda.org/svdb/view.php?id=3483&quot;&gt;http://eda.org/svdb/view.php?id=3483&lt;/a&gt; [&lt;a href=&quot;http://eda.org/svdb/view.php?id=3483&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
To avoid future regressions, use post_test.pl to catch $psprintf</description>
<guid>http://www.eda.org/svdb/view.php?id=4040</guid>
<author>Peter Monsson &lt;Peter Monsson@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=4040#bugnotes</comments>
</item>
<item>
<title>0002953: Algorithmic generation of covergroup bin contents</title>
<link>http://www.eda.org/svdb/view.php?id=2953</link>
<description>The following general approach was suggested to me by a contact at Xilinx.&lt;br /&gt;
&lt;br /&gt;
This is another approach to covergroup bin population that relates to 2506 but is more &quot;generative&quot; rather than &quot;predicated&quot;.&lt;br /&gt;
&lt;br /&gt;
The basic idea is to use generate like syntax to describe the population of the bin values rather than the 2506 approach of describing doing (essentially) a universal qualification predicate over the universe of values.  The suggestion is that the generative approach would be more intuitive to users and would fit well with other kinds of &quot;generated&quot; constructs that a design would likely use.&lt;br /&gt;
&lt;br /&gt;
  covergroup data { &lt;br /&gt;
     bins r2l [dw+1] = {generate for (ii = 0; ii &lt;= dw; ii++) begin &lt;br /&gt;
                           (1 &lt;&lt; ii) - 1&lt;br /&gt;
                        end} ;&lt;br /&gt;
  }</description>
<guid>http://www.eda.org/svdb/view.php?id=2953</guid>
<author>gordonv &lt;gordonv@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=2953#bugnotes</comments>
</item>
<item>
<title>0001356: Multiple inheritance</title>
<link>http://www.eda.org/svdb/view.php?id=1356</link>
<description>Paul Butler of National Instruments recommended --&lt;br /&gt;
&lt;br /&gt;
&quot;I would like SystemVerilog to allow multiple inheritance.  The obvious choice might be to mimic the C++ multiple inheritance.  Java has a similar feature called an 'interface' that might make a good model for SystemVerilog to follow.&quot;&lt;br /&gt;
&lt;br /&gt;
An introduction to multiple inheritance --&lt;br /&gt;
&lt;br /&gt;
  &lt;a href=&quot;http://en.wikipedia.org/wiki/Multiple_inheritance&quot;&gt;http://en.wikipedia.org/wiki/Multiple_inheritance&lt;/a&gt; [&lt;a href=&quot;http://en.wikipedia.org/wiki/Multiple_inheritance&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]</description>
<guid>http://www.eda.org/svdb/view.php?id=1356</guid>
<author>Cliff Cummings &lt;Cliff Cummings@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=1356#bugnotes</comments>
</item>
<item>
<title>0003990: Extend connect_supply_set (or rather associate_supply_set) to take a list of supply_set_refs which are to be connected.</title>
<link>http://www.eda.org/svdb/view.php?id=3990</link>
<description>Allowing a list of supply_set_refs instead of just one as a parameter to the connect_supply_set command would provide a simple way to connect multiple supply sets.&lt;br /&gt;
&lt;br /&gt;
It would also be necessary to make the &quot;-connect&quot; option optional so that (two or more) supply sets can be connected with out having to also connect their functions to pg_types:&lt;br /&gt;
&lt;br /&gt;
  eg connect_supply_set {SS1 SS2 SS3}</description>
<guid>http://www.eda.org/svdb/view.php?id=3990</guid>
<author>John Biggs &lt;John Biggs@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3990#bugnotes</comments>
</item>
<item>
<title>0004039: run_phase.is_after(reset_phase) returns true</title>
<link>http://www.eda.org/svdb/view.php?id=4039</link>
<description>The Ref Guide describes phase.is_after() as&lt;br /&gt;
&lt;br /&gt;
returns 1 if the containing uvm_phase refers to a phase that is later than the phase argument, 0 otherwise&lt;br /&gt;
&lt;br /&gt;
However, when the containing uvm_phase is the run phase and the phase argument is one of the runtime phases, say reset_phase, the function returns 1.  I don't think anyone would expect run is &quot;later than&quot; reset.</description>
<guid>http://www.eda.org/svdb/view.php?id=4039</guid>
<author>Mark Strickland &lt;Mark Strickland@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=4039#bugnotes</comments>
</item>
<item>
<title>0003611: AKA 3611a: Clarify whether a generate statement is a scope in the UPF sense (i.e., can contain UPF-declared items)</title>
<link>http://www.eda.org/svdb/view.php?id=3611</link>
<description>I have two doubts regarding the hierarchical path separator character when referencing objects in design.&lt;br /&gt;
&lt;br /&gt;
1. What is the path separator character used to reference items inside the generate block?&lt;br /&gt;
e.g.&lt;br /&gt;
    A. create_power_domain PD –elements { top/mid/gen/bot }   # here gen is an if generate block&lt;br /&gt;
&lt;br /&gt;
    B. create_power_domain PD –elements { top/mid.gen/bot }   # here gen is an if generate block&lt;br /&gt;
&lt;br /&gt;
Which one is a valid reference in UPF? Is this &quot;top/mid/gen/bot&quot; as used in (A) or &quot;top/mid.gen/bot&quot; as used in (B)?&lt;br /&gt;
&lt;br /&gt;
There is some text in the LRM which talks about hierarchical path characters but it is not clear from the text what should be used for generate blocks.&lt;br /&gt;
e.g.&lt;br /&gt;
Section 4.8 talks about lexical conventions and says that “/” is used for logic hierarchy delimiter and “.” is used for record field delimiter.&lt;br /&gt;
&lt;br /&gt;
Section 3.1 defines what is a logic hierarchy as:&lt;br /&gt;
   3.1.23 logic hierarchy: The tree structure of design elements specified within a logic design.&lt;br /&gt;
   3.1.10 design element: An instance of a SystemVerilog module (see IEEE Std 1800),6 VHDL entity (see IEC/IEEE 61691-1-1), or library cell. The term design element is often abbreviated to element.&lt;br /&gt;
&lt;br /&gt;
In above definitions it is not clear, whether generate blocks belong to logic hierarchy or not and hence come to conclusion about using &quot;/&quot; or &quot;.&quot;.&lt;br /&gt;
&lt;br /&gt;
2.  What are the path delimiters used in the arguments of some of the VHDL/SV UPF package functions. The following is the list of package functions that require hierarchical path to be passed as string.&lt;br /&gt;
&lt;br /&gt;
function supply_on (&lt;br /&gt;
supply_name : STRING; -- Path name to supply net, port or&lt;br /&gt;
-- root supply driver&lt;br /&gt;
voltage : REAL := 1.0 )&lt;br /&gt;
return BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
function supply_off (&lt;br /&gt;
supply_name : STRING )&lt;br /&gt;
return BOOLEAN;&lt;br /&gt;
-- Voltage is a real value in volts that is converted into&lt;br /&gt;
-- an integer value normalized to microvolts&lt;br /&gt;
&lt;br /&gt;
function supply_partial_on (&lt;br /&gt;
supply_name : STRING;&lt;br /&gt;
value : REAL := 1.0 )&lt;br /&gt;
return BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
function get_supply_value (&lt;br /&gt;
supply_name : STRING )&lt;br /&gt;
return supply_net_type;&lt;br /&gt;
&lt;br /&gt;
function set_scope( inst_path : STRING )&lt;br /&gt;
return Boolean;&lt;br /&gt;
&lt;br /&gt;
function get_object( inst_path : STRING;&lt;br /&gt;
qualifier : STRING := &quot;&quot; )&lt;br /&gt;
return upf_object_handle;&lt;br /&gt;
&lt;br /&gt;
In these cases, should the hierarchical path be composed of ‘/’ or ‘.’ or is it tool dependent?</description>
<guid>http://www.eda.org/svdb/view.php?id=3611</guid>
<author>Amit Srivastava &lt;Amit Srivastava@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3611#bugnotes</comments>
</item>
<item>
<title>0003845: AKA 3611c: Clarify what delimiter(s) are allowed/required in pathnames passed as strings to UPF package functions</title>
<link>http://www.eda.org/svdb/view.php?id=3845</link>
<description>I have two doubts regarding the hierarchical path separator character when referencing objects in design.&lt;br /&gt;
&lt;br /&gt;
1. What is the path separator character used to reference items inside the generate block?&lt;br /&gt;
e.g.&lt;br /&gt;
    A. create_power_domain PD –elements { top/mid/gen/bot }   # here gen is an if generate block&lt;br /&gt;
&lt;br /&gt;
    B. create_power_domain PD –elements { top/mid.gen/bot }   # here gen is an if generate block&lt;br /&gt;
&lt;br /&gt;
Which one is a valid reference in UPF? Is this &quot;top/mid/gen/bot&quot; as used in (A) or &quot;top/mid.gen/bot&quot; as used in (B)?&lt;br /&gt;
&lt;br /&gt;
There is some text in the LRM which talks about hierarchical path characters but it is not clear from the text what should be used for generate blocks.&lt;br /&gt;
e.g.&lt;br /&gt;
Section 4.8 talks about lexical conventions and says that “/” is used for logic hierarchy delimiter and “.” is used for record field delimiter.&lt;br /&gt;
&lt;br /&gt;
Section 3.1 defines what is a logic hierarchy as:&lt;br /&gt;
   3.1.23 logic hierarchy: The tree structure of design elements specified within a logic design.&lt;br /&gt;
   3.1.10 design element: An instance of a SystemVerilog module (see IEEE Std 1800),6 VHDL entity (see IEC/IEEE 61691-1-1), or library cell. The term design element is often abbreviated to element.&lt;br /&gt;
&lt;br /&gt;
In above definitions it is not clear, whether generate blocks belong to logic hierarchy or not and hence come to conclusion about using &quot;/&quot; or &quot;.&quot;.&lt;br /&gt;
&lt;br /&gt;
2.  What are the path delimiters used in the arguments of some of the VHDL/SV UPF package functions. The following is the list of package functions that require hierarchical path to be passed as string.&lt;br /&gt;
&lt;br /&gt;
function supply_on (&lt;br /&gt;
supply_name : STRING; -- Path name to supply net, port or&lt;br /&gt;
-- root supply driver&lt;br /&gt;
voltage : REAL := 1.0 )&lt;br /&gt;
return BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
function supply_off (&lt;br /&gt;
supply_name : STRING )&lt;br /&gt;
return BOOLEAN;&lt;br /&gt;
-- Voltage is a real value in volts that is converted into&lt;br /&gt;
-- an integer value normalized to microvolts&lt;br /&gt;
&lt;br /&gt;
function supply_partial_on (&lt;br /&gt;
supply_name : STRING;&lt;br /&gt;
value : REAL := 1.0 )&lt;br /&gt;
return BOOLEAN;&lt;br /&gt;
&lt;br /&gt;
function get_supply_value (&lt;br /&gt;
supply_name : STRING )&lt;br /&gt;
return supply_net_type;&lt;br /&gt;
&lt;br /&gt;
function set_scope( inst_path : STRING )&lt;br /&gt;
return Boolean;&lt;br /&gt;
&lt;br /&gt;
function get_object( inst_path : STRING;&lt;br /&gt;
qualifier : STRING := &quot;&quot; )&lt;br /&gt;
return upf_object_handle;&lt;br /&gt;
&lt;br /&gt;
In these cases, should the hierarchical path be composed of ‘/’ or ‘.’ or is it tool dependent?</description>
<guid>http://www.eda.org/svdb/view.php?id=3845</guid>
<author>Joe Daniels &lt;Joe Daniels@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3845#bugnotes</comments>
</item>
<item>
<title>0003963: Infinite loop when using memory in upper half of a 64-bit address memory</title>
<link>http://www.eda.org/svdb/view.php?id=3963</link>
<description>The problem is created by the mismatched types of the address offset and for-loop iterator. The latter should be 'uvm_reg_addr_t' instead of 'int'.&lt;br /&gt;
&lt;br /&gt;
Line 1620 and 1727 in uvm_mem.svh</description>
<guid>http://www.eda.org/svdb/view.php?id=3963</guid>
<author>Janick Bergeron &lt;Janick Bergeron@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3963#bugnotes</comments>
</item>
<item>
<title>0004038: minor ripple effect of 3793</title>
<link>http://www.eda.org/svdb/view.php?id=4038</link>
<description>I don't see 3793 edited in the d4 version the alpha LRM, but assuming eventually it will, then -transitive will be removed from set_isolation and set_level_shifter. A minor ripple effect of that is we should remove those two commands from the list of commands on p.85 on set_design_attributes.</description>
<guid>http://www.eda.org/svdb/view.php?id=4038</guid>
<author>David Cheng &lt;David Cheng@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=4038#bugnotes</comments>
</item>
<item>
<title>0003994: Errors in algorithms for simulation of power states (5.4.3.2)</title>
<link>http://www.eda.org/svdb/view.php?id=3994</link>
<description>There are several editorial errors in the algorithms for power state determination on pg 29.  There is also a more significant error in the algorithm itself.  Finally, there is an underlying requirement that is inherently error prone.&lt;br /&gt;
&lt;br /&gt;
1. Editorial issues&lt;br /&gt;
&lt;br /&gt;
In the algorithm for determination of a supply set power state:&lt;br /&gt;
&lt;br /&gt;
a)1)i) should say&lt;br /&gt;
  The -supply_expr for *each named power state with a -supply_expr* is evaluated.&lt;br /&gt;
&lt;br /&gt;
a)1)v) should say&lt;br /&gt;
  ...&lt;br /&gt;
  Implementation tools may presume [that] -logic_expr *does not evaluate* [to] True for any non-matching named power state.&lt;br /&gt;
&lt;br /&gt;
d) should say&lt;br /&gt;
  After the power state of supply sets is evaluated and prior to the evaluation of user-defined processes and always blocks, the power state of *each power domain* is evaluated.&lt;br /&gt;
&lt;br /&gt;
d)1)i) should say&lt;br /&gt;
  The -supply_expr for *each named power state with a -supply_expr* is evaluated.&lt;br /&gt;
&lt;br /&gt;
d)1)v) should say&lt;br /&gt;
  ...&lt;br /&gt;
  Implementation tools may presume [that] -logic_expr *does not evaluate* [to] True for any non-matching named power state.&lt;br /&gt;
&lt;br /&gt;
2. Algorithm issue&lt;br /&gt;
&lt;br /&gt;
A more significant issue is that the algorithm (for both supply sets and power domains) focuses on supply expressions if *any* power state definition has a non-empty [?] supply expression.  In this case, any power state that only has a logic expression isn't evaluated at all. &lt;br /&gt;
&lt;br /&gt;
I believe the intent was to say something more like this:&lt;br /&gt;
&lt;br /&gt;
for each named power state of the {supply set, power domain}&lt;br /&gt;
   if the power state defn has a supply expression, then&lt;br /&gt;
      if the supply expression evaluates to True, then&lt;br /&gt;
         if the power state defn also has a logic expression, then&lt;br /&gt;
            if the logic expression evaluates to True, then&lt;br /&gt;
               the object is in the named power state&lt;br /&gt;
            else&lt;br /&gt;
               error (supply expr true but not logic expr)&lt;br /&gt;
            end&lt;br /&gt;
         else&lt;br /&gt;
            the object is in the named power state&lt;br /&gt;
         end&lt;br /&gt;
      end&lt;br /&gt;
   else if the power state defn has a logic expression, then&lt;br /&gt;
      if the logic expression evaluates to True, then&lt;br /&gt;
         the object is in the named power state&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
3. Synchronization of logic and supply expressions&lt;br /&gt;
&lt;br /&gt;
The algorithm requires that both the logic and supply expression evaluate to True at the same time, if both are specified.  This is inherently problematic.  &lt;br /&gt;
&lt;br /&gt;
If the intent is that the logic expression represents a control condition on a switch, and the supply expression represents the output of the switch (such that the supply is always on when the control is on), it is possible that (a) the control would be turned on when the input supply is off, or that (b) there will be a delay between the control turning on and the output supply turning on.  The fact that a UPF power switch already has an ack delay highlights just how close we are to this algorithm failing.&lt;br /&gt;
&lt;br /&gt;
If the intent is that the logic expression represents a control condition on a switch, and the supply expression represents the input supply of the switch, then the situation is worse: it is almost certain that the control input will be off in some cases when the supply is still on.&lt;br /&gt;
&lt;br /&gt;
It may be appropriate to relax this requirement somewhat.  First we need to define what it is we are trying to model - the (instantaneous?) toggling of a power switch, or the inputs that enable a power switch to provide power.  Depending upon which of these we want to represent, the semantics should be adjusted accordingly.</description>
<guid>http://www.eda.org/svdb/view.php?id=3994</guid>
<author>Erich Marschner &lt;Erich Marschner@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3994#bugnotes</comments>
</item>
<item>
<title>0002857: AKA 2857a: Clarify meaning of -transitive FALSE, -transitive TRUE on find_objects</title>
<link>http://www.eda.org/svdb/view.php?id=2857</link>
<description>Clarification on find_object -transitive&lt;br /&gt;
&lt;br /&gt;
Assuming design:&lt;br /&gt;
&lt;br /&gt;
module sc_t3 (clk, o1, o2);&lt;br /&gt;
input clk;&lt;br /&gt;
output o1, o2;&lt;br /&gt;
inv_f1 inst1(.a(clk), .y(o1));&lt;br /&gt;
mod_1  inst2(.a(clk), .y(o2));&lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
module mod_1 (a, y);&lt;br /&gt;
input a;&lt;br /&gt;
output y;&lt;br /&gt;
inv_f1 inst3(.a(clk), .y(clkz));&lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
inv_f1 is a leaf cell.&lt;br /&gt;
&lt;br /&gt;
Are these the expected results?&lt;br /&gt;
&lt;br /&gt;
set_scope sc_t3&lt;br /&gt;
&lt;br /&gt;
1.	find_objects . -pattern * -object_type port -transitive TRUE    &lt;br /&gt;
        Return: clk o1 o2 inst1/a inst1/y inst2/a inst2/y inst2/inst3/a inst2/inst3/y&lt;br /&gt;
&lt;br /&gt;
2.	find_objects . -pattern *  -object_type port -transitive FALSE&lt;br /&gt;
        Return: clk o1 o2&lt;br /&gt;
&lt;br /&gt;
3.	find_objects . -pattern * -object_type port -transitive TRUE    -leaf_only&lt;br /&gt;
        Return:  inst2/inst3/a inst2/inst3/y&lt;br /&gt;
&lt;br /&gt;
4.	find_objects . -pattern * -object_type port -transitive FALSE   -leaf_only&lt;br /&gt;
        Return:  &lt;br /&gt;
&lt;br /&gt;
5.	find_objects . -pattern * -object_type port -transitive TRUE -non_leaf    &lt;br /&gt;
        Return: clk o1 o2 inst1/a inst1/y inst2/a inst2/y&lt;br /&gt;
&lt;br /&gt;
6.	find_objects . -pattern * -object_type port -transitive FALSE -non_leaf    &lt;br /&gt;
        Return: clk o1 o2 &lt;br /&gt;
&lt;br /&gt;
7.	find_objects inst2 -pattern *  -object_type port -transitive TRUE    &lt;br /&gt;
        Return: inst2/a inst2/y inst2/inst3/a inst2/inst3/y&lt;br /&gt;
&lt;br /&gt;
8.	find_objects inst2 -pattern *  -object_type port -transitive FALSE&lt;br /&gt;
        Return: inst2/a inst2/y</description>
<guid>http://www.eda.org/svdb/view.php?id=2857</guid>
<author>Rolf_Lagerquist &lt;Rolf_Lagerquist@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=2857#bugnotes</comments>
</item>
<item>
<title>0002849: Clarify that whenever a supply net ref is required, the supply net handle can be used</title>
<link>http://www.eda.org/svdb/view.php?id=2849</link>
<description>Supply_set_name.function can be used where UPF spec calls for a supply_net_name. &lt;br /&gt;
&lt;br /&gt;
e.g.:&lt;br /&gt;
create_power_switch sc_t3_switch -domain PD_sc_t3 \&lt;br /&gt;
    -output_supply_port {vdd  PD_sc_t3.primary.power} \&lt;br /&gt;
    -input_supply_port  {vddc PD_sc_t3.default_isolation.power } \</description>
<guid>http://www.eda.org/svdb/view.php?id=2849</guid>
<author>Rolf_Lagerquist &lt;Rolf_Lagerquist@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=2849#bugnotes</comments>
</item>
<item>
<title>0002604: AKA 2604a: Request to add scope to set_power_switch</title>
<link>http://www.eda.org/svdb/view.php?id=2604</link>
<description>- Description says:&lt;br /&gt;
&lt;br /&gt;
switch_name The name of the switch instance in the logic design relative to the active&lt;br /&gt;
scope; this shall be a simple name.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It should rather be a rooted name.</description>
<guid>http://www.eda.org/svdb/view.php?id=2604</guid>
<author>Steve_Bailey &lt;Steve_Bailey@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=2604#bugnotes</comments>
</item>
<item>
<title>0004006: UPF Command Return Value specifications are inconsistent and not necessarily useful</title>
<link>http://www.eda.org/svdb/view.php?id=4006</link>
<description>The return value specification for UPF commands is not as consistent as it could be, and probably should be.  Following is a list of the Return value specifications (from the syntax table in each case) for every UPF command.  Those that have the same definition are grouped under one copy of the definition.&lt;br /&gt;
&lt;br /&gt;
Most commands return a 1 if successful.  Some commands - in particular, those that define objects - return the name of the created object.  However, this is not consistent; for example, commands to create a supply port, supply net, or logic port return the name of the created object, but create_logic_net does not.&lt;br /&gt;
&lt;br /&gt;
For those that return names, the specification usually says &quot;the fully qualified name&quot;, but for create_pst, it just refers to &quot;the name&quot;.&lt;br /&gt;
&lt;br /&gt;
For those that return names, the specification typically qualifies this with &quot;(from the active scope)&quot;, but for create_supply_net, the qualification is &quot;(from the scope in which the net is created)&quot;, and for find_objects, the qualification is &quot;(relative to the active scope)&quot;.  The variation in wording seems to imply subtle differences in meaning, but it is not clear what those differences are.&lt;br /&gt;
&lt;br /&gt;
It would be good to streamline these definitions a bit, especially in light of the UPF Processing steps.  Given that UPF command processing necessarily involves constructing an internal representation of the commands so UPF semantic analysis can be done before they are executed (to construct the power intent model), there seems to be little value in any command except those that only have immediate execution semantics (see UPF Processing) to return any values.&lt;br /&gt;
&lt;br /&gt;
Following is the detailed summary of return values:&lt;br /&gt;
&lt;br /&gt;
Return a 1 if successful or raise a TCL_ERROR if not&lt;br /&gt;
add_domain_elements&lt;br /&gt;
add_power_state&lt;br /&gt;
add_pst_state&lt;br /&gt;
associate_supply_set&lt;br /&gt;
bind_checker&lt;br /&gt;
connect_logic_net&lt;br /&gt;
connect_supply_set&lt;br /&gt;
create_composite_domain&lt;br /&gt;
create_hdl2upf_vct&lt;br /&gt;
create_logic_net&lt;br /&gt;
create_supply_set&lt;br /&gt;
create_upf2hdl_vct&lt;br /&gt;
describe_state_transition&lt;br /&gt;
load_simstate_behavior&lt;br /&gt;
map_isolation_cell&lt;br /&gt;
map_level_shifter_cell&lt;br /&gt;
map_power_switch&lt;br /&gt;
map_retention_cell&lt;br /&gt;
name_format&lt;br /&gt;
save_upf&lt;br /&gt;
set_design_attributes&lt;br /&gt;
set_design_top&lt;br /&gt;
set_domain_supply_net&lt;br /&gt;
set_isolation&lt;br /&gt;
set_isolation_control&lt;br /&gt;
set_level_shifter&lt;br /&gt;
set_pin_related_supply&lt;br /&gt;
set_port_attributes&lt;br /&gt;
set_power_switch&lt;br /&gt;
set_retention&lt;br /&gt;
set_retention_control&lt;br /&gt;
set_retention_elements&lt;br /&gt;
set_simstate_behavior&lt;br /&gt;
use_interface_cell&lt;br /&gt;
&lt;br /&gt;
Return a list of the found hierarchical names (relative to the active scope); when nothing is found, a null string is returned.&lt;br /&gt;
find_objects&lt;br /&gt;
&lt;br /&gt;
If called with an argument, return the argument.  If called with no arguments, return the current version number.  If the call fails, raise a TCL_ERROR.&lt;br /&gt;
upf_version&lt;br /&gt;
&lt;br /&gt;
Return the number of power domains merged or raise a TCL_ERROR if the merge is unsuccessful.&lt;br /&gt;
merge_power_domains&lt;br /&gt;
&lt;br /&gt;
Return a 1 if all commands in the loaded UPF file completed successfully, or raise a TCL_ERROR if the command fails or any command in the loaded UPF file fails.&lt;br /&gt;
load_upf&lt;br /&gt;
load_upf_protected&lt;br /&gt;
&lt;br /&gt;
Return the name of the created PST or raise a TCL_ERROR if the PST is not created.&lt;br /&gt;
create_pst&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name of the created switch or raise a TCL_ERROR if the domain is not created.&lt;br /&gt;
create_power_switch	&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created domain or raise a TCL_ERROR if the switch is not created.&lt;br /&gt;
create_power domain	&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created port or raise a TCL_ERROR if the port is not created.&lt;br /&gt;
create_logic_port	&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created port or raise a TCL_ERROR if any of the port states are not added.&lt;br /&gt;
add_port_state&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the scope in which the net is created) of the created net or raise a TCL_ERROR if the net is not created.&lt;br /&gt;
create_supply_net&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created port or raise a TCL_ERROR if the port is not created.&lt;br /&gt;
create_supply_port&lt;br /&gt;
&lt;br /&gt;
Return the active scope prior to execution of the command as a full path string relative to the active design top if successful or raise a TCL_ERROR if it fails (e.g., if the instance does not exist.)&lt;br /&gt;
set_scope&lt;br /&gt;
&lt;br /&gt;
Return the setting of the translation if successful or raise a TCL_ERROR if not.&lt;br /&gt;
set_partial_on_translation&lt;br /&gt;
&lt;br /&gt;
If TCL_ERROR is raised, then errorcode, errorinfo, and resulttext are also available.</description>
<guid>http://www.eda.org/svdb/view.php?id=4006</guid>
<author>Colin Holehouse &lt;Colin Holehouse@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=4006#bugnotes</comments>
</item>
<item>
<title>0003986: UPF Command Return Value specifications are inconsistent and not necessarily useful</title>
<link>http://www.eda.org/svdb/view.php?id=3986</link>
<description>The return value specification for UPF commands is not as consistent as it could be, and probably should be.  Following is a list of the Return value specifications (from the syntax table in each case) for every UPF command.  Those that have the same definition are grouped under one copy of the definition.&lt;br /&gt;
&lt;br /&gt;
Most commands return a 1 if successful.  Some commands - in particular, those that define objects - return the name of the created object.  However, this is not consistent; for example, commands to create a supply port, supply net, or logic port return the name of the created object, but create_logic_net does not.&lt;br /&gt;
&lt;br /&gt;
For those that return names, the specification usually says &quot;the fully qualified name&quot;, but for create_pst, it just refers to &quot;the name&quot;.&lt;br /&gt;
&lt;br /&gt;
For those that return names, the specification typically qualifies this with &quot;(from the active scope)&quot;, but for create_supply_net, the qualification is &quot;(from the scope in which the net is created)&quot;, and for find_objects, the qualification is &quot;(relative to the active scope)&quot;.  The variation in wording seems to imply subtle differences in meaning, but it is not clear what those differences are.&lt;br /&gt;
&lt;br /&gt;
It would be good to streamline these definitions a bit, especially in light of the UPF Processing steps.  Given that UPF command processing necessarily involves constructing an internal representation of the commands so UPF semantic analysis can be done before they are executed (to construct the power intent model), there seems to be little value in any command except those that only have immediate execution semantics (see UPF Processing) to return any values.&lt;br /&gt;
&lt;br /&gt;
Following is the detailed summary of return values:&lt;br /&gt;
&lt;br /&gt;
Return a 1 if successful or raise a TCL_ERROR if not&lt;br /&gt;
add_domain_elements&lt;br /&gt;
add_power_state&lt;br /&gt;
add_pst_state&lt;br /&gt;
associate_supply_set&lt;br /&gt;
bind_checker&lt;br /&gt;
connect_logic_net&lt;br /&gt;
connect_supply_set&lt;br /&gt;
create_composite_domain&lt;br /&gt;
create_hdl2upf_vct&lt;br /&gt;
create_logic_net&lt;br /&gt;
create_supply_set&lt;br /&gt;
create_upf2hdl_vct&lt;br /&gt;
describe_state_transition&lt;br /&gt;
load_simstate_behavior&lt;br /&gt;
map_isolation_cell&lt;br /&gt;
map_level_shifter_cell&lt;br /&gt;
map_power_switch&lt;br /&gt;
map_retention_cell&lt;br /&gt;
name_format&lt;br /&gt;
save_upf&lt;br /&gt;
set_design_attributes&lt;br /&gt;
set_design_top&lt;br /&gt;
set_domain_supply_net&lt;br /&gt;
set_isolation&lt;br /&gt;
set_isolation_control&lt;br /&gt;
set_level_shifter&lt;br /&gt;
set_pin_related_supply&lt;br /&gt;
set_port_attributes&lt;br /&gt;
set_power_switch&lt;br /&gt;
set_retention&lt;br /&gt;
set_retention_control&lt;br /&gt;
set_retention_elements&lt;br /&gt;
set_simstate_behavior&lt;br /&gt;
use_interface_cell&lt;br /&gt;
&lt;br /&gt;
Return a list of the found hierarchical names (relative to the active scope); when nothing is found, a null string is returned.&lt;br /&gt;
find_objects&lt;br /&gt;
&lt;br /&gt;
If called with an argument, return the argument.  If called with no arguments, return the current version number.  If the call fails, raise a TCL_ERROR.&lt;br /&gt;
upf_version&lt;br /&gt;
&lt;br /&gt;
Return the number of power domains merged or raise a TCL_ERROR if the merge is unsuccessful.&lt;br /&gt;
merge_power_domains&lt;br /&gt;
&lt;br /&gt;
Return a 1 if all commands in the loaded UPF file completed successfully, or raise a TCL_ERROR if the command fails or any command in the loaded UPF file fails.&lt;br /&gt;
load_upf&lt;br /&gt;
load_upf_protected&lt;br /&gt;
&lt;br /&gt;
Return the name of the created PST or raise a TCL_ERROR if the PST is not created.&lt;br /&gt;
create_pst&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name of the created switch or raise a TCL_ERROR if the domain is not created.&lt;br /&gt;
create_power_switch	&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created domain or raise a TCL_ERROR if the switch is not created.&lt;br /&gt;
create_power domain	&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created port or raise a TCL_ERROR if the port is not created.&lt;br /&gt;
create_logic_port	&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created port or raise a TCL_ERROR if any of the port states are not added.&lt;br /&gt;
add_port_state&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the scope in which the net is created) of the created net or raise a TCL_ERROR if the net is not created.&lt;br /&gt;
create_supply_net&lt;br /&gt;
&lt;br /&gt;
Return the fully qualified name (from the active scope) of the created port or raise a TCL_ERROR if the port is not created.&lt;br /&gt;
create_supply_port&lt;br /&gt;
&lt;br /&gt;
Return the active scope prior to execution of the command as a full path string relative to the active design top if successful or raise a TCL_ERROR if it fails (e.g., if the instance does not exist.)&lt;br /&gt;
set_scope&lt;br /&gt;
&lt;br /&gt;
Return the setting of the translation if successful or raise a TCL_ERROR if not.&lt;br /&gt;
set_partial_on_translation&lt;br /&gt;
&lt;br /&gt;
If TCL_ERROR is raised, then errorcode, errorinfo, and resulttext are also available.</description>
<guid>http://www.eda.org/svdb/view.php?id=3986</guid>
<author>Erich Marschner &lt;Erich Marschner@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3986#bugnotes</comments>
</item>
<item>
<title>0003980: Deprecate -include_scope of create_power_domain</title>
<link>http://www.eda.org/svdb/view.php?id=3980</link>
<description>Per WG discussion on Dec. 9 2011, the resolution is to deprecate -include_scope.&lt;br /&gt;
Related mantis is 3122. Also, see discussion notes covering this topic in:&lt;br /&gt;
&lt;a href=&quot;https://docs.google.com/a/p1801.org/?tab=oo&amp;pli=1#advanced-search/q=3775&quot;&gt;https://docs.google.com/a/p1801.org/?tab=oo&amp;pli=1#advanced-search/q=3775&lt;/a&gt; [&lt;a href=&quot;https://docs.google.com/a/p1801.org/?tab=oo&amp;pli=1#advanced-search/q=3775&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]</description>
<guid>http://www.eda.org/svdb/view.php?id=3980</guid>
<author>Qi Wang &lt;Qi Wang@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3980#bugnotes</comments>
</item>
<item>
<title>0003979: Deprecate -scope of create_power_domain</title>
<link>http://www.eda.org/svdb/view.php?id=3979</link>
<description>Per WG discussion on Dec. 9 2011, the resolution is to deprecate -scope.&lt;br /&gt;
See google docs: &lt;a href=&quot;https://docs.google.com/a/p1801.org/?tab=oo&amp;pli=1#advanced-search/q=3775&quot;&gt;https://docs.google.com/a/p1801.org/?tab=oo&amp;pli=1#advanced-search/q=3775&lt;/a&gt; [&lt;a href=&quot;https://docs.google.com/a/p1801.org/?tab=oo&amp;pli=1#advanced-search/q=3775&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
The related mantis is 3775</description>
<guid>http://www.eda.org/svdb/view.php?id=3979</guid>
<author>Qi Wang &lt;Qi Wang@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3979#bugnotes</comments>
</item>
<item>
<title>0003957: Change the name of Appendix B to reflect the fact that it contains Package UPF</title>
<link>http://www.eda.org/svdb/view.php?id=3957</link>
<description>The entry for Appendix B in the Category field above is mislabeled as &quot;Supply net logic type&quot;, which seems strange given that 99% of the appendix is about package UPF.  This apparently came about because Appendix B starts with a short paragraph about representing supply net type values before presenting B.1 VHDL and B.2 SystemVerilog, both of which contain respective versions of the package.  The title of the appendix appears to have come from that short paragraph.  It would be better if this appendix were entitled Package UPF, with the section on supply net logic type as B.1, the VHDL UPF package as B.2, and the SystemVerilog UPF package as B.3.</description>
<guid>http://www.eda.org/svdb/view.php?id=3957</guid>
<author>Erich Marschner &lt;Erich Marschner@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3957#bugnotes</comments>
</item>
<item>
<title>0003955: Correct VHDL package UPF to avoid use of reserved word as a parameter name</title>
<link>http://www.eda.org/svdb/view.php?id=3955</link>
<description>Package UPF contains function assign_supply_state, which has a parameter named &quot;after&quot;.  This is a VHDL reserved word.  Reserved words can only be used as keywords, not as user-defined (or predefined) identifiers, so the package won't (or at least shouldn't) compile as is.  This parameter name should be changed to something else, such as &quot;delay&quot;.&lt;br /&gt;
&lt;br /&gt;
The same function exists in both VHDL and Verilog UPF packages.  Ideally both would use the same non-reserved identifier.&lt;br /&gt;
&lt;br /&gt;
I've marked this as an Errata, which is the closest thing to Bug that is available in the category list.</description>
<guid>http://www.eda.org/svdb/view.php?id=3955</guid>
<author>Erich Marschner &lt;Erich Marschner@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3955#bugnotes</comments>
</item>
<item>
<title>0003947: What is the utility of add_domain_elements - should it be deprecated?</title>
<link>http://www.eda.org/svdb/view.php?id=3947</link>
<description>Under section 6.6 add_domain_elements on page 43 the LRM says:&lt;br /&gt;
&lt;br /&gt;
This command is semantically equivalent to&lt;br /&gt;
&lt;br /&gt;
   proc add_domain_elements {dn elements el} {&lt;br /&gt;
      if { string equal $elements &quot;-elements&quot; }{&lt;br /&gt;
         create_power_domain $dn -update -elements $el&lt;br /&gt;
         return 1&lt;br /&gt;
      } else {&lt;br /&gt;
         return -code TCL_ERROR \&lt;br /&gt;
            -errorcode $ecode \&lt;br /&gt;
            -errorinfo $einfo \&lt;br /&gt;
            $resulttext&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
I guess &quot;add_domain_elements&quot; is more intuitive than &quot;create_power_domain -update&quot; (which seems a little contradictory) - but to we need to support and maintain two ways to do the same thing?&lt;br /&gt;
&lt;br /&gt;
Should add_domain_elements  be deprecated?</description>
<guid>http://www.eda.org/svdb/view.php?id=3947</guid>
<author>John Biggs &lt;John Biggs@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3947#bugnotes</comments>
</item>
<item>
<title>0003945: Predefined VCTs of hdl_type SV have an additional ' in the definition this is not consistent with the syntax</title>
<link>http://www.eda.org/svdb/view.php?id=3945</link>
<description>The predefined VCTs which provide conversion to/from SV logic type have and addition ' character in before (and after in some cases ) the logic values. This is not consistent with the syntax defined create_hdl2upf_vct and create_upf2hdl_vct commands. e.g.&lt;br /&gt;
&lt;br /&gt;
C.6 UPF2SV_LOGIC&lt;br /&gt;
create_upf2hdl_vct UPF2SV_LOGIC&lt;br /&gt;
-hdl_type sv&lt;br /&gt;
-table {{UNDETERMINED 'X}&lt;br /&gt;
{PARTIAL_ON 'X}&lt;br /&gt;
{FULL_ON '1}&lt;br /&gt;
{OFF '0}}&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
This should be &lt;br /&gt;
&lt;br /&gt;
C.6 UPF2SV_LOGIC&lt;br /&gt;
create_upf2hdl_vct UPF2SV_LOGIC&lt;br /&gt;
-hdl_type sv&lt;br /&gt;
-table {{UNDETERMINED X}&lt;br /&gt;
{PARTIAL_ON X}&lt;br /&gt;
{FULL_ON 1}&lt;br /&gt;
{OFF 0}}&lt;br /&gt;
&lt;br /&gt;
as per following statement on page 70 and example on page 71.&lt;br /&gt;
When converting to SystemVerilog logic type, the set of legal values is 0, 1, X, and Z.&lt;br /&gt;
&lt;br /&gt;
Syntax examples:&lt;br /&gt;
create_upf2hdl_vct upf2vlog_vdd&lt;br /&gt;
-hdl_type {sv}&lt;br /&gt;
-table {{OFF X} {FULL_ON 1} {PARTIAL_ON 0}}&lt;br /&gt;
&lt;br /&gt;
The affected vcts are&lt;br /&gt;
C.5 SV_LOGIC2UPF&lt;br /&gt;
C.6 UPF2SV_LOGIC&lt;br /&gt;
C.7 SV_LOGIC2UPF_GNDZERO&lt;br /&gt;
C.8 UPF_GNDZERO2SV_LOGIC&lt;br /&gt;
C.10 SV_TIED_HI&lt;br /&gt;
C.12 SV_TIED_LO</description>
<guid>http://www.eda.org/svdb/view.php?id=3945</guid>
<author>Amit Srivastava &lt;Amit Srivastava@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3945#bugnotes</comments>
</item>
<item>
<title>0003910: Correct syntax of set_design_attributes to be consistent with tcl syntax</title>
<link>http://www.eda.org/svdb/view.php?id=3910</link>
<description>In 1801-2009 UPF, the syntax for set_design_attributes includes the option&lt;br /&gt;
&lt;br /&gt;
  -attribute name value&lt;br /&gt;
&lt;br /&gt;
which can appear multiple times.&lt;br /&gt;
&lt;br /&gt;
According to &lt;a href=&quot;http://www.eda.org/svdb/view.php?id=3040&quot;&gt;0003040&lt;/a&gt;, which talks about the consistency of add_power_state with tcl syntax, &lt;br /&gt;
&lt;br /&gt;
  &quot;According to section 6.1, All parameters begin with a hyphen (-)....&quot;. So -state defines a parameter. According to Tcl syntax, a parameter has three basic data types:&lt;br /&gt;
&lt;br /&gt;
a.	Scalar (or string)&lt;br /&gt;
b.	List (an ordered list of scalars)&lt;br /&gt;
c.	Array (or hash)&quot;&lt;br /&gt;
&lt;br /&gt;
This implies that the syntax for the -attribute option of set_design_attributes should be &lt;br /&gt;
&lt;br /&gt;
  -attribute { name value }&lt;br /&gt;
&lt;br /&gt;
since the 'value' of this parameter consists of a list of two items, not a single item or a general array/hash.</description>
<guid>http://www.eda.org/svdb/view.php?id=3910</guid>
<author>Erich Marschner &lt;Erich Marschner@example.com&gt;</author>
<comments>http://www.eda.org/svdb/view.php?id=3910#bugnotes</comments>
</item>
</channel>
</rss>

