


<?xml version="1.0" encoding="utf-8"?>
<!--  RSS generated by Flaimo.com RSS Builder [2010-09-08 03:27:52]  --> <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.verilog.org/mantis/</docs>
<description>EDA.org Mantis - ISSUES</description>
<link>http://www.verilog.org/mantis/</link>
<title>EDA.org Mantis - ISSUES</title>
<image>
<title>EDA.org Mantis - ISSUES</title>
<url>http://www.verilog.org/mantis/images/mantis_logo_button.gif</url>
<link>http://www.verilog.org/mantis/</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>2010-09-08T03:27:52-07:00</sy:updateBase>
<item>
<title>0003197: How to insert isolation *not* on a power domain interface?</title>
<link>http://www.verilog.org/mantis/view.php?id=3197</link>
<description>On 2010-08-25, &lt;a href=&quot;mailto:jf.liu@samsung.com&quot;&gt;jf.liu@samsung.com&lt;/a&gt; wrote:&lt;br /&gt;
&lt;br /&gt;
&gt; 2. Are there any way in UPF one can specify a port which is not the&lt;br /&gt;
&gt; power domain interface, and insert isolation cell at this port?</description>
<guid>http://www.verilog.org/mantis/view.php?id=3197</guid>
<author>John_Biggs &lt;John_Biggs@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3197#bugnotes</comments>
</item>
<item>
<title>0003195: Local Variables Flow Out Issue in and/or/intersect/implies</title>
<link>http://www.verilog.org/mantis/view.php?id=3195</link>
<description>16.10 Local Variables&lt;br /&gt;
This section of the LRM provides several restrictions in the flow out of local variables when the and,or, intersect operators for sequences / properties are used. However, there is a need to be able to set and read local variables in one sequence or property (the LHS), and to read those local variables in another sequence / property (RHS).&lt;br /&gt;
See attached file</description>
<guid>http://www.verilog.org/mantis/view.php?id=3195</guid>
<author>Ben Cohen &lt;Ben Cohen@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3195#bugnotes</comments>
</item>
<item>
<title>0001183: add mfactor parameters</title>
<link>http://www.verilog.org/mantis/view.php?id=1183</link>
<description>This is a request from my Verilog-AMS contact. &lt;br /&gt;
&lt;br /&gt;
They would like to add a feature called mfactor for Verilog parameters. I don't fully understand this, but it involves special rules for passing parameter values down the hierarchy, with the local value being set to the locally defined value being multiplied by the value passed in, instead of replaced by it. The current mechanism they are using for this is an mfactor attribute. &lt;br /&gt;
This is a misuse of Verilog attributes, which should not affect the language semantics. They would need to come up with a different syntax/mechanism for this. I am not sure how useful this feature would be for digital Verilog users. I am just putting this in as a placeholder for the request.</description>
<guid>http://www.verilog.org/mantis/view.php?id=1183</guid>
<author>Steven Sharp &lt;Steven Sharp@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=1183#bugnotes</comments>
</item>
<item>
<title>0003166: FAQ: Level shifter &amp; isolation strategy on macro pins</title>
<link>http://www.verilog.org/mantis/view.php?id=3166</link>
<description>Original Question by Dave Allen:&lt;br /&gt;
Here is an interesting question about UPF for level shifter strategies on macro pins.  Please see attached powerpoint slide (modified by RL).  It has a little animation in order to show the key information first.  &lt;br /&gt;
Suppose I have a design with two domains at different voltages.  &lt;br /&gt;
The first domain contains a macro which has an output associated with the second domain's supply net.  &lt;br /&gt;
A level shifter is  required between this macro's output and any receivers in the first domain.  &lt;br /&gt;
But, the macro is not within the hierarchical boundary of the second domain.  We do not believe there is any way to write UPF to give a level shifter strategy for this macro output.  It &quot;may be&quot; that a synthesizer will automatically insert a level shifter; but we do not wish to rely on this behavior.&lt;br /&gt;
&lt;br /&gt;
Is it possible to write a level shifter strategy for pins of a macro which are not in the domain?  Is there special syntax in UPF 2.0 which makes this possible?</description>
<guid>http://www.verilog.org/mantis/view.php?id=3166</guid>
<author>Rolf_Lagerquist &lt;Rolf_Lagerquist@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3166#bugnotes</comments>
</item>
<item>
<title>0003196: set_isolation -instance description is a bit terse - it should be more like that of set_level_shifter and set_retention</title>
<link>http://www.verilog.org/mantis/view.php?id=3196</link>
<description>The description in the set_isolation syntax table for &quot;-instance&quot; is a bit terse - it simple says:&lt;br /&gt;
&lt;br /&gt;
   instance_name is a hierarchical name. &lt;br /&gt;
   port_name is a hierarchical name.&lt;br /&gt;
&lt;br /&gt;
It would have been more useful not to mention consistent with set_level_shifter and set_retention if it had said something like:&lt;br /&gt;
&lt;br /&gt;
   The name of a technology library leaf cell instance and&lt;br /&gt;
   the name of the logic port that it isolates.&lt;br /&gt;
   If this instance has any unconnected supply ports, then&lt;br /&gt;
   these ports need to have identifying attributes in the&lt;br /&gt;
   cell model and the ports shall be connected in accordance&lt;br /&gt;
   with this set_isolation command.&lt;br /&gt;
&lt;br /&gt;
--John</description>
<guid>http://www.verilog.org/mantis/view.php?id=3196</guid>
<author>John_Biggs &lt;John_Biggs@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3196#bugnotes</comments>
</item>
<item>
<title>0001185: user defined functions on instantiations</title>
<link>http://www.verilog.org/mantis/view.php?id=1185</link>
<description>This is a request from my Verilog-AMS contact. &lt;br /&gt;
&lt;br /&gt;
This appears to be a request to allow user-defined PLI functions to be called in constant expressions. This would raise some issues because there is no way of knowing that the user-defined function is appropriate for this use (effectively, a pure function). If it isn't, this provides an easy way for the user to shoot themself in the foot. It shouldn't be too difficult to implement.</description>
<guid>http://www.verilog.org/mantis/view.php?id=1185</guid>
<author>Steven Sharp &lt;Steven Sharp@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=1185#bugnotes</comments>
</item>
<item>
<title>0003188: No way to distinguish join, join_none, and join_any for fork-join blocks in VPI</title>
<link>http://www.verilog.org/mantis/view.php?id=3188</link>
<description>We need a VPI property for fork and named fork block objects that would allow&lt;br /&gt;
applications to know what type of &quot;join&quot; statement terminates the block, i.e. default vs. &quot;join_none&quot; and &quot;join_any&quot;.</description>
<guid>http://www.verilog.org/mantis/view.php?id=3188</guid>
<author>Chuck_Berking &lt;Chuck_Berking@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3188#bugnotes</comments>
</item>
<item>
<title>0003176: uvm_report_global_server does not implement singleton properly</title>
<link>http://www.verilog.org/mantis/view.php?id=3176</link>
<description>The global report server does not implement the singleton properly. The get_server() method requires that an instance of the uvm_report_global_server be created.&lt;br /&gt;
&lt;br /&gt;
The code in src/base/uvm_report_server.svh be changed from:&lt;br /&gt;
&lt;br /&gt;
class uvm_report_global_server;&lt;br /&gt;
&lt;br /&gt;
  static uvm_report_server global_report_server = null;&lt;br /&gt;
&lt;br /&gt;
  function new();&lt;br /&gt;
    if (global_report_server == null)&lt;br /&gt;
      global_report_server = new;&lt;br /&gt;
  endfunction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Function: get_server&lt;br /&gt;
  //&lt;br /&gt;
  // Returns a handle to the central report server.&lt;br /&gt;
&lt;br /&gt;
  function uvm_report_server get_server();&lt;br /&gt;
    return global_report_server;&lt;br /&gt;
  endfunction &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Function- set_server&lt;br /&gt;
  //&lt;br /&gt;
  //&lt;br /&gt;
&lt;br /&gt;
  function void set_server(uvm_report_server server);&lt;br /&gt;
    server.set_max_quit_count(global_report_server.get_max_quit_count());&lt;br /&gt;
    server.set_quit_count(global_report_server.get_quit_count());&lt;br /&gt;
    global_report_server.copy_severity_counts(server);&lt;br /&gt;
    global_report_server.copy_id_counts(server);&lt;br /&gt;
    global_report_server = server;&lt;br /&gt;
  endfunction&lt;br /&gt;
endclass&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
to&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class uvm_report_global_server;&lt;br /&gt;
&lt;br /&gt;
  static uvm_report_server global_report_server = null;&lt;br /&gt;
&lt;br /&gt;
  local function new();&lt;br /&gt;
  endfunction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Function: get_server&lt;br /&gt;
  //&lt;br /&gt;
  // Returns a handle to the central report server.&lt;br /&gt;
&lt;br /&gt;
  static function uvm_report_server get_server();&lt;br /&gt;
    if (global_report_server == null)&lt;br /&gt;
      global_report_server = new;&lt;br /&gt;
    return global_report_server;&lt;br /&gt;
  endfunction &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Function- set_server&lt;br /&gt;
  //&lt;br /&gt;
  //&lt;br /&gt;
&lt;br /&gt;
  static function void set_server(uvm_report_server server);&lt;br /&gt;
    if (global_report_server != null) begin&lt;br /&gt;
       server.set_max_quit_count(global_report_server.get_max_quit_count());&lt;br /&gt;
       server.set_quit_count(global_report_server.get_quit_count());&lt;br /&gt;
       global_report_server.copy_severity_counts(server);&lt;br /&gt;
       global_report_server.copy_id_counts(server);&lt;br /&gt;
    end&lt;br /&gt;
    global_report_server = server;&lt;br /&gt;
  endfunction&lt;br /&gt;
endclass</description>
<guid>http://www.verilog.org/mantis/view.php?id=3176</guid>
<author>Janick Bergeron &lt;Janick Bergeron@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3176#bugnotes</comments>
</item>
<item>
<title>0002571: confusing assertion clock inference rule</title>
<link>http://www.verilog.org/mantis/view.php?id=2571</link>
<description>In 16.15.6 in Draft 8-preliminary, the rules for clock inference confuse some people. See the thread beginning &lt;a href=&quot;http://www.eda-stds.org/sv-sc/hm/0874.html&quot;&gt;http://www.eda-stds.org/sv-sc/hm/0874.html.&lt;/a&gt; [&lt;a href=&quot;http://www.eda-stds.org/sv-sc/hm/0874.html&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
The text says,&lt;br /&gt;
&lt;br /&gt;
&quot;A clock shall be inferred for the context of an always or initial procedure that satisfies the following requirements:&lt;br /&gt;
...&lt;br /&gt;
3) Within the event control of the procedure, there is exactly one event expression that satisfies both of the following conditions:&lt;br /&gt;
a) The event expression is of the form edge_identifier expression1 [ iff expression2 ] and is not a proper subexpression of an event expression of this form.&lt;br /&gt;
b) No term in expression1 appears anywhere else in the body of the procedure.&quot;&lt;br /&gt;
&lt;br /&gt;
Requirement 3 can be misinterpreted to mean that the event control contains only one event expression and it must satisfy 3a and 3b.&lt;br /&gt;
&lt;br /&gt;
The correct interpretation is that the event control may contain more than one event but only one that satisifies 3a and 3b.&lt;br /&gt;
&lt;br /&gt;
The requirement could be reworded like this:&lt;br /&gt;
&quot;One and only one of the event expressions within the event control satisfies both of the following conditions:&quot;&lt;br /&gt;
&lt;br /&gt;
Another, more minor, ambiguity is that the form &quot;@(e1 or e2)&quot; can be regarded as containing two event expressions, &quot;e1&quot; and &quot;e2&quot;, or one event expression, &quot;e1 or e2&quot;. The first interpretation is what is intended here. This ambiguity is less likely to confuse people, though, and is also more difficult to disambiguate.</description>
<guid>http://www.verilog.org/mantis/view.php?id=2571</guid>
<author>shalom &lt;shalom@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2571#bugnotes</comments>
</item>
<item>
<title>0002205: $asseroff, $assertkill and $asserton description is ambiguous</title>
<link>http://www.verilog.org/mantis/view.php?id=2205</link>
<description>Stu raised the following issue about $asseroff and $assertkill tasks:&lt;br /&gt;
&lt;br /&gt;
&quot;Do the $assertoff and related assertion controls and assertion action&lt;br /&gt;
controls only affect &quot;assert&quot; directives, or do they also affect&lt;br /&gt;
&quot;assume&quot;, and &quot;cover&quot; directives?  What about immediate assertions?&quot;&lt;br /&gt;
&lt;br /&gt;
The description in the LRM is ambiguous, need to provide a clarification.</description>
<guid>http://www.verilog.org/mantis/view.php?id=2205</guid>
<author>Dmitry Korchemny &lt;Dmitry Korchemny@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2205#bugnotes</comments>
</item>
<item>
<title>0003194: Clarification on the term 'sibling' when used to define location.</title>
<link>http://www.verilog.org/mantis/view.php?id=3194</link>
<description>Whilst the other values of 'location' define where in the hierarchy (domain or logical?) the cells should be inserted the value 'sibling' does not seem to.&lt;br /&gt;
&lt;br /&gt;
&quot;sibling—a new sibling is created into which the isolation cells are placed.&quot;&lt;br /&gt;
&lt;br /&gt;
1. This infers that new hierarchy is created to store the cells of this strategy but where should this reside? Should we assume the location for this new hierarchy is derived from automatic location or something else?&lt;br /&gt;
&lt;br /&gt;
2. This probably depends on the answer to #1 but is one sibling used per strategy or per domain?&lt;br /&gt;
&lt;br /&gt;
3. Should 'sibling' be entered in 3.1 Definitions?&lt;br /&gt;
&lt;br /&gt;
Location sibling is also used in 6.41 and 6.42.</description>
<guid>http://www.verilog.org/mantis/view.php?id=3194</guid>
<author>Jon Worthington &lt;Jon Worthington@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3194#bugnotes</comments>
</item>
<item>
<title>0001477: virtual interfaces information model</title>
<link>http://www.verilog.org/mantis/view.php?id=1477</link>
<description>The information model for virtual interfaces should be changed. I think that it does not model accurately what virtual interfaces are. When I wrote the information model for virtual interfaces, I did not completely understand what&lt;br /&gt;
they were.&lt;br /&gt;
&lt;br /&gt;
Today virtual interfaces are modelled as refObj (reference objects). I think that a better model would be to model them as variables with a datatype:&lt;br /&gt;
virtualInterfaceTypespec. Moreover you can declare a type definition for a virtual interface datatype:&lt;br /&gt;
&lt;br /&gt;
typedef virtual SyncBus VIT;&lt;br /&gt;
&lt;br /&gt;
This declared a datatype &quot;VIT&quot; for a virtual interface of name SyncBUs.&lt;br /&gt;
&lt;br /&gt;
You can even create an array of virtual interfaces, or have a virtual interface type be a member of a struture data type.&lt;br /&gt;
&lt;br /&gt;
I am proposing the following:&lt;br /&gt;
&lt;br /&gt;
virtual interfaces are merely variables with a datatype which get assigned during simulation. These variables can be declared anywhere a variable can be declared except in a static interface or in a union data type or as a port.&lt;br /&gt;
&lt;br /&gt;
In diagram 27.12 (refObj):&lt;br /&gt;
remove 4th bullet of Note 1: a virtual interface declaration in a class definition&lt;br /&gt;
&lt;br /&gt;
Remove note 4 about the vpiVirtual property.&lt;br /&gt;
&lt;br /&gt;
Remove example 2 in section 27.12.1 or better modify example 2 and move it to section 27.17.&lt;br /&gt;
&lt;br /&gt;
Add vpiVirtual property to variables diagram 27.14&lt;br /&gt;
&lt;br /&gt;
In the header file, remove vpiInterfaceDecl iteration.&lt;br /&gt;
&lt;br /&gt;
in the typespec diagram (27.17), add a virtualInterfaceTypespec class, with a paramAssign iteration. This is in order to model virtual interfaces declarations with parameters:&lt;br /&gt;
&lt;br /&gt;
interface SyncBus #( p = 0, q = 1);&lt;br /&gt;
endinterface&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
typedef virtual #(1, 2) SyncBus VIT;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the class diagram (27.21 and 27.22) remove the iteration on vpiInterfaceDecl which returns refObj. A virtual interface declaration will now be returned as a class member through the vpiVariables iteration.&lt;br /&gt;
&lt;br /&gt;
In 27.21 remove note 6,&lt;br /&gt;
In 27.22 remove note 5</description>
<guid>http://www.verilog.org/mantis/view.php?id=1477</guid>
<author>Françoise Martinolle &lt;Françoise Martinolle@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=1477#bugnotes</comments>
</item>
<item>
<title>0003192: 37.8 section has wrong value definitions for vpiAccessType</title>
<link>http://www.verilog.org/mantis/view.php?id=3192</link>
<description>Section 37.8 (Interface task or function declaration), detail #2 indicates vpiAccessType has values vpiForkJoin and vpiExtern.  These value defines were changed to vpiForkJoinAcc and vpiExternAcc, respectively, in the sv_vpi_user.h header file for 2009 to avoid related conflicts.  This detail should be fixed to be consistent.</description>
<guid>http://www.verilog.org/mantis/view.php?id=3192</guid>
<author>Chuck_Berking &lt;Chuck_Berking@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3192#bugnotes</comments>
</item>
<item>
<title>0003193: Need defined value for built-in class type process-class for vpiClassType property.</title>
<link>http://www.verilog.org/mantis/view.php?id=3193</link>
<description>The built-in class types are indicated by the vpiClassType property which can be accessed for class typespecs (see 37.28).&lt;br /&gt;
&lt;br /&gt;
Section 9.7 (&quot;Fine-grain process control&quot;) defines a &quot;process&quot; class type that is not represented in the vpiClassType property values defined in the header file.&lt;br /&gt;
&lt;br /&gt;
A value for this built-in type needs to be added to the values for this property.&lt;br /&gt;
- CB</description>
<guid>http://www.verilog.org/mantis/view.php?id=3193</guid>
<author>Chuck_Berking &lt;Chuck_Berking@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3193#bugnotes</comments>
</item>
<item>
<title>0002845: virtual interface type checking versus interface type that had been defparam'ed</title>
<link>http://www.verilog.org/mantis/view.php?id=2845</link>
<description>The virtual interface datatype equivalence type check with an interface type is only defined in terms of the values and types of the top level parameters of the interface. This is not sufficient as defparam are allowed to target parameters defined inside the interface which are not top level parameters. Hence the defparam could change the &quot;structure&quot; of the interface. An interface can also contain sub instances which could be defparam targets.&lt;br /&gt;
&lt;br /&gt;
I think that the definition of type equivalence and assignment compatibility are incorrect in the presence of defparams. So we have 2 alternatives:&lt;br /&gt;
1. enhance the definition of VIFC type equivalence to take into account parameters inside the interface which are defparam'd&lt;br /&gt;
&lt;br /&gt;
2. Make a defparam to inside an interface or to any of the interface sub-instances an error when that interface is assigned to a virtual interface.</description>
<guid>http://www.verilog.org/mantis/view.php?id=2845</guid>
<author>Françoise Martinolle &lt;Françoise Martinolle@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2845#bugnotes</comments>
</item>
<item>
<title>0003179: compilation crash with OVM and UVM libraries are included</title>
<link>http://www.verilog.org/mantis/view.php?id=3179</link>
<description>when the following paths are included and the following packages are compiled it crash due redefinition of macros.&lt;br /&gt;
&lt;br /&gt;
incdir:&lt;br /&gt;
$UVM_HOME/src&lt;br /&gt;
$OVM_HOME/src&lt;br /&gt;
&lt;br /&gt;
packages:&lt;br /&gt;
$UVM_HOME/src/uvm_pkg.svh&lt;br /&gt;
$OVM_HOME/src/ovm_pkg.svh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
it shows messages like:&lt;br /&gt;
&lt;br /&gt;
ovm-/2.1.1/src/ovm_macros.svh, 32&lt;br /&gt;
  Text macro (_protected) is redefined. The last definition will override&lt;br /&gt;
  previous ones.&lt;br /&gt;
  In uvm-/1.0ea/all/src/uvm_macros.svh, 28, it was defined as&lt;br /&gt;
  protected&lt;br /&gt;
&lt;br /&gt;
ovm-/2.1.1/src/macros/ovm_object_defines.svh, 2831&lt;br /&gt;
   Text macro (DOREFERENCECOPY) is redefined. The last definition will override&lt;br /&gt;
   previous ones.&lt;br /&gt;
   In uvm-/1.0ea/all/src/macros/uvm_object_defines.svh, 2663,&lt;br /&gt;
   was defined as if( (FLAG)&amp;UVM_REFERENCE))&lt;br /&gt;
         ARG = local_data__.``ARG;&lt;br /&gt;
&lt;br /&gt;
ovm-/2.1.1/src/macros/ovm_object_defines.svh, 2858&lt;br /&gt;
   Text macro (DODEEPCOPY) is redefined. The last definition will override&lt;br /&gt;
   previous ones.&lt;br /&gt;
  In uvm-/1.0ea/all/src/macros/uvm_object_defines.svh, 2690, &lt;br /&gt;
  it was defined as begin&lt;br /&gt;
       uvm_object this_d__, from_d__;&lt;br /&gt;
       if(tmp_data__ != null)&lt;br /&gt;
        if(!$cast(local_data__, tmp_data__)) begin&lt;br /&gt;
           uvm_object::m_sc.scratch1 = `&quot;Cast failed for argument: ARG`&quot;;&lt;br /&gt;
         end&lt;br /&gt;
       if(ARG != null) $cast(this_d__,ARG);&lt;br /&gt;
       if(local_data__.ARG != null) $cast(from_d__,local_data__.ARG);&lt;br /&gt;
&lt;br /&gt;
       if((this_d__==null) &amp;&amp; (from_d__!=null)) begin&lt;br /&gt;
         this_d__ = from_d__.clone();&lt;br /&gt;
        this_d__.set_name(`&quot;ARG`&quot;);&lt;br /&gt;
       end&lt;br /&gt;
       else if(from_d__ == null)&lt;br /&gt;
         this_d__ = from_d__;&lt;br /&gt;
       else begin&lt;br /&gt;
         this_d__.copy(from_d__);&lt;br /&gt;
       end&lt;br /&gt;
       if((this_d__ == null) || !$cast(ARG, this_d__)) begin&lt;br /&gt;
         uvm_object::m_sc.scratch1 = `&quot;Cast failed for ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ovm-/2.1.1/src/macros/ovm_object_defines.svh, 2890&lt;br /&gt;
   Text macro (DOSHALLOWCOPY) is redefined. The last definition will override&lt;br /&gt;
   previous ones.&lt;br /&gt;
   In uvm-/1.0ea/all/src/macros/uvm_object_defines.svh, 2722, it&lt;br /&gt;
   was defined as if( (FLAG)&amp;UVM_SHALLOW)&lt;br /&gt;
       begin&lt;br /&gt;
         uvm_object lhs__, rhs__;&lt;br /&gt;
         uvm_object::m_sc.scratch1 = `&quot;Executing shallow copy of arg ARG`&quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         if(ARG2==null) ARG1 = ARG2;&lt;br /&gt;
         else begin&lt;br /&gt;
           if(ARG1 != null) $cast(lhs__, ARG1);&lt;br /&gt;
           if(ARG2 != null) $cast(rhs__, ARG2);&lt;br /&gt;
           if(rhs__!=null &amp;&amp; lhs__!=null)&lt;br /&gt;
             lhs__.copy(rhs__);&lt;br /&gt;
           else if(rhs__ != null) begin&lt;br /&gt;
             $cast(lhs__, rhs__.clone());&lt;br /&gt;
             if (lhs__ != null)&lt;br /&gt;
               $cast(ARG1, lhs__);&lt;br /&gt;
           end&lt;br /&gt;
           else&lt;br /&gt;
             ARG1 = null;&lt;br /&gt;
&lt;br /&gt;
         end&lt;br /&gt;
       end&lt;br /&gt;
     else&lt;br /&gt;
       begin&lt;br /&gt;
         uvm_object::m_sc.scratch1 = `&quot;Shallow copy off for arg ARG`&quot;;&lt;br /&gt;
       end</description>
<guid>http://www.verilog.org/mantis/view.php?id=3179</guid>
<author>Edgar Jimenez &lt;Edgar Jimenez@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3179#bugnotes</comments>
</item>
<item>
<title>0003175: Need a means to control message emission that is based on more than purely 'verbosity'.</title>
<link>http://www.verilog.org/mantis/view.php?id=3175</link>
<description>Users need a way to control whether or not a report is enabled that is beyond the 'simple' verbosity setting.&lt;br /&gt;
&lt;br /&gt;
One key requirement (of many) that this would provide is ability to cause messages of a particular 'ID' to be emitted regardless of the 'verbosity' setting.</description>
<guid>http://www.verilog.org/mantis/view.php?id=3175</guid>
<author>John Fowler &lt;John Fowler@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3175#bugnotes</comments>
</item>
<item>
<title>0002751: P1800-2009: checker formal arguments may not be connected to interfaces // WHY?</title>
<link>http://www.verilog.org/mantis/view.php?id=2751</link>
<description>pg 415 &quot;Unlike modules, interfaces, and programs, checker formal arguments may not be connected to interfaces.&quot;&lt;br /&gt;
&lt;br /&gt;
[Ben] Why this restriction?  The interface is one of the beauty of SystemVerilog.  Are we saying that the following is illegal?&lt;br /&gt;
interface fifo_if(..);  modport fslave_if_mp (..); .. endinterface : fifo_if&lt;br /&gt;
&lt;br /&gt;
checker fifo_chker (logic clk, fifo_if.fslave_if_mp f_if, ...);&lt;br /&gt;
   property p_t1_full;  @ (posedge clk) &lt;br /&gt;
      property p_push_error;&lt;br /&gt;
       @ (posedge clk)&lt;br /&gt;
         not (f_if.push &amp;&amp; f_if.full &amp;&amp; f_if.pop);&lt;br /&gt;
   endproperty : p_push_error&lt;br /&gt;
   ap_push_error : assert property (p_push_error);&lt;br /&gt;
&lt;br /&gt;
endchecker &lt;br /&gt;
&lt;br /&gt;
If the rationale is that interfaces can have outputs and outputs are illegal in checkers, then we can restrict the usage in that in checkers, all elements of an interface can only be read and not assigned regardless of the direction of the elements in the interface.  &lt;br /&gt;
&lt;br /&gt;
Without the access to interfaces in formal arguments, we lose a lot.  That would mean that every element of the interface would have to be added to the port list, unless we want to use hierarchical references. Thus, if an interface with 100 signals, instead of passing that interface as a name, one would have to enter 100 elements in the formal arguments of the checker!  That defeats the use of interfaces!!!!</description>
<guid>http://www.verilog.org/mantis/view.php?id=2751</guid>
<author>Ben Cohen &lt;Ben Cohen@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2751#bugnotes</comments>
</item>
<item>
<title>0002476: Need clarification about system functions $onehot, etc</title>
<link>http://www.verilog.org/mantis/view.php?id=2476</link>
<description>A clarification is needed what can the argument type of system functions $onehot, $onehot0, $isunknown and $countones be and where these functions may be used - in assertions only or everywhere in expressions.</description>
<guid>http://www.verilog.org/mantis/view.php?id=2476</guid>
<author>Dmitry Korchemny &lt;Dmitry Korchemny@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2476#bugnotes</comments>
</item>
<item>
<title>0002770: How are functions for supply set handles created?</title>
<link>http://www.verilog.org/mantis/view.php?id=2770</link>
<description>Scenario:&lt;br /&gt;
We are creating an IP. &lt;br /&gt;
The IP uses only supply set handles during synthesis.&lt;br /&gt;
We use connect_supply_set to auto connect supply set handle h_sram_supply function f_sram_array_power to all cells with pg_TI_sram_array_power.&lt;br /&gt;
Supply sets will be created during SoC assembly and/or physical implementation.&lt;br /&gt;
&lt;br /&gt;
1) Create supply set handle h_sram_supply&lt;br /&gt;
create_power_domain PD1 -supply h_sram_supply&lt;br /&gt;
&lt;br /&gt;
2) Does below create the sram_array_power function?&lt;br /&gt;
connect_supply_set PD1.h_sram_supply -connect {f_sram_array_power  pg_TI_sram_array_power}&lt;br /&gt;
&lt;br /&gt;
3) When does supply function error checking occur?&lt;br /&gt;
&lt;br /&gt;
Assuming: associate_supply sram_supply_set -handle PD1.h_sram_supply&lt;br /&gt;
Are the following statements true:&lt;br /&gt;
a) It is an error if supply_set does not contain all the functions defined the supply set handle&lt;br /&gt;
b) It is an not an error if supply_set contains additional functions which are not part of the supply set handle functions</description>
<guid>http://www.verilog.org/mantis/view.php?id=2770</guid>
<author>Rolf_Lagerquist &lt;Rolf_Lagerquist@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2770#bugnotes</comments>
</item>
<item>
<title>0003165: FAQ: How to avoid implementation tools insert duplicated isolation (or level-shifter cells)</title>
<link>http://www.verilog.org/mantis/view.php?id=3165</link>
<description>(On behalf of Qi)&lt;br /&gt;
In UPF2.0, set_isolation has -force_isolation.&lt;br /&gt;
How to avoid implementation tools insert duplicated isolation cells&lt;br /&gt;
as the semantics seems that -force will just force the tool to insert. &lt;br /&gt;
Imagine I use a UPF to synthesize. &lt;br /&gt;
After that the P&amp;R tool will read in the netlist and UPF with the same set_isolation, P&amp;R will insert again per semantics right? am I missing anything here? thanks</description>
<guid>http://www.verilog.org/mantis/view.php?id=3165</guid>
<author>Rolf_Lagerquist &lt;Rolf_Lagerquist@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3165#bugnotes</comments>
</item>
<item>
<title>0003182: Dealing with wired logic</title>
<link>http://www.verilog.org/mantis/view.php?id=3182</link>
<description>Hi,&lt;br /&gt;
 If we have wired logic where the drivers are originating in different domains and are of different drive strengths and this signal needs isolation,then:&lt;br /&gt;
&lt;br /&gt;
1. What is the expected output from synthesis?&lt;br /&gt;
2. What is the expected strength of the final isolation signal?&lt;br /&gt;
3. Does the same apply to level shifters?&lt;br /&gt;
&lt;br /&gt;
Does the standard this specific issue?&lt;br /&gt;
&lt;br /&gt;
thanks&lt;br /&gt;
prasad</description>
<guid>http://www.verilog.org/mantis/view.php?id=3182</guid>
<author>Prasad Subbarao &lt;Prasad Subbarao@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3182#bugnotes</comments>
</item>
<item>
<title>0003191: Allow sequence methods with sequence expressions</title>
<link>http://www.verilog.org/mantis/view.php?id=3191</link>
<description>Currently sequence methods are allowed with named sequences only, not with sequence expressions. E.g.,&lt;br /&gt;
&lt;br /&gt;
sequence s; a ##1 b; endsequence&lt;br /&gt;
...s.triggered is legal&lt;br /&gt;
&lt;br /&gt;
whereas (a ##1 b).triggered is illegal.&lt;br /&gt;
&lt;br /&gt;
The proposal is to allow using sequence methods with any sequence expressions since the existing limitation is not natural.&lt;br /&gt;
&lt;br /&gt;
See also 17.9 Complex checker example, which does not impose any limitations on checker arguments start_event and end_events.</description>
<guid>http://www.verilog.org/mantis/view.php?id=3191</guid>
<author>Dmitry Korchemny &lt;Dmitry Korchemny@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=3191#bugnotes</comments>
</item>
<item>
<title>0001706: Meaning of static prefix for virtual interface assignments</title>
<link>http://www.verilog.org/mantis/view.php?id=1706</link>
<description>What is the static prefix of a reference that includes a virtual interface?  This impacts both sensitivity determination and decisions about procedural and continuous drivers.  For example:&lt;br /&gt;
&lt;br /&gt;
interface intf;&lt;br /&gt;
  int x = 0;&lt;br /&gt;
                    &lt;br /&gt;
  initial #1 x = 1;&lt;br /&gt;
endinterface&lt;br /&gt;
                                                                               &lt;br /&gt;
class C;&lt;br /&gt;
  static virtual intf i;&lt;br /&gt;
endclass&lt;br /&gt;
                                                                               &lt;br /&gt;
module top;&lt;br /&gt;
  int x = 1;&lt;br /&gt;
  intf i();&lt;br /&gt;
  initial C::i = i;&lt;br /&gt;
&lt;br /&gt;
  always_comb x = C::i.x;&lt;br /&gt;
                    &lt;br /&gt;
  initial $monitor($time,,x);&lt;br /&gt;
endmodule&lt;br /&gt;
&lt;br /&gt;
The normal intent of longest static prefix is that you notice *at least* all the changes that you might need to see.  For a virtual interface this might boil down to needing to be sensitive to *any possible* interface instance that is type compatible with the virtual interface. &lt;br /&gt;
&lt;br /&gt;
Similarly with procedural/continuous assignment compatibility, whether conflicts occur depends on how virtual interfaces are interpreted.&lt;br /&gt;
&lt;br /&gt;
The easiest solution would likely be to state that virtual interfaces &quot;don't count&quot; in terms of the procedural/continuous driver determination and that they can't be used in constructs such as always_comb.&lt;br /&gt;
I'm not sure that is a reasonable solution.&lt;br /&gt;
&lt;br /&gt;
This overlaps with SV-BC in terms of the &quot;static prefix&quot; rules, but since this is tied to virtual interfaces, I've assigned this to EC for initial discussion of desired intent.</description>
<guid>http://www.verilog.org/mantis/view.php?id=1706</guid>
<author>gordonv &lt;gordonv@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=1706#bugnotes</comments>
</item>
<item>
<title>0002080: &quot;::&quot; is ambiguous in parameterized classes</title>
<link>http://www.verilog.org/mantis/view.php?id=2080</link>
<description>See discussion in:&lt;br /&gt;
   &lt;a href=&quot;http://www.eda-stds.org/sv-ec/hm/4852.html&quot;&gt;http://www.eda-stds.org/sv-ec/hm/4852.html&lt;/a&gt; [&lt;a href=&quot;http://www.eda-stds.org/sv-ec/hm/4852.html&quot; target=&quot;_blank&quot;&gt;^&lt;/a&gt;]&lt;br /&gt;
&lt;br /&gt;
The basic problem is the &quot;::&quot; can be interpreted as both scope resolution and type referencing.  This needs to be clarified.</description>
<guid>http://www.verilog.org/mantis/view.php?id=2080</guid>
<author>gordonv &lt;gordonv@example.com&gt;</author>
<comments>http://www.verilog.org/mantis/view.php?id=2080#bugnotes</comments>
</item>
</channel>
</rss>
