<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>liveasic.com Blog</title>
	<atom:link href="http://liveasic.com/blog/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://liveasic.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 11 Nov 2009 14:38:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>System Verilog 1 &#8216;TimeScale&#8217;</title>
		<link>http://liveasic.com/blog/2009/11/11/system-verilog-1-timescale/</link>
		<comments>http://liveasic.com/blog/2009/11/11/system-verilog-1-timescale/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 14:38:09 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog]]></category>
		<category><![CDATA[Verification Languages]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=66</guid>
		<description><![CDATA[In this edit, lets see the advancement is System Verilog over traditional Verilog as for as timescale is concerned.
In verilog lets see how a clock is implemented.
reg clock;
initial clock &#60;= 1&#8242;b0;
forever #10 clock &#60;= ~clock;
In the above example what is the frequency of the clock generated????
The answer is not readily available since it depends on [...]]]></description>
			<content:encoded><![CDATA[<p>In this edit, lets see the advancement is System Verilog over traditional Verilog as for as timescale is concerned.</p>
<p style="padding-left: 30px;">In verilog lets see how a clock is implemented.</p>
<p style="padding-left: 60px;"><span style="color: #888888;">reg </span>clock;</p>
<p style="padding-left: 60px;"><span style="color: #888888;">initial </span>clock &lt;= 1&#8242;b0;<br />
<span style="color: #888888;">forever </span>#10 clock &lt;= ~clock;</p>
<p style="padding-left: 30px;">In the above example what is the frequency of the clock generated????<br />
The answer is not readily available since it depends on more factors. It depends on the `timescale directive.</p>
<p style="padding-left: 60px; ">`<span style="color: #888888;">timescale </span>1ns/10ps</p>
<p style="padding-left: 30px; ">The problem with depending on a compiler directive <span style="color: #888888;">timescale </span>is that, compiler directives are influenced by the compile order of the source code.</p>
<p style="padding-left: 30px; ">
<p style="padding-left: 30px; ">This issue has been pretty well fixed in System Verilog. In SV we can specify timescale and precision for each module and much more importantly its not a compiler directive.<br />
These are implemented as declarative statements.</p>
<p style="padding-left: 60px; "><span style="color: #888888;">timeunits </span>1ns;<br />
<span style="color: #888888;">timeprecision </span>10ps;</p>
<p style="padding-left: 30px; ">The units specified for <span style="color: #888888;">timeunits</span> and <span style="color: #888888;">timeprecision <span style="color: #000000;">can be</span></span></p>
<p style="padding-left: 60px; "><span style="color: #888888;"><span style="color: #000000;"> s &#8211; seconds<br />
ms &#8211; milliseconds<br />
ns &#8211; nanoseconds<br />
ps &#8211; picoseconds<br />
fs &#8211; femtoseconds</span></span></p>
<p style="padding-left: 30px; "><span style="color: #888888;"><span style="color: #000000;">There is one more option available is SV, you can even specify the timeunits in the clock declartion as below:</span></span></p>
<p style="padding-left: 60px;"><span style="color: #888888;">reg </span>clock;</p>
<p style="padding-left: 60px;"><span style="color: #888888;">initial </span>clock &lt;= 1&#8242;b0;<br />
<span style="color: #888888;">forever </span>#10ns clock &lt;= ~clock;</p>
<p style="padding-left: 30px; "><span style="color: #888888;"><span style="color: #000000;"> Here we see that we can directly say #1ons as the clock period.</span></span></p>
<p style="padding-left: 30px; "><span style="color: #888888;"><span style="color: #000000;"><br />
</span></span></p>
<p style="padding-left: 60px; "><span style="color: #888888;"><span style="color: #000000;"> </span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/11/11/system-verilog-1-timescale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Verilog and OVM Links &#8230; 2 (TLM)</title>
		<link>http://liveasic.com/blog/2009/11/03/system-verilog-and-ovm-links-2-tlm/</link>
		<comments>http://liveasic.com/blog/2009/11/03/system-verilog-and-ovm-links-2-tlm/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 12:26:09 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=61</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/3b5xGfnM9XY" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/3b5xGfnM9XY"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/11/03/system-verilog-and-ovm-links-2-tlm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Verilog VMM and OVM links &#8230; 1</title>
		<link>http://liveasic.com/blog/2009/11/03/system-verilog-vmm-and-ovm-links-1/</link>
		<comments>http://liveasic.com/blog/2009/11/03/system-verilog-vmm-and-ovm-links-1/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 12:19:48 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=56</guid>
		<description><![CDATA[A good VMM and OVM link with short intro...]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/d0RZCZ4phWw" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/d0RZCZ4phWw"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/11/03/system-verilog-vmm-and-ovm-links-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Verilog Assertions &#8211; Tutorial 3</title>
		<link>http://liveasic.com/blog/2009/10/24/system-verilog-assertions-tutorial-3/</link>
		<comments>http://liveasic.com/blog/2009/10/24/system-verilog-assertions-tutorial-3/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 13:42:26 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog Assertions]]></category>
		<category><![CDATA[ABV]]></category>
		<category><![CDATA[Assertion Based Verification]]></category>
		<category><![CDATA[SVA]]></category>
		<category><![CDATA[System Verilog]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=50</guid>
		<description><![CDATA[Lets look at the basic syntax of a system verilog assertion. 
Assertion_Label: assert property (@(&#60;clocking&#62;) &#60;filter&#62; &#60;expression&#62; );
The above syntax represented in a example is as follows.
req_grant_check: assert property (@(posedge clk) disable iff (rst_n) ($rose(req &#124;=&#62; ##[1:3] gnt));
Splitting the example into language fields:
   Assertion_Label: req_grant_check
   clocking               : posedge clk
   [...]]]></description>
			<content:encoded><![CDATA[<p>Lets look at the basic syntax of a system verilog assertion. </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Assertion_Label: assert property (@(&lt;clocking&gt;) &lt;filter&gt; &lt;expression&gt; );</span></p>
<p>The above syntax represented in a example is as follows.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">req_grant_check: assert property (@(posedge clk) disable iff (rst_n) ($rose(req |=&gt; ##[1:3] gnt));</span></p>
<p>Splitting the example into language fields:<br />
   Assertion_Label: req_grant_check<br />
   clocking               : posedge clk<br />
   filter                      : disable iff (!rst_n)<br />
   expression          : ($rose(req |=&gt; ##[1:3] gnt)</p>
<p>The assertion label is used to differentiate the different assertions.<br />
Clocking is the clock or trigger on which the assertion should be evaluated. The assertion is triggered and evaluated on this.<br />
Filter is the condition on which the checking can be skipped. In this case we are skipping  when the reset is asserted and checking is enabled only when out of reset, Any boolean expression can be used as filter. Please note &#8216;iff&#8217; is the syntax for filtering, and is not &#8216;if&#8217;.<br />
Expression is the actual check that has be executed. In this case we are checking that grant should be asserted within three clocks of assertion of request.</p>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/10/24/system-verilog-assertions-tutorial-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Verilog Assertions Tutorial &#8211; 2</title>
		<link>http://liveasic.com/blog/2009/10/20/system-verilog-assertions-tutorial-2/</link>
		<comments>http://liveasic.com/blog/2009/10/20/system-verilog-assertions-tutorial-2/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 05:54:51 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog Assertions]]></category>
		<category><![CDATA[ABV]]></category>
		<category><![CDATA[Assertion Based Verification]]></category>
		<category><![CDATA[Assertions]]></category>
		<category><![CDATA[SVA]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=36</guid>
		<description><![CDATA[ 
SEQUENCES
 
Properties can be created based on a single event or a sequence of events. The sequence of events are distributed over time. The sequence can be defined as follows.
 
Within 3 clocks from assertion of frame_ , the device is expected to claim the transfer by asserting devsel_. This can be represented using sequences as follows. [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;">SEQUENCES</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Properties can be created based on a single event or a sequence of events. The sequence of events are distributed over time. The sequence can be defined as follows.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Within 3 clocks from assertion of frame_ , the device is expected to claim the transfer by asserting devsel_. This can be represented using sequences as follows. The intent of this example is only to demonstrate a basic sequence. In future examples we will see complex usage of sequences.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 12.0px 0.0px; font: 12.0px Courier; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>   sequence frame_assert<br />
       $fall(!frame_);<br />
   endsequence<br />
   sequence device_sel<br />
      ##[1:3] $fall(devsel_);<br />
   endsequence</strong></span></p>
<p style="margin: 0.0px 0.0px 12.0px 0.0px; font: 12.0px Courier; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>   property transfer_init;<br />
      @(posedge clk) frame_assert |-&gt; device_sel;<br />
   endproperty</strong></span></p>
<p style="margin: 0.0px 0.0px 12.0px 0.0px; font: 12.0px Courier; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>   assert property (transfer_init);</strong></span></p>
<div><strong><br />
</strong></div>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">Assertions are classified as<br />
<span style="white-space: pre;"> </span></span></p>
<ul>
<li>Concurrent Assertions</li>
<li>Immediate Assertions</li>
</ul>
<p>       <span style="font-family: Helvetica; line-height: normal;">Concurrent assertions are clock cycle based, whereas Immediate assertions are event based. </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">e.g. 1. PCI parity error assertion. If parity errors are seen error should be flagged.</span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>//Concurrent assertion example</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>pci_error_chk: assert property (@(posedge clk) perr);</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99; min-height: 14.0px;"><span style="letter-spacing: 0.0px;"><strong> </strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>//Immediate assertion example</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>always_comb</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>begin</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>   pci_error2_chk: assert (perr);</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica; color: #002d99;"><span style="letter-spacing: 0.0px;"><strong>end</strong></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">As shown in the above code examples, the first property pci_error_chk is evaluated every posedge of clock. It is a declarative piece of code. </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; text-indent: 21.2px; font: 12.0px Helvetica;"><span style="letter-spacing: 0.0px;">The second property pci_error2_chk is evaluated as soon as there is a change in value of perr, and is used as procedural coding in a always block.</span></p>
<div style="text-indent: 21px;"><span style="font-family: Helvetica; line-height: normal;"><br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/10/20/system-verilog-assertions-tutorial-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Verilog Assertions Tutorial &#8211; 1</title>
		<link>http://liveasic.com/blog/2009/10/19/system-verilog-assertions-tutorial-1/</link>
		<comments>http://liveasic.com/blog/2009/10/19/system-verilog-assertions-tutorial-1/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 13:04:54 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog Assertions]]></category>
		<category><![CDATA[ABV]]></category>
		<category><![CDATA[Assertion Based Verification]]></category>
		<category><![CDATA[Assertions]]></category>
		<category><![CDATA[SVA]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Verification]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=24</guid>
		<description><![CDATA[ 
Assertion
 
An assertion is a property description. This property is being continuously evaluated in the course of simulation and if the property is not satisfied at any instant of time the assertion fails. Assertions are not a new feature and can be viewed as a monitor or checker that used to be written in Verilog using [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica Neue;"> </p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica Neue;"><span style="letter-spacing: 0.0px;"><strong>Assertion</strong></span></p>
<p style="margin: 0.0px 0.0px 15.0px 0.0px; font: 12.0px Helvetica Neue Light; min-height: 15.0px;"><span style="letter-spacing: 0.0px;"> </span></p>
<p style="margin: 0.0px 0.0px 15.0px 0.0px; font: 12.0px Helvetica Neue Light;"><span style="letter-spacing: 0.0px;">An assertion is a property description. This property is being continuously evaluated in the course of simulation and if the property is not satisfied at any instant of time the assertion fails. Assertions are not a new feature and can be viewed as a monitor or checker that used to be written in Verilog using procedural code. Assertion based languages and PSL (Property Specification Language) SVA (System Verilog Assertions) provide better language constructs developed specifically for property checking. These eliminate some of the difficulties encountered when using a procedural code like verilog.</span></p>
<p style="margin: 0.0px 0.0px 15.0px 0.0px; font: 12.0px Helvetica Neue Light;"><span style="letter-spacing: 0.0px;">SVA is declartive code and meant specifically for property checking. Lets look at an example temporal check.<br />
e.g. 1. Arbiter<br />
<span style="white-space: pre;"> </span>The request to the arbiter is asserted on the posedge of the clock. The grant should be asserted within a maximum of 60 clocks. If the particular device doesnt get a grant within 50 clocks then the arbiter logic fails.<br />
</span></p>
<p style="margin: 0.0px 0.0px 15.0px 0.0px; font: 12.0px Helvetica Neue; color: #200063;"><span style="letter-spacing: 0.0px;"><strong>req_grant_checker_devA:<br />
<span style="white-space: pre;"> </span>assert propery (@(posedge clk) $rose(req) | -&gt; ##[1:50] $rose(grant));</strong></span></p>
<p style="margin: 0.0px 0.0px 15.0px 0.0px; font: 12.0px Helvetica Neue Light;"><span style="letter-spacing: 0.0px;">The same checker written in procedural verilog could have ended up very verbose.</span></p>
<p style="margin: 0.0px 0.0px 15.0px 0.0px; font: 12.0px Helvetica Neue Light;"><span style="letter-spacing: 0.0px;">Having learnt what is the advantage of assertion based verification, lets get into details of the language in future tutorials. Happy Blogging.</span></p>
<div><span style="font-family: 'Helvetica Neue Light'; line-height: normal;"><br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/10/19/system-verilog-assertions-tutorial-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>System Verilog, An intro to the tutorials in store</title>
		<link>http://liveasic.com/blog/2009/10/19/system-verilog-an-intro-to-the-tutorials-in-store/</link>
		<comments>http://liveasic.com/blog/2009/10/19/system-verilog-an-intro-to-the-tutorials-in-store/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 11:57:23 +0000</pubDate>
		<dc:creator>lasic</dc:creator>
				<category><![CDATA[System Verilog]]></category>
		<category><![CDATA[Verification Languages]]></category>
		<category><![CDATA[ASIC]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[HVL]]></category>
		<category><![CDATA[SOC]]></category>
		<category><![CDATA[Specman]]></category>
		<category><![CDATA[System Bus]]></category>
		<category><![CDATA[Verification]]></category>
		<category><![CDATA[Verilog]]></category>
		<category><![CDATA[VHDL]]></category>

		<guid isPermaLink="false">http://liveasic.com/blog/?p=15</guid>
		<description><![CDATA[An Introduction to System Verilog listing the new features that differentiate it from Verilog.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">System Verilog is the world&#8217;s first HDVL (Hardware Design Verification Language).<br />
The other languages like &#8216;e&#8217; and &#8216;Vera&#8217; have been HVLs (Hardware Verification Languages.</p>
<p>System Verilog has features for</p>
<ul>
<li>RTL Design     </li>
<li>Assertions     </li>
<li>Verification</li>
</ul>
<p>System Verilog has evolved borrowing features and aspects from</p>
<ul>
<li>Verilog</li>
<li>Superlog</li>
<li>VHDL</li>
<li>PSL (Property Specification Language)     </li>
<li>C     </li>
<li>Vera</li>
</ul>
<p> <br />
In the series of tutorials that we plan to publish, we will see the features of System Verilog including but not limited to    </p>
<ul>
<li>Data Types     </li>
<li>Enum, struct, union, typedef     </li>
<li>Packed and unpacked arrays/structs     </li>
<li>Packages     </li>
<li>Multidimensional Arrays     </li>
<li>Strings     </li>
<li>Dynamic Arrays     </li>
<li>Associative Arrays</li>
<li>Classes with single inheritance     </li>
<li>Constraints     </li>
</ul>
<p>Control and Procedural Statements        </p>
<ol>
<li>if, case         </li>
<li>for, foreach, while, do while, </li>
<li>repeat, forever         </li>
<li>break, continue, return     </li>
</ol>
<ul>
<li>Functions and Procedures     </li>
<li>Fork, suspend, kill, wait, disable     </li>
<li>DPI (Direct Programming Interface)     </li>
<li>always_ff     always_latch     always_comb     </li>
<li>Interfaces, Virtual Interaces, Advanced interfaces     </li>
<li>Semaphore, Mailbox, Enhanced Events</li>
<li>Queues, Linked List     </li>
<li>Constraint Randomization     </li>
<li>Functional Coverage (covergroups, coverpoints)</li>
</ul>
<p>We will go into detailed examples discussing all these features in the coming days. Happy Blogging.</p>
]]></content:encoded>
			<wfw:commentRss>http://liveasic.com/blog/2009/10/19/system-verilog-an-intro-to-the-tutorials-in-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.422 seconds -->
