<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-467992347672180293</id><updated>2011-09-19T09:29:14.879-07:00</updated><category term='SV - Semaphore Vs Mailbox'/><category term='Code Coverage and Functional Coverage'/><title type='text'>Verification with Jigar</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-194352329584802066</id><published>2010-11-29T23:27:00.000-08:00</published><updated>2010-11-29T23:38:37.541-08:00</updated><title type='text'>When Verification is complete ?</title><content type='html'>Obvious answer frontend verification engineer will give is when Functional Coverage matrix is 100% achieved as well as required code coverage is achieved (B,S,T,FSM - most frequently used).&lt;br /&gt;&lt;br /&gt;To add to this one can answer When STA is done ensuring that timing constraint is met.Also since STA is done by mentioning some paths as ...*.... it is possible accidently we decalre some relevant path as false path , SO GLS is also prefred&lt;br /&gt;&lt;br /&gt;Ans : Function Matrix/Code coverage matrix + STA + GLS (if not possible for all testcase at least for high priprity features)&lt;br /&gt;&lt;br /&gt;Refer : &lt;br /&gt;1&gt; Code Coverage &amp; Functional Coverage - ( http://verificationwithjigar.blogspot.com/2010/04/code-coverage-functional-coverage.html )&lt;br /&gt;&lt;br /&gt;2&gt; STA/Formal Verification Vs. Gatelevel ( http://verificationwithjigar.blogspot.com/2010/08/staformal-verification-vs-gatelevel.html )&lt;br /&gt;&lt;br /&gt;Comments are welcomed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-194352329584802066?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/194352329584802066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/when-verification-is-complete.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/194352329584802066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/194352329584802066'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/when-verification-is-complete.html' title='When Verification is complete ?'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-4811211789696061138</id><published>2010-11-24T04:59:00.000-08:00</published><updated>2010-11-24T05:07:31.050-08:00</updated><title type='text'>SV Random thread stability</title><content type='html'>For System Verilog users,&lt;br /&gt;&lt;br /&gt;Has there been a situation in your project that at time X with tag X and seed =1 you got some XYZ input stimulus and after a while at time Y with tag Y if you use seed =1 the results changes ??&lt;br /&gt;&lt;br /&gt;If yes than LRM section "Random Stability" is for you to read and understand,&lt;br /&gt;Refer section 12.13&lt;br /&gt;&lt;br /&gt;I will try to post example shortly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-4811211789696061138?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/4811211789696061138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/sv-random-thread-stability.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/4811211789696061138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/4811211789696061138'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/sv-random-thread-stability.html' title='SV Random thread stability'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-6746326201125261741</id><published>2010-11-24T04:55:00.001-08:00</published><updated>2010-11-24T05:28:58.406-08:00</updated><title type='text'>Counter using D Flop only</title><content type='html'>If I have a D-Flop only (USE OF ANY GATES NOT ALLOWED)and I am not worried about setup or hold violation (i.e. I can connnect output of flop to feed input without worrying violation) , How can you generate the 2 bit counter to count 00,01,10,11.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-6746326201125261741?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/6746326201125261741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/couter-using-d-flop-only.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/6746326201125261741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/6746326201125261741'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/couter-using-d-flop-only.html' title='Counter using D Flop only'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-5407212787332317038</id><published>2010-11-24T04:47:00.000-08:00</published><updated>2010-11-24T06:17:33.727-08:00</updated><title type='text'>timescale directive question</title><content type='html'>What Will be the output for&lt;br /&gt;&lt;br /&gt;`timescale 2ns/100ps&lt;br /&gt;module tb();&lt;br /&gt;integer a; &lt;br /&gt;&lt;br /&gt;initial&lt;br /&gt;begin&lt;br /&gt;  #3.05 a =1'b1;&lt;br /&gt;  #100&lt;br /&gt;   a= 1'b0;&lt;br /&gt;end&lt;br /&gt;endmodule&lt;br /&gt;&lt;br /&gt;What Will be time when intial block will end OR a = 1'b1 will execute.&lt;br /&gt;&lt;br /&gt;No Simulation result please,your brain is enough.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-5407212787332317038?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/5407212787332317038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/timescale-directive-question.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/5407212787332317038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/5407212787332317038'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/11/timescale-directive-question.html' title='timescale directive question'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-1435009794810663387</id><published>2010-09-22T23:48:00.000-07:00</published><updated>2010-11-24T04:46:51.203-08:00</updated><title type='text'>Difference Between VMM and OVM</title><content type='html'>What is the difference between VMM and OVM ? &lt;br /&gt;&lt;br /&gt;1&gt; One is program block is used in VMM but not in OVM. (This is one of the frequently asked technical question)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-1435009794810663387?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/1435009794810663387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/09/difference-between-vmm-and-ovm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/1435009794810663387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/1435009794810663387'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/09/difference-between-vmm-and-ovm.html' title='Difference Between VMM and OVM'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-3133832545731194447</id><published>2010-08-26T03:42:00.000-07:00</published><updated>2010-09-14T07:10:31.131-07:00</updated><title type='text'>STA/Formal Verification Vs. Gatelevel</title><content type='html'>Do We need GLS ? Can STA/Formal Verification Substitute it ?&lt;br /&gt;Stayed tuned for my detailed comment,meanwhile you can post your response.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1&gt; STA Covers all timing constraint on the other hand GLS does this for few paths(not all)&lt;br /&gt;&lt;br /&gt;2&gt; If by chance wrong desing undertanding leads to incorrect flase path/multicycle path than it can be avoided if GLS was done.&lt;br /&gt;&lt;br /&gt;3&gt; GLS provides power/switching information which STA will not provide. And yes everyone wants to know power usage.&lt;br /&gt;&lt;br /&gt;4&gt; GLS Provides Good check on Reset release,initialization.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-3133832545731194447?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/3133832545731194447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/staformal-verification-vs-gatelevel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/3133832545731194447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/3133832545731194447'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/staformal-verification-vs-gatelevel.html' title='STA/Formal Verification Vs. Gatelevel'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-2580242401995869782</id><published>2010-08-25T01:59:00.000-07:00</published><updated>2010-08-25T21:57:25.104-07:00</updated><title type='text'>Intelligent Testbench Automation</title><content type='html'>Recently I attended EDA Tech Forum Seminar and learned something interesting which I am sharing.&lt;br /&gt;&lt;br /&gt;Lets say functional plan is having bins for A from 255:0 and b from [7:0] you need to cover all values,So lets say we have to run test case 6000 times (&gt; 2048 (256*8 = 2048)) to hit this.&lt;br /&gt;&lt;br /&gt;Now problem in traditional SV constraint random environment is we don't have control over what no we generate, it is purely random and does not depend on previously generated no.&lt;br /&gt;&lt;br /&gt;With Intelligent Test bench Automation We take history of already generated no in to account and based on that new no is generated so reaching 100 % is faster.&lt;br /&gt;&lt;br /&gt;One may argue we can use randc and define the weightage but even after using this we see many times that same bin is hit no of times while the other bin is not hit because random no is not generated.&lt;br /&gt;&lt;br /&gt;Lets say Your chip has input A and it affect output o1,o2 and there are no of paths to reach to 01,02 from A. Now to cover this using traditional approach will take long time compared to Intelligent Test bench.&lt;br /&gt;&lt;br /&gt;Conclusion :&lt;br /&gt;&lt;br /&gt;Intelligent Test bench Automation uses existing constraint randomization of SV but considers history of already generated number,allowing us to achieve functional coverage much faster. For this you need to add method infact.randomzie() ( I may be wrong here syntax wise. But it is not a lot of change in environment) and need to replace your stim. gen with mentor's tim gen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-2580242401995869782?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/2580242401995869782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/intelligent-testbench-automation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/2580242401995869782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/2580242401995869782'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/intelligent-testbench-automation.html' title='Intelligent Testbench Automation'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-7268909888489579898</id><published>2010-08-23T03:31:00.000-07:00</published><updated>2010-08-23T03:33:48.209-07:00</updated><title type='text'>Vector combination required</title><content type='html'>If a design can be of AND,OR,XOR &lt;br /&gt;How many different vector combination(stimulus) of input A and B is required to identify gate type?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-7268909888489579898?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/7268909888489579898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/vector-combination-required.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/7268909888489579898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/7268909888489579898'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/vector-combination-required.html' title='Vector combination required'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-598740695287042016</id><published>2010-08-17T03:29:00.000-07:00</published><updated>2010-08-23T03:10:31.076-07:00</updated><title type='text'>GLS simulation X propogation by MUX</title><content type='html'>I faced this issues while debugging GLS simulation.&lt;br /&gt;Mux is having input A,B,S(sel), Z(output) &lt;br /&gt;&lt;br /&gt;B=0 (always)&lt;br /&gt;A= 0(20ns),1(20ns),0(20ns)&lt;br /&gt;S = X throughout simulation&lt;br /&gt;&lt;br /&gt;What should be output here? (This sounds very simple right, Think you may be correct or may not be)&lt;br /&gt;&lt;br /&gt;I will post answer for this soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-598740695287042016?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/598740695287042016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/gls-simulation-x-propogation-by-mux.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/598740695287042016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/598740695287042016'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/08/gls-simulation-x-propogation-by-mux.html' title='GLS simulation X propogation by MUX'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-5199194149684530676</id><published>2010-04-13T02:43:00.000-07:00</published><updated>2010-04-13T03:24:17.898-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Code Coverage and Functional Coverage'/><title type='text'>Code Coverage &amp; Functional Coverage</title><content type='html'>&lt;div style="text-align: justify;"&gt;Code Coverage &amp;amp; Functional Coverage matrix can help to answer the question when verification is complete.(Verification completeness will depend on other parameters like bug rates,reviews, and other considerations as well.)&lt;br /&gt;&lt;br /&gt;For example design having A,B,&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;sel &lt;/span&gt;as input and Out as Output having functionality of +,-,/,* depending on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;sel&lt;/span&gt; line.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Assume the verification is only using code coverage which is indicating that line out = A*B is not covered in the code coverage.Now lets say one applies stimulus so that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;sel&lt;/span&gt; is for * operation.So now this is covered and my code coverage is 100 % Branch,Line,Toggle,Expression. Can I say verification is complete ?&lt;br /&gt;&lt;br /&gt;No not yet. When coverage is 100 % it means whatever code has been written by designer is covered 100%. What if designer has missed to code functionality for example designer , lets say missed to implement division. In this case if verification engineer is only relying  on  coverage matrix he will not be able to capture  the bug that designer has not implemented  division functionality.&lt;br /&gt;&lt;br /&gt;In concept Functional coverage ensures that all functionality has been implemented OR not. Code coverage also helps to identify missed scenario and hence possible bugs for example &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;fifo&lt;/span&gt;_full signal is only covered 50 % (0 to 1 transition ) means that either there is no stimulus to that generates 1 to 0 transition OR &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;fifo&lt;/span&gt;_full logic is written incorrectly in design such that it never generates transition from 1 to 0.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-5199194149684530676?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/5199194149684530676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/04/code-coverage-functional-coverage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/5199194149684530676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/5199194149684530676'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/04/code-coverage-functional-coverage.html' title='Code Coverage &amp; Functional Coverage'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-467992347672180293.post-4520028685114666096</id><published>2010-04-13T01:35:00.000-07:00</published><updated>2010-08-23T02:06:29.814-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SV - Semaphore Vs Mailbox'/><title type='text'>SV Question- Difference  Between Mailbox and Semaphore</title><content type='html'>Difference between mailbox and semaphore is very standard question asked in System Verilog interview,Some times it is asked indirectly.&lt;br /&gt;&lt;br /&gt;Mailobox,Semaphore can pass the object or information(variable).For example, there are multiple driver looking to drive same interface(lets call interface A). If Verifciation environemtn uses Mailbox and provides packet to multiple driver,all of them is allowed access to packet and henace all can drive the interface A. This will create multiple driver on same interface.&lt;br /&gt;&lt;br /&gt;In order to avoid this semaphore can be used which ensures that once driver X has access to object only driver X will be able to drive interface A. driver Y will have to wait till driver X returns the key so this will avoid multiple driver driving same interface.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/467992347672180293-4520028685114666096?l=verificationwithjigar.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://verificationwithjigar.blogspot.com/feeds/4520028685114666096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/04/sv-question-difference-between-mailbox.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/4520028685114666096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/467992347672180293/posts/default/4520028685114666096'/><link rel='alternate' type='text/html' href='http://verificationwithjigar.blogspot.com/2010/04/sv-question-difference-between-mailbox.html' title='SV Question- Difference  Between Mailbox and Semaphore'/><author><name>Jigar</name><uri>http://www.blogger.com/profile/03384033267290360397</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
