<?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>Pune&#039;s Semi/EDA &#38; Embedded Forum &#187; EDA</title>
	<atom:link href="http://punechips.com/category/eda/feed/" rel="self" type="application/rss+xml" />
	<link>http://punechips.com</link>
	<description>Pune&#039;s Forum for Semiconductor/EDA and Embedded Design</description>
	<lastBuildDate>Fri, 25 Nov 2011 10:15:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Cadence Acquires Taray</title>
		<link>http://punechips.com/cadence-acquires-taray/</link>
		<comments>http://punechips.com/cadence-acquires-taray/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 09:50:24 +0000</pubDate>
		<dc:creator>punechips</dc:creator>
				<category><![CDATA[ASIC]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[FPGA]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://punechips.com/?p=122</guid>
		<description><![CDATA[<div id="attachment_126" class="wp-caption alignnone" style="width: 310px"><a href="http://punechips.com/wp-content/uploads/2010/03/PCB1.png"><img class="size-medium wp-image-126 " title="FPGA I/O Connections" src="http://punechips.com/wp-content/uploads/2010/03/PCB1-300x195.png" alt="FPGA I/O Connections" width="300" height="195" /></a><p class="wp-caption-text">FPGA as the PCB&#39;s Grand Central Station</p></div>
<p>Earlier this week, Cadence Design Systems acquired an EDA startup, <a href="http://www.tarayinc.com">Taray, Inc</a>. Financial terms were not disclosed.</p>
<p>This is important because it is an Indian EDA product company story.  While Taray, Inc. is a California corporation, the entire 7Circuits business plan, strategy, product definition and development was conceived in Hyderabad; even their CEO was in Hyderabad till he decided to move to the Silicon Valley to push the sales and marketing process. On top of it, this was a bootstrapped operation with no venture money involved. While Western companies have purchased Indian product companies in the past, majority of the deals haven been in the IT services, BPO, KPO or web 2.0 fields. An Indian EDA product company getting acquired has to be a watershed event.</p>
<p><a href="http://punechips.com/cadence-acquires-taray/" [...]<br />
<p>Continue reading <a href="http://punechips.com/cadence-acquires-taray/">Cadence Acquires Taray</a></p>]]></description>
			<content:encoded><![CDATA[<div id="attachment_126" class="wp-caption alignnone" style="width: 310px"><a href="http://punechips.com/wp-content/uploads/2010/03/PCB1.png"><img class="size-medium wp-image-126 " title="FPGA I/O Connections" src="http://punechips.com/wp-content/uploads/2010/03/PCB1-300x195.png" alt="FPGA I/O Connections" width="300" height="195" /></a><p class="wp-caption-text">FPGA as the PCB&#39;s Grand Central Station</p></div>
<p>Earlier this week, Cadence Design Systems acquired an EDA startup, <a href="http://www.tarayinc.com">Taray, Inc</a>. Financial terms were not disclosed.</p>
<p>This is important because it is an Indian EDA product company story.  While Taray, Inc. is a California corporation, the entire 7Circuits business plan, strategy, product definition and development was conceived in Hyderabad; even their CEO was in Hyderabad till he decided to move to the Silicon Valley to push the sales and marketing process. On top of it, this was a bootstrapped operation with no venture money involved. While Western companies have purchased Indian product companies in the past, majority of the deals haven been in the IT services, BPO, KPO or web 2.0 fields. An Indian EDA product company getting acquired has to be a watershed event.</p>
<p>Nagesh Gupta, Taray&#8217;s CEO said, &#8220;This was an inspiring innovation done right from India. The technology, which includes two issued patents and one pending patent was developed entirely in Hyderabad.&#8221;</p>
<div id="attachment_132" class="wp-caption alignnone" style="width: 310px"><a href="http://punechips.com/wp-content/uploads/2010/03/Nagesh-Photo.jpg"><img class="size-medium wp-image-132" title="Nagesh Gupta" src="http://punechips.com/wp-content/uploads/2010/03/Nagesh-Photo-300x225.jpg" alt="Nagesh Gupta" width="300" height="225" /></a><p class="wp-caption-text">Nagesh Chillin&#39; in California</p></div>
<p>Cadence is one of the big three EDA players in the world, or three and a half, if you count Magma. Cadence is very good at the ASIC design flow, however, their FPGA design flow is lacking. With the Synopsys acquisition of Synplicity last year, they were certainly playing catch-up. Taray&#8217;s product called 7Circuits fills a gap in their FPGA PCB co-design flow. Cadence had already signed an <a href="http://www.soccentral.com/results.asp?CatID=589&amp;EntryID=28742">OEM deal</a> with Taray last year and the question was not if, but really when the acquisition would happen. 7Circuits is an FPGA I/O Synthesis tool.  As all FPGAs are re-prgrammable, the IO assignments change every time you make a design revision. This is a significant problem if your PCB is already in production. As more and more FPGAs with thousands of pins are now hitting the market, an intelligent tool like 7Circuits is absolutely required to do this job. You can read all about 7Circuits <a href="http://www.tarayinc.com/overview.php">here</a>.</p>
<p>Why was Taray successful in making this happen? There are three major reasons. First, they identified a niche area where no current solution existed. Gupta has a very strong system design experience, and this was a problem that he personally had faced many times. Customers were using home made scripts and excel sheets to solve the problem. 7Circuits is not only easy to use, but delivers significantly better quality of results over current methods.  Secondly, Cadence was the perfect suitor. They had a weak FPGA product line, while the competition had better tools. Third, FPGAs are getting bigger and faster all the time, putting pressure on I/O. This trend will continue for a while as 40nm products have started shipping and 28nm is just around the corner. With advances in the lithography technologies, we may even see a dip below sub-micron geometries in the future. Looking at the growing FPGA market, Cadence can easily add $5m &#8211; $10m to their bottomline if they use the right pricing and selling strategies.</p>
<p>Indian EDA companies can indeed take heart from this, but they need to make sure that they are addressing the right market.  The mainstream EDA business is a mature business. As number of ASIC design starts continue to decline year over year, the market for super expensive, super complex design tools is dwindling; obviously there are fewer seats that can be sold every year. Plus, severe cost cuts at chip design houses mean lower budgets and lower margins for EDA tools. Focusing on the FPGA market makes a lot of sense as that is the only market that is growing in size. FPGA ASP has been rapidly falling in the last ten years meaning that the chips are much more affordable; something that was not true just a few years back. What this does is increase the number of designers working on FPGA based systems. By some counts, there are over 100,000 distinct FPGA customers not including smaller ones who buy from resellers. Compare this to tens or maybe just over a hundred chip designers and manufacturers. The only problem with FPGA houses is that they are used to free or cheap tools; they have been spoiled by the FPGA vendors who often offer free or really cheap software. That said, they always buy tools that have a compelling value to them.</p>
<p>The lesson learnt here is that rather than concentrating efforts on the ASIC design flow, look at the FPGA design flow and find niches that you can easily fill. The answer is going to be simpler and far easier to reach, especially from India. Secondly, do not try to price your products like the mainstream EDA vendors. If your tools incorporate a must-have feature set and are priced within reach of the average FPGA design house, they will sell. Remember, you are looking at hundreds of thousands of license in total, not a few hundred. After all, there is a fortune to made at the bottom of the pyramid. Lastly, work on your sales and marketing process. If you have tool chains that cost just a few hundred dollars, it is very likely that you can successfully use the internet to sell and market your tools and avoid the traditional rep &#8211; distributor model. As examples, signal integrity tools, DSP tools, embedded processing tools that just work only with the FPGAs are likely to be big markets as buying licenses from Mentor Graphics, or Mathworks, or Windriver is often out of reach of the average buyer.</p>
]]></content:encoded>
			<wfw:commentRss>http://punechips.com/cadence-acquires-taray/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction to Chip Verification Planning</title>
		<link>http://punechips.com/introduction-to-chip-verification-planning/</link>
		<comments>http://punechips.com/introduction-to-chip-verification-planning/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 14:20:57 +0000</pubDate>
		<dc:creator>punechips</dc:creator>
				<category><![CDATA[ASIC]]></category>
		<category><![CDATA[EDA]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[semiconductor]]></category>
		<category><![CDATA[verification]]></category>
		<category><![CDATA[emulation]]></category>
		<category><![CDATA[hvl]]></category>
		<category><![CDATA[ovm]]></category>
		<category><![CDATA[rtl]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[vmm]]></category>

		<guid isPermaLink="false">http://punechips.com/?p=79</guid>
		<description><![CDATA[<p><a href="http://punechips.com/wp-content/uploads/2010/02/Suhas.jpg"><img class="size-thumbnail wp-image-82 alignnone" title="Suhas Belgal" src="http://punechips.com/wp-content/uploads/2010/02/Suhas-150x150.jpg" alt="Suhas Belgal" width="150" height="150" /></a></p>
<p>This is the first in a series of blogs written for PuneChips by <a href="http://www.linkedin.com/pub/suhas-belgal/4/a8a/8b4" target="_blank">Suhas Belgal </a>titled <em>Field Manual for Verification Planning</em>. The blogs deal with <a href="http://en.wikipedia.org/wiki/Functional_verification">functional verification </a>of digital ICs and cover mostly the pre-silicon verification phase.     </p>
<p><a href="http://punechips.com/introduction-to-chip-verification-planning/" [...]<br />
<p>Continue reading <a href="http://punechips.com/introduction-to-chip-verification-planning/">Introduction to Chip Verification Planning</a></p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://punechips.com/wp-content/uploads/2010/02/Suhas.jpg"><img class="size-thumbnail wp-image-82 alignnone" title="Suhas Belgal" src="http://punechips.com/wp-content/uploads/2010/02/Suhas-150x150.jpg" alt="Suhas Belgal" width="150" height="150" /></a></p>
<p>This is the first in a series of blogs written for PuneChips by <a href="http://www.linkedin.com/pub/suhas-belgal/4/a8a/8b4" target="_blank">Suhas Belgal </a>titled <em>Field Manual for Verification Planning</em>. The blogs deal with <a href="http://en.wikipedia.org/wiki/Functional_verification">functional verification </a>of digital ICs and cover mostly the pre-silicon verification phase.     </p>
<p>The objective of this series is to provide a view of the ‘art’ of design verification. Everyone has heard the quote “Verification is an <a href="http://en.wikipedia.org/wiki/NP-complete">NP complete </a>problem – it can never be done”.  If so, how should one schedule the <em>verification program</em>? When is the chip really <em>verification clear</em> for tape-out or production? If it is art, how does one measure the quality? Or, how does one turn it into ‘science’ and bring predictability into the equation?  Recently, while reading <a href="http://en.wikipedia.org/wiki/Robert_M._Pirsig">Robert Pirsig’s </a>famous book “<a href="http://en.wikipedia.org/wiki/Zen_and_the_Art_of_Motorcycle_Maintenance:_An_Inquiry_into_Values">Zen and the art of Motorcycle Maintenance</a>”, the questions of ‘art’, ‘science’ and ‘quality’ of the chip being designed crossed my mind…This series will provide a practical insight into the various aspects of verification, different tools, methodologies, best known practices, key indicators, tracking and management while trying to reflect on the fundamental question of whether verification can be <em>completed</em>. All of these will help bringing in the much needed predictability into the verification program. However, all of the best know practices and automation tools in the world can still not replace the need for <em>engineering intelligence</em>. You still need the best and the brightest minds to tackle the challenges. On the flip side, this is what makes verification challenging and interesting, and will attract the best minds out there. So, sprinkled throughout this series, you will find the term ‘intellectual process’ or ‘intellectual exercise’; the part of the process which still needs human intelligence or an engineering discretion will be identified as the <em>intellectual process</em> or the <em>intellectual exercise</em>.The basic goal of any chip design verification project is to find ‘all’ the bugs before <a href="http://en.wikipedia.org/wiki/Tapeout">tape-out</a>! One way to bring pragmatism is to clearly identify the context of the statement of bug free design. That is, the design should be bug free for a crisply identified goal such as ‘customer demo/samples’ or ‘to enable software development’.  Even with such constraints, it still remains to be an NP complete problem. This is where statistics, probability can come in, and various indicators can be used to define the verification quality.          </p>
<p>In addition to the fundamental goal, there are other objectives such as productivity, efficiency, resource usage, ‘finding critical bugs earlier’ and so on. These are as important, as a matter of fact, even more important oftentimes than the basic question of ‘have we caught <em>all</em> the bugs’.     </p>
<h3><span style="color: #999999;">Basic Dimensions </span>  </h3>
<p>The three basic dimensions of verification are ‘Coverage’, ‘Stimulus’ and ‘Checker’. Regardless of the tools or methodology, any verification environment consists of these three parts.       </p>
<p><em>Coverage</em> addresses the fundamental question of how complete the verification is. This being an NP complete problem can never be complete, theoretically. However, in reality, setting the ‘denominator’ of the ratio &#8211; ‘covered vs planned’, becomes an <em>intellectual exercise</em>. Certain practices and pitfalls will be covered in detail in the ‘coverage/testplan’ topic.      </p>
<p><em>Stimulus</em> can be deterministic, but can explode very quickly. Say, a 2 input functional block can be covered exhaustively in 4 cases. But, a 256 input block will require  1.1579….e+77 combinations – impractical! Even worse, sequential elements add a time dimension. Finding proper methods to select or prioritize ‘important’ or ‘high leverage’ stimulus is an <em>intellectual exercise</em>.       </p>
<p><em>Checker</em> or rather, not having a thorough checker will make the two other dimensions useless. One can have a ‘complete’ checker only if the definition of that the expected behavior is complete. Usually, this is covered by the Design or the Architecture Specification of the chip or the product. Proper interpretation and checking for completeness is an <em>intellectual process</em>.     </p>
<h3><span style="color: #999999;">Flow/Process</span>  </h3>
<p>A typical flow involves the following steps/phases, interspersed with reviews (every phase should begin and end with reviews).       </p>
<ol>
<li>Design/Specification study</li>
<li>Coverage planning (traditionally known as test-plan development)</li>
<li>Testbench design planning</li>
<li>Setting up the Verification Environment – databases, bug tracker, templates, regression/simulation environment, debug process, indicator tracking</li>
<li>Testbench implementation</li>
<li>Coverage plan implementation</li>
<li>Bringup (fresh <a href="http://en.wikipedia.org/wiki/Register_transfer_level">RTL</a> tested against fresh testbench)</li>
<li>Feature coverage</li>
<li>Coverage exploration</li>
<li>Final Checklist</li>
</ol>
<h3><span style="color: #999999;">Verification Methods  </span></h3>
<p>Several methods can be employed to carry out pre-silicon verification. The primary being Simulation based, Emulation based and the Formal method. All have pros and cons and can be used to complement each other.       </p>
<p>Simulation method utilizes dynamic simulation techniques used at different scopes such as ‘module or block’ level, ‘cluster’ level or the ‘full chip’ level.  Lower granularity helps speed up simulations, catch basic bugs quickly.  However, cluster or full chip environments help check the interactions between the blocks, which are a common source of bugs. However, at higher levels, simulation speed slows down, and one starts encountering ‘controllability/observability ’ problems.       </p>
<p>Emulation, hardware acceleration, proto-typing allows testing at much higher speed, and possibly at-speed.  Hardware/software co-verification, using real life devices can be accomplished using emulators.  Primary advantage is to get large number of cycles needed reach certain states of the design, say testing thousands of HD video frames. Also, one can actually bring-up peripheral devices such as SATA hard drives, thus taking out any risk in the implementation. Downsides are the cost and debug ability.       </p>
<p>Formal methods prove behavior of a certain section of the design to match a certain set of properties <em>mathematically</em>. Thus, it’s exhaustive and complete! However, there are logistical limitations to the current generation of tools such as design size, speed, and even then, coverage is still only as good as the property set. Defining the property set is an <em>intellectual process</em>.     </p>
<h3><span style="color: #999999;">Productivity  </span></h3>
<p>Productivity or the efficiency pertains to the processes, environment, tools, methods which can improve the verification cycle. The major costs are the ‘direct’ $ cost, human power cost and the cost in terms of total calendar time.  Simulators, emulators, server farms, other tools contribute to the direct $ cost. Calendar time is the critical path, and accounts for the processes that cannot be temporally scaled.       </p>
<p>Buy vs. brew is always an important decision, and comes across multiple times during a project. The maintenance cost of developing a tool in-house should not be ignored while making this decision.       </p>
<p>The non-deterministic, open-ended nature of verification complicates resource planning too. Predicting the number of simulation licenses needed, server farm size/capacity and estimating the total cycles needed to flush out ‘all the bugs’ is an <em>intellectual process</em>.       </p>
<p>Simulation license usage, cycles, build times, run-times need to be tracked before they can be improved. Scripts/tools to track these indicators should be planned for. In addition, the bug tracking (rate of opening/closing bugs, turnaround times etc), rate of test development, coverage improvement needs to be constantly measured for improvement.     </p>
<h3><span style="color: #999999;">Environment </span>  </h3>
<p><em>Verification Environment</em> is a key part of the verification project. This includes organizing the verification collateral, selecting an efficient and robust revision control system, work flow, automation to avoid manual mistakes and improve efficiency, integration of various pieces of verification and choosing an efficient platform for the entire team, including designers, to develop complex projects. And, in today’s global development community, an efficient environment is the key to success. Groups can be spread all over the world, but their development environment should be identical or seamless.       </p>
<p>Discipline and attention to detail are extremely important. How many times have we heard or experienced cases where bugs have slipped through the cracks in spite of having a ‘test’ that should have caught them – just because the test was not run on the final version of the netlist, or the test was not a part of a certain regression list. These mistakes are expensive, to say the least. Adding mere stress and pressure on engineers doesn’t help either. A fool-proof process and a set of tools/scripts can mitigate these circumstances.     </p>
<h3><span style="color: #999999;">Verification Language    </span></h3>
<p>The biggest wars in the verification world are on this topic. The modeling language for creating test-bench and the tests is central to any verification strategy. Starting with a bit of a historical perspective, Verilog or VHDL have been traditionally used for verification along with design. The ‘behavioral’ constructs in these languages aid verification tasks. Even today, several companies/projects rely on verification strategies based entirely on Verilog or VHDL. Using <a href="http://en.wikipedia.org/wiki/Verilog">Verilog</a> or <a href="http://en.wikipedia.org/wiki/VHDL">VHDL</a> has its advantages; the language knowledge is universal, no <em>special</em> simulators are needed, and most of the EDA tools understand and support these languages. On the downside, these languages were primarily designed to describe digital circuits/logic. They don’t have powerful data structure constructs. Randomization support is very limited.       </p>
<p>To circumvent these limitations, common powerful languages/scripts such as C and Perl have been introduced. C or Perl provide the language or programming power. However, they are still not specifically ‘verification languages’, and every project/company tend to have their own implementation of the methodology.       </p>
<p>Over 10 years ago, a new breed of specialized languages known as ‘<a href="http://en.wikipedia.org/wiki/Hardware_verification_language">Hardware Verification Languages (HVL</a>)’ came into existence, starting with Vera and Specman. Vera was born inside Sun Microsystems as an internal verification language/tool. This was spun off and eventually became part of Synopsys. Most recently, the industry trend has been towards <em>SystemVerilog</em>, in an effort to standardize on the language.  HVLs provide strong Object Oriented Structure and advanced features for randomization and constraint solving. In addition, they have become platforms for myriad of verification functions such as coverage monitoring, assertions and so on.      </p>
<p>Finally, the most recent development has been that of a methodology layer via libraries. <a href="http://www.vmmcentral.org/">VMM</a>, OVM are the two main methodologies in the market today for System Verilog.      </p>
<p>One could argue that everything that is provided by these higher level HVLs or the libraries can be implemented in Verilog or VHDL. True! But, firstly you get a tremendous boost in productivity as these libraries or languages provide a high number of pre-defined functions, constructs. Secondly, these libraries provide a framework that inherently makes the collateral reusable and efficient.        </p>
<h3><span style="color: #999999;">Random, Directed, Emulation?     </span></h3>
<p>Another contentious area for design and verification teams is to decide between random, constrained random or directed testing. Another dimension of this debate is the simulation vs. emulation decision. The pros and cons will be discussed in detail in a future article of this series.        </p>
<p>Sometimes, it helps using analogues. For instance, how would one test out a car – would one use a test-track with ‘simulated’ skids, obstacles and other external environmental factors, or just drive 100K miles on an expressway. One could use this analogy further and even look at orthogonals – say, if the blinkers have been tested in the garage, is it necessary to test them while driving through winding hilly roads, or say, while driving through winding hilly roads while the outside temperature is sub zero <em>and</em> at night. This helps reduce the set of <em>interesting</em> test cases.      </p>
<h3><span style="color: #999999;">Reviews/Checklist    </span></h3>
<p>As mentioned earlier, discipline is very important in Verification. Verification is the final safety net prior to tape-out. Any hole can potentially cost millions. In addition to inserting checks and balances into the tools/scripts/processes, reviews and checklists have a significant role in any verification project.        </p>
<p>For reviews, key things to understand are:      </p>
<ul>
<li>Primary intent should be to solicit feedback from other team members. Thus, every attempt should be made to communicate the content clearly to the attendees. A good idea or a clarification or detection of an error can save lots of time, frustration downstream.</li>
<li>Put as many figures, tables as possible. Avoid textual paragraphs. A picture is worth 1000 words!</li>
<li>Example <em>code</em> review is highly recommended.</li>
<li>Time should be used efficiently but one should not limit wall-clock times     </li>
</ul>
<p>Some of the useful review/checklists, other than the usual, are:      </p>
<ul>
<li>Tape-out checklist. Some of the items are
<ul>
<li>Waived coverage points or tests along with justification</li>
<li>Waived bugs along with justification</li>
<li>Uncovered planned items, if any, with justification/risk assessment</li>
<li>‘<em>What-else’</em> checklist: Once all the planned verification activities are completed along with a satisfactory bug curve, a series of <em>what else</em> reviews are recommended. This is a free flowing brainstorming of what else can possibly be done to find the bugs. As we all know, all bugs can never be found – which also means there are always more bugs in the design to be found and these reviews can potentially lead to them.</li>
<li>‘<em>Last set of bugs’</em> – (This category or the review needs a better name!): Towards the end, around the time the ‘<em>what-else’</em> reviews are held, the last set of bugs uncovered should be reviewed or analyzed for the following:
<ul>
<li>What found the problem – was it accidental?</li>
<li>What caused the bug – did it exist all along or a recent event caused it?</li>
<li>Could it have been caught earlier?</li>
<li>What if it had slipped? Is there a workaround? This tells the severity of the bug    </li>
</ul>
</li>
</ul>
</li>
</ul>
<p>These questions and discussions usually give rise to a few more clues or ideas about how to look for the remaining residual bugs.      </p>
<h3><span style="color: #999999;">Modeling     </span></h3>
<p>Modeling is a very generic term. In the context of verification, this is used for a ‘model’ that describes the correct or golden behavior. Often times, this arises out of architectural exploration efforts.        </p>
<p>Models can be developed in C (most common), MatLab, SystemC, SystemVerilog, and Verilog or for that matter, any language.        </p>
<p>When used as a golden model for verification purposes, it is very important to consider the verification requirements as this can have a very high impact on the productivity or efficiency of the project.  Most of the time, there are surprises, as the models are developed much before verification starts and/or by different groups. Avoid them by planning and collaborating ahead of time with the modeling team. Verifying these models independently is always an interesting and important problem.     </p>
<h3><span style="color: #888888;">Performance Verification</span>     </h3>
<p>This being very important, requires explicit attention. Performance, as opposed to functional verification, can be tricky due to two things. Firstly, setting up cases or ‘checking mechanism’ is not covered by the traditional functional verification collateral – thus, it is more work and often comes as a surprise. Secondly, identifying, defining and quantifying performance metrics is non-trivial. For instance, if the specification identifies the startup time of, say, a product like an iPod to be less than 2 seconds, then one needs to identify functionality in the hardware that contributes to this delay and then use that number to check for correctness. Sometimes, ‘quality’ aspects are not clearly quantified – especially, the acceptable numbers. Video quality is a good example of this.      </p>
<h3><span style="color: #888888;">Other Verification Areas</span>     </h3>
<p>While planning for verification, following areas or special cases need to be considered   </p>
<ul>
<li>Handling clock domain crossings</li>
<li>Simulation artifacts, for instance, code that could mask propagation of Xs</li>
<li>Design rule violations that will not be caught during traditional simulation/emulation</li>
<li>Check for  potential errors introduced by the RTL -&gt; GDS process</li>
<li>Analog components, and their interface with the digital logic</li>
<li>Process variations and the logic implemented to compensate, for instance, DLLs.</li>
<li>Power simulations are going to be commonplace going forward</li>
</ul>
<h3><span style="color: #888888;">Example DUT</span>     </h3>
<p>Let’s take an example <a href="http://en.wikipedia.org/wiki/Device_under_test">DUT</a> – a simple SOC. We will throw in some standard SOC components &#8211; a host processor, a co-processor (such as a DSP or some such computational element), internal buses for both control and high speed data transfers, a memory sub-system (DDRs, SRAMs), peripheral IO interfaces such as USB, PCIe, UART, and internal SOC control elements such as IO muxes, clock/power management unit, interrupt management unit.       </p>
<p>The following block diagram illustrates our example. All the future topics in this series will be discussed in the context of this example. </p>
<div id="attachment_89" class="wp-caption alignnone" style="width: 310px"><a href="http://punechips.com/wp-content/uploads/2010/02/DUT1.jpg"><img class="size-medium wp-image-89 " title="Example SoC DUT" src="http://punechips.com/wp-content/uploads/2010/02/DUT1-300x225.jpg" alt="Example of a SoC DUT" width="300" height="225" /></a><p class="wp-caption-text">Example of a SoC DUT</p></div>
<h3><span style="color: #888888;">Summary</span></h3>
<p>Throughout this series, we will make an effort to identify the ‘art’ and ‘science’ involved in Chip verification, with practical tips or some of the best known practices. Through use of advanced techniques, tools, methods, discipline, best practices one can mitigate the non-deterministic nature of verification. These can be used for accurate scheduling, planning and a high quality execution of verification projects leading to successful first pass silicon. However, there is an ‘intellectual’ part of the process that still requires the best and the brightest minds.  And, that’s where the satisfaction or the intellectual rewards lie. Verification accounts for 70% of the pre-silicon development efforts, according to some estimates – let’s not leave it to chance by quoting the famous ‘verification is an NP complete problem’ – it can be harnessed and this has been already demonstrated by several successful groups, companies.       </p>
<p>In the next session, we will cover ‘test-plan/coverage plan’ topic in detail.       </p>
<p><strong><span style="color: #000080;">About the Author</span></strong>:  Suhas Belgal has 17 plus years of experience in Chip Design, Emulation, Modeling and Verification, including 9 years as a Verification Manager. During these years, Suhas has worked for several multi-billion dollar companies such as <a href="http://www.intel.com">Intel </a>and <a href="http://www.lsi.com">LSI</a>, various start ups, and co-founded a Verification Services company. Over the years, Suhas has played key roles several high profile design teams such as Pentium II, and successfully led several SoC chips to production.  He has experience in a wide range of Verification Methods and tools, and has been a presenter and panel member at various conferences, including the DAC. He has a master’s degree in EE from <a href="http://www.utexas.edu/">University of Texas at Austin </a>and a bachelor’s from <a href="http://www.vjti.ac.in/">VJTI, Mumbai</a>.      </p>
<p><a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/in/"><img src="http://i.creativecommons.org/l/by-nc/2.5/in/88x31.png" alt="Creative Commons License" /></a><br />
This content has been licensed to PuneChips under a <a rel="license" href="http://creativecommons.org/licenses/by-nc/2.5/in/">Creative Commons Attribution-Noncommercial 2.5 India License</a>. Contact Suhas Belgal for details of how to attribute and re-use for non-commercial as well as commercial distribution. <!-- end general-header footer -->   </p>
<h2> </h2>
]]></content:encoded>
			<wfw:commentRss>http://punechips.com/introduction-to-chip-verification-planning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

