<?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"
	>

<channel>
	<title>Verification Vertigo</title>
	<atom:link href="http://www.chipdesignmag.com/bailey/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.chipdesignmag.com/bailey</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Tue, 19 Aug 2008 17:24:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Flexibility is a key talent</title>
		<link>http://www.chipdesignmag.com/bailey/2008/08/19/flexibility-is-a-key-talent/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/08/19/flexibility-is-a-key-talent/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 17:22:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Topical]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=14</guid>
		<description><![CDATA[
 
I have just returned from England, where I helped my parents celebrate their 60th wedding anniversary – an event where even the Queen sends them a congratulatory card.

Just a little under a year ago, I helped them move from the house they had lived in for 50 years, the one in which I had [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">
<p><span> </span></p>
<p>I have just returned from England, where I helped my parents celebrate their 60<sup>th</sup> wedding anniversary – an event where even the Queen sends them a congratulatory card.</p>
<p class="MsoNormal"><a href="http://www.chipdesignmag.com/bailey/wp-content/uploads/2008/08/60th.jpg"><img class="alignnone size-medium wp-image-15" title="60th" src="http://www.chipdesignmag.com/bailey/wp-content/uploads/2008/08/60th-296x300.jpg" alt="Married for 60 years" width="296" height="300" /></a></p>
<p class="MsoNormal">Just a little under a year ago, I helped them move from the house they had lived in for 50 years, the one in which I had gown up, into a retirement community half way across the country. They have both survived significant medical problems including cancer and diabetes and now at 86, they are fully enjoying life. Apart from wanting to write about my parents, I think it also leaves some lessons to us. They are not the same people they were when they first met. They have seen war, and many changes – including me – God bless them. During that time, they have learned what works and what doesn’t, but perhaps more than anything else they have adapted and changed.</p>
<p>Functional verification is still a baby in comparison, and I am not sure it has seen quite the same disturbances that one can expect in life. Still, there have been some large discontinuities and these are often the times when the real leaders distinguish themselves from the rest. They are the ones who are not scared to face the change, to take on the new challenges. I admit there have been times when I have wanted to continue on the safe path, even though deep down I know it is wrong, but I am glad that at the end of the day, I think I have usually done the right thing. I take courage and pride in my parents for making those same choices and I hope they can be an inspiration to all of us to continue to adapt and change.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/08/19/flexibility-is-a-key-talent/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Slow, Cumbersome and Incomplete</title>
		<link>http://www.chipdesignmag.com/bailey/2008/08/11/13/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/08/11/13/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 14:01:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Topical]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=13</guid>
		<description><![CDATA[With the recent announcement of nVidia purchasing rights to use the Transmeta power optimizing portfolio of patents I though it was time to talk about the problems of low power and verification. A recent book by Synopsys and ARM was disappointing in that it really did not address this issue at all, just saying that [...]]]></description>
			<content:encoded><![CDATA[<p>With the <a title="nVidia anouncment" href="[http://news.cnet.com/8301-13924_3-10009604-64.html]" target="_blank">recent announcement</a> of nVidia purchasing rights to use the Transmeta power optimizing portfolio of patents I though it was time to talk about the problems of low power and verification. A recent book by Synopsys and ARM was disappointing in that it really did not address this issue at all, just saying that the addition of low power technology makes verification more difficult. Thanks guys - big help! [Keating, Flynn, Aitken, Gibbons and Shi. Low Power Methodology Manual for System-on-Chip Design. Springer 2007]. In a <a title="Freescale - Cadence paper" href="http://www.cadence.com/rl/Resources/conference_papers/itp_cdnlivesv2007_bamford.pdf" target="_blank">paper </a>by Freescale and Cadence they discuss the problems of RTL verification and conclude:</p>
<p class="Default"><span style="color: #000000;"> </span></p>
<p class="Default" style="margin: 0in 0.5in 0.0001pt;"><span style="color: #000000;"><span> </span>“While it is possible to use ad-hoc methods to verify these design elements, the methods are often far from ideal and can be slow, cumbersome and incomplete. “</span></p>
<p class="Default" style="margin: 0in 0.5in 0.0001pt;"><span style="color: #000000;"> </span></p>
<p class="Default"><span style="color: #000000;">More recently, Synopsys announced a new product that brings voltage awareness to the verification problem. They say:</span></p>
<p class="Default"><span style="color: #000000;"> </span></p>
<p class="Default" style="margin: 0in 0.5in 0.0001pt;"><span style="color: #000000;">“MVSIM co-simulates with VCS. VCS performs functional simulation of the logic elements and MVSIM simulates the power-management functions within a design. The result is a completely verified power-managed design.”</span></p>
<p class="Default"><span style="color: #000000;"> </span></p>
<p class="Default"><span style="color: #000000;">They also have a multi-voltage extension to their formal rule checker.</span></p>
<p class="Default"><span style="color: #000000;"> </span></p>
<p class="Default"><span style="color: #000000;">Power management verification consists of a number of different areas, such as correct level shifters and isolation logic, that all design instances are connected to the correct supply, that the correct registers are preserving state during power down, and many other aspects. One of the things necessary is a way to specify power management functions so that tools can automate the process of including the right data in the simulations. I am not talking about just the gate level, but the higher levels of abstraction so that proper architectural tradeoffs can be considered and verified long before the actual implementation. The HDLs really do not include any constructs to describe power.</span></p>
<p class="Default"><span style="color: #000000;"> </span></p>
<p class="Default"><span style="color: #000000;">Synopsys also <a title="Synopsys announcement" href="http://www.eetimes.com/news/design/showArticle.jhtml?articleID=209602120" target="_blank">announced </a>some low power assertion technology recently. While this does not verify the power management intent, it does check that an implementation implement what is necessary. For example, if a region is meant to be powered down, then none of the clocks in that region should be active </span></p>
<p class="Default"><span style="color: #000000;"> </span></p>
<p>At this years DVCon – two sessions existed on the subject of low-power verification, a testament to how important this topic is becoming. With its awareness growing, I hope it is not long before someone comes up with a way to describe power-intent and then I would have more hope that this issue will receive some real solutions. Until then it will be – in the words of Cadence – slow, cumbersome and incomplete.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/08/11/13/feed/</wfw:commentRss>
		</item>
		<item>
		<title>When is the time right?</title>
		<link>http://www.chipdesignmag.com/bailey/2008/07/31/when-is-the-time-right/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/07/31/when-is-the-time-right/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 16:04:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Standards]]></category>

		<category><![CDATA[background]]></category>

		<category><![CDATA[coverage]]></category>

		<category><![CDATA[error]]></category>

		<category><![CDATA[fault]]></category>

		<category><![CDATA[formal]]></category>

		<category><![CDATA[model]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=12</guid>
		<description><![CDATA[ Most of the time, standards get created after the EDA industry knows what it wants. This is either because a defacto standard has already emerged, or the industry has enough knowledge to be confident in the solution it is creating. In other cases, such as the recent developments in the Unified Coverage Interoperability group [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:UseFELayout /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> Most of the time, standards get created after the EDA industry knows what it wants. This is either because a defacto standard has already emerged, or the industry has enough knowledge to be confident in the solution it is creating. In other cases, such as the recent developments in the Unified Coverage Interoperability group within Accellera, it happens because users demand it. But there are times when a new technology is emerging and interested parties need to be brought together, with the view to formulating something that will serve the needs of many people, and create a foundation for the accelerated adoption of a technology. What I am referring to is the creation of a standard fault model for HDL models.</p>
<p class="MsoNormal">
<p class="MsoNormal">Let me digress for a while. It is important to understand the difference between an error model and a fault model. Think back to the days of manufacturing test, before SCAN and other such techniques. We needed a set of vectors that would ensure that all faults in the device would be activated and propagated to an output where a comparison could be made. If a particular chip or board produced results different from the reference, then the part was deemed bad. A typical problem in a chip or board would either be an open circuit or a short circuit between two points. However, a fault model called the <em>stuck at</em> model was adopted. It said that if every wire was tied first the ground rail and then the supply rail, and the vectors applied, that if we could detect all of those faults, then their was also a very good chance that we would be able to detect actual errors in the system. Thus the fault model was not the same as the error model, but a relationship had been established in terms of the quality of results.</p>
<p class="MsoNormal">
<p class="MsoNormal">OK, so back to the HDL world. There is a growing need to have a fault model for this higher level of abstraction. In a Design and Test article [1] this month, the authors called for a fault model to help them analyze transient faults in systems as the geometries get so small, that stray particles are likely to cause errors, or as parts age. In an <a title="SCDsource interview" href="http://www.scdsource.com/experts.php?id=282" target="_blank">interview</a> with Hana Chockler conducted by Richard Goering[2], Chockler called for the creation of a fault model to help in the creation of closure metrics for formal methods. The third part concerned, is a company called <a title="Certess home page" href="http://certess.com" target="_blank">Certess</a>[3] that has been using mutation based analysis to find weaknesses in verification environments, and some of their customers are asking for the fault model to be standardized.</p>
<p class="MsoNormal">
<p class="MsoNormal">So it seems to me that there are enough people working in the same area and direction to warrant an industry discussion on this subject. I wish there were a way and a forum that such industry discussion could happen without it inevitably leading to a standard, but rather an industry position paper or statement. In some regards I always thought that VSIA served in this role, and while it did produce standards, it was the industry discussion that it fostered that was perhaps even more important. It allowed an industry to come together and talk about their common problems and potential solutions. That is what we need here.</p>
<p class="MsoNormal">
<p class="MsoNormal">[1] - Austin, Bertacco, Mahlke and Cao. Reliable systems on Unreliable Fabrics. Design and Test. July/August 2008</p>
<p class="MsoNormal">[2] - Coverage metrics gain ground in formal verification. SCDsource July 31<sup>st</sup> 2008 <a href="http://www.scdsource.com/experts.php?id=282">http://www.scdsource.com/experts.php?id=282</a></p>
<p class="MsoNormal">[3] – Certess corporate website http://certess.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/07/31/when-is-the-time-right/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Positive and Negative Verification</title>
		<link>http://www.chipdesignmag.com/bailey/2008/07/21/positive-and-negative-verification/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/07/21/positive-and-negative-verification/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 03:12:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[background]]></category>

		<category><![CDATA[negative]]></category>

		<category><![CDATA[positive]]></category>

		<category><![CDATA[validation]]></category>

		<category><![CDATA[verification]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=11</guid>
		<description><![CDATA[ In a previous blog, I talked about the differences between verification and validation. What can confuse those definitions even more is when we start looking at verification in a hierarchical manner. This hierarchical process also brings in another fundamental distinction, namely that of positive and negative verification. In the book ESL Design and Verification [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:UseFELayout /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> <!--[if gte mso 10]></p>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<p><![endif]-->In a previous <a title="Verification Defined" href="http://www.chipdesignmag.com/bailey/2008/05/15/verification-defined/" target="_blank">blog</a>, I talked about the differences between verification and validation. What can confuse those definitions even more is when we start looking at verification in a hierarchical manner. This hierarchical process also brings in another fundamental distinction, namely that of positive and negative verification. In the book <a title="ESL Design and Verification Book" href="http://ElectronicSystemLevel.com" target="_blank"><em>ESL Design and Verification</em> </a> I defined those terms in this way.</p>
<p class="ESLNormal" style="padding-left: 30px;"><em>You either demonstrate or prove that a design performs a necessary task—positive verification—or you demonstrate or prove that bugs do not exist—negative verification. </em></p>
<p class="ESLNormal">This would appear to be similar to the distinction between verification and validation, except that we have to remember the principle source of the second model against which we are comparing the design. Assume for a moment, that an executable specification for the system exists. When we verify the specification, we are doing validation. When we are comparing an implementation against the specification, we are doing verification. In order to do implementation, we first have to break the specification down into smaller parts, unless the system was small enough to start off with. In addition, partitioning and mapping may also have been performed. As we break the spec down, there is a chance that errors will creep in, especially since there is an almost total lack of tools or automation to help with this task. So by the time we get to the block level, several such decompositions steps may have taken place. There is thus a finite chance that errors will have crept into the block specification, or that elements of the specification have been omitted.</p>
<p class="ESLNormal">So now if we verify an implementation against that derived specification, we could prove that all bugs have been eliminated, but that does not mean that when put into the context of the system that it will work. In other words we need to either verify a block in the context of the system, or we have to validate that the sub-specification was correct. This is true for all levels of verification and integration back up to the full system, when the definitions for positive, negative, verification and validation fall back inline with each other.</p>
<p class="ESLNormal">Positive verification demonstrates that a design requirement is met by verifying it against the original specification. Negative verification exposes any flaws in the implementation of a requirement and thus compares it against the local specification. Most methodologies in use today focus on negative verification because of their bottom-up nature.</p>
<p>When we consider designs that include a large amount of design IP, be it from third party companies or design components that are reused internally, this situation is magnified. When IP is being verified, it is not known exactly how it will be used, so all behaviours are verified equally. But, some or many of those behaviours may not be used in the design, potentially wasting verification time. Consider for a moment a design that is to be based on a platform. That platform is likely to contain many components such as processors, memories, peripherals and the logic necessary to integrate them both at the hardware and software levels. The platform manufacturer has hopefully performed a lot of verification on this platform so let us assume that it does indeed contain no bugs. Does this mean that all designs placed on that platform will operate correctly? If the platform matches every need of the design and in a way that has been correctly understood by the user of that platform then the answer should be yes. But there likely were a lot of assumptions and loose statements that qualified its application, and the reality is that there will be mismatches in what the platform provides and what is required. In a verification flow, we would thus still have to show that each feature required in the final product is indeed properly implemented when the system has been assembled.</p>
<p>However, we cannot rely solely on positive verification either because it suffers from the problem that if a new behaviour is added or changed—perhaps due to a software fix—you have not verified that it will operate correctly in the hardware. Given the truth to the adage “if it hasn&#8217;t been verified, then it does not work,” this presents a problem. Hence, a balance is needed. Positive verification is mainly employed in the sections preceding implementation verification: post-partitioning analysis and verification. Implementation verification is the time to apply negative verification and to show that the positive verification has not been broken by the transformation. By thinking of verification from both the positive and negative perspectives it becomes possible to better schedule some of the verification tasks. Features that are most vital to a product can and should be verified before effort is expended on less important features. This ensures that if time pressures force the chip to be released before verification is finished, those features most likely to cause problems have been adequately verified.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/07/21/positive-and-negative-verification/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Verification Wave</title>
		<link>http://www.chipdesignmag.com/bailey/2008/07/11/the-verification-wave/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/07/11/the-verification-wave/#comments</comments>
		<pubDate>Fri, 11 Jul 2008 13:43:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[background]]></category>

		<category><![CDATA[makimoto]]></category>

		<category><![CDATA[waveform languages]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=8</guid>
		<description><![CDATA[ 
Many things in our industry go in cycles. Perhaps the most famous of these is Makimoto’s wave which identifies the cyclic oscillation between standardized and customized semiconductors with a 10-year cycle.




An email exchange with one of my clients and an article in Mentor’s latest issue of Verification News reminded me of another wave in [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if !mso]></p>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<p><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:UseFELayout /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><!--[if !mso]><span class="mceItemObject"   classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></span></p>
<style>
st1\:*{behavior:url(#ieooui) }
</style>
<p><![endif]--> <!--[if gte mso 10]></p>
<style>
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-parent:"";
	mso-padding-alt:0in 5.4pt 0in 5.4pt;
	mso-para-margin:0in;
	mso-para-margin-bottom:.0001pt;
	mso-pagination:widow-orphan;
	font-size:10.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:#0400;
	mso-fareast-language:#0400;
	mso-bidi-language:#0400;}
</style>
<p><![endif]--></p>
<p class="MsoNormal">Many things in our industry go in cycles. Perhaps the most famous of these is Makimoto’s wave which identifies the cyclic oscillation between standardized and customized semiconductors with a 10-year cycle.</p>
<p class="MsoNormal"><a href="http://www.chipdesignmag.com/bailey/wp-content/uploads/2008/07/makimoto.jpg"><img class="alignnone size-medium wp-image-10" title="Makimoto\'s Wave" src="http://www.chipdesignmag.com/bailey/wp-content/uploads/2008/07/makimoto-300x168.jpg" alt="" width="300" height="168" /></a></p>
<p class="MsoNormal">
<p class="MsoNormal"><!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600"  o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f"  stroked="f"> <v:stroke joinstyle="miter" /> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0" /> <v:f eqn="sum @0 1 0" /> <v:f eqn="sum 0 0 @1" /> <v:f eqn="prod @2 1 2" /> <v:f eqn="prod @3 21600 pixelWidth" /> <v:f eqn="prod @3 21600 pixelHeight" /> <v:f eqn="sum @0 0 1" /> <v:f eqn="prod @6 1 2" /> <v:f eqn="prod @7 21600 pixelWidth" /> <v:f eqn="sum @8 21600 0" /> <v:f eqn="prod @7 21600 pixelHeight" /> <v:f eqn="sum @10 21600 0" /> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect" /> <o:lock v:ext="edit" aspectratio="t" /> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:412.5pt;  height:231.75pt'> <v:imagedata src="file:///C:\DOCUME~1\Brian\LOCALS~1\Temp\msohtml1\01\clip_image001.png" mce_src="file:///C:\DOCUME~1\Brian\LOCALS~1\Temp\msohtml1\01\clip_image001.png"   o:title="" /> </v:shape><![endif]--><!--[if !vml]--><!--[endif]--></p>
<p class="MsoNormal">
<p class="MsoNormal">An email exchange with one of my clients and an article in Mentor’s latest issue of Verification News reminded me of another wave in our industry. The subject matter is verification languages. In the early 80’s the waveform language was a separate and distinct language – at that time purely for defining stimulus sets by assigning values at specific times. More sophisticated languages emerged over the next few years that brought in behavioral programming constructs. Then along came Verilog and basically the design and verification languages merged into a single language. About 10 years later, with the introduction of Vera and Specman e, a new generation of separate languages emerged. Once these had reached their climax, they too were incorporated into the design language – SystemVerilog (Well sort of. They are still separate languages within a common syntactic shell).</p>
<p class="MsoNormal">
<p class="MsoNormal">We are now seeing the third generation of separate verification languages – those related to the new class of intelligent testbenches. From these graph based languages (that does not imply graphics, as one industry pundit believes), a condensed set of functional vectors can be generated that cover all possible behaviors. These languages are in essence the first form of executable specification that the industry has seen, and I can’t help thinking that these may someday also become the way in which we design systems – thus seeing the languages come together again.</p>
<p class="MsoNormal">
<p class="MsoNormal">As always your views and comments are welcomed.</p>
<p class="MsoNormal">
<p class="MsoNormal">Keeping you covered</p>
<p class="MsoNormal">Brian Bailey</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/07/11/the-verification-wave/feed/</wfw:commentRss>
		</item>
		<item>
		<title>EDA Standards</title>
		<link>http://www.chipdesignmag.com/bailey/2008/06/24/eda-standards/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/06/24/eda-standards/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:30:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Standards]]></category>

		<category><![CDATA[Accellera]]></category>

		<category><![CDATA[Add new tag]]></category>

		<category><![CDATA[OVM]]></category>

		<category><![CDATA[UCIS]]></category>

		<category><![CDATA[VMM]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=7</guid>
		<description><![CDATA[ For the EDA industry, standards are traditionally defined by the EDA companies. While end users often attend the first few meetings of a new standards venture, few of them have the time or inclination to spend the many hours it takes to work through the technical details or the politics. As a result, many [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> <w:UseFELayout /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--> For the EDA industry, standards are traditionally defined by the EDA companies. While end users often attend the first few meetings of a new standards venture, few of them have the time or inclination to spend the many hours it takes to work through the technical details or the politics. As a result, many of the standards end up being a compromise solution based on what the EDA companies know how to implement. There has recently been a big exception to this and the possibility of another coming. The current exception is the <a title="Unified Coverage" href="http://www.accellera.org/activities/ucis" target="_blank">Unified Coverage</a> group within <a href="http://accellera.org">Accellera</a>. After the EDA companies first refused to donate technology to satisfy the need, the user community took it up and continued to push forward with it. Now, a year later, the EDA companies realize that this was important to users and are willing to come back to the table. One for the user community.</p>
<p class="MsoNormal">
<p class="MsoNormal">At DAC, I had the pleasure to moderate a panel titled “OVM, VMM or roll your own”. This lively discussion centered around the needs of a verification methodology and the infrastructure to support it, with a view to making it extensible enough to last 5 or 10 years. One of the big issues that came up is the waste created by having two such competing infrastructures. I recommended at the end of the panel, that this is where users can and should make their voices heard. The users have the power and ability to decide on the fate of this industry struggle. Let your voices be heard and the EDA companies will listen eventually.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/06/24/eda-standards/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My theme for DAC was&#8230;</title>
		<link>http://www.chipdesignmag.com/bailey/2008/06/16/my-theme-for-dac-was/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/06/16/my-theme-for-dac-was/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 16:10:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[conferences]]></category>

		<category><![CDATA[Avery]]></category>

		<category><![CDATA[Breker]]></category>

		<category><![CDATA[intelligent]]></category>

		<category><![CDATA[Mentor Graphics]]></category>

		<category><![CDATA[NuSym]]></category>

		<category><![CDATA[testbench]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=6</guid>
		<description><![CDATA[Perhaps the most common question at DAC is “What did you find that was new and interesting?” I often wonder if this is because they had not found anything themselves and need some ideas, or that there is so much information flying around, that they have problems sorting out the wheat from the chaff. Of [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Perhaps the most common question at DAC is “What did you find that was new and interesting?” I often wonder if this is because they had not found anything themselves and need some ideas, or that there is so much information flying around, that they have problems sorting out the wheat from the chaff. Of course, there is a third possibility that there was nothing that was new and interesting within your field of interest. I have to admit that I have found myself in the same position some years, especially when the theme was in an area that was not central to my interests.</p>
<p class="MsoNormal">This year was easy for me. While DAC continues to short change verification, with almost all of the related sessions being pushed to Thursday afternoon, when most people are heading for home, the show floor was vibrant in the area of functional verification. The most notable for this year was the emergence of intelligent testbench tools. First I should define what I think they are before I talk about the options available.</p>
<p class="MsoNormal">An intelligent testbench can either replace or enhance existing simulation based or formal verification methodologies. Constrained random generation techniques manage to create huge quantities of stimulus, but at the end of the day they have difficulties both with closure (achieving the desired verification goals) and secondly with efficiency (huge server farms required). An intelligent testbench can help either by determining efficient stimulus sets or by finding ways to reach difficult to reach coverage points.</p>
<p class="MsoNormal">There were four tools on show at DAC this year, three of which are being shown for the first time. This number shows the need and the maturation of the technology necessary to implement them. Within those four entrants, they fell into two distinct classes, each of which had two examples. The first pair are those that work from a user created graph of the functionality. The two entrants in this field and inFact from Mentor Graphics and Trek from Breker Verification Systems, the only one that has appeared at DAC in the past. These tools derive the graph from the specification and thus have the ability to identify missing functionality in the design. On the downside, it requires the user to build the graph, which contrary to some peoples view does not imply graphics! The other two entrants create the graph from the design basically by performing simulation on the design and keeping track of the information required to create efficient paths through the design. While the way they do this is somewhat different, the end result is similar. The two entrants are from NuSym and from Avery. Both of these tools are in Beta testing at the moment. While they are based on the structure of the design, they require very small changes in the user environment, being able to make use of the existing testbenches.</p>
<p class="MsoNormal">I look forward to seeing all of these tools develop in the market, as the need for them is very real - especially as constrained random techniques begin to struggle with more complex designs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/06/16/my-theme-for-dac-was/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DAC for Verification</title>
		<link>http://www.chipdesignmag.com/bailey/2008/05/28/dac-for-verification/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/05/28/dac-for-verification/#comments</comments>
		<pubDate>Wed, 28 May 2008 19:39:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[conferences]]></category>

		<category><![CDATA[DAC]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=5</guid>
		<description><![CDATA[Here is my condensation about everything I know of going on at DAC this year that is related to verification. It includes the actual program, co-located events and the companies that will be exhibiting. If you know of anything missing from this list, please post it here as a comment. If you would like to [...]]]></description>
			<content:encoded><![CDATA[<p>Here is my condensation about everything I know of going on at DAC this year that is related to verification. It includes the actual program, co-located events and the companies that will be exhibiting. If you know of anything missing from this list, please post it here as a comment. If you would like to arrange a meeting with me at DAC, please do so quickly as my calender is filling up fast.</p>
<p class="MsoNormal"><span class="boldbr"><span style="font-size: 14pt;">DAC Program</span></span></p>
<p class="MsoNormal"><span class="boldbr">MONDAY - June 09, 2008</span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-141">HANDS-ON TUTORIAL: Elevating Confidence in Design IP Through Mutation-based Analysis Technology - Certess, Inc. / STMicroelectronics / Brian Bailey Consulting</a></p>
<p class="MsoNormal"><span class="text">9:00 AM - 12:00 PM / Room: 213D</span><span class="text"><br />
I will be presenting as part of this Hands-On session.</span></p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-211">What you Should Know about The Open Verification Methodology (OVM)</a><br />
<span class="text">10:50 AM - 11:30 AM Exhibitor Forum – Mentor Graphics</span></p>
<p class="MsoNormal">It may be vendor specific, but could provide some valuable information. Also see the Pavilion panel on Thursday.</p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-161">WORKSHOP: Beyond Syntax and Semantics: Industry Experiences with OVL/SVA/PSL</a><br />
<span class="text">1:00 PM - 5:15 PM / Room: 207D</span></p>
<p class="MsoNormal"><span class="boldbr">TUESDAY - June 10, 2008</span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-216">Accellera Technical Committee Update and Technical Excellence Award</a><br />
<span class="text">11:00 AM - 1:00 PM / Room: Exhibit Hall D, Booth2849</span></p>
<p class="MsoNormal">Sure to include some information on their newly formed Verification IP committee</p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-178">ADDITIONAL MEETING: Verification Luncheon </a><br />
<span class="text">12:00 PM - 2:00 PM / Room: Marriott-Ballroom E </span></p>
<p class="MsoNormal"><span class="text">Lunch is on Synopsys, but they are not providing much guidance on what they will be talking about.</span></p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-9">Session 9: Formal Verification Technology</a><br />
<span class="text">2:00 PM - 4:00 PM / Room: 208AB </span></p>
<p class="MsoNormal"><span class="text">This is about advancements in formal verification and attempts to make it more scalable</span></p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-15">Session 15: Experiences and Advances in Formal and Dynamic Verification </a><br />
<span class="text">4:30 PM - 6:00 PM / Room: 208AB</span></p>
<p class="MsoNormal">A mixed bag of technical papers</p>
<p class="MsoNormal"><span class="boldbr">WEDNESDAY - June 11, 2008</span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-30">Session 30: PANEL: Verifying Really Complex Systems: On Earth and Beyond</a><br />
<span class="text">2:00 PM - 4:00 PM / Room: 210CD </span></p>
<p class="MsoNormal"><span class="text">This could be an interesting insight into how people traditionally outside of the EDA world deal with verification. Speakers include ones from Boeing and NASA.</span></p>
<p class="MsoNormal"><span class="boldbr">THURSDAY - June 12, 2008</span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-111">PAVILION PANEL: Your Functional Verification Roadmap: OVM, VMM, or Roll Your Own? </a><br />
<span class="text">11:00 AM - 11:45 AM / Room: Booth #364 </span></p>
<p class="MsoNormal"><span class="text">This is a must be at event – why? – because yours truly is the moderator for this match up between the three competing verification methodologies</span></p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-44">Session 44: SPECIAL SESSION: Formal Verification: Dude or Dud? Experiences from the Trenches </a><br />
<span class="text">2:00 PM - 4:00 PM / Room: 207ABC </span></p>
<p class="MsoNormal"><span class="text">It seems that this is a staple of most conferences these days. Asking the question – will formal ever really get in gear? I think we all know the answer already. For certain designs it already has, for others there is little or no hope. Fit the right solution to the problem</span></p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-51">Session 51: Advances in Verification of Abstract (pre-RTL) Models</a><br />
<span class="text">4:30 PM - 6:00 PM / Room: 208AB</span></p>
<p class="MsoNormal"><span class="text">These papers discuss verification of SystemC and C++ models in a mix of formal and dynamic verification methods.</span></p>
<p class="MsoNormal"><span class="text"><span style="font-size: 14pt;">Co-located Events</span></span></p>
<p class="MsoNormal"><a href="http://svl1.cs.pdx.edu/memocode08/" target="_blank">6th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE) </a><br />
June 5-7, 2008</p>
<p class="MsoNormal"><a href="http://www.dac.com/events/eventdetails.aspx?id=77-216">7th Symposium on Electronic System-level Design with SystemC</a><br />
June 8-9, 2008</p>
<p class="MsoNormal"><span style="font-size: 14pt;">Additional Meetings</span></p>
<p class="MsoNormal"><span class="boldbr">MONDAY - June 09, 2008</span><span style="font-size: 14pt;"></span></p>
<p class="MsoNormal"><a href="http://www.greensocs.com/en/events/GreenSocsTutorial-DAC08">Writing Efficient TLM 2.0 Models with GreenSocs</a></p>
<p class="MsoNormal">9:00am to 10:30am – Hilton Hotel</p>
<p class="MsoNormal">
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-255">Doulos Solutions Workshop 1 with Cadence - &#8220;Migrating to OVM for Multi-language Verification-How to Enable VIP Inter-operability&#8221;</a><br />
<span class="text">12:15 PM - 2:00 PM / Room: 201A</span></p>
<p class="MsoNormal"><span class="boldbr">TUESDAY - June 10, 2008</span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-178">ADDITIONAL MEETING: Verification Luncheon </a><br />
<span class="text">12:00 PM - 2:00 PM / Room: Marriott-Ballroom E</span></p>
<p class="MsoNormal"><span class="boldbr">WEDNESDAY - June 11, 2008</span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-187">ADDITIONAL MEETING: Variation Robustness for Analog/Mixed-Signal, Custom Digital and Memory Design</a></p>
<p class="MsoNormal"><span class="text">9:00 AM - 10:00 AM / Room: Anaheim Hilton - El Capitan AB</span></p>
<p class="MsoNormal"><span class="text"></span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-181">ADDITIONAL MEETING: 6th Annual ESL Symposium - Finding the Common Ground on Successful ESL Methodologies: Views from Industry Experts</a></p>
<p class="MsoNormal"><span class="text">12:00 PM - 2:00 PM / Room: Ballroom E</span></p>
<p class="MsoNormal"><span class="text"></span><br />
<a href="http://www.dac.com/events/eventdetails.aspx?id=77-256">Doulos Solutions Workshop 2 with Mentor Graphics - &#8220;Getting Real with OVM, a True Open Source Verification Standard&#8221;</a><br />
<span class="text">12:15 PM - 2:00 PM / Room: 201A</span></p>
<p class="MsoNormal"><span class="text"><span style="font-size: 16pt;">Companies</span></span></p>
<p class="MsoNormal"><span class="text"><span style="font-size: 14pt;">New this year</span></span></p>
<p class="MsoNormal"><strong><span class="bold">Axilica Ltd.</span></strong><span class="text"></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1373</span></p>
<p class="MsoNormal"><span class="bold">High level modeling using UML. According to their write-up:</span></p>
<p class="MsoNormal"><em>With Axilica&#8217;s tool-set, designs can be simulated or immediately realised in hardware at any stage in the refinement process, whether it&#8217;s the rapid prototyping and partitioning of a high-level design, or the realisation of a complete hardware/software system-on-chip. The technology integrates with existing electronic design flows and also supports the generation of transaction-level models for high-speed simulation.</em></p>
<p class="MsoNormal"><span class="bold"><strong>Paradigm Works, Inc.</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2318</span></p>
<p class="MsoNormal"><span class="bold">While Paradigm works is hardly a new company, this is their first time at DAC. They provide design and verification services. During the course of their engagements, they have developed their own tools to help provide even more verification productivity.</span></p>
<p class="MsoNormal"><span class="bold"><strong>WinterLogic Inc.</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2767</span></p>
<p class="MsoNormal"><span class="bold">And I thought that fault simulation was a thing of the past! This company is providing a Verilog fault simulator that covers all levels of abstraction from transaction to transistor. Supports stuck-at faults, transition and bridging faults.</span></p>
<p class="MsoNormal"><span style="font-size: 14pt;">Been there before, but still new</span></p>
<p class="MsoNormal"><strong>Breker Verification Systems</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2741</span></p>
<p class="MsoNormal"><span class="bold">One of the new intelligent testbench companies based on the use of graphs for test creation.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Calypto Design Systems</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1354</span></p>
<p class="MsoNormal"><span class="bold">Sequential analysis leader enabling higher levels of equivalence checking.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Certess</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">324</span></p>
<p class="MsoNormal"><span class="bold">Mutation analysis and functional qualification provide an objective way to measure coverage and testbench quality.</span></p>
<p class="MsoNormal"><span class="bold"><strong>CoFluent Design</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">654</span></p>
<p class="MsoNormal"><span class="bold">An ESL modeling and simulation company.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Doulos</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2300</span></p>
<p class="MsoNormal"><span class="bold">Training on just about everything related to verification.</span></p>
<p class="MsoNormal"><strong>Imperas</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">467</span></p>
<p class="MsoNormal"><span class="bold">High performance virtual prototypes for software verification</span></p>
<p class="MsoNormal"><span class="bold"><strong>Instigate</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">770</span></p>
<p class="MsoNormal"><span class="bold">Provides HW/SW co-verification products</span></p>
<p class="MsoNormal"><span class="bold"><strong>Jasper Design Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2346</span></p>
<p class="MsoNormal"><span class="bold">A provider of formal verification and verification planning tools. Specializes in deep formal proving.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Jeda technologies</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2231</span></p>
<p class="MsoNormal"><span class="bold">Provides extensions to SystemC such as assertions and coverage.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Legend Design Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1733</span></p>
<p class="MsoNormal"><span class="bold">Spice simulator.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Liga Systems</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">300</span></p>
<p class="MsoNormal"><span class="bold">Accelerators for 3<sup>rd</sup> party commercial RTL simulators.</span></p>
<p class="MsoNormal"><strong>Mirabilis Design</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">778</span></p>
<p class="MsoNormal"><span class="bold">ESL analysis and simulation, including SystemC entry and execution. </span></p>
<p class="MsoNormal"><span class="bold"><strong>NuSym Technologies</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">379</span></p>
<p class="MsoNormal"><span class="bold">While they were at DAC last year, this is the first year that they have had a story to tell, having just come out of stealth mode. A new approach on the intelligent testbench story.</span></p>
<p class="MsoNormal"><span class="bold"><strong>OneSpin Solution</strong>s</span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">625</span></p>
<p class="MsoNormal"><span class="bold">RTL formal verification using SystemVerilog assertions</span></p>
<p class="MsoNormal"><span class="bold"><strong>ProDesign Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">344</span></p>
<p class="MsoNormal"><span class="bold">FPGA based simulation accelerator</span></p>
<p class="MsoNormal"><span class="bold"><strong>RealIntent</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2540</span></p>
<p class="MsoNormal"><span class="bold">Assertion based RTL formal verification</span></p>
<p class="MsoNormal"><span class="bold"><strong>SynFora</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">329</span></p>
<p class="MsoNormal"><span class="bold">ESL verification at untimed C level.</span></p>
<p class="MsoNormal"><span class="bold"><strong>VeriEZ Solutions</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1936</span></p>
<p class="MsoNormal"><span class="bold">Linters for SystemVerilog and OpenVera plus testbench translators.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Verific Design Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">655</span></p>
<p class="MsoNormal"><span class="bold">Language parsers<span> </span>for EDA tools</span></p>
<p class="MsoNormal"><span class="bold"><strong>Veritools</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1334</span></p>
<p class="MsoNormal"><span class="bold">RTL and below verification and analysis tools</span></p>
<p class="MsoNormal"><span class="bold"><strong>Xoomsys</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">310</span></p>
<p class="MsoNormal"><span class="bold">Distributed analog, mixed-signal simulation</span></p>
<p class="MsoNormal"><span style="font-size: 14pt;">Been around for a long time</span></p>
<p class="MsoNormal"><strong>Agilent Technologies</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1601</span></p>
<p class="MsoNormal"><span class="bold">If your into high frequency, then their EESof products are not going to be new to you.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Aldec</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1600</span></p>
<p class="MsoNormal"><span class="bold">Verilog and VHDL simulation along with a variety of other verification tools.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Ansoft Corp</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1301</span></p>
<p class="MsoNormal">Analog simulation, specializing in the simulation of multi-gigabit systems for optimization of channel performance.</p>
<p class="MsoNormal"><strong>Atrenta</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2327</span></p>
<p class="MsoNormal"><span class="bold">Formal analysis of designs looking for trouble spots</span></p>
<p class="MsoNormal"><span class="bold"><strong>Averant</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">834</span></p>
<p class="MsoNormal"><span class="bold">A formal verification company supporting </span>PSL, HPL, OVA, and OVL</p>
<p class="MsoNormal"><strong>Avery Design Systems</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">355</span></p>
<p class="MsoNormal"><span class="bold">Semi formal analysis for bug hunting and analysis and provider of VIP</span></p>
<p class="MsoNormal"><span class="bold"><strong>Axiom Design Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1471</span></p>
<p class="MsoNormal"><span class="bold">Multi-CPU simulation and verification tools and services</span></p>
<p class="MsoNormal"><strong><span class="bold">Berkeley</span></strong><span class="bold"><strong> Design Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2641</span></p>
<p class="MsoNormal"><span class="bold">Fast spice simulator provider.</span></p>
<p class="MsoNormal"><strong>Carbon Design Systems</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2467</span></p>
<p class="MsoNormal">They create high performance models from RTL implementation filling the gap in legacy models for system level virtual prototypes.</p>
<p class="MsoNormal"><strong>CoWare</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1625</span></p>
<p class="MsoNormal"><span class="bold">Platform driven ESL tool provider based on SystemC</span></p>
<p class="MsoNormal"><strong><span class="bold">Denali</span></strong><span class="bold"></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1611</span></p>
<p class="MsoNormal"><span class="bold">Provider of Verification IP</span></p>
<p class="MsoNormal"><span class="bold"><strong>Dini Group</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1528</span></p>
<p class="MsoNormal"><span class="bold">Provider of FPGA prototyping boards</span></p>
<p class="MsoNormal"><span class="bold"><strong>Dynalith</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1431</span></p>
<p class="MsoNormal"><span class="bold">Provider of<span> </span>behavioral emulation systems</span></p>
<p class="MsoNormal"><span class="bold"><strong>Magma Design Automation</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2349</span></p>
<p class="MsoNormal"><span class="bold">Gate, transistor and spice simulation</span></p>
<p class="MsoNormal"><span class="bold"><strong>The Mathworks</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">741</span></p>
<p class="MsoNormal"><span class="bold">ESL entry and simulation, especially dataflow. Links with 3<sup>rd</sup> party RTL simulation</span></p>
<p class="MsoNormal"><strong><span class="bold">Mentor</span></strong><span class="bold"><strong> Graphics</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">2301</span></p>
<p class="MsoNormal"><span class="bold">Full line EDA supplier with verification software all the way from ESL down to physical</span></p>
<p class="MsoNormal"><span class="bold"><strong>Nascentric</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1571</span></p>
<p class="MsoNormal"><span class="bold">Transistor level simulation.</span></p>
<p class="MsoNormal"><span class="bold"><strong>National Instruments</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">659</span></p>
<p class="MsoNormal"><span class="bold">An interesting coupling between the ESL and instrumentation world.</span></p>
<p class="MsoNormal"><span class="bold"><strong>Novas</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1300</span></p>
<p class="MsoNormal"><span class="bold">Design comprehension and analysis solutions</span></p>
<p class="MsoNormal"><strong>SimuCAD design automation</strong></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1140</span></p>
<p class="MsoNormal"><span class="bold">Analog, mixed-signal simulation</span></p>
<p class="MsoNormal"><span class="bold"><strong>Synopsys</strong></span></p>
<p class="MsoNormal">Booth Number(s):  <span class="bold">1349</span></p>
<p class="MsoNormal"><span class="bold">Full line verification supplier from the ESL level all the way down to physical. Their recent acquisition of Synplicity also adds prototyping to the mix.</span></p>
<p class="MsoNormal">I always like to get emails from people. brian_bailey at acm dot org</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/05/28/dac-for-verification/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Verification defined</title>
		<link>http://www.chipdesignmag.com/bailey/2008/05/15/verification-defined/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/05/15/verification-defined/#comments</comments>
		<pubDate>Thu, 15 May 2008 21:12:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[background]]></category>

		<category><![CDATA[definition]]></category>

		<category><![CDATA[validation]]></category>

		<category><![CDATA[verification]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=4</guid>
		<description><![CDATA[No blog on verification would be complete without a discussion about what verification actual is – and this is a subject that is near and dear to my heart. In discussions with EDA vendors and users, it is clear that they sometimes forget the fundamentals – and so I always include a small section about [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span lang="EN-GB">No blog on verification would be complete without a discussion about what verification actual is – and this is a subject that is near and dear to my heart. In discussions with EDA vendors and users, it is clear that they sometimes forget the fundamentals – and so I always include a small section about this in any talk that I give. It amazes me that people do not get tired of hearing me say this, and yet so far, nobody has thrown any rotten eggs (but that could be because I rarely do talks over meals).</span></p>
<p class="MsoNormal"><span lang="EN-GB">A great starting point are the IEEE definitions. While these definitions are long and wordy, I have yet to find any other definitions that are as complete and include everything that should be there. I wish I knew who to thank for these definitions, so if you know – please let me know so that I can send them my thanks.</span></p>
<p class="MsoNormal"><span lang="EN-GB">So without further ado, here is the definition for verification:</span></p>
<p class="MsoNormal" style="margin: 10pt 0.5in 0.0001pt;"><em><span lang="EN-GB">Confirmation by examination and provisions of objective evidence that specified requirements have been fulfilled.</span></em></p>
<p class="MsoNormal"><span lang="EN-GB">In short, verification is about ensuring that an implementation matches its specification. We will come back and dissect this definition in a minute, but for purposes of contrast, here is the definition for validation:</span></p>
<p class="MsoNormal" style="margin: 10pt 0.5in 0.0001pt;"><em><span lang="EN-GB">Confirmation by examination and provisions of objective evidence that the particular requirements for a specific intended use are fulfilled.</span></em></p>
<p class="MsoNormal"><span lang="EN-GB">In short, validation is about making sure that the specification is correct, or in other words is fit for the intended purpose.</span></p>
<p class="MsoNormal"><span lang="EN-GB">So lets go back to verification – which is what we spend 99% of our time doing, and dissect the definition.</span></p>
<p class="MsoNormal"><em><span lang="EN-GB">- Confirmation by examination. </span></em><span lang="EN-GB">If you don’t look at something, then you have no hope of telling if it is right or not. While this may sound obvious, it is one of the most inefficient aspects of verification today. As an example, if a verification scenario is produced to verify a particular aspect of functionality, and it is expected that correct behavior can be ascertained by observing a particular value in memory at a certain time, then checking only for that value while telling you that your test example passed fails to verify if any bad actions were produced on the other outputs of the design. They simply were not observed even though a large amount of simulation time may have been spent producing that information.</span></p>
<p class="MsoNormal"><span lang="EN-GB">- <em>provisions of objective evidence. </em>If we continue with our example above, we could claim to have solved the problem by looking at the output produced by the verification scenario and by capturing the results of the other data produced by the simulator. Comparing this against subsequent runs may tell you if a change made in the design affected other aspects of the output. But that evidence is not objective. It is not known if it was right to start with and, as so often happens, a team under pressure will just verify again the primary means of telling that the test passed and will just capture the new outputs on the non-essential signals. In other words, if we do not know why a design produced certain signals, values or events, then we cannot use them to inform us about the validity of those results.</span></p>
<p class="MsoNormal"><span lang="EN-GB">- <em>specified requirements.</em> The best way to interpret this is to consider it as the definition of coverage. Functional coverage points are one way in which these can be derived from the specification and even ordered in terms of priority of the functionality that must be verified. However, don’t dismiss the structural coverage metrics, which include code, expression, path, FSM and many other metrics that can be automatically extracted from the implementation source. A properly prepared verification plan can state that a certain requirement has been satisfied if one of these coverage metrics has been satisfied. This is particularly powerful if we are talking about path or FSM coverage and for some forms of verification, toggle coverage is also a highly valuable indicator. Let’s remember that all of these are nothing but indicators. They are isolated observations about the state of the design at a specific moment in time, and tell us nothing about what happened before or will happen in the future. To find out why that is important, read on to the next clause.</span></p>
<p class="MsoNormal"><span lang="EN-GB">-<em> have been fulfilled.</em> Last but by no means least, is that we have to ensure that when we meet the conditions for the specified requirements, that an actual act of verification has taken place. Sorry for the recursion there. The problem is that the coverage metrics in use today are what are called stimulus metrics, in that they tell how effective the stimulus is at activating certain things in the design – be they lines of code, or functional observations. Coverage does not equate to verification. In fact all of these coverage metrics assume that full verification is happening by another mechanism – by the checkers. But how can we tell if that is actually happening? Today, there are two mechanisms. The first is to only put functional coverage points in the checkers. This will ensure that all effects are propagated to a place where a validity check is being made. This still does not ensure that the right check is being performed, but it is a lot better. The second is to use a tool, such as Certitude from Certess. This actually measures which coverage points are actually propagated and checked by using a technique called mutation testing. What this does is to make a small change in the design and actually check to see that the testbench fails. If it doesn’t then you know the coverage point may have been satisfied, but is worthless. I will save further discussion about mutation analysis to another blog entry.</span></p>
<p class="MsoNormal"><span lang="EN-GB">So with all of that as a background, how do some of the verification tools out there actually stack up? I am not going to provide my answer to that just yet as I would like you to think about it, but as a hint the answer is very few tools actually do everything necessary to be called verification according to my definition. Let me know which ones you think do and don’t stack up?</span></p>
<p class="MsoNormal">Brian<em><br />
I&#8217;ve got you covered.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/05/15/verification-defined/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Let the fun begin</title>
		<link>http://www.chipdesignmag.com/bailey/2008/05/14/let-the-fun-begin/</link>
		<comments>http://www.chipdesignmag.com/bailey/2008/05/14/let-the-fun-begin/#comments</comments>
		<pubDate>Thu, 15 May 2008 00:28:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[background]]></category>

		<category><![CDATA[Add new tag]]></category>

		<category><![CDATA[ESL]]></category>

		<category><![CDATA[history]]></category>

		<category><![CDATA[verification]]></category>

		<guid isPermaLink="false">http://www.chipdesignmag.com/bailey/?p=3</guid>
		<description><![CDATA[Welcome to this my first blog for Chip Design magazine. My background has always been functional verification ever since I started my first job – designing flight control computers for commercial aircraft. It appalled me that we did not use simulators, instead relying only on physical prototypes made out of wire wrap cards. During my [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Welcome to this my first blog for Chip Design magazine. My background has always been functional verification ever since I started my first job – designing flight control computers for commercial aircraft. It appalled me that we did not use simulators, instead relying only on physical prototypes made out of wire wrap cards. During my University days at <a title="Brunel University" href="http://www.brunel.ac.uk" target="_blank">Brunel University</a> in England, I had the pleasure to work alongside the folks creating Hilo – the first true commercial RTL simulator and from which Verilog was later derived. I soon went back to the University to work on making this technology better and to help with its adoption in the industry. Back then with almost all engineers designing at the gate level, the whole notions of RTL were so foreign and strange to them, that they strongly resisted the change and when they did, they were writing RTL as if they were describing gates. That was 25 years ago now and we have been perfecting the RTL verification flow ever since – most of the time with great success. But that journey is not over yet. There is still a lot of progress that has to be made to ensure that chips are produced without bugs and within the time and budget constraints necessary.</p>
<p class="MsoNormal">
<p class="MsoNormal">At the same time, another change is happening, namely the migration to ESL – the first real abstraction change that has happened since I entered the industry. What fun!! So far I see people resisting just the same as they did before. This is really not surprising since they lack the knowledge, the skills and experience necessary to do a good job. Grant Martin has already started a blog on the subject of ESL design, but we cannot talk about modern and emerging trends in verification without also going into that space. That means that our discussions may overlap at times. Grant and I, along with Andrew Piziali wrote a book titled <a title="ESL Book website" href="http://ElectronicSystemLevel.com" target="_blank"><em>ESL Design and Verification: A Prescription for Electronic System-Level Methodology</em> </a>just over a year ago. In that book we showed the great divergence of views, methodologies and flows that are emerging in the ESL space. Because of our different backgrounds, Grant and I did not always agree on the what, why or wherefores of ESL, but that is hardly surprising. In fact it is the fact that no one yet knows the end of the story that makes working in the field so much fun. We are helping to shape the future – and that is one of the prime reasons why I decided to start this blog. I want to discuss both the state of the art in RTL verification, and also explore the role that verification has in the ESL domain and the impacts that this will have over time.</p>
<p class="MsoNormal">
<p class="MsoNormal">I also believe that ESL is not ripe for much in the way of automation at the moment. Synthesis from high level descriptions is not yet possible because for most people we do not even know how to solve the problems manually. Until we know this, automation is not possible. So we have to design the hard way – by flowing the scientific process. Design is the act of making decisions that constrain the implementation. This is true no matter what level of design we are talking about. At the system level we make decisions about architecture, mapping, the number of processors or configuration of memory. At RTL we decide how many clocks an operation will take, how much each block – such as an adder – is shared etc. Every time a decision is made, we need to decide if that decision was a good one or not. That means we make a hypothesis, we devise a way to test it and we analyze the results. If the result is good, we have confirmed the validity of the decision. If not, we change the hypothesis. This to me sounds just like a verification process, although perhaps not quite as rigid and organized, but this is also understandable since it needs to be highly flexible so that the decision process is not hampered by large amounts of overhead. So, in my book, ESL will be very dependent on verification until it becomes automatable, and that is likely to take quite a long time.</p>
<p class="MsoNormal">
<p class="MsoNormal">Let me know your views. It is fine to disagree with me, and I hope as I write this blog that I will give people lots of room to disagree because it is only by discussing issues that the best solutions can surface to the top. I have always been known for been controversial and I intend to maintain that positioning in this blog. Also if there are subjects that you would like me to cover, then please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.chipdesignmag.com/bailey/2008/05/14/let-the-fun-begin/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
