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

<channel>
	<title>TechGuri &#187; Verification</title>
	<atom:link href="http://www.techguri.com/category/verification/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techguri.com</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Wed, 10 Mar 2010 09:44:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Jack’s Paper Study Note] Managing Verification Error Traces with Bounded Model Debugging – Sean Safarpour et al. @ ASPDAC’10</title>
		<link>http://www.techguri.com/2010/03/10/jack%e2%80%99s-paper-study-note-managing-verification-error-traces-with-bounded-model-debugging-%e2%80%93-sean-safarpour-et-al-aspdac%e2%80%9910/</link>
		<comments>http://www.techguri.com/2010/03/10/jack%e2%80%99s-paper-study-note-managing-verification-error-traces-with-bounded-model-debugging-%e2%80%93-sean-safarpour-et-al-aspdac%e2%80%9910/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 09:44:46 +0000</pubDate>
		<dc:creator>Chia-Chih Yen</dc:creator>
		
		<category><![CDATA[Verification]]></category>

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

		<guid isPermaLink="false">http://www.techguri.com/?p=891</guid>
		<description><![CDATA[http://www.eecg.utoronto.ca/~veneris/10aspdac.pdf
Debugging is still the most time consuming part of IC design. Typical debug includes: (a) find out the checkers that indicate errors, (b) investigate waveforms of observation points (typically primary outputs) which may propagate errors to the checkers, (c) trace drivers of those observation points, (d) indicate error sources, (e) fix them, and finally (f) [...]]]></description>
			<content:encoded><![CDATA[<p>http://www.eecg.utoronto.ca/~veneris/10aspdac.pdf</p>
<p>Debugging is still the most time consuming part of IC design. Typical debug includes: (a) find out the checkers that indicate errors, (b) investigate waveforms of observation points (typically primary outputs) which may propagate errors to the checkers, (c) trace drivers of those observation points, (d) indicate error sources, (e) fix them, and finally (f) re-run simulation to make sure the bugs disappear. The whole process is very, very labor intensive. Are there any automation tools that can help?</p>
<p>This paper presents the techniques for automatic debugging. Given design source code (RTL) and simulation error traces, the tool automatically tells designers “OK, the error sources come from those lines; please take care of them”. In other words, automatic debugging let designers skip steps (a)(b)(c)(d) and focus on steps (e)(f).</p>
<p>The basic underlying techniques of an automatic debugging tool are very similar to those of formal verification tools: BDDs, SAT, QBF, etc… Thus, the notorious challenges that accompany those techniques are the same – scaling – larger design with longer error traces. To conquer the problem, the authors introduce an important observation: “error sources are often excited temporally close to failure points”. They even make some experiments by simplifying the error behavior model and calculating the probability of error sources to prove the observation. No matter how realistic the experiment reveals, this part is the most interesting section that is worth reading again.</p>
<p>Based on the “error source temporal proximity to failure point” observation, the authors propose the approach “bounded model debugging” which is very similar to the concept of BMC (bounded model checking) used in formal property verification. The experiments show that 2.7 times more problems can be solved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2010/03/10/jack%e2%80%99s-paper-study-note-managing-verification-error-traces-with-bounded-model-debugging-%e2%80%93-sean-safarpour-et-al-aspdac%e2%80%9910/feed/</wfw:commentRss>
		</item>
		<item>
		<title>More on metrics&#8230;</title>
		<link>http://www.techguri.com/2010/02/05/more-on-metrics/</link>
		<comments>http://www.techguri.com/2010/02/05/more-on-metrics/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 00:38:46 +0000</pubDate>
		<dc:creator>Kai Yang</dc:creator>
		
		<category><![CDATA[Events]]></category>

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

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

		<guid isPermaLink="false">http://www.techguri.com/?p=848</guid>
		<description><![CDATA[As mentioned in the previous post, having a set of metrics and tools to measure the quality of a given verification environment is really critical. The metric should not only measure the quality of the tests but also the capability to capture any abnormal behavior. Before sharing how people were trying to do this, we would like to share some practical experiences that might be encountered on the road.]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><!--[if gte mso 9]&gt;  Normal 0     false false false  EN-US ZH-TW X-NONE                            &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                            &lt;![endif]-->As mentioned in the previous post, having a set of metrics and tools to measure the quality of a given verification environment is really critical. The metric should not only measure the quality of the tests but also the capability to capture any abnormal behavior. Before sharing how people were trying to do this, we would like to share some practical experiences that might be encountered on the road.</p>
<p class="MsoNormal">One of the most challenging jobs of promoting any metric is actually not from the technical side. Instead, it is more likely from the political/business side. Big companies usually refuse to adopt proprietary methods, formats, or metrics to make sure they won’t be tethered to one single vendor. However, providing innovative solutions usually means having to use supplicated tools which only one or a few vendors can provide. This in turn usually means that the single vendor (or small group of vendors) will do their best to avoid competition. Therefore, a proprietary language or method will show up.</p>
<p class="MsoNormal">In the end, the proposed metric makes a lot of sense. The “proprietary” factor could make it difficult to go through the deployment process. This situation is worse between IP vendors compared to internal IP providers. Each IP vendor is an individual company. Trying to ask them to adopt some proprietary metric/tool together could be really tough.</p>
<p class="MsoNormal">The solution? <span> </span>Some people suggest that metric providers (aka startups) should create a fake company to work on the similar thing. In this way, the big companies won’t worry about being tied to one vendor <img src='http://www.techguri.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> Joking aside… No, we don’t know the answer yet but that’s the fun part of the game…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2010/02/05/more-on-metrics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SoC Verification Challenges – Adopt Checker Quality Metric to Guard IP Quality</title>
		<link>http://www.techguri.com/2009/10/08/soc-verification-challenges-%e2%80%93-adopt-checker-quality-metric-to-guard-ip-quality/</link>
		<comments>http://www.techguri.com/2009/10/08/soc-verification-challenges-%e2%80%93-adopt-checker-quality-metric-to-guard-ip-quality/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 22:01:06 +0000</pubDate>
		<dc:creator>Kai Yang</dc:creator>
		
		<category><![CDATA[Verification]]></category>

		<category><![CDATA[verification mutation checker coverage]]></category>

		<guid isPermaLink="false">http://www.techguri.com/?p=600</guid>
		<description><![CDATA[As pointed out in the previous post, a not-well-verified IP can be a major killer for any SoC project. SoC integrators basically don’t have the time or resources to debug individual problematic IPs. A bad IP can really delay a project, if not kill it.

Having a robust IP signoff process is really critical and adopting [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><!--[if gte mso 9]&gt;  Normal 0   false false false         MicrosoftInternetExplorer4  &lt;![endif]--><!--[if gte mso 9]&gt;   &lt;![endif]-->As pointed out in the previous post, a not-well-verified IP can be a major killer for any SoC project. SoC integrators basically don’t have the time or resources to debug individual problematic IPs. A bad IP can really delay a project, if not kill it.</p>
<p class="MsoNormal">
<p class="MsoNormal">Having a robust IP signoff process is really critical and adopting reliable signoff metrics to help make signoff decisions is key. Most IP vendors provide various kinds of converge as the proof for good verification quality. However, in reality, those metrics are only telling half of the story. Most of the coverage metrics, such as functional coverage and code coverage are measuring the test distribution. Those metrics are adopted to try to make sure the test stimuli covers most of the critical functions and import corners. It assumes that whatever abnormal design behavior will be detected by the testbench. To check if the there is any exception during simulation, “checkers” inside testbench play the role of identifying the correctness. A checker can be a simple “diff” in scripts, a waveform compare utility along with the golden model, or some complicated structures.</p>
<p class="MsoNormal">
<p class="MsoNormal">Using coverage to qualify the verification quality is not enough. <span> </span>An extreme example is: a design that has 100% coverage but all checkers are disconnected by accident. Although the verification engineers still get 100% coverage, <span> </span>the testbench actually checks nothing. Taking the checker quality into account is definitely a must for any verification methodology, especially critical for IP signoff. Since checkers can be implemented in various forms, it is not easy to directly measure their quality. An alternative method is called mutation-testing. This is done by injecting artificial faults into a design and running the regression tests. If any introduced erroneous behavior cannot be detected by primary outputs, it implies that there might be a missing checker to check this exception behavior. The mutation-test tricks have been adopted in the software world for more than 20 years, but recently re-gained a lot of attention their application <span> </span>on chip design and verification. Using mutation-testing is a practical way to quantify the quality of checkers inside the testbench. It should be served as a complementary metric as any other coverage metric.</p>
<p class="MsoNormal">
<p class="MsoNormal">In the next blog, we will talk more about mutation-test solution and its practical usages and applications in verification. <span style="font-family: Wingdings;"><span>J</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2009/10/08/soc-verification-challenges-%e2%80%93-adopt-checker-quality-metric-to-guard-ip-quality/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Chip Power Model for Co-design</title>
		<link>http://www.techguri.com/2009/07/07/chip-power-model-for-co-design/</link>
		<comments>http://www.techguri.com/2009/07/07/chip-power-model-for-co-design/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 16:56:00 +0000</pubDate>
		<dc:creator>Bhavana Thudi</dc:creator>
		
		<category><![CDATA[IC/Package/SIP]]></category>

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

		<guid isPermaLink="false">http://www.techguri.com/?p=413</guid>
		<description><![CDATA[The advancement of silicon technology and packaging, PCB technology does not happen in isolation. There is a great deal of interdependence between the IC and the interconnect world that drives technological innovation – for example, the rapid scaling of silicon and the need for high speed transmission is followed by higher performance, lower cost packages. [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="text-align: justify;">The advancement of silicon technology and packaging, PCB technology does not happen in isolation. There is a great deal of interdependence between the IC and the interconnect world that drives technological innovation – for example, the rapid scaling of silicon and the need for high speed transmission is followed by higher performance, lower cost packages. And since there are new challenges associated with every new technological innovation, like with 3D IC packaging with TSV (through silicon vias), the chip, package and system must be designed using a co-design and co-analysis methodology. There must be increased interaction among the design communities because future product success is expected to be driven by successful system level integration – not only packing wider range of components onto a system, but also ensuring that they work well together.</p>
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: justify;">There are many aspects of chip-package-system co-analysis such as signal integrity, power integrity and electromagnetic interference. For now, let’s look at the system power integrity aspect of co-analysis. The noise on the power supply is becoming a major source of noise that can cause a rail collapse, and directly impact the noise margins and the timing. The power delivery network spans multiple domains, from the VRM and through the board and package to the IO regions of the dies and all the way to the transistors on the die. At present, due to the absence of a single analysis platform that can read in the chip layouts and the package/board layouts to perform power noise simulations in one unified run, a model based approach is in-vogue. In this method, there are key ingredients: (a) comprehensive model of the chip(s), (b) accurate model of the package and board, and (c) a co-simulation platform that can take these models appropriately to perform the required simulations (frequency domain, DC, or transient). The rest of this blog discusses the die model requirements (part a) and its application in a system level analysis.</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">The requirements for a die model must be understood to perform an accurate system level analysis. The die must be represented with the electrical and physical properties of the chip (wires, RDL, cell/IP/macro characteristics and placement etc) and must be a compact model that contains:</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">(1) Current consumption profiles over different parts of the chip in a spatial and temporal sense, for every domain and at every pin.  This current signature can reflect different operating modes of the chip and can be triggered through test patterns in the form of VCDs or by using a statistical vector generation engine such as Redhawk.</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">(2) Parasitics present on the chip to provide an effective Rdie and Cdie which is domain specific and reflects the layout and the technology of the chip.</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">Such a model can be used for chip-package-system (CPS) analysis and optimization during different stages of the design cycle. In the early stages of the chip when only the power grid prototype is available, the die model can contain only the parasitic components because the chip switching activity cannot be determined. Such a model is sufficient to perform a CPS frequency domain analysis to optimize the impedance and resonance frequency points. As the chip design progresses, the die model must incorporate incremental transient current information (for DC and transient analysis ) and become an accurate representation of the die that will ultimately correlate with measurement.</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">There are several aspects of the power delivery network design that must be optimized and verified, such as PCB stackup, VRM placement, de-coupling capacitance selection and placement, package layer, socket and connector selection, pin assignments and placement. The basic goal is to minimize the levels of noise and the impedance over a wide frequency range while limiting the cost, size, pin count, and number of layers. To accomplish this goal, a CPS co-analysis of the following types must be performed: (1) frequency domain (2) DC and (3) transient.</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">In the frequency domain, the die model is used in the combined package and board analysis to study the various resonance points and compute the impedance. The resonance frequency is estimated to ensure that it does not overlap with the functional frequency of the chip and its associated harmonics. The lower frequency range resonance points are determined mostly by the PCB and package elements. However, the resonance frequency at the higher frequency range (50+ MHz) is determined by the package/PCB inductance and the die capacitance.  The chip parasitic model as mentioned earlier needs to reflect all the various capacitances present in the chip (wires, gate, diffusion, well). It also needs to model the resistance (and inductance) of the power and ground routings and the channel resistances of the devices. Additionally, an accurate parasitic model of the die can determine whether the impedance is less than the target impedance.</p>
<p class="MsoNormal" style="text-align: justify;">
<p class="MsoNormal" style="text-align: justify;">For DC analysis, the current drawn at various parts of the die reflect either an average or a peak current situation. The system DC analysis will reflect the average drop at the die bump locations. For time-domain analysis the complexity of this modeling is higher due to several additional requirements: a) the model must provide current profile information for sufficiently long period of time to allow for meaningful CPS time-domain analysis capturing the LC resonance effects, b) the model must reflect various operating modes of the chips providing di/dt signatures in the transitions between such modes, and c) it must be spatially distributed over the chip to capture the placement of various circuits and their operations. <a href="http://www.apache-da.com/apache%20da/resources/resource/Worst_Case_Switching_Pattern.pdf">Various studies</a> have been done regarding &#8220;worst casing&#8221; the current signatures.</p>
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: justify;">Historically design teams have explored ways to generate such die models. But these models have typically been unable to provide the accuracy or the modeling sophistication outlined earlier.  The <a href="http://www.apache-da.com/apache-da/Home/ProductsandSolutions/SystemPowerNoiseReliability/ChipPowerModel(CPM).html">Chip Power Model </a>(CPM) technology from Apache pioneered the concept of a layout driven die modeling solution that met these needs. Essentially a CPM is generated subsequent to a die level RedHawk (for digital) or Totem (for custom/analog) power noise simulations. The information (layout, library, technology parameters) provided to either RedHawk or Totem is necessary and sufficient to generate a CPM with its accuracy commensurate with the detailed nature of the data provided. The generated chip power model is an electrical representation of the layout of the chip and its operating mode in an open Spice format that can then be connected to a package model.</p>
<p class="MsoNormal">
<p class="MsoNormal" style="text-align: justify;">Today, we cannot afford to work independent of each other. Design collaboration will lead to more innovation, improved quality and lower cost. Getting a good die model in the form of CPM is a first step towards a converged chip-package-system design methodology. Stay tuned for the next posts on package/board extraction and co-simulation technologies.</p>
<p class="MsoNormal">
<p class="MsoNormal">
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2009/07/07/chip-power-model-for-co-design/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Verification Challenges &#8212; SoC</title>
		<link>http://www.techguri.com/2009/06/23/verification-challenges-soc/</link>
		<comments>http://www.techguri.com/2009/06/23/verification-challenges-soc/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 17:43:12 +0000</pubDate>
		<dc:creator>Kai Yang</dc:creator>
		
		<category><![CDATA[Verification]]></category>

		<category><![CDATA[SoC Verification Simulation Coverage Metric]]></category>

		<guid isPermaLink="false">http://www.techguri.com/?p=391</guid>
		<description><![CDATA[One of the major headaches when building a SoC is the quality of the adopted IP. A general SoC usually contains many IP cores which are either provided by the internal design team or purchased from 3rd party providers. An IP block usually comes with a complete function and performance spec for SoC integrators. However, [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><!--[if gte mso 9]&gt;  Normal 0   false false false         MicrosoftInternetExplorer4  &lt;![endif]--><!--[if gte mso 9]&gt;   &lt;![endif]-->One of the major headaches when building a SoC is the quality of the adopted IP. A general SoC usually contains many IP cores which are either provided by the internal design team or purchased from 3<sup>rd</sup> party providers. An IP block usually comes with a complete function and performance spec for SoC integrators. However, SoC integrators usually don’t provide much of an idea of how well the given IP has been verified. Primitive metrics such as code-coverage might be provided but it is definitely not sufficient. The consequence of adopting a not-well-verified IP in a SoC could be a nightmare, especially when it happens in the late integration stage. A problematic IP could be extremely hard to debug in the SoC level.</p>
<p class="MsoNormal">
<p class="MsoNormal">One thing we have observed in the industry is that people are looking for better signoff metrics which can provide more meaningful verification information. Traditional code-coverage provides a very straightforward number but it hardly provides much insight about the verification quality. Functional coverage, on the other hand, gives the integrator a much better idea of the stimulus statistics but doesn’t answer the question of how healthy the verification environment is. To compensate the missing part of the existing coverages, an orthogonal metric is necessary to take the verification environment into account.</p>
<p class="MsoNormal">
<p class="MsoNormal">In the next blog, we will introduce what that metric might look like and how the <span> </span>industry is adopting it. Stay tuned. <img src='http://www.techguri.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2009/06/23/verification-challenges-soc/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Power-Aware Debugging - the Languages</title>
		<link>http://www.techguri.com/2009/05/19/power-aware-debugging-the-languages/</link>
		<comments>http://www.techguri.com/2009/05/19/power-aware-debugging-the-languages/#comments</comments>
		<pubDate>Tue, 19 May 2009 19:04:25 +0000</pubDate>
		<dc:creator>Kai Yang</dc:creator>
		
		<category><![CDATA[Low Power]]></category>

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

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

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

		<category><![CDATA[power-aware]]></category>

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

		<guid isPermaLink="false">http://www.techguri.com/?p=285</guid>
		<description><![CDATA[ 
We have been working on the power-aware related projects for a while and there are some interesting experiences and thoughts that we would like to share in several blog posts. Hope you will enjoy it and please feel free to give us feedback.
 
As we all know, low-power has become a more, if not [...]]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]&gt;  Normal 0   false false false         MicrosoftInternetExplorer4  &lt;![endif]--><!--[if gte mso 9]&gt;   &lt;![endif]--><!--  /* Font Definitions */  @font-face 	{font-family:新細明體; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-alt:PMingLiU; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;} @font-face 	{font-family:"\@新細明體"; 	panose-1:2 2 3 0 0 0 0 0 0 0; 	mso-font-charset:136; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:3 137232384 22 0 1048577 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:新細明體;} @page Section1 	{size:8.5in 11.0in; 	margin:1.0in 1.25in 1.0in 1.25in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --><!--[if gte mso 10]&gt; &lt;!   /* 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;} --> <!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 10pt;">We have been working on the power-aware related projects for a while and there are some interesting experiences and thoughts that we would like to share in several blog posts. Hope you will enjoy it and please feel free to give us feedback.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"><span> </span></span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">As we all know, low-power has become a more, if not the most, important design constraint over the past few years. Mobile devices such as iPhones/iPods are getting so popular that people want to use them all the time. Although the battery techniques have improved dramatically,<span> </span>effective power management, either in software or hardware, is still the key to keeping the power consumption under control. There are several techniques in hardware power management such as power-shutoff (PSO) and dynamic voltage scaling (DVS). Both techniques have shown to be very effective to reduce both dynamic and leakage power. </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">Power management is usually planned in the RTL or even an earlier architecture stage. To design power management in the RTL stage, new languages called Power-Definition-Markup-Language PDML (such as CPF and UPF), are used to compensate the lack of power modeling capability in traditional HDL. Similar to HDL, CPF/UPF describes hardware functionality but only focuses on the power related parts. Designers can use CPF/UPF to specify the power-domain, power-shutoff condition, level-shifter, isolation and retention strategy. The HDL simulator then takes both HDL and CPF/UPF as inputs and imposes the power introduced behavior during the simulation run. For example, if a component is power-shutoff at particular time during simulation, the HDL simulator will cancel all corresponding events and assign its value to unknown. By co-simulating both HDL and PDML, designers can verify the design behavior with power-intent.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">Since CPF or UPF are usually designed and written manually by a designer, it will be error prone just like any software. Moreover, since CPF and UPF interact with the HDL design, debugging them together can be very tricky. We called this type of debugging process as power-aware debugging.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">Before getting into what power-aware debugging is and why it is so important, we would like to share some of our observations between the two mainstream power-definition-markup-languages – UPF and CPF. Although we haven’t been involve in the UPF or CPF development since the very beginning, we have followed their progress very closely. Both languages have been evolving over several versions in the past two years. UPF is in the process of becoming an IEEE standard (P1801) and CPF is still keeping itself as an open language.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">Although both languages try to achieve the same thing – description of power intention - both languages actually have very different design philosophies in mind. UPF is more like a “structure” language which is used to describe the physical “power network”. You need to define the power-source, the corresponding supply voltage, the power supply-net, and the power-switch. The power-intent is then described as the power-network. If you want to design a dynamic voltage scaling (DVS) system, you need to define a set of power-supplies with different supply voltages. Then you have to connect the supply source to power-switch via power supply-net and defines the control condition of the power-switch to make it provides the corresponding voltage under certain control configurations. This process is very similar to constructing a Netlist with HDL language.</span></p>
<p class="MsoNormal"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt;">CPF, on the other hand, is more like a “behavior” description language. <span> </span>The on/off condition and the voltage status can be described as simple behaviors. For example, to implement DVS, you have to define the power-state-table and the corresponding state transitions. Each power-state represents which region (power-domains) is supplied by what voltage value.</span></p>
<div style="border-style: none none solid; border-color: -moz-use-text-color -moz-use-text-color windowtext; border-width: medium medium 1pt; padding: 0in 0in 1pt;">
<p class="MsoNormal" style="border: medium none ; padding: 0in;"><span style="font-size: 10pt;"> </span></p>
<p class="MsoNormal" style="border: medium none ; padding: 0in;"><span style="font-size: 10pt;">Due to the different design philosophies of the two languages, they actually introduce different challenges when you try to debug them. Moreover, since their are issues with tool support, companies usually adopt both languages in their flow. There are converters available to convert these two languages back and forth at different design stages. Both languages will probably eventually become a single language to save some headaches for the designers and tool venders.</span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2009/05/19/power-aware-debugging-the-languages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Welcome to Techguri&#8217;s Verification Blog!</title>
		<link>http://www.techguri.com/2009/05/07/welcome-to-techguris-verification-blog/</link>
		<comments>http://www.techguri.com/2009/05/07/welcome-to-techguris-verification-blog/#comments</comments>
		<pubDate>Thu, 07 May 2009 17:26:29 +0000</pubDate>
		<dc:creator>TechGuri Administration</dc:creator>
		
		<category><![CDATA[Verification]]></category>

		<guid isPermaLink="false">http://www.techguri.com/?p=224</guid>
		<description><![CDATA[If you're looking for in-depth discussion of Verification, you'll find it in this blog.]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re looking for in-depth discussion of Verification, you&#8217;ll find it in this blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techguri.com/2009/05/07/welcome-to-techguris-verification-blog/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
