<?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; Verification</title>
	<atom:link href="http://liveasic.com/blog/index.php/tag/verification/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 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.292 seconds -->
