https://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&feed=atom&action=historyLanguages/SystemVerilog/Syntax - Revision history2024-03-29T12:55:47ZRevision history for this page on the wikiMediaWiki 1.18.1https://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2793&oldid=prevGuo: /* Arrays */2013-11-18T13:36:19Z<p><span class="autocomment">Arrays</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 13:36, 18 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 34:</td>
<td colspan="2" class="diff-lineno">Line 34:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>bit [7:0] c1;</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>bit [7:0] c1;</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">c1 = 8'hAA;</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 40:</td>
<td colspan="2" class="diff-lineno">Line 41:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>real u [7:0];</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>real u [7:0];</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">u = {1,2,3,4,5,6,7};</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2792&oldid=prevGuo: /* Arrays */2013-11-18T13:32:38Z<p><span class="autocomment">Arrays</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 13:32, 18 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 31:</td>
<td colspan="2" class="diff-lineno">Line 31:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== packed array ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== packed array ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The dimensions declared before the object name (vector width) are called packed array.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The dimensions declared before the object name (vector width) are called packed array<ins class="diffchange diffchange-inline">. In memory they are represented as one contiguous set of bits</ins>.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>bit [7:0] c1;</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>bit [7:0] c1;</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 37:</td>
<td colspan="2" class="diff-lineno">Line 37:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== unpacked array ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== unpacked array ===</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>The dimensions declared after the object name (array size) are called unpacked array.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>The dimensions declared after the object name (array size) are called unpacked array.  </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang=verilog></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>real u [7:0];</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>real u [7:0];</div></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2787&oldid=prevGuo: /* Operators */2013-11-12T12:05:10Z<p><span class="autocomment">Operators</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 12:05, 12 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 73:</td>
<td colspan="2" class="diff-lineno">Line 73:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a !== b      ||a not equal to b, including x and z</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a !== b      ||a not equal to b, including x and z</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">=== Logical ===</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{| class=wikitable</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|'''Operator'''||'''Description</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|!            ||logic negation</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|&&            ||logical and</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|ll            ||logical or</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|}</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">=== Bit-wise ===</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{| class=wikitable</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|'''Operator'''||'''Description</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|~            ||negation</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|&            ||and</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|l            ||inclusive or</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|^            ||exclusive or</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|^~ or ~^      ||exclusive nor (equivalence)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2786&oldid=prevGuo: /* Equality */2013-11-12T11:55:33Z<p><span class="autocomment">Equality</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 11:55, 12 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Operators ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Operators ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>== Equality ==</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">=</ins>== Equality <ins class="diffchange diffchange-inline">=</ins>==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Operands are compared bit by bit, with zero filling if the two operands do not have the same length.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Operands are compared bit by bit, with zero filling if the two operands do not have the same length.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is 0 (false) or 1 (true).</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is 0 (false) or 1 (true).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>There are two types of Equality operators.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>There are two types of Equality operators.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== Logical Equality ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">=</ins>=== Logical Equality <ins class="diffchange diffchange-inline">=</ins>===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is x, if either operand contains an x or a z. </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is x, if either operand contains an x or a z. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 64:</td>
<td colspan="2" class="diff-lineno">Line 64:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a != b        ||a not equal to b, result may be unknown</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a != b        ||a not equal to b, result may be unknown</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>=== Case Equality ===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">=</ins>=== Case Equality <ins class="diffchange diffchange-inline">=</ins>===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Bits with x and z are included in the comparison and must match for the result to be true.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Bits with x and z are included in the comparison and must match for the result to be true.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2785&oldid=prevGuo: /* Equality */2013-11-12T10:18:08Z<p><span class="autocomment">Equality</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 10:18, 12 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 60:</td>
<td colspan="2" class="diff-lineno">Line 60:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|'''Operator'''||'''Description</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|'''Operator'''||'''Description</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>|a == b        ||a equal to b, result may be unknown <del class="diffchange diffchange-inline">(logical equality)</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>|a == b        ||a equal to b, result may be unknown</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>|a != b        ||a not equal to b, result may be unknown <del class="diffchange diffchange-inline">(logical equality)</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>|a != b        ||a not equal to b, result may be unknown</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Case Equality ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Case Equality ===</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 70:</td>
<td colspan="2" class="diff-lineno">Line 70:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|'''Operator'''||'''Description</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|'''Operator'''||'''Description</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>|a === b      ||a equal to b, including x and z <del class="diffchange diffchange-inline">(Case equality)</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>|a === b      ||a equal to b, including x and z</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div>|a !== b      ||a not equal to b, including x and z <del class="diffchange diffchange-inline">(Case inequality)</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>|a !== b      ||a not equal to b, including x and z</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2784&oldid=prevGuo: /* = Equality */2013-11-12T10:16:51Z<p><span class="autocomment">= Equality</span></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 10:16, 12 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 49:</td>
<td colspan="2" class="diff-lineno">Line 49:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Operators ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Operators ==</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline">=</del>== Equality ==</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>== Equality ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Operands are compared bit by bit, with zero filling if the two operands do not have the same length.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Operands are compared bit by bit, with zero filling if the two operands do not have the same length.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is 0 (false) or 1 (true).</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is 0 (false) or 1 (true).</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>There are two types of Equality operators.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>There are two types of Equality operators.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline">=</del>=== Logical Equality <del class="diffchange diffchange-inline">=</del>===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Logical Equality ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is x, if either operand contains an x or a z. </div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>The result is x, if either operand contains an x or a z. </div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 63:</td>
<td colspan="2" class="diff-lineno">Line 63:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a != b        ||a not equal to b, result may be unknown (logical equality)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a != b        ||a not equal to b, result may be unknown (logical equality)</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div> </div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins class="diffchange diffchange-inline">|}</ins></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="background: #ffa; color:black; font-size: smaller;"><div><del class="diffchange diffchange-inline">=</del>=== Case Equality <del class="diffchange diffchange-inline">=</del>===</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>=== Case Equality ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Bits with x and z are included in the comparison and must match for the result to be true.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>Bits with x and z are included in the comparison and must match for the result to be true.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>{| class=wikitable</div></td></tr>
<tr><td colspan="2" class="diff-lineno">Line 73:</td>
<td colspan="2" class="diff-lineno">Line 73:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|-</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a !== b      ||a not equal to b, including x and z (Case inequality)</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>|a !== b      ||a not equal to b, including x and z (Case inequality)</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|}</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Escape sequences for format specifications ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Escape sequences for format specifications ==</div></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=2783&oldid=prevGuo at 10:16, 12 November 20132013-11-12T10:16:01Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr valign='top'>
<td colspan='2' style="background-color: white; color:black;">← Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 10:16, 12 November 2013</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 47:</td>
<td colspan="2" class="diff-lineno">Line 47:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>reg [7:0] r1 [1:256];  // [7:0] packed, [1:256] unpacked</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>reg [7:0] r1 [1:256];  // [7:0] packed, [1:256] unpacked</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">== Operators ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">=== Equality ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Operands are compared bit by bit, with zero filling if the two operands do not have the same length.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">The result is 0 (false) or 1 (true).</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">There are two types of Equality operators.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">==== Logical Equality ====</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">The result is x, if either operand contains an x or a z. </ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{| class=wikitable</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|'''Operator'''||'''Description</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|a == b        ||a equal to b, result may be unknown (logical equality)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|a != b        ||a not equal to b, result may be unknown (logical equality)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">==== Case Equality ====</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">Bits with x and z are included in the comparison and must match for the result to be true.</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">{| class=wikitable</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|'''Operator'''||'''Description</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|a === b      ||a equal to b, including x and z (Case equality)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|-</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div><ins style="color: red; font-weight: bold; text-decoration: none;">|a !== b      ||a not equal to b, including x and z (Case inequality)</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Escape sequences for format specifications ==</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>== Escape sequences for format specifications ==</div></td></tr>
</table>Guohttps://wiki.hevs.ch/uit/index.php5?title=Languages/SystemVerilog/Syntax&diff=387&oldid=prevZas: Created page with "{{TOC right}} == Integer data types == {| class=wikitable |- |'''Type'''||'''States'''||'''Language''' ||'''Size [bits]''' || |- |shortint || 2 || Syste..."2012-02-15T12:52:18Z<p>Created page with "{{TOC right}} == Integer data types == {| class=wikitable |- |'''Type'''||'''States'''||'''Language''' ||'''Size [bits]''' || |- |shortint || 2 || Syste..."</p>
<p><b>New page</b></p><div>{{TOC right}}<br />
<br />
== Integer data types ==<br />
{| class=wikitable<br />
|-<br />
|'''Type'''||'''States'''||'''Language''' ||'''Size [bits]''' ||<br />
|-<br />
|shortint || 2 || SystemVerilog || 16 || signed integer<br />
|-<br />
|int || 2 || SystemVerilog || 32 || signed integer<br />
|-<br />
|longint || 2 || SystemVerilog || 64 || signed integer<br />
|-<br />
|byte || 2 || SystemVerilog || 8 || signed integer or ASCII character<br />
|-<br />
|bit || 2 || SystemVerilog || user-defined (default 1 bit) ||<br />
|-<br />
|logic || 4 || SystemVerilog || user-defined (default 1 bit) ||<br />
|-<br />
|reg || 4 || Verilog-2001 || user-defined (default 1 bit) ||<br />
|-<br />
|integer || 4 || Verilog-2001 || 32 || signed integer<br />
|-<br />
|time || 4 || Verilog-2001 || 64 || unsigned integer<br />
|-<br />
|}<br />
The 4-state data types can have unknown (X) and high-impedance (Z) values. When a 4-state value is cast to a 2-state value, X and Z are converted to 0.<br />
When X and Z are not needed, use the 2-state types (int, bit), which execute faster.<br />
<br />
== Arrays ==<br />
<br />
=== packed array ===<br />
The dimensions declared before the object name (vector width) are called packed array.<br />
<source lang=verilog><br />
bit [7:0] c1;<br />
</source><br />
<br />
=== unpacked array ===<br />
The dimensions declared after the object name (array size) are called unpacked array.<br />
<source lang=verilog><br />
real u [7:0];<br />
</source><br />
<br />
=== mixed ===<br />
Mixed versions are also used (array of registers).<br />
<source lang=verilog><br />
reg [7:0] r1 [1:256]; // [7:0] packed, [1:256] unpacked<br />
</source><br />
<br />
== Escape sequences for format specifications ==<br />
{| class=wikitable<br />
|-<br />
| %h, %H, %x, %X || FORMAT hexadezimal<br />
|-<br />
| %d, %D || FORMAT decimal<br />
|-<br />
| %o, %D || FORMAT octal<br />
|-<br />
| %b, %B || FORMAT binary<br />
|-<br />
| %c, %C || FORMAT ASCI character<br />
|-<br />
| %l, %L || library binding information<br />
|-<br />
| %v, %V || net signal strength<br />
|-<br />
| %m, %M || hierarchical name<br />
|-<br />
| %p, %P || assignment pattern<br />
|-<br />
| %s, %S || FORMAT string<br />
|-<br />
| %t, %T || FORMAT current time<br />
|-<br />
| %u, %U || FORMAT unformatted 2-state value<br />
|-<br />
| %z, %Z || FORMAT unformatted 4-state value<br />
|-<br />
|}<br />
<br />
== Task vs. Function ==<br />
{|class=wikitable<br />
|-<br />
|'''Task'''||'''Function'''<br />
|-<br />
|can consume simulation time<br>(posedge, negedge, # delay)||should be executed in "zero" time delay<br />
|-<br />
|many inputs and outputs||many inputs, one output<br />
|-<br />
|return no value||return a value (with ''return'' or by assigning a value to the name of the function, whereas the return function has priority)<br />
|-<br />
|used for modeling combinational and/or sequential logic||used for modeling combinational logic<br />
|-<br />
|can call other tasks or functions||can call other functions<br />
|-<br />
|}<br />
<br />
see also<br />
* [http://www.asic-world.com/verilog/task_func.html ASIC World Verilog Task and Function]<br />
* [http://www.asic-world.com/systemverilog/task_function.html ASIC World SystemVerilog Task andFunction]<br />
<br />
== FORK...JOIN ==<br />
{|class=wikitable<br />
|-<br />
|'''Option'''||'''Description'''<br />
|-<br />
|join ||The parent process blocks until all the processes spawned by this fork complete.<br />
|-<br />
|join_any ||The parent process blocks until any one of the processes spawned by this fork complete.<br />
|-<br />
|join_none ||The parent process continues to execute concurrently with all the processes spawned by the fork. The spawned processes do not start executing until the parent thread executes a blocking statement.<br />
|-<br />
|}<br />
<br />
== DPI ==<br />
* [http://en.wikipedia.org/wiki/Direct_Programming_Interface wikipedia Direct Programming Interface]<br />
* [http://www.project-veripage.com/dpi_tutorial_1.php Project VeriPage SystemVerilog DPI Tutorial]<br />
<br />
== OOP ==<br />
<br />
This chapter serves as a short reminder of OOP concepts used in SV. For a complete overview it is advised to read Section 10 and 11 of the SV 3.1 LRM.<br />
<br />
=== Local ===<br />
<br />
A variable or a function/task in a class defined as ''local'', called ''private'' in C++, is available only to methods inside the class and not visible outside this class, not even within child classes.<br />
<br />
=== Protected ===<br />
Same as ''local'' but visible to child classes. Can therefore be inherited.<br />
<br />
=== Static ===<br />
<br />
==== variable ====<br />
A ''static'' variable exists only once. All instances of this class share the same variable. Furthermore memory is allocated once on instantiation and never deallocated, contrary to ''automatic'' variables, who are allocated on entry of a task/function/block and deallocated on exit.<br />
<br />
''Static'' class properties can even be used without an object of this type.<br />
<br />
==== function/task ====<br />
A ''static'' function/task can only access other ''static'' functions/tasks or variables.<br />
<br />
''Static'' functions/tasks can be called outside the class without class instantiation.<br />
<br />
=== Polymorphism ===<br />
<br />
==== virtual ====<br />
An object of a class can be cast as one of the parent class. If now a function/task of the object is called, it is unclear if the function of the parent class or the function of the child class should be executed. When the function is declared as ''virtual'', always the function/task of the child class is executed.<br />
This is useful in the following example: when a function/task on a list of objects of different child classes or the parent class is executed, always the function of the corresponding class is executed.<br />
An other way to explain virtuality, is to state that a virtual method overwrites all parent methods, whereas an ordinary method only overrides the method in the current class and in it's children. <br />
<br />
A class containing one or more ''virtual'' functions/methods has to be declared ''virtual'' too.<br />
<br />
===== pure =====<br />
A ''pure virtual'' function/task is required to be implemented by a derived class, they typically have only a declaration and no implementation.<br />
A class containing one or more ''pure virtual'' functions/methods is called abstract.<br />
<br />
Please refer also to the corresponding article on [http://en.wikipedia.org/wiki/Virtual_method#Abstract_classes_and_pure_virtual_functions wikipedia].<br />
<br />
== Modularity ==<br />
<br />
=== Interface ===<br />
Groups related wires, along with their directions (via [wiki:OpenVerificationMethodology#Modport modports]) and synchronization details (via [wiki:OpenVerificationMethodology#ClockingBlock clocking block]). The major usage of interface is to simplify the connection between modules.<br />
<br />
==== Modport ====<br />
Modports are used for specifing the direction of the signals with respect to various modules the interface connects to. Directions of signals are specified as seen from the module.<br />
<br />
<source lang=verilog><br />
interface my_intf;<br />
wire x, y, z;<br />
modport master (inout a, input x, y, output z);<br />
modport slave (inout a, output x, y, input z);<br />
endinterface<br />
</source><br />
<br />
==== Clocking Block ====<br />
identifies clock signals, and captures the timing and synchronization requirements of the blocks being modeled. A clocking block assembles signals that are synchronous to a particular clock, and makes their timing explicit.<br />
<br />
If an input skew is specified then the signal is sampled at skew time units before the clock event. If output skew is specified, then output (or inout) signals are driven skew time units after the corresponding clock event.<br />
<br />
|| #d || The skew is d time units. The time unit depends on the timescale of the block. ||<br />
|| #dns || The skew is d nano seconds. ||<br />
|| #1step || Sampling is done just before the clock. ||<br />
<br />
<source lang=verilog><br />
clocking cb @(posedge clk);<br />
default input #1step;<br />
default output #1;<br />
input x,y;<br />
output z;<br />
endclocking : cb<br />
<br />
modport master(clocking cb);<br />
</source><br />
<br />
[[Category:Languages]]<br />
[[Category:SystemVerilog]]</div>Zas