<?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 &#187; System Verilog</title>
	<atom:link href="http://liveasic.com/blog/index.php/tag/system-verilog/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 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, 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.297 seconds -->
