<?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-7343793379868603098</id><updated>2011-12-10T10:58:59.595-08:00</updated><category term='coverage'/><category term='nusym'/><category term='ACC'/><title type='text'>SystemVerilog for Verification</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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>88</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-3803740127349584743</id><published>2011-12-10T10:58:00.001-08:00</published><updated>2011-12-10T10:58:59.695-08:00</updated><title type='text'>Sledgehammer to crack a nut? – Use right tools for right class of design errors/bugs</title><content type='html'>&lt;p&gt;I am sure you have heard this phrase before – “A sledgehammer to crack a nut”; the below picture describes it all!&lt;/p&gt;  &lt;p&gt;Would you use a HUGE hammer to crack a small, tiny nut?&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-3o1ORy3cL3s/TuOr12Sh6wI/AAAAAAAAAJ0/VwrBZD2Vp8E/s1600-h/hammer_cracks_nut%25255B5%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="hammer_cracks_nut" border="0" alt="hammer_cracks_nut" src="http://lh3.ggpht.com/-t7EuuUljNX4/TuOr2yNQf-I/AAAAAAAAAJ8/MIQySpZufSg/hammer_cracks_nut_thumb%25255B3%25255D.jpg?imgmax=800" width="531" height="398" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(If you are further interested in this phrase read: &lt;a href="http://www.phrases.org.uk/meanings/sledgehammer-to-crack-a-nut.html"&gt;http://www.phrases.org.uk/meanings/sledgehammer-to-crack-a-nut.html&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;I recently had a small design error introduced in a piece of&amp;#160; RTL as below: It is an interrupt masking logic, code snippet as below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-dhvpAs2Wa7I/TuOr3xkBgJI/AAAAAAAAAKA/DpyG4XNt6Ls/s1600-h/ALINT_open%25255B12%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ALINT_open" border="0" alt="ALINT_open" src="http://lh5.ggpht.com/-ASMb6vUMBS4/TuOr4_B-AAI/AAAAAAAAAKM/eQdteLVDnYI/ALINT_open_thumb%25255B10%25255D.jpg?imgmax=800" width="622" height="382" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Note the use of “ANDing” logic – simply, AND- &lt;strong&gt;&lt;em&gt;mask&lt;/em&gt;&lt;/strong&gt; with &lt;strong&gt;&lt;em&gt;data&lt;/em&gt;&lt;/strong&gt; to produce &lt;strong&gt;&lt;em&gt;result&lt;/em&gt;&lt;/strong&gt;.The subtlety in Verilog/System Verilog is that you have 2 seemingly similar operators for doing AND operation; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The logical AND: &lt;strong&gt;&lt;em&gt;&amp;amp;&amp;amp; &lt;/em&gt;&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;The bitwise AND: &lt;strong&gt;&lt;em&gt;&amp;amp; &lt;/em&gt;&lt;/strong&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Given the “loose” data type checking, assignment rules etc. one can get away by using either one of the above many-a-times. In the above case the user used:&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;strong&gt;&lt;em&gt;result = data &amp;amp;&amp;amp; mask;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;With &lt;strong&gt;&lt;em&gt;result &lt;/em&gt;&lt;/strong&gt;being a vector the above is a “logical/design error” but usually a Verilog compiler would let this go through (as it is not an error as per LRM). &lt;/p&gt;  &lt;p&gt;Now one can “verify” this by writing a testbench, simulate, look at waveform and debug. Depending on luck and the expertise of the engineer, it could take some 30-minutes to few hours. But as a Verification power-house CVC suggests to rethink – use the right tool/technology for the right class of design errors. These are things that are very easy for a static verification technology such as HDL-Linting to flag in less than a minute. &lt;/p&gt;  &lt;p&gt;For instance, let’s try the above code with a popular Linter – ALINT from Aldec (&lt;a href="http://www.aldec.com/products/alint/"&gt;http://www.aldec.com/products/alint/&lt;/a&gt;). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.aldec.com/products/alint/" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ALINT_2011" border="0" alt="ALINT_2011" src="http://lh3.ggpht.com/-5Gg1nFUahf8/TuOr6GQrQcI/AAAAAAAAAKU/62Jv9eDMOP0/ALINT_2011%25255B4%25255D.png?imgmax=800" width="533" height="211" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;ALINT has nice rule sets pre-packaged for various policies such as STARC (&lt;a href="http://www.starc.jp/index-e.html"&gt;http://www.starc.jp/index-e.html&lt;/a&gt;). It produces the following:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-mSSAakxR8N0/TuOr7F8fVAI/AAAAAAAAAKc/8DmfRKipL-I/s1600-h/ALINT_STARC_rules%25255B6%25255D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ALINT_STARC_rules" border="0" alt="ALINT_STARC_rules" src="http://lh3.ggpht.com/-U2CB67_ete0/TuOr8eAWqwI/AAAAAAAAAKk/OTTfpsEsaRs/ALINT_STARC_rules_thumb%25255B4%25255D.jpg?imgmax=800" width="766" height="455" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This will trigger 2 rules:    &lt;br /&gt;&amp;#160; -&amp;#160; rule about logic operation having a vector operand     &lt;br /&gt;&amp;#160; -&amp;#160; rule about bit width mismatch in the assignment - LHS vs RHS.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;     &lt;br /&gt;ALINT: Warning: test.v : (4, 1): Module &amp;quot;top&amp;quot;. &amp;quot;STARC_VLOG.2.1.4.5&amp;quot; Logical operator has vector argument(s). Use bit-wise operators for multi-bit arguments and logical operators only for 1-bit arguments. Level: Recommendation 1.       &lt;br /&gt;ALINT: Warning: test.v : (4, 1): Module &amp;quot;top&amp;quot;. &amp;quot;STARC_VLOG.2.10.3.4&amp;quot; Assignment source bit width &amp;quot;1&amp;quot; is less than destination bit width &amp;quot;8&amp;quot;. Upper bits of the right-hand side will be filled with zeroes. Match bit widths exactly to improve the readability of the description. Level: Recommendation 2.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now from a business perspective too – this is a far better option for your management – usually LINT tools are far cost efficient than full blown SystemVerilog simulator(s) such as Aldec’s Riviera-Pro &lt;a href="http://www.aldec.com/Riviera"&gt;http://www.aldec.com/Riviera&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So next time when you receive a RTL code to verify, do yourself a favor by running a quick Lint run before looking for “hard bugs” that demand popular, powerful techniques such as Constrained-random, coverage-driven, UVM based etc.&lt;/p&gt;  &lt;p&gt;BTW – CVC offers training sessions (&lt;a href="http://www.cvcblr.com/trainings"&gt;http://www.cvcblr.com/trainings&lt;/a&gt;) on Aldec’s ALINT and HDL-Lint in general. Contact us (&lt;a href="http://www.cvcblr.com/about_us"&gt;http://www.cvcblr.com/about_us&lt;/a&gt;) to see how we can help your teams!&lt;/p&gt;  &lt;p&gt;Happy Verification ahead!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-3803740127349584743?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/3803740127349584743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=3803740127349584743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3803740127349584743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3803740127349584743'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/12/sledgehammer-to-crack-nut-use-right.html' title='Sledgehammer to crack a nut? – Use right tools for right class of design errors/bugs'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-t7EuuUljNX4/TuOr2yNQf-I/AAAAAAAAAJ8/MIQySpZufSg/s72-c/hammer_cracks_nut_thumb%25255B3%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6642715319643534932</id><published>2011-12-09T11:30:00.001-08:00</published><updated>2011-12-09T11:30:48.041-08:00</updated><title type='text'>UVM with VMM – first trial of true inter-operability</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As noted in our recent blog article &lt;a title="http://www.cvcblr.com/blog/?p=362" href="http://www.cvcblr.com/blog/?p=362"&gt;http://www.cvcblr.com/blog/?p=362&lt;/a&gt; UVM is the first genuine step in the industry towards verification inter-operability. But it has a long way to go before all the VIPs get migrated to UVM – if they do. So there is a strong need to leverage on existing code base such as VMM, OVM &amp;amp; UVM. &lt;/p&gt;  &lt;p&gt;Below is a code snippet that shows how we can use both VMM &amp;amp; UVM messaging schemes in same env/code base. As such the code is not magic, is it? But do watch below for the real MAGIC..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-Or53qowbvMI/TuJh0U5gxcI/AAAAAAAAAJE/Er3CsYAOTms/s1600-h/image%25255B6%25255D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-cow9Mgtdl6s/TuJh1tup_yI/AAAAAAAAAJM/zILtHi5xCsQ/image_thumb%25255B9%25255D.png?imgmax=800" width="532" height="352" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If not for the inter-op kit, the above code would spit the messages from 2 different schemes and make it very hard for end user to keep track, customize etc. &lt;/p&gt;  &lt;p&gt;With UVM &amp;amp; VMM loggers being separate and not “inter-operating” the following user issues may arise:&lt;/p&gt;  &lt;p&gt;1. Different formatted messages coming at different lines, making it hard, ugly to read, analyze&lt;/p&gt;  &lt;p&gt;2. Complicating data-mining of log files as there are 2 different formats now in same log file&lt;/p&gt;  &lt;p&gt;3. Error, Warning counts distributed leading to unreliable FAIL/PASS detection&lt;/p&gt;  &lt;p&gt;4. Any customization done by user on formatting needs to be done multiple times&lt;/p&gt;  &lt;p&gt;5. Sending to different log files not as easy as it involves 2 different base classes now!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Again there are more, let’s get solutions on the table. Here comes the MAGIC: With VCS, try:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-z7l7eAY8Iqs/TuJh2XALx6I/AAAAAAAAAJQ/lJp-h_LisEs/s1600-h/Picture1%25255B4%25255D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Picture1" border="0" alt="Picture1" src="http://lh6.ggpht.com/-0S6YaUfAwvg/TuJh3fnOTHI/AAAAAAAAAJY/IQEg7N1dhTM/Picture1_thumb%25255B5%25255D.jpg?imgmax=800" width="427" height="52" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The log file now combines the `vmm_note into `uvm_info “magically” and unifies it for the users!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-thSdD3ec4F8/TuJh4P1gFfI/AAAAAAAAAJg/IuX8ahh79Tk/s1600-h/Picture1%25255B8%25255D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Picture1" border="0" alt="Picture1" src="http://lh5.ggpht.com/-lsR46X5HFuA/TuJh5BtO-TI/AAAAAAAAAJs/2osAHrmBCMU/Picture1_thumb%25255B7%25255D.jpg?imgmax=800" width="529" height="293" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There is much more to this inter-op kit, see: &lt;a title="http://www.vmmcentral.com/uvm_vmm_ik/" href="http://www.vmmcentral.com/uvm_vmm_ik/"&gt;http://www.vmmcentral.com/uvm_vmm_ik/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy UVM and more..&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6642715319643534932?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6642715319643534932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6642715319643534932' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6642715319643534932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6642715319643534932'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/12/uvm-with-vmm-first-trial-of-true-inter.html' title='UVM with VMM – first trial of true inter-operability'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-cow9Mgtdl6s/TuJh1tup_yI/AAAAAAAAAJM/zILtHi5xCsQ/s72-c/image_thumb%25255B9%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2147802260085398547</id><published>2011-12-09T11:05:00.001-08:00</published><updated>2011-12-09T11:05:34.921-08:00</updated><title type='text'>Verification inter-operability beyond UVM</title><content type='html'>&lt;p&gt;As industry gets ready for adopting UVM with SystemVerilog, there are several practical combinations that come to the fore. One of the important concerns is about the existing code base/VIPs that can be “reused as-is”, yet benefit from various UVM features. For instance consider a VMM based VIP being plugged into a new UVM based env. Several user requirements/expectations arise:&lt;/p&gt;  &lt;p&gt;1. Can the UVM &amp;amp; VMM co-exist in same simulation?&lt;/p&gt;  &lt;p&gt;2. Can we leverage on single messaging scheme – instead of both `uvm_error &amp;amp; `vmm_error counting on their own, how do we unify them?&lt;/p&gt;  &lt;p&gt;3. Can UVM phasing control/synchronize the vmm_xacotr::start/stop_xactor?&lt;/p&gt;  &lt;p&gt;4. How does the UVM-Objection work with VMM-Consensus?&lt;/p&gt;  &lt;p&gt;5. How do we talk from VMM-channel to UVM components and vice-versa?&lt;/p&gt;  &lt;p&gt;6.How does the UVM ACTIVE/PASSIVE mechanism control VMM xactors underneath?&lt;/p&gt;  &lt;p&gt;7. Does UVM config mechanism affect the VMM, if yes, how, if not then what do we do?&lt;/p&gt;  &lt;p&gt;I am sure there are more. But just enough to get you worried! Thankfully the problem seems to have been acknowledged by the EDA vendors and potential solutions have started emerging. For instance the recently released VMM/UVM inter-op kit from Synopsys is at: &lt;a href="http://www.vmmcentral.com/uvm_vmm_ik/"&gt;http://www.vmmcentral.com/uvm_vmm_ik/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another common requirement from many customers is the ability to mix multiple modeling &amp;amp; verification languages with UVM. Cadence recently donated its version of UVM ML (Multi-Language) to Accellera for potential extension. This contains UVM-SystemC via TLM 2,0 and UVM-e for integrating IEEE 1647-E based eVCs to UVM. Though the industry has publically seen only Cadence’s Specman supporting IEEE 1647-E language, if John’s ESNUG were to be trusted (why not BTW?, see: &lt;a title="http://www.deepchip.com/items/0495-02.html" href="http://www.deepchip.com/items/0495-02.html"&gt;http://www.deepchip.com/items/0495-02.html&lt;/a&gt;), it may be soon that all major vendors release E-support. &lt;/p&gt;  &lt;p&gt;As noted in our recent blog, &lt;a title="http://www.cvcblr.com/blog/?p=361" href="http://www.cvcblr.com/blog/?p=361"&gt;http://www.cvcblr.com/blog/?p=361&lt;/a&gt; the upcoming 2012 year seems to be quite interesting for Verification technologies. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2147802260085398547?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2147802260085398547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2147802260085398547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2147802260085398547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2147802260085398547'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/12/verification-inter-operability-beyond.html' title='Verification inter-operability beyond UVM'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-2489755165426848901</id><published>2011-06-24T11:38:00.001-07:00</published><updated>2011-06-24T11:38:07.330-07:00</updated><title type='text'>Reusing functional coverage from block to system level – LSI @ SNUG India</title><content type='html'>&lt;p&gt;Last week at &lt;a href="http://www.cvcblr.com/blog/?p=332" target="_blank"&gt;SNUG India&lt;/a&gt;, LSI presented a good paper on the topic of Functional Coverage reuse (See: &lt;a href="http://www.synopsys.com/Community/SNUG/India/Pages/Abstracts.aspx?loc=India&amp;amp;locy=2011#TA1"&gt;http://www.synopsys.com/Community/SNUG/India/Pages/Abstracts.aspx?loc=India&amp;amp;locy=2011#TA1&lt;/a&gt;)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;Challenges and Approaches for Functional Coverage in SOC Verification Environments&lt;/b&gt;       &lt;br /&gt;Manikandan Subramanian, Ron Jacob, Sasidhar Dudyala, Srishan Thirumalai [LSI]&lt;/p&gt;    &lt;p&gt;This paper describes the complexity in using block level functional coverage at top level and pitfalls and approaches to aid reuse. This also describes controllability on coverage infrastructure from block level to SOC level and how UVM-EA helped in building the layered testbench infrastructure that can be reused.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What I really liked about this is the level of maturity that the SystemVerilog adoption that this paper indicates in India – while functional coverage is one of the top few powerful features in System Verilog, its adoption has been traditionally slower than what we wished. Especially with the boatload of features, knobs/options to control/fine tune, it is clearly one of those features that is waiting to be explored in greater detail. In this paper Ron laid out a nice architecture for “coverage reuse” across levels of verification. The architecture he &amp;amp; his team proposed can be captured into 3 classes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Config class – to configure “How much do you want” &lt;/li&gt;    &lt;li&gt;Coverage class – to capture “what and all you want” &lt;/li&gt;    &lt;li&gt;Coverage collector class – to sample the coverage points &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In a way the last 2 points have been stressed by VMM for years, and we at &lt;a href="http://www.cvcblr.com" target="_blank"&gt;TeamCVC&lt;/a&gt; have been recommending it to our customers for years. &lt;/p&gt;  &lt;p&gt;Specifically during our popular &lt;a href="http://www.cvcblr.com/trainings" target="_blank"&gt;System Verilog training&lt;/a&gt; sessions such as &lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf" target="_blank"&gt;VSV&lt;/a&gt; (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf&lt;/a&gt;) we compare this to an athletic race and describe how the “field meters” placed/planted in the filed actually measures the speed while the runners/athletes simply RUN RUn &amp;amp; RUN!&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;img src="http://img101.imageshack.us/img101/2679/p8220159.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now compare this to a classical VMM environment:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i.cmpnet.com/eedesign/2006/apr/vmm1.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;The environment with all the components form the “field” while the “transactions” that flow through match the real “athletes”. It makes a lot of sense to plant the “measuring meters” (in this case the “coverage collectors and the coverage models” away from the actual transactions. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This is what Ron’s team experienced too. Though there are some &lt;a href="http://www.cvcblr.com/blog/?p=9" target="_blank"&gt;ACC technologies&lt;/a&gt; such as ECHO in VCS that traditionally worked better (see: &lt;a title="http://www.cvcblr.com/blog/?p=9" href="http://www.cvcblr.com/blog/?p=9"&gt;http://www.cvcblr.com/blog/?p=9&lt;/a&gt;) with transactions “embedded with covergroups”, VCS’s ECHO has come a long way and has supported VMM style covergroups as well.&lt;/p&gt;  &lt;p&gt;The next big challenge that Ron addressed was the “reusability” and need to “control” the amount of coverage at System Level from block level. He had several good guidelines for the users, recommend highly to take down his paper and keep it handy at work! While some of the “sample_cov” overriding can be better done using SystemVerilog 2009 updates to built-in &lt;strong&gt;&lt;em&gt;sample()&lt;/em&gt;&lt;/strong&gt; function, a lot needs to be still done. For instance how do we override a full coverage model/covergroup/coverpoint/bins/cross etc. at System Level? &lt;/p&gt;  &lt;p&gt;Ron’s approach was to add disable bits – yes, better than not having it, but it doesn’t scale up. Several years back Vera added such AOP/OOP style extensions to covergroups, but due to slow user adoption, this was never ported to SystemVerilog. Talk to &lt;a href="http://www.linkedin.com/pub/arturo-salz/3/76/484" target="_blank"&gt;Arturo Salz&lt;/a&gt; – friendly known as the “Father of Vera HVL” by many if you are interested.Basically the extensions are to allow things like:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Add extra coverpoint/bin/cross &lt;/li&gt;    &lt;li&gt;Delete/drop a block level coverpoint/bin/cross &lt;/li&gt;    &lt;li&gt;Re-define the entire covergroup etc. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Now – where do we go from here – IEEE-SA invites sincere participation from end-users to set directions, drive language features/enhancements via active participation. See: &lt;a title="https://mentor.ieee.org/stds-india/bp/StartPage" href="https://mentor.ieee.org/stds-india/bp/StartPage"&gt;https://mentor.ieee.org/stds-india/bp/StartPage&lt;/a&gt; to know more. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2489755165426848901?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2489755165426848901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2489755165426848901' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2489755165426848901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2489755165426848901'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/06/reusing-functional-coverage-from-block.html' title='Reusing functional coverage from block to system level – LSI @ SNUG India'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-1670858130273920473</id><published>2011-06-16T13:17:00.001-07:00</published><updated>2011-06-16T13:17:50.445-07:00</updated><title type='text'>Meet TeamCVC at next week SNUG India DCE booth</title><content type='html'>&lt;p&gt;If you live in India, specifically Bangalore and work in the field of VLSI, it is hard to miss the well attended SNUG event every year. Just like last year, this year’s SNUG hosts the popular DCE - Designer Community Expo&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-uSUNfZu1KZ8/Tfpk6ijrT_I/AAAAAAAAAI8/y6WKbI-FHeU/s1600-h/CommunityColor%25255B5%25255D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="CS150_DCE_logo8" border="0" alt="CS150_DCE_logo8" src="http://lh6.ggpht.com/-dQP4DUvKAhQ/Tfpk7CHDAqI/AAAAAAAAAJA/Uqq8jIUSQQY/CommunityColor_thumb%25255B3%25255D.jpg?imgmax=800" width="244" height="236" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.synopsys.com/Community/SNUG/India/Pages/DCE.aspx"&gt;http://www.synopsys.com/Community/SNUG/India/Pages/DCE.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;TeamCVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) will be at Verification track booth and you are welcome to stop by for a range of surprises, quiz &amp;amp; gifts including our various books (&lt;a href="http://www.systemverilog.us"&gt;www.systemverilog.us&lt;/a&gt;). TeamCVC also has a paper co-authored by our CTO Srini (&lt;a href="http://www.linkedin.com/in/svenka3"&gt;www.linkedin.com/in/svenka3&lt;/a&gt;) along with Kishor @Intel and Amit @SNPS, see abstract at: &lt;a href="http://www.synopsys.com/Community/SNUG/India/Pages/Abstracts.aspx?loc=India&amp;amp;locy=2011#TA1"&gt;http://www.synopsys.com/Community/SNUG/India/Pages/Abstracts.aspx?loc=India&amp;amp;locy=2011#TA1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What: OVM/UVM paper with Intel-CVC-SNPS: &lt;a href="http://www.synopsys.com/Community/SNUG/India/Pages/Abstracts.aspx?loc=India&amp;amp;locy=2011#TA1"&gt;http://www.synopsys.com/Community/SNUG/India/Pages/Abstracts.aspx?loc=India&amp;amp;locy=2011#TA1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;When: Thursday June 23, 2011, 10.30 AM&lt;/p&gt;  &lt;p&gt;Where: Leela Palace Hotel&lt;/p&gt;  &lt;p&gt;What: Meet TeamCVC @ our booth, DCE: Win books, gifts, take quiz etc.&lt;/p&gt;  &lt;p&gt;When: Thursday, June 23   &lt;br /&gt;Time: 5:15pm - 7:15pm    &lt;br /&gt;Location: Grand Ballroom, Leela Palace&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1670858130273920473?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1670858130273920473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1670858130273920473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1670858130273920473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1670858130273920473'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/06/meet-teamcvc-at-next-week-snug-india.html' title='Meet TeamCVC at next week SNUG India DCE booth'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-dQP4DUvKAhQ/Tfpk7CHDAqI/AAAAAAAAAJA/Uqq8jIUSQQY/s72-c/CommunityColor_thumb%25255B3%25255D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1498431136560857062</id><published>2011-06-16T12:16:00.001-07:00</published><updated>2011-06-16T12:16:46.952-07:00</updated><title type='text'>Verification gets another buzzword - “ADS” thanks to Cadence</title><content type='html'>&lt;p&gt;At DAC 2011, Cadence introduced yet-another 3-letter buzzword to the wonderful world of Verification – &lt;strong&gt;ADS: Assertion-Driven Simulation&lt;/strong&gt;. Traditionally assertions have been monitors/passive elements, but some high-end formal verification groups have been using it to drive model checkers, random stimulus generators etc. CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) has a long history with assertions and we saw this ADS model first with a start-up named Safelogic in Sweden, that got acquired by Jasper a while ago. Under the hood most of the formal tools could do this – be it CDN’s IFV, SNPS’s Magellan etc. &lt;/p&gt;  &lt;p&gt;Jasper rolled out ActiveDesign in 2010 and TeamCVC spoke to the developers and blogged it at &lt;a href="http://www.cvcblr.com/blog/?p=132"&gt;http://www.cvcblr.com/blog/?p=132&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Recently Zocalo (&lt;a href="http://www.zocalo-tech.com"&gt;www.zocalo-tech.com&lt;/a&gt;) announced VisualSVA product that enables capturing of SVA via a GUI and also provide debug traces &lt;/p&gt;  &lt;p&gt;And now Cadence brings it even more closer – down to your Simvision window – with a push of an additional button in your favorite Waveform window you get stimulus, see: &lt;a title="http://bit.ly/mo9kjl" href="http://bit.ly/mo9kjl"&gt;http://bit.ly/mo9kjl&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This is certainly encouraging and will propel the industry to increase the much needed assertion density among legacy &amp;amp; new RTL designs to improve the quality of designs. &lt;/p&gt;  &lt;p&gt;From a language perspective SystemVerilog 2009 added &lt;strong&gt;&lt;em&gt;checker..endchecker&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;rand &lt;/em&gt;&lt;/strong&gt;variables inside. While the 2009 LRM limits the &lt;strong&gt;&lt;em&gt;checker&lt;/em&gt;&lt;/strong&gt; to be “monitors” alone, the recent discussions in the SV-AC IEEE extension groups proposals are emerging to make them “generate random stimulus” from &lt;strong&gt;&lt;em&gt;checker&lt;/em&gt;&lt;/strong&gt; blocks too. So stay tuned for more on ADS :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1498431136560857062?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1498431136560857062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1498431136560857062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1498431136560857062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1498431136560857062'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/06/verification-gets-another-buzzword-ads.html' title='Verification gets another buzzword - “ADS” thanks to Cadence'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-7037625926870205731</id><published>2011-04-13T10:38:00.001-07:00</published><updated>2011-04-13T10:38:14.932-07:00</updated><title type='text'>An evening full of Do’s &amp; Don’ts in OVM/UVM with Cliff Cummings</title><content type='html'>&lt;p&gt;Clifford Cummings (&lt;a title="http://www.linkedin.com/in/cliffcummings" href="http://www.linkedin.com/in/cliffcummings"&gt;http://www.linkedin.com/in/cliffcummings&lt;/a&gt;) is a crowd puller – no doubt. Consider:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Hot summer mid-day (2 PM start time) &lt;/li&gt;    &lt;li&gt;Bangalore traffic/center of city (potential peak traffic towards end time of 5.30 PM) &lt;/li&gt;    &lt;li&gt;A venue known/infamous for a “HUGE” area but no so frequented by hi-tech community of Silicon Valley of India, past events over there had history of terrible attendance &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Yet there were close to 70+ Verification engineers at Cliff’s UVM/OVM seminar aptly titled as:&lt;/p&gt;  &lt;h3&gt;“Advanced SystemVerilog Tips Including OVM &amp;amp; UVM Tips”&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;It was indeed for Advanced System Verilog users as he had most of the slides on OVM/UVM. TeamCVC (&lt;a title="http://in.linkedin.com/in/cvcblr" href="http://in.linkedin.com/in/cvcblr"&gt;http://in.linkedin.com/in/cvcblr&lt;/a&gt;) specifically its trainees, some 11 of them were there cherishing their stint at CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) as they hear a world-class seminar and being a fresh graduate, making sense out of that was&amp;#160; a pride on its own. That’s the power of CVC’s time proven EIC training (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf&lt;/a&gt;) that takes in a fresh B.E/M.Tech graduate and turns them to be most sought out Verification engineer in local market.&lt;/p&gt;  &lt;p&gt;Madhavi Rao of Cadence (&lt;a title="http://in.linkedin.com/in/madhavirao" href="http://in.linkedin.com/in/madhavirao"&gt;http://in.linkedin.com/in/madhavirao&lt;/a&gt;) has done an excellent job in making the event popular and driving it to customers. TeamCVC did their bit, by blogging about it via: &lt;a title="http://www.cvcblr.com/blog/?p=325" href="http://www.cvcblr.com/blog/?p=325"&gt;http://www.cvcblr.com/blog/?p=325&lt;/a&gt; and also tweeted via: &lt;a href="http://twitter.com/cvcblr"&gt;http://twitter.com/cvcblr&lt;/a&gt; – for those who believe (still) that Social Media is not engineers/hi-tech, there were more than 5 folks who told me at the event that they heard it via Tweets and they signed-in for the event!&lt;/p&gt;  &lt;p&gt;Coming to the event technical content – A good detailed, 60-page write-up by Cliff is at: &lt;a title="http://j.mp/gJegMP" href="http://j.mp/gJegMP"&gt;http://j.mp/gJegMP&lt;/a&gt; And for those who cherish/enjoy live-tweets, let’s not repeat all the hardwork TeamCVC had put in live-tweets during the event itself, see: &lt;a href="http://twitter.com/cvcblr"&gt;http://twitter.com/cvcblr&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The true success of the technical value was evident towards the end – during the High-Tea, almost every attendee had atleast one TIP to go home with (many with more than 1 obviously), I heard things like:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I would not use global_stop_request after run_test&lt;/p&gt;    &lt;p&gt;I would not look at enable_stop_interrupt&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;etc. &lt;/p&gt;  &lt;p&gt;Cliff cited JL Gray (&lt;a title="http://www.linkedin.com/in/jlgray" href="http://www.linkedin.com/in/jlgray"&gt;http://www.linkedin.com/in/jlgray&lt;/a&gt;) for his interesting analogy of OVM’s TLM port-export to the famous Hollywood Blockbuster Avatar Movie. I am still looking for more details on that comparison as it wasn’t easy to catch that link during Cliff’s brief notes.&lt;/p&gt;  &lt;p&gt;Cliff’s own explanation of port-export to a driving-a-car using steering-wheel was interesting as well.&lt;/p&gt;  &lt;p&gt;Cliff’s session on handling end-of-test was the best pick in this event. Start with the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160; initial begin : end_of_test_try&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; run_test();&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; global_stop_request;&lt;/p&gt;    &lt;p&gt;&amp;#160; end : end_of_test_try&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you need more details, read: &lt;a title="http://j.mp/gJegMP" href="http://j.mp/gJegMP"&gt;http://j.mp/gJegMP&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It was indeed a nice evening with Cliff and other Verification geeks of Bangalore. Now, let’s look forward to how the Pune event goes, maybe &lt;a href="http://twitter.com/punechips"&gt;http://twitter.com/punechips&lt;/a&gt; will provide us the live-tweets :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7037625926870205731?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7037625926870205731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7037625926870205731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7037625926870205731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7037625926870205731'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/04/evening-full-of-dos-donts-in-ovmuvm.html' title='An evening full of Do’s &amp;amp; Don’ts in OVM/UVM with Cliff Cummings'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-6829517839920517204</id><published>2011-04-06T11:04:00.001-07:00</published><updated>2011-04-06T11:04:29.040-07:00</updated><title type='text'>Spend 3 hours to know more about UVM, OVM with Cliff Cummings @ Bangalore/Pune</title><content type='html'>&lt;p&gt;If you are curious about recently released UVM standard – you won’t have missed to note the DVCon-2011 blogs/tweets etc. Some of those captures can be seen at &lt;a href="http://www.cvcblr.com/blog/?p=283"&gt;http://www.cvcblr.com/blog/?p=283&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog/?p=298"&gt;http://www.cvcblr.com/blog/?p=298&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog/?p=322"&gt;http://www.cvcblr.com/blog/?p=322&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, in case you didn’t visit DVCon, here is UVM coming to YOU – at Bangalore &amp;amp; Pune. Thanks to Cadence &amp;amp; QLogic, there are free UVM update events being scheduled on Apr 13th &amp;amp; Apr 19th. Register for free right away. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Agenda:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;New UVM 1.0 overview and comparison to OVM &lt;/li&gt;    &lt;li&gt;Important OVM and UVM phasing &lt;/li&gt;    &lt;li&gt;Secrets in mastering OVM and UVM &lt;/li&gt;    &lt;li&gt;Graceful termination of tests in OVM and UVM with emphasis on the objection mechanism &lt;/li&gt;    &lt;li&gt;Some of Cliff's favorite SystemVerilog tips and tricks &lt;/li&gt;    &lt;li&gt;Some early UVM techniques and best practices &lt;/li&gt; &lt;/ul&gt;  &lt;table border="1" cellspacing="0" cellpadding="2" width="694"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="133"&gt;Date&lt;/td&gt;        &lt;td valign="top" width="122"&gt;Time&lt;/td&gt;        &lt;td valign="top" width="437"&gt;Location&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;April 13, Wednesday&lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p&gt;2.00pm – 5.30pm&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="437"&gt;         &lt;p&gt;Bangalore&lt;/p&gt;          &lt;p&gt;Auditorium 1            &lt;br /&gt;NIMHANS Convention Centre             &lt;br /&gt;Hosur Road, Bangalore&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="142"&gt;April 19, Tuesday&lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p&gt;4.00 – 7.30pm&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="437"&gt;Pune,          &lt;br /&gt;          &lt;p&gt;MCCIA Auditorium            &lt;br /&gt;A-Wing Ground Floor             &lt;br /&gt;MCCIA Trade Towers             &lt;br /&gt;(Building with Crossword Book Store)             &lt;br /&gt;Senapati Bapat Road, Pune &lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6829517839920517204?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6829517839920517204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6829517839920517204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6829517839920517204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6829517839920517204'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/04/spend-3-hours-to-know-more-about-uvm.html' title='Spend 3 hours to know more about UVM, OVM with Cliff Cummings @ Bangalore/Pune'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-6625867373356755945</id><published>2011-04-03T12:00:00.001-07:00</published><updated>2011-04-03T12:00:46.032-07:00</updated><title type='text'>Pune – the “Oxford of the East”, SystemVerilog and the vibrant community</title><content type='html'>&lt;p style="color:#008;text-align:right;" align="left"&gt;&lt;span style="color:Black"&gt;Last week &lt;a href="http://in.linkedin.com/in/cvcblr"&gt;TeamCVC&lt;/a&gt; held a 4-day training on System Verilog at Pune – a pleasant city in the western ghats of India, also known as the &amp;quot;Oxford of the East&amp;quot; due to its vast student community &amp;amp; research institutions. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="color:#008;text-align:right;" align="left"&gt;&lt;span style="color:Black"&gt;&lt;a href="http://www.cvcblr.com"&gt;TeamCVC&lt;/a&gt; has been to Pune few years back for a &lt;a href="http://www.vmmcentral.org"&gt;VMM&lt;/a&gt; training, see some of those experiences at http://bit.ly/eHMaH7&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:Black"&gt;But this visit has shown how fast this city has been growing and the recent boom it has been experiencing - atleast through an entrepreneur viewpoint. The first thing that struck me on my way to the hotel from airport was the flurry of developments – almost 90% of all hoarding/banners showing upcoming apartments, It is almost like Bangalore some 10 years back – with so many IT firms growing their staff strength, new office spaces being built etc.&lt;br /&gt;&lt;br /&gt;The weather was pleasant, gets quite hot mid-day but then cool breeze in the evening, gets little cold during early mornings. Kind of similar to Bangalore, atleast for this period of the year.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:Black"&gt;The Hinjewadi area/IT park is amazingly clean, well maintained, with wide roads. Trafiic was sensible, a BIG sigh of relief for a Bangalorean :-) Though there are BPO vehicles plying along the roads, they are not as hars driving as their counterparts in Bangalore are. &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color:Black"&gt;Coming to the training folks, what really surprised me was the true cosmopolitan nature of the IT crowd there (from the general media projection of Maharashtra). There were folks from Andhra, Karnataka, Gujarat, Delhi and of-course Pune &amp;amp; around. The razor sharp audience kept the training truly interactive and alive. I generally have a higher image/perspective of Maharastrians when it comes to intellect and I wasn’t proven wrong, the audience were dot on time with labs, always had the enthusiasm for learning more – something that a passionate trainer would look forward to in each session. It is indeed a pleasure to have such attendees as connoisseur. It was a mix of few experienced folks and some fresh graduates, similar to our recent Cochin experience (Read: &lt;a href="www.cvcblr.com/blog/?p=259 "&gt;SystemVerilog Assertions Field-day&lt;/a&gt;). However, the biggest difference was that the attendees were finishing all labs on time and were asking for more stuff, pretty impressive talent pool indeed!&lt;br /&gt;&lt;br /&gt;There were some good discussions around the &lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;SystemVerilog assertions&lt;/a&gt; – specifically on the Sequence repetition operators and the first_match. While we cover the basic repetition operators in our first session on sequences, we defer the first_match to advanced sequence session. One set of attendees finished the lab on sequences faster and started debate on &amp;quot;potential multiple matches&amp;quot; and the necessity of the consequent to hold for all matches. VCS DVE’s sequence debug/visualization came in very handy to appreciate the SVA behavior.&lt;br /&gt;&lt;br /&gt;The discussion on $cast in SystemVerilog went on really nice, with new animation kicking in on demand and was well received. While the &amp;quot;syntax&amp;quot; was learnt the hard way, some folks weren't convinced on its real usage – not uncommon as the first level SystemVerilog course, we call it VSV () shows you how to use it, but our methodology sessions truly leverages it. Some of the tech-hungry attendees said &amp;quot;Yeah Dil Maange More..&amp;quot; and we quickly opened up $VCS_HOME/etc/rvm/vmm.sv and showed some of the real life usage of $cast – the instant reaction was &amp;quot;Oh My God – so common in reusable code.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Wanted to add more stuff, but realize it is already a long post, so perhaps some other time with few images to make it more interesting to read. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="color:#008;text-align:right;" align="left"&gt;&lt;span style="color:Black"&gt;&lt;small&gt;&lt;em&gt;Powered by&lt;/em&gt; &lt;a href="http://www.qumana.com/"&gt;Qumana&lt;/a&gt;&lt;/small&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6625867373356755945?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6625867373356755945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6625867373356755945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6625867373356755945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6625867373356755945'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/04/pune-oxford-of-east-systemverilog-and.html' title='Pune – the “Oxford of the East”, SystemVerilog and the vibrant community'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2210374501386359615</id><published>2011-03-11T19:05:00.001-08:00</published><updated>2011-03-11T19:05:49.411-08:00</updated><title type='text'>What’s beyond UVM? - Excerpts from DVCon BoF panel</title><content type='html'>&lt;p&gt;Last week at DVCon we had a very interesting Birds-of-a-Feather meeting on Mar 1st evening. Panelists included &lt;strong&gt;Tom Anderson&lt;/strong&gt; from &lt;a href="http://www.cadence.com" target="_blank"&gt;Cadence&lt;/a&gt;, &lt;strong&gt;Yunshan Zhu&lt;/strong&gt; from &lt;a href="http://www.nextopsoftware.com" target="_blank"&gt;NextOp&lt;/a&gt; and &lt;strong&gt;Adnan Hamid&lt;/strong&gt; from &lt;a href="http://www.brekersystems.com" target="_blank"&gt;Breker Systems&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXris31clvI/AAAAAAAAAHs/IRGKuusTAHU/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXriuUmSelI/AAAAAAAAAHw/SPiCUeat514/image_thumb%5B1%5D.png?imgmax=800" width="476" height="275" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It was moderated by &lt;strong&gt;Srinivasan Venkataramanan&lt;/strong&gt; from &lt;a href="http://www.cvcblr.com" target="_blank"&gt;CVC&lt;/a&gt;. See pre-BoF invite/details at:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.cvcblr.com/blog/?p=272" href="http://www.cvcblr.com/blog/?p=272"&gt;http://www.cvcblr.com/blog/?p=272&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The theme of this panel was “Verification Closure” – given that 2011 DVCon marked the birth/release of UVM standard for developing reusable, inter-operable VIPs, it was a perfect fit for a group of technocrats to explore what is beyond UVM. We had some very interesting discussions and here are some excerpts. If you feel I missed some discussion topic or have any comment on this, feel free to blog it here!&lt;/p&gt;  &lt;p&gt;To start with, Rick Nordin of Breker Systems introduced the panel topic and the moderator. &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXrivN8vPuI/AAAAAAAAAH0/YGD94Cac9qQ/s1600-h/img214%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="img214" border="0" alt="img214" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXrivh4YgRI/AAAAAAAAAH4/23J-0AJuHcY/img214_thumb%5B2%5D.jpg?imgmax=800" width="338" height="260" /&gt;&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXriwqXOQTI/AAAAAAAAAH8/nlCQWG_4cRY/s1600-h/RickNordin%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RickNordin" border="0" alt="RickNordin" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXrixCdRJSI/AAAAAAAAAIA/CfZp1gpo5Qo/RickNordin_thumb%5B1%5D.jpg?imgmax=800" width="330" height="262" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Srini (&lt;a href="http://www.linkedin.com/in/svenka3"&gt;www.linkedin.com/in/svenka3&lt;/a&gt;) presented single slide setting the stage for the panelists and had the honor of introducing the esteemed panelists of the evening: Tom, Yunshan &amp;amp; Adnan. &lt;/p&gt;  &lt;p&gt;Here is the slide from Srini:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXriyM4pmiI/AAAAAAAAAIE/jKXSCWBgF50/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXriy_lFgcI/AAAAAAAAAII/pMbNMV86QI0/image_thumb%5B5%5D.png?imgmax=800" width="435" height="327" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Basically – we have the UVM now, how do we leverage and verify a complex SoC with it – what are the pieces of the puzzle involved beyond UVM itself? At broad level here are the key pieces:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Tests/Stimulus – co-ordinated across several UVM VIPs/interfaces – this is far beyond regular SystemVerilog constraints, UVM sequences. Sure UVM’s virtual sequences can help, but with lot of coding and very little reuse from block to SoC level, see &lt;a title="http://www.cvcblr.com/blog/?p=272" href="http://www.cvcblr.com/blog/?p=272"&gt;http://www.cvcblr.com/blog/?p=272&lt;/a&gt; for some example. &lt;/li&gt;    &lt;li&gt;Targets/coverage goals – not just “code coverage” or “cross every possible input to every possible output” – rather “qualified”, identified and possibly filtered as per existing simulation runs – all automatic &lt;/li&gt;    &lt;li&gt;A robust platform to do the execution, track it in an executable plan and measure the progress &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Tom presented first with Cadence’s solution of automated constraint automation, vPlan and integrating adjacent technologies such as Formal, Emulation etc. He was as grand as ever in his vision and covered a whole lot in 1-slide indeed!&amp;#160; Pircked it from Tom’s parallel blog on this topic: &lt;a href="http://www.cadence.com/Community/blogs/fv/archive/2011/03/11/a-modest-proposal-using-formal-to-close-coverage-gaps.aspx"&gt;http://www.cadence.com/Community/blogs/fv/archive/2011/03/11/a-modest-proposal-using-formal-to-close-coverage-gaps.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXrizv1Xz8I/AAAAAAAAAIM/7Vs3vYMDkCI/s1600-h/TA_0311_1%5B4%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="TA_0311_1" border="0" alt="TA_0311_1" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXri0VXrY6I/AAAAAAAAAIQ/xFZfqP4WP9Y/TA_0311_1_thumb%5B2%5D.jpg?imgmax=800" width="479" height="289" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then Yunshan presented how to automatically identify qualified coverage targets based on RTL + existing simulation run through NextOp’s Assertion Synthesis. This has caught lot of users excited about this technology and the emerging customer reports from companies like Altera (at deepchip.com) is only making the case more stronger! Here is a quick snapshot of what NextOp brings to the table in this space (from: &lt;a href="http://www.nextopsoftware.com/Te_AssertionBasedVerification.html"&gt;http://www.nextopsoftware.com/Te_AssertionBasedVerification.html&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXri0zvQLCI/AAAAAAAAAIU/P9M-8gx9QoE/s1600-h/NextOpGenericAssertionSynthesis5.jpg"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="NextOpGenericAssertionSynthesis" border="0" alt="NextOpGenericAssertionSynthesis" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXri1qlESiI/AAAAAAAAAIY/nr8cZOBqTVY/NextOpGenericAssertionSynthesis_thum.jpg?imgmax=800" width="494" height="285" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Yunshan also presented on how this fits nicely to today’s existing flows and extends the scope for formal/emulation on demand basis. This is extremely beneficial as the audience got to see that NextOp doesn’t really change the flow, rather fitst nicely to any existing flow and brings in value instantly.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXri2lkulNI/AAAAAAAAAIc/fWPc7aRdFBk/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXri3g3Lk0I/AAAAAAAAAIg/FRjIrIe3jwY/image_thumb%5B7%5D.png?imgmax=800" width="440" height="291" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then it was Adnan’s turn to present his views and he started with a BANG! showing how “Model based stimulus-check-cover” generation helps in achieving Verification Closure. In his terms the “testcase generation” is incomplete if it talks “only” about the stimulus – instead it should capture the “stimulus, expect/checker and a coverage model” all in one. A grand idea in plan, call Breker to see how to make it true on your designs! &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXri4gQwVpI/AAAAAAAAAIk/__cI9XyRbl0/s1600-h/image%5B16%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXri5atzP0I/AAAAAAAAAIo/lL-MqKIXbd4/image_thumb%5B9%5D.png?imgmax=800" width="433" height="322" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then Adnan moved on to addressing the SoC level challenges in developing, C based tests with all desired bells-n-whistles such as:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Reuse of IP level scenarios/graphs &lt;/li&gt;    &lt;li&gt;Automated C test generation &lt;/li&gt;    &lt;li&gt;Heavy memory coherency and &lt;/li&gt;    &lt;li&gt;Debug of such scenarios as-if it is plain SW code (via ubiquitous &lt;strong&gt;&lt;em&gt;printf&lt;/em&gt;&lt;/strong&gt;) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXri6LLr89I/AAAAAAAAAIs/x-mY9L0wKVE/s1600-h/image%5B20%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXri68mzPRI/AAAAAAAAAIw/dH5haEOEke4/image_thumb%5B11%5D.png?imgmax=800" width="400" height="299" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Perhaps too much to absorb in 10-minutes, but that’s why they had a booth at DVCon exhibit :-)&lt;/p&gt;  &lt;p&gt;Then we had an exciting set of audience questions ranging from “explicit goals to hidden targets” (an interesting attendee posted it by taking examples from Hindu mythological characters such as Ravana &amp;amp; Indra – I will try and cover that in a separate blog on that for pleasure, if not anything else..). A quick summary of that question:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="5"&gt;I am clear of an explicit goal to be hit by my SoC env (though it is not trivial to &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="5"&gt;hit it through simple set of “constrained random sequences” running on their &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="5"&gt;own, need a great deal of co-ordination). &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="5"&gt;But what about those &lt;/font&gt;&lt;font size="5"&gt;“hidden/invisible” targets that are deeply buried inside&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="5"&gt;my huge RTL code base? &lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Ans: This is where &amp;quot;&lt;strong&gt;Assertion Synthesis&lt;/strong&gt;” neatly plugs-in – given a set of simulation results, it goes into selected set of blocks/IPs, analyzes it and reports “quality properties” that the design + simulation exhibits. Now the user (typically the block owner) reviews those properties and marks these as assertions or cover holes. Sure there is work – but a targeted set of properties on potentially unstable/suspicious blocks/IPs with automated pruning of “redundant” stuff is a BIG deal indeed. Talk to &lt;a href="http://www.nextopsoftware.com"&gt;www.nextopsoftware.com&lt;/a&gt; for more! &lt;/p&gt;  &lt;p&gt;Some of the attendees:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXri9CcR9RI/AAAAAAAAAI0/pcURg7RQV5s/s1600-h/image%5B26%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXrjC36rprI/AAAAAAAAAI4/LOCg_Qq0Nhk/image_thumb%5B18%5D.png?imgmax=800" width="419" height="279" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;There were some excited/over heated arguments about temporal properties vs. white-box ones, especially from Vibarajan (&lt;a title="http://www.linkedin.com/pub/vibarajan-viswanathan/3/568/343" href="http://www.linkedin.com/pub/vibarajan-viswanathan/3/568/343P"&gt;http://www.linkedin.com/pub/vibarajan-viswanathan/3/568/343P&lt;/a&gt;). The fact is existing System Verilog constructs do a great deal of&amp;#160; work for block level/IP level properties, but they fail to deliver at SoC level of abstraction involving class based transaction level behaviors. Sure one can do lot of code around behavioral checkers/scoreboards (and as my good friend Nitin puts it – aren’t you trying to use wrong feature for wrong problem? – I respectfully disagree on this). &lt;/p&gt;  &lt;p&gt;Another interesting discussion was around reach-ability of various cover goals. The panel seemed to have the best answers given the abundence of talent/experience on the panelists. Tom explained how formal analysis can either reach them – even if they are hard to reach via regular constrained random generation. Tom also pitched in the role of “unreacahbility analysis” as some of the goals might be just NO-GO given the design constraints/logic and it is very hard to identify them manually. When it comes to higher level, system level scenarios there is this new Graph based scenario models that can literally “mind-map” verification intent thereby letting users “begin-with-end” in mind. You need to listen to Adnan to believe it, or better yet evaluate their flow to benefit from it!&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Photos from this BoF courtesy Joe Hupcey are at: &lt;a href="http://www.flickr.com/photos/24605532@N08/sets/72157626233541664/with/5513590114/"&gt;http://www.flickr.com/photos/24605532@N08/sets/72157626233541664/with/5513590114/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you have any more comments/questions to the panel, feel free to add them &lt;a href="http://www.cvcblr.com/blog/?p=319" target="_blank"&gt;here in this blog&lt;/a&gt; (&lt;a title="http://www.cvcblr.com/blog/?p=319" href="http://www.cvcblr.com/blog/?p=319"&gt;http://www.cvcblr.com/blog/?p=319&lt;/a&gt;) as comments, I will try and get the panelists respond.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2210374501386359615?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2210374501386359615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2210374501386359615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2210374501386359615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2210374501386359615'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/03/whats-beyond-uvm-excerpts-from-dvcon.html' title='What’s beyond UVM? - Excerpts from DVCon BoF panel'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_UsU6K1xQ-9k/TXriuUmSelI/AAAAAAAAAHw/SPiCUeat514/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6991291626782511743</id><published>2011-03-04T23:37:00.001-08:00</published><updated>2011-03-04T23:37:26.871-08:00</updated><title type='text'>Extracts from DVCon UVM poster session – it is vibrant ecosystem indeed</title><content type='html'>&lt;p&gt;Here are some snaps from recent DVCon UVM poster session. More than 12 vendors demonstrated their commerical offerings around UVM and it was an electrifying experience for the attendees/potential customers (some 180+ UVM tutorial attendees). Products/offerings broadly fell in the following categories:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Simulators – Cadence, Synopsys (DOn’t recall Mentor on poster, but of-course Questa supports UVM), another missing poster EDA tool company was Aldec. Though both Mentor &amp;amp; Aldec had their booths at the exhibit. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Cadence had a poster on how IUS supports UVM and extended debug features targeted for UVM users. Here is Joesph H with his Cadence poster&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXHn6j3h9ZI/AAAAAAAAAG0/qNR0KKhaWYs/s1600-h/img197%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img197" border="0" alt="img197" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHn7sCU_1I/AAAAAAAAAG4/uoqKssHb2U0/img197_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Synopsys had a clear, simple poster on how VCS extends its leadership in SystemVerilog performance. Here is Adiel Khan explaining with passion to a customer Synopsys poster:&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHn8WsBCAI/AAAAAAAAAG8/kQrfBGnZhlQ/s1600-h/img206%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img206" border="0" alt="img206" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXHn-Y-f5bI/AAAAAAAAAHA/gS8NvuIMXsk/img206_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Register model automation, maintenance: AgniSys dominated the poster with lots of visitors asking questions. Infact their poster attracted attendees even after the tutorial break was over and the session re-started. Alas, Anupam wasn’t there, but Srini from CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) did some back-up for Anupam. Part of EDA ecosystem, Huh!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here is Anupam explaining his poster to a customer potential:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXHn_v4n7vI/AAAAAAAAAHE/718mujLKoyE/s1600-h/img195%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img195" border="0" alt="img195" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHoAenxYgI/AAAAAAAAAHI/_ToUQkcIt7w/img195_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Other similar offerings were demonstrated by Semifore &amp;amp; Doulog.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Trainings: Clearly attendees were well treated by thriving training ecosystem – with CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;), Doulos and others showing off their new trainings on UVM.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TXHoBDbLyTI/AAAAAAAAAHM/HRBZpy3lVcU/s1600-h/img202%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img202" border="0" alt="img202" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TXHoBqIbqNI/AAAAAAAAAHQ/PVmofqB370w/img202_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;VIPs: CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) launched its latest campaign around UVM aptly named “&lt;strong&gt;&lt;em&gt;Unleashing&lt;/em&gt;UVM”&lt;/strong&gt; with trainings, products &amp;amp; services around UVM. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here is our CTO, Srini (&lt;a href="http://www.linkedin.com/in/svenka3"&gt;http://www.linkedin.com/in/svenka3&lt;/a&gt;) with the poster:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHoCyDruYI/AAAAAAAAAHU/Q4BUUptyH0M/s1600-h/DVCon_3%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="DVCon_3" border="0" alt="DVCon_3" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXHoD_S5FQI/AAAAAAAAAHY/oK9sT2A5cJs/DVCon_3_thumb.jpg?imgmax=800" width="244" height="183" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;And we had an interesting visitor all the way from home (Bangalore) – Mr. Amit Sharma :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHoE_BHvBI/AAAAAAAAAHc/xwuAuD2txsQ/s1600-h/img199%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img199" border="0" alt="img199" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXHoFifu_9I/AAAAAAAAAHg/HPM503NJZog/img199_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is a more detailed list of CVC’s products &amp;amp; Services around UVM:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TXHoGvb-LZI/AAAAAAAAAHk/ffprwBRW1mI/s1600-h/img203%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="img203" border="0" alt="img203" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHoNHEu4wI/AAAAAAAAAHo/5ne206o0iuI/img203_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Overall it was a great successful poster session and the user interest around it is a standing testimonial to the overwhelming customer expectation on UVM.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6991291626782511743?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6991291626782511743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6991291626782511743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6991291626782511743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6991291626782511743'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/03/extracts-from-dvcon-uvm-poster-session.html' title='Extracts from DVCon UVM poster session – it is vibrant ecosystem indeed'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_UsU6K1xQ-9k/TXHn7sCU_1I/AAAAAAAAAG4/uoqKssHb2U0/s72-c/img197_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1426680012725175202</id><published>2011-03-02T13:12:00.001-08:00</published><updated>2011-03-02T13:12:30.149-08:00</updated><title type='text'>Why UVM is important for the Semiconductor community?</title><content type='html'>&lt;p&gt;At DVCon Accellera released its latest standard for VIP interoperability named UVM – Universal Verification Methodology.&lt;/p&gt;  &lt;p&gt;12+ vendors demonstrated their commercial solutions around UVM – hasn’t happened for a long time in the industry around single standard – except perhaps for SystemVerilog itself (back in 2003?)&lt;/p&gt;  &lt;p&gt;While the technical details can be talked for very long time, here is a practical, real-life experience of “waiting for too long to have this standard”. This could be your simple means of convincing your technical management why they should be looking at UVM seriously in next project. &lt;/p&gt;  &lt;p&gt;On the DVCon evening (Mar 1st) I was having dinner with a good old friend of mine, Mahesh. Here are his experiences/pains of working with various verification projects for the past 6+ years:&lt;/p&gt;  &lt;p&gt;Mahesh – &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;it was a nightmare 5-6 years ago for Verification engineers – you move from one project to another within the SAME company (for instance acquired companies in a large company), your way of work – &lt;em&gt;a la &lt;/em&gt;- “methodology” changes, hell! How I write my BFM, how it interacts with rest of the environment, how do I control my number-of-transactions etc. etc.&lt;/p&gt;    &lt;p&gt;And when you switch jobs – almost guaranteed to go through the unlearn-learn cycle. While this cycle is good in many-a-context, but not to do the same thing – in this case “verification” – just with different base classes/languages. &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;He was listing: e, OpenVera, SystemVerilog languages and eRM, RVM, VMM, AVM and the likes..include OVM if you move the timeline little closer to 2011 :-)&lt;/p&gt;  &lt;p&gt;So having a standard methodology is certainly promising for end users and for management to manage resources across projects. Sure there are more compelling technical reasons too – hopefully all for better, but the good things is, even if there are some shortcomings, it is a platform to add things to and bring it to Accellera to grow it beyond UVM 1.0.&lt;/p&gt;  &lt;p&gt;Here is a snapshot of what CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) has to offer for you around UVM – &lt;strong&gt;&lt;em&gt;Unleashing&lt;/em&gt;UVM &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TW6yrlRpOYI/AAAAAAAAAGM/dXUmwAxDnp8/s1600-h/DVCon_3%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="DVCon_3" border="0" alt="DVCon_3" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TW6ysLU5v7I/AAAAAAAAAGQ/7jeR2shml2s/DVCon_3_thumb%5B3%5D.jpg?imgmax=800" width="296" height="222" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TW6ysqppcgI/AAAAAAAAAGU/z0Cx35UOYS8/s1600-h/img203%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="img203" border="0" alt="img203" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TW6ytNk6jQI/AAAAAAAAAGY/9BGjMsqnR9A/img203_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TW6ytfHkxaI/AAAAAAAAAGc/QRkDGYhFNCU/s1600-h/img200%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="img200" border="0" alt="img200" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TW6ytvHr-_I/AAAAAAAAAGg/btxHuZfAUd4/img200_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TW6yuKU1X3I/AAAAAAAAAGk/-479HKxu3i0/s1600-h/img201%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="img201" border="0" alt="img201" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TW6yulzzurI/AAAAAAAAAGo/cliXCif3J4I/img201_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TW6yu4qwN6I/AAAAAAAAAGs/HQJ0TnkT7-Q/s1600-h/img202%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="img202" border="0" alt="img202" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TW6yvYzBoRI/AAAAAAAAAGw/rkvagBBLg1s/img202_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1426680012725175202?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1426680012725175202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1426680012725175202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1426680012725175202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1426680012725175202'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/03/why-uvm-is-important-for-semiconductor.html' title='Why UVM is important for the Semiconductor community?'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_UsU6K1xQ-9k/TW6ysLU5v7I/AAAAAAAAAGQ/7jeR2shml2s/s72-c/DVCon_3_thumb%5B3%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-5187481799781840263</id><published>2011-02-27T22:42:00.001-08:00</published><updated>2011-02-27T22:42:05.158-08:00</updated><title type='text'>Explore technologies for “Verification Closure” at DVCon BoF meeting, Tuesday Mar 1st 6.30 PM (PST)</title><content type='html'>&lt;h3&gt;Big picture – Verification Closure&lt;/h3&gt;  &lt;h3&gt;Panel members: &lt;a href="http://www.cadence.com" target="_blank"&gt;Cadence&lt;/a&gt;, &lt;a href="http://www.nextopsoftware.com" target="_blank"&gt;NextOp&lt;/a&gt;, &lt;a href="http://www.brekersystems.com" target="_blank"&gt;Breker&lt;/a&gt; &amp;amp; &lt;a href="http://www.cvcblr.com" target="_blank"&gt;CVC&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;If you are attending DVCon starting tomorrow, here is a panel that you may not want to skip – yes &lt;strong&gt;&lt;u&gt;UVM &lt;/u&gt;&lt;/strong&gt;is hot and ready-to-go. How do we leverage that and get to faster Verification Closure – that’s precisely what we will be discussing in this “Birds-of-a-Feather” panel at DVCon &lt;a href="http://www.dvcon.org"&gt;www.dvcon.org&lt;/a&gt; on Tuesday Mar 1st, 6.30 PM US/Pacific time at &lt;strong&gt;Donner Ballroom&lt;/strong&gt;, DoubleTree Hotel, San Jose. &lt;/p&gt;  &lt;p&gt;Here is a summary of what to expect in this panel discussion:&lt;/p&gt;  &lt;p&gt;UVM is great! Enables interoperable VIPs to be created, reused. In a typical SoC – several such UVM VIPs get integrated and 1 (or more) embedded processors (ARM-like) configure/control the flow. Individual sequences/virtual sequences at UVM level will do great for peripheral-alone testing. &lt;/p&gt;  &lt;p&gt;Taking right from UVM SoC reference flow @ &lt;a href="http://www.uvmworld.org"&gt;www.uvmworld.org&lt;/a&gt;, here is a sample SOC:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TWtDpzDtLRI/AAAAAAAAAFs/dSvD9R2i8LU/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TWtDqVHyL_I/AAAAAAAAAFw/NR6A0wvVBsY/image_thumb%5B3%5D.png?imgmax=800" width="588" height="314" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;How about true “flow/scenario” testing? UVM’s virtual sequencer is “A possibility”. A pragmatic approach as outlined by an excellent article by my good friends @ Applied Micro, Pune (India) is here:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.design-reuse.com/articles/22264/system-verilog-ovm-verification-reusability.html"&gt;http://www.design-reuse.com/articles/22264/system-verilog-ovm-verification-reusability.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TWtDrOSOnoI/AAAAAAAAAF0/EtACYrphsXY/s1600-h/image%5B12%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TWtDs6rJbtI/AAAAAAAAAF4/2SK5eHhaw4A/image_thumb%5B8%5D.png?imgmax=800" width="635" height="309" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The above approach requires lot of coding, synchronization and pretty much directed across transactions/interfaces. How do we randomize “across interfaces/peripherals” to mimic system-level flows/scenarios?&lt;/p&gt;  &lt;p&gt;Even if we code up all Sequence libraries, virtual sequences and virtual sequencers – we got only the stimulus, what about complete “Verification Closure”?&lt;/p&gt;  &lt;p&gt;On top, overlay Low Power features, requirements and annotate Power State table information – the number of different paths/arcs to be coded and tested is mind boggling – imagine coding them via virtual sequences/sequencer – do-able, but lot of work indeed!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TWtDtXqIgMI/AAAAAAAAAF8/zzGqCKV6DC0/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TWtDuEXQxYI/AAAAAAAAAGA/RZth_9yCyIA/image_thumb%5B15%5D.png?imgmax=800" width="417" height="317" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Every DV team does this today in one-way or the-other. But what new technologies are available or becoming available to assist? &lt;/p&gt;  &lt;p&gt;Come and listen to experts in this domain at “Birds-of-a-Feather” panel at DVCon &lt;a href="http://www.dvcon.org"&gt;www.dvcon.org&lt;/a&gt; on Tuesday Mar 1st, 6.30 PM US/Pacific time at &lt;strong&gt;Donner Ballroom&lt;/strong&gt;, DoubleTree Hotel, San Jose. &lt;/p&gt;  &lt;p&gt;Here are some key items that would be discussed: If you have more ideas/questions send them across to &lt;a href="mailto:sevnka3@gmail.com"&gt;sevnka3@gmail.com&lt;/a&gt; or post as additional comments here at &lt;a href="http://www.cvcblr.com/blog"&gt;www.cvcblr.com/blog&lt;/a&gt; I will incorporate them as much as I can!&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Need truly inter-operable VIPs to start with – This is where UVM comes-in. We at CVC are &lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TWtDuXJjdjI/AAAAAAAAAGE/eVd3HIU1bB4/s1600-h/clip_image004%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TWtDuzCPjKI/AAAAAAAAAGI/Uq2zusDUPHE/clip_image004_thumb.jpg?imgmax=800" width="244" height="48" /&gt;&lt;/a&gt; at DVCOn UVM poster session.&lt;/li&gt;    &lt;li&gt;Need key “metrics” to define, drive and track the progress (Various sources including formal)&lt;/li&gt;    &lt;li&gt;How to focus on “critical, high quality” coverage targets?&lt;/li&gt;    &lt;li&gt;A coherent, high-level mechanism to capture the scenario models that aid in:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;generate stimulus &lt;/li&gt;      &lt;li&gt;capture scenario specific checks/criteria for success and &lt;/li&gt;      &lt;li&gt;Cover them across interfaces, temporal transaction coverage&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Come and share your views, learn what your fellow DV folks do all at DVCon!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5187481799781840263?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5187481799781840263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5187481799781840263' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5187481799781840263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5187481799781840263'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/02/explore-technologies-for-verification.html' title='Explore technologies for “Verification Closure” at DVCon BoF meeting, Tuesday Mar 1st 6.30 PM (PST)'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_UsU6K1xQ-9k/TWtDqVHyL_I/AAAAAAAAAFw/NR6A0wvVBsY/s72-c/image_thumb%5B3%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8969833649267498043</id><published>2011-02-07T10:09:00.001-08:00</published><updated>2011-02-07T10:09:11.706-08:00</updated><title type='text'>Feedback from customer on our SystemVerilog training</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Recently TeamCVC (&lt;a title="http://in.linkedin.com/in/cvcblr" href="http://in.linkedin.com/in/cvcblr"&gt;http://in.linkedin.com/in/cvcblr&lt;/a&gt;) conducted a 4-day SystemVerilog workshop at Kochi, South India. Some musings at: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog/?p=259"&gt;http://www.cvcblr.com/blog/?p=259&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;And today we received a cool note from customer voluntarily: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;&lt;u&gt;Vinayaraj T R, Project Engineer @Cochin:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;I have attended your training on System Verilog for Verification conducted last week at Kochi.&amp;#160; The session was very much helpful for me and even being a fresher I was able to understand the concepts and gain a lot of knowledge from it. I am very sure that it will help me a lot through out my career.&lt;/p&gt;    &lt;p&gt;It would be helpful if you could share the lab tutorials of that training.&lt;/p&gt;    &lt;p&gt;Thank you once again.&lt;/p&gt;    &lt;p&gt;Regards,&lt;/p&gt;    &lt;p&gt;Vinayaraj T R, &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Vinayaraj is certainly not alone. It is this customer satisfaction that gives us the “passion” to do more!&lt;/p&gt;  &lt;p&gt;Until another customer success story, it is sign-off from Bangalore, TeamCVC &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8969833649267498043?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8969833649267498043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8969833649267498043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8969833649267498043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8969833649267498043'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/02/feedback-from-customer-on-our.html' title='Feedback from customer on our SystemVerilog training'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-4527242934208147468</id><published>2011-02-07T09:15:00.001-08:00</published><updated>2011-02-07T09:15:18.009-08:00</updated><title type='text'>Find deeply buried functional bugs with Graph based solver</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Are you an expert Verification engineer using upto date languages &amp;amp; methodologies available such as Specman/E, SystemVerilog, VMM, OVM, UVM etc.? Are you looking for even more technologies to find “deeply buried functional bugs” in a language agnostic manner, yet be able to reuse the underlying TB code? Read what Dave Whipp, a veteran HW Verification engineer found working over the last few years:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=4172"&gt;http://verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=4172&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Specifically:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;There is a pressing need for testing tools that are language-agnostic – and such tools are indeed emerging. The shadow of the SystemVerilog steamroller is lifting.     &lt;br /&gt;One such tool, that I have been using successfully over &lt;strong&gt;the past few years&lt;/strong&gt;, is &lt;strong&gt;&lt;a href="http://www.brekersystems.com/product.php" target="_blank"&gt;Breker’s Trek&lt;/a&gt;&lt;/strong&gt;. Trek randomly generates directed tests using a constrained random walk of a graph (constructed by verification engineers) that describes how an environment interacts with the DUT. This is a step back from the purist approach of SAT-based constraint solvers, but it does provide an effective platform for exploring deep sequences of interactions. It would be good to see panel discussions of SAT-solving Vs graph walking as methodologies for finding deep bugs.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;See a snapshot of how a graph based solver can explore constraints that maybe “temporal” and across several transaction hierarchies:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TVAooT0wS-I/AAAAAAAAAFk/OPUFL_7A1bw/s1600-h/Trek_Enet%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Trek_Enet" border="0" alt="Trek_Enet" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TVAopOV_wQI/AAAAAAAAAFo/5rkbnGLSAt8/Trek_Enet_thumb%5B1%5D.png?imgmax=800" width="276" height="217" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There is lot more to Trek than this, but this ability itself is beyond today’s existing SAT based solvers. Now combine that with the &lt;strong&gt;STRONG&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;UNIQUE&lt;/em&gt;&lt;/strong&gt; block-to-SoC auto test generation – a new paradigm in verification is rolling out..&lt;/p&gt;  &lt;p&gt;See &lt;a href="http://www.brekersystems.com"&gt;www.brekersystems.com&lt;/a&gt; for more. And CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) is your partner in India to bring this advanced technology close to you, call us if you want to learn more.&lt;/p&gt;  &lt;p&gt;Happy testing!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4527242934208147468?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4527242934208147468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4527242934208147468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4527242934208147468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4527242934208147468'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/02/find-deeply-buried-functional-bugs-with.html' title='Find deeply buried functional bugs with Graph based solver'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_UsU6K1xQ-9k/TVAopOV_wQI/AAAAAAAAAFo/5rkbnGLSAt8/s72-c/Trek_Enet_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-9065164147380783975</id><published>2011-02-01T09:26:00.001-08:00</published><updated>2011-02-01T09:26:40.915-08:00</updated><title type='text'>SystemVerilog Assertions’ field-day at Port city of Cochin!</title><content type='html'>&lt;p&gt;&amp;#160;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TUhB3zXUZQI/AAAAAAAAAEs/K82a2Ldionk/s1600-h/Srini_cycle%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Srini_cycle" border="0" alt="Srini_cycle" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TUhCDwOaC_I/AAAAAAAAAEw/NUbiNtHKOKE/Srini_cycle_thumb%5B1%5D.jpg?imgmax=800" width="185" height="140" /&gt;&lt;/a&gt;&lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TUhCEuBgPTI/AAAAAAAAAE0/1Af4zaOff6I/s1600-h/SatishU_CVC%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SatishU_CVC" border="0" alt="SatishU_CVC" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TUhCFX4CaoI/AAAAAAAAAE4/D1fs-jzdJ40/SatishU_CVC_thumb%5B3%5D.jpg?imgmax=800" width="92" height="135" /&gt;&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TUhCGKs67MI/AAAAAAAAAE8/dQPjkfPqblg/s1600-h/RaviTeja%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="RaviTeja" border="0" alt="RaviTeja" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TUhCHq2i3UI/AAAAAAAAAFA/vF64zEpaAYg/RaviTeja_thumb%5B1%5D.jpg?imgmax=800" width="101" height="138" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TUhCIUX4q7I/AAAAAAAAAFE/hg9HgFW303w/s1600-h/Dileep-Photo%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Dileep-Photo" border="0" alt="Dileep-Photo" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TUhCLNwx-1I/AAAAAAAAAFI/PrS_l-_hg28/Dileep-Photo_thumb%5B3%5D.jpg?imgmax=800" width="90" height="140" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;TeamCVC (&lt;a title="http://in.linkedin.com/in/cvcblr" href="http://in.linkedin.com/in/cvcblr"&gt;http://in.linkedin.com/in/cvcblr&lt;/a&gt;) is at Cochin, a famous port-city in South India (&lt;a href="http://en.wikipedia.org/wiki/Kochi"&gt;http://en.wikipedia.org/wiki/Kochi&lt;/a&gt;) this week on a “Mission SystemVerilog” at a customer site. It is a 4-day program covering:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SystemVerilog basics for RTL designers (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_SVD_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVD_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVD_profile.pdf&lt;/a&gt;)&amp;#160; &lt;/li&gt;    &lt;li&gt;System Verilog Assertions (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;SystemVerilog for Verification engineers (VSV: &lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf&lt;/a&gt;) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The audience is a mix of young, enthusiastic engineers in their early-to-mid career – all very keen to hone their skills on SystemVerilog. Our CTO, Srini (&lt;a title="http://in.linkedin.com/in/svenka3" href="http://in.linkedin.com/in/svenka3"&gt;http://in.linkedin.com/in/svenka3&lt;/a&gt;) chose to customize the training in a timely manner to get the audience involved and interactive. During Day-2, it was a true “field-day of SystemVerilog Assertions”. Especially when it came to Sequence repetition operators, it was fun all across the room. Needless to say CVC’s SystemVerilog Assertions labs are very well laid out with concrete examples to demonstrate the various sequence operators. However with assertions the fun really lies when you “slightly” change the sequence and/or the trace. Here are some screenshots from this “field-day”. &lt;/p&gt;  &lt;p&gt;One of the sequences that we experimented is to demonstrate the difference bet’n non-consecutive [= N] &amp;amp; GOTO [-&amp;gt; N] operator.&lt;/p&gt;  &lt;p&gt;One of their smart engineers asked/wanted to change the &lt;strong&gt;##1 &lt;/strong&gt;to &lt;strong&gt;##0&lt;/strong&gt;. This is to explain the “endpoint” of a sequence/property as in:&lt;/p&gt;  &lt;p&gt;&amp;#160; &lt;strong&gt;&lt;em&gt;a |=&amp;gt; b [-&amp;gt; 2] ##1 c;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TUhCMWlWSYI/AAAAAAAAAFM/y9hECNx0rD0/s1600-h/sva_seq_1%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="sva_seq_1" border="0" alt="sva_seq_1" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TUhCNCS7N1I/AAAAAAAAAFQ/3jBiwPHRJUg/sva_seq_1_thumb%5B3%5D.jpg?imgmax=800" width="345" height="237" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Lucky that we had access to &lt;a href="http://www.aldec.com" target="_blank"&gt;Riviera-Pro&lt;/a&gt; running on our laptop, on-the-fly we could tweak the code/trace and demo it live:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TUhCOcYQD8I/AAAAAAAAAFU/1Q88CelDrQI/s1600-h/image%5B10%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TUhCP96LSDI/AAAAAAAAAFY/F74ksA1OZhw/image_thumb%5B11%5D.png?imgmax=800" width="570" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The fun gets only more when there are multiple threads &amp;amp; multiple attempts. Here is how Riviera-Pro nicely shows it up on Waveform – like a real “THREAD”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TUhCRt2n0dI/AAAAAAAAAFc/Jb-KHAE0mzs/s1600-h/image%5B17%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TUhCTPt-oXI/AAAAAAAAAFg/DDFw51Uhk6Y/image_thumb%5B20%5D.png?imgmax=800" width="683" height="249" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-9065164147380783975?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/9065164147380783975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=9065164147380783975' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/9065164147380783975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/9065164147380783975'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/02/systemverilog-assertions-field-day-at.html' title='SystemVerilog Assertions’ field-day at Port city of Cochin!'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_UsU6K1xQ-9k/TUhCDwOaC_I/AAAAAAAAAEw/NUbiNtHKOKE/s72-c/Srini_cycle_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2949781739869196388</id><published>2011-01-21T08:21:00.001-08:00</published><updated>2011-01-21T08:21:28.037-08:00</updated><title type='text'>TechnoFun with System Verilog – I turned rand_mode OFF, yet get constraint violation? Crazy Friday evening phenomenon, maybe?</title><content type='html'>&lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTmyaW7TE2I/AAAAAAAAAD4/mCr7JYEBuQI/s1600-h/clip_image002%5B8%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmya_0kfzI/AAAAAAAAAD8/WlOa4eZXd84/clip_image002_thumb%5B11%5D.jpg?imgmax=800" width="97" height="119" /&gt;&lt;/a&gt;Ravi Teja , ASIC Design-Verification Engineer @ &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt; &amp;amp;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmyb2rEX6I/AAAAAAAAAEA/6d5rZEfvncU/s1600-h/image%5B23%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmycTfy9lI/AAAAAAAAAEE/hfObmd5Xnp8/image_thumb%5B24%5D.png?imgmax=800" width="244" height="98" /&gt;&lt;/a&gt;&amp;#160; TeamCVC (Nikhil, Satish, Srini et al.)&lt;/p&gt;  &lt;p&gt;SystemVerilog is a massive language with several surprises under its belt. Every time you encounter some unexpected result, the first reaction is &lt;strong&gt;&lt;em&gt;“Oh! I know System Verilog, this is incorrect behavior of the tool”&lt;/em&gt;&lt;/strong&gt;. Voila! EDA developers get paid *really well* and read the LRM thoroughly before committing their code in. This is not to say that there are no bugs in EDA tools (“bug free EDA tool” is more or less an &lt;strong&gt;&lt;em&gt;OXYMORON&lt;/em&gt;&lt;/strong&gt;). But with System Verilog tools becoming more and more stable and advanced, it is very likely the case that you fall under the famous John Cooley’s signature (&lt;a href="http://www.deepchip.com"&gt;www.deepchip.com&lt;/a&gt;):&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTmyczYZkxI/AAAAAAAAAEI/TMK8tLZ1l1Q/s1600-h/image%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmydZOyvtI/AAAAAAAAAEM/pWUuLHoPKPw/image_thumb.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So was our recent experience with &lt;a href="http://www.aldec.com" target="_blank"&gt;Aldec’s Riviera-Pro simulator&lt;/a&gt; with SystemVerilog constraints.&amp;#160; &lt;/p&gt;  &lt;p&gt;Let the code speak for itself:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;class xactn;      &lt;br /&gt;&amp;#160;&amp;#160; rand int var1;       &lt;br /&gt;&amp;#160;&amp;#160; rand int var2;       &lt;br /&gt;&amp;#160;&amp;#160; constraint c_var1 { var1 inside {[1:10]};}       &lt;br /&gt;&amp;#160;&amp;#160; constraint c_var2 { var2 inside {[1:10]};}       &lt;br /&gt;endclass:xactn &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now var1 &amp;amp; var2 are &lt;strong&gt;&lt;em&gt;non-state &lt;/em&gt;&lt;/strong&gt;variables. Whenever I randomize an object of this &lt;em&gt;class,&lt;/em&gt; the solver should obey the constraints – no ground breaking stuff, is it? Consider turning the &lt;strong&gt;&lt;em&gt;non-state&lt;/em&gt;&lt;/strong&gt; variables to “inactive” state. SystemVerilog supports &lt;strong&gt;&lt;em&gt;rand_mode(0/1)&lt;/em&gt;&lt;/strong&gt; for this, a quick explanation for the same is below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTmydyXpAyI/AAAAAAAAAEQ/cGf5x1ZYOvE/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmyehwl9lI/AAAAAAAAAEU/Dd1JzNfNCqM/image_thumb%5B12%5D.png?imgmax=800" width="244" height="78" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now the real fun starts when you delve into corner cases (a la “the devil lies in the detail”). Even though the rand variable is turned inactive, its value MUST be within the values as demanded by the constraints – in other words the “constraints” are still ACTIVE. This has obvious but overlooked results when used with a rand_mode(ON/OFF). The results after randomization are tabulated below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmyfE_b4nI/AAAAAAAAAEY/VblcR1D3b6M/s1600-h/Picture1%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Picture1" border="0" alt="Picture1" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TTmyf3d2RHI/AAAAAAAAAEc/34OjCr8Rhds/Picture1_thumb%5B2%5D.png?imgmax=800" width="307" height="154" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So why is the 2nd &amp;amp; 3rd case don’t result in random values for var2, var1 respectively? Isn’t that a bug in the EDA tool? Shouldn’t we be calling their &lt;a href="mailto:support@aldec.com"&gt;support@aldec.com&lt;/a&gt; staff? Hold on.. Let’s believe the tool, after all – some of the best minds in comp-science write these geeky solvers, they must have had something in their mind while writing this piece of code inside :-) &lt;/p&gt;  &lt;p&gt;A little bit of RTFM (Read The Fine Manual) reveals the “hidden” secrets of “Art of Debug” with &lt;a href="http://www.aldec.com" target="_blank"&gt;Riviera-Pro&lt;/a&gt;. It supports a &lt;strong&gt;&lt;em&gt;rc_verbose&lt;/em&gt;&lt;/strong&gt; flag which, when set to a magic value of “2” throws out messages to the log file.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;set rc_verbose 2&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;# &lt;strong&gt;&lt;font color="#ff0000"&gt;RCKERNEL&lt;/font&gt;&lt;/strong&gt;: Error: ../src/test.sv(1): The condition &lt;strong&gt;&lt;font color="#ff0000"&gt;'c_var1()&amp;amp;&amp;amp;c_var2()&amp;amp;&amp;amp;rc_ext_constraint' is overconstrained&lt;/font&gt;&lt;/strong&gt;.&lt;/p&gt;    &lt;p&gt;# KERNEL: 1 (0,0) Var1 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 , Var2 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&lt;/p&gt;    &lt;p&gt;# RCKERNEL: Error: ../src/test.sv(1): The condition 'c_var1()&amp;amp;&amp;amp;c_var2()&amp;amp;&amp;amp;rc_ext_constraint' is overconstrained.&lt;/p&gt;    &lt;p&gt;# KERNEL: 2 (0,1) Var1 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 , Var2 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&lt;/p&gt;    &lt;p&gt;# RCKERNEL: Error: ../src/test.sv(1): The condition 'c_var1()&amp;amp;&amp;amp;c_var2()&amp;amp;&amp;amp;rc_ext_constraint' is overconstrained.&lt;/p&gt;    &lt;p&gt;# KERNEL: 3 (1,0) Var1 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0 , Var2 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0&lt;/p&gt;    &lt;p&gt;# KERNEL: 4 (1,1) Var1 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3 , Var2 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&lt;/p&gt;    &lt;p&gt;# KERNEL: 5 (0,0) Var1 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3 , Var2 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 9&lt;/p&gt;    &lt;p&gt;# KERNEL: 6 (0,1) Var1 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3 , Var2 =&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 4&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;So the first 3 randomize() calls were failing – important that you handle the return value from &lt;strong&gt;&lt;em&gt;object.randomize()&lt;/em&gt;&lt;/strong&gt; (Guideline-1). &lt;/p&gt;  &lt;p&gt;First three cases gave a constraint violation. We observed that for cases 1,2,3 atleast one of the constraints is not fulfilled.Hence the randomize method returns zero. What? I turned the &lt;strong&gt;&lt;em&gt;rand_mode &lt;/em&gt;&lt;/strong&gt;to &lt;strong&gt;OFF&lt;/strong&gt;, yet it tries randomizing and failing? Crazy Friday Phenomenon Huh? &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Oh Dear, wait..let’s peel the onion and see why..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmygjcVRcI/AAAAAAAAAEg/raGJtDUTofI/s1600-h/Picture1%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Picture1" border="0" alt="Picture1" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TTmyhZeFZqI/AAAAAAAAAEk/QaXslkfL_8I/Picture1_thumb%5B3%5D.png?imgmax=800" width="244" height="110" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This is because each call to randomize involves two steps:    &lt;br /&gt;1)solve     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; In this step all the constraints are solved (as they are still &lt;strong&gt;active&lt;/strong&gt;). The solver must keep the values of &lt;strong&gt;&lt;em&gt;var1&lt;/em&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;em&gt;var2&lt;/em&gt;&lt;/strong&gt;&amp;#160; &lt;br /&gt;between 1 to 10. Their default values are however 0. (i.e var1=0 &amp;amp; var2=0) . This violates the constraints, hence the solver failed.     &lt;br /&gt;2)assign     &lt;br /&gt;If the solver passed (i.e no constraint violation) and&lt;strong&gt;&lt;em&gt; rand_mode&lt;/em&gt;&lt;/strong&gt; is ON then the randomized value is assigned to the variables &lt;/p&gt;  &lt;p&gt;Now in case 2 &amp;amp; 3 wherein only one of the variables is set to &lt;strong&gt;&lt;em&gt;rand_mode(OFF)&lt;/em&gt;&lt;/strong&gt;, the AND operation means that – since the solver ahs failed, no assignment of potential random value to the other variable is performed, hence retaining the value 0f “0”.&lt;/p&gt;  &lt;p&gt;Now, the constraint debugger with Riviera-Pro is good to start with, wish it had pin-pointed it to the exact constraint that caused the violation, instead of combining both into single equation as:&lt;/p&gt;  &lt;p&gt;# &lt;strong&gt;&lt;font color="#ff0000"&gt;RCKERNEL&lt;/font&gt;&lt;/strong&gt;: Error: ../src/test.sv(1): The condition &lt;strong&gt;&lt;font color="#ff0000"&gt;'c_var1()&amp;amp;&amp;amp;c_var2()&amp;amp;&amp;amp;rc_ext_constraint' is overconstrained&lt;/font&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Oh, let’s leave some room for improvement :-)&lt;/p&gt;  &lt;p&gt;Now, as a closing remark and 2nd coding guideline – if you are changing the &lt;strong&gt;&lt;em&gt;rand_mode&lt;/em&gt;&lt;/strong&gt;, see if you can isolate related constraint on that variable and make &lt;strong&gt;&lt;em&gt;constraint_mode(OFF) &lt;/em&gt;&lt;/strong&gt;as well. Once again as John Colley puts it:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTmyczYZkxI/AAAAAAAAAEI/TMK8tLZ1l1Q/s1600-h/image%5B1%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmydZOyvtI/AAAAAAAAAEM/pWUuLHoPKPw/image_thumb.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2949781739869196388?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2949781739869196388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2949781739869196388' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2949781739869196388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2949781739869196388'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/01/technofun-with-system-verilog-i-turned.html' title='TechnoFun with System Verilog – I turned rand_mode OFF, yet get constraint violation? Crazy Friday evening phenomenon, maybe?'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_UsU6K1xQ-9k/TTmya_0kfzI/AAAAAAAAAD8/WlOa4eZXd84/s72-c/clip_image002_thumb%5B11%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6477930683287983203</id><published>2011-01-16T22:11:00.001-08:00</published><updated>2011-01-16T22:11:04.847-08:00</updated><title type='text'>From a fresh grad to VLSI Design engineer – Meet Mr. Kaleem, Sasken</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;They say the best appreciation one can get is through one’s customers’ voice – we at CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) take every individual trainee as serious as our corporate customers. That has been our reason behind success on both Corporate &amp;amp; individual levels. Here is yet another success story, this time from Md. Kaleem, ASIC Design-Verification Engineer @ Sasken. Kaleem got trained by TeamCVC and also was consulting for us for 2 projects after the training, through which he gained real practical knowledge that has helped him sail through the tough job climate. Kaleem went through our EIC (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf&lt;/a&gt;) and then worked on OVM &lt;a title="http://www.cvcblr.com/trng_profiles/CVC_DR_OVM_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_DR_OVM_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_DR_OVM_profile.pdf&lt;/a&gt; projects before moving on to even better job prospects. &lt;/p&gt;  &lt;p&gt;Here is what he wrote to us over this weekend! Good luck Kaleem and keep in touch!&lt;/p&gt;  &lt;p&gt;Mohammed Kaleemulla (&lt;a title="http://in.linkedin.com/pub/mohammed-kaleemulla/23/186/b98" href="http://in.linkedin.com/pub/mohammed-kaleemulla/23/186/b98"&gt;http://in.linkedin.com/pub/mohammed-kaleemulla/23/186/b98&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Sent:&lt;/b&gt; Sunday, January 16, 2011 12:23 PM    &lt;br /&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Hi, &lt;/p&gt;    &lt;p&gt;Sir This is Kaleem here,i have got a job in Sasken for the post of design verification engineer,I thank CVC for giving me all the support required for developing&amp;#160; the technical and knowledge-able skills, without which I wouldn't have&amp;#160; reached here and I hope we will have a reciprocate communication. &lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;Regards      &lt;br /&gt;Kaleem&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6477930683287983203?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6477930683287983203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6477930683287983203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6477930683287983203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6477930683287983203'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/01/from-fresh-grad-to-vlsi-design-engineer.html' title='From a fresh grad to VLSI Design engineer – Meet Mr. Kaleem, Sasken'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-6144555071284829372</id><published>2011-01-16T19:18:00.001-08:00</published><updated>2011-01-16T19:18:03.179-08:00</updated><title type='text'>SystemVerilog constraints – distribution &amp; using FCOV to visualize the effect</title><content type='html'>&lt;p&gt;– Satish U, ASIC Design &amp;amp; Verification engineer @ CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TTO02EOfe-I/AAAAAAAAADg/QZ0cecvlPBM/s1600-h/SatishU_CVC%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SatishU_CVC" border="0" alt="SatishU_CVC" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTO026KH04I/AAAAAAAAADk/b_mjxUc5PlY/SatishU_CVC_thumb%5B1%5D.jpg?imgmax=800" width="88" height="95" /&gt;&lt;/a&gt; Every day at work is learning something new. More so when you are asked to work deep into advanced technologies such as SystemVerilog. In a recent project I was asked to delve deep into the constraints portion of SystemVerilog and solve few customer problems in modeling real life traffic pattern generation using SystemVerilog constraints. As part of it, I came up with an interesting to way to visualize the distribution through SystemVerilog covergroup/coverpoint. Though it is little round-about and may not be the best way to “verify” distribution, the technical lead at CVC quickly grasped the value and encouraged to explore more and develop a blog on the same. It is this “cultivating ideas” that makes working at CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) a perfect blend of learning &amp;amp; fun (and don’t miss it – very aggressive timelines too). &lt;/p&gt;  &lt;p align="center"&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;h2 align="center"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; A New way to check the distribution&lt;/h2&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160; By definition the distribution within &lt;strong&gt;&lt;em&gt;randc &lt;/em&gt;&lt;/strong&gt;must be uniform. Let’s formulate this statement and validate the same. To find the distribution of lets say &lt;em&gt;randc&lt;/em&gt; within a particular range N (N is the number of values in the range). Now let us assume M is the number of times an object is randomized.&lt;/p&gt;  &lt;p align="left"&gt;Each value has a probability of 1/N.    &lt;br /&gt;&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;Case1: IF M = 1*N - If M= N then the values should be unique without any repetition. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Case2: If M = 2*N - each value should be generated 2 times. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Case3: M = K*N. Hence the number of times each value shall be generated is equal to K.        &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="left"&gt;The N &amp;amp; M determine the “stimulus” side of verification. How do you “check” the distribution? An automated &amp;amp; robust method would be to use a queue and check the contents of the queue to see if they are unique, Infact one of our interns (Suhas: &lt;a title="http://in.linkedin.com/pub/suhas-reddy/15/b02/49" href="http://in.linkedin.com/pub/suhas-reddy/15/b02/49"&gt;http://in.linkedin.com/pub/suhas-reddy/15/b02/49&lt;/a&gt;) is doing this as a mini-project at CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) as part of our popular BUDS internship (&lt;a title="http://www.cvcblr.com/downloads/BUDs_CVC_Acad.pdf" href="http://www.cvcblr.com/downloads/BUDs_CVC_Acad.pdf"&gt;http://www.cvcblr.com/downloads/BUDs_CVC_Acad.pdf&lt;/a&gt;). &lt;/p&gt;  &lt;p align="left"&gt;However I proposed another interesting way to do this: Declare X as a cover point within a covergroup , so by default we will have N bins created for the N number of values (else one could use the &lt;strong&gt;&lt;em&gt;auto_bin_max &lt;/em&gt;&lt;/strong&gt;if care to). Other choice would be to use an array bin as shown below.&lt;/p&gt;  &lt;p align="left"&gt;To demonstrate with an example:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;`define N 4&lt;/p&gt;    &lt;p&gt;`define K 1      &lt;br /&gt;`define M `K ** `N&lt;/p&gt;    &lt;p&gt;`define seed_value 100 &lt;/p&gt;    &lt;p&gt;package pkg;      &lt;br /&gt;class xactn;       &lt;br /&gt;&amp;#160; randc bit [(`N-1):0] a; &lt;/p&gt;    &lt;p&gt;&amp;#160; covergroup cg;      &lt;br /&gt;&amp;#160;&amp;#160; A_cp&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; : coverpoint&amp;#160; a { bins a[] =&amp;#160; {[0:15]};}       &lt;br /&gt;&amp;#160; endgroup:cg       &lt;br /&gt;&amp;#160;&amp;#160; function void post_randomize;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cg.sample();       &lt;br /&gt;&amp;#160;&amp;#160; endfunction&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;lets assume a 4 bit vector &lt;strong&gt;&lt;em&gt;a&lt;/em&gt;&lt;/strong&gt;, So we can have 16 possible values (N = 16).&lt;/p&gt;  &lt;p&gt;We used Aldec’s (&lt;a href="http://www.aldec.com"&gt;www.aldec.com&lt;/a&gt;) Riviera-Pro:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTO03jdQ3SI/AAAAAAAAADo/D-pVlyPDtCc/s1600-h/Rvra-Pro%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Rvra-Pro" border="0" alt="Rvra-Pro" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TTO04ap-dsI/AAAAAAAAADs/buCccoyXXKg/Rvra-Pro_thumb.jpg?imgmax=800" width="244" height="127" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here is how Riviera visualizes it in its coverage report. &lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://lh6.ggpht.com/_UsU6K1xQ-9k/TTO05bt5ycI/AAAAAAAAADw/Op9Q8UGfS-U/s1600-h/Riviera%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Riviera" border="0" alt="Riviera" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TTO06CIjyeI/AAAAAAAAAD0/OuUhWf89FH4/Riviera_thumb%5B5%5D.png?imgmax=800" width="246" height="138" /&gt;&lt;/a&gt;     &lt;br /&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;Case1: for M = N if all the bins are hit &lt;strong&gt;once&lt;/strong&gt; it means that i have uniform distribution.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Case2: M = 2 * N - each bin should be hit 2 times. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Case3: Now lets take the constant 2 as K. the equation becomes M = K*N. Hence the number of times each bin is hit will        &lt;br /&gt;&amp;#160;&amp;#160; be equal to K.         &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="left"&gt;We used this method to analyze various constraints and distributions. More about it in part-2 of this blog. Stay tuned to &lt;a href="http://www.cvcblr.com/blog"&gt;VoW blog&lt;/a&gt;!&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6144555071284829372?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6144555071284829372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6144555071284829372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6144555071284829372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6144555071284829372'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2011/01/systemverilog-constraints-distribution.html' title='SystemVerilog constraints – distribution &amp;amp; using FCOV to visualize the effect'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_UsU6K1xQ-9k/TTO026KH04I/AAAAAAAAADk/b_mjxUc5PlY/s72-c/SatishU_CVC_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2551590689081615572</id><published>2010-11-30T00:23:00.001-08:00</published><updated>2010-11-30T00:23:17.095-08:00</updated><title type='text'>Mentor’s User-2-User conf is nearing – have your Qs answered through John Cooley!</title><content type='html'>&lt;p&gt;If you haven’t registered yet, goto:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://user2user.mentor.com/bangalore-india-2010.html"&gt;http://user2user.mentor.com/bangalore-india-2010.html&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With Wally Rhines speaking, you can’t afford to miss his power-packed keyonte. Also this year there is Mr. John Colley of &lt;a href="http://www.deepchip.com"&gt;www.deepchip.com&lt;/a&gt; presenting a session. Known for his open, user-focused comments on various tools, technologies &amp;amp; vendors (sometimes creating controversies too) this is one session that’s worth beating Bangalore traffic to be there! &lt;/p&gt;  &lt;p&gt;BTW, John is also looking for good survey questions focused on Indian audience and issues concerning Indian users of Mentor tools. So do send them across via &lt;a href="http://www.deepchip.com"&gt;www.deepchip.com&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;See you there at Mentor’s U2U on Dec 10th. Look for TeamCVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) in the crowd and we can chat!&lt;/p&gt;  &lt;p&gt;TeamCVC, &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog"&gt;www.cvcblr.com/blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2551590689081615572?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2551590689081615572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2551590689081615572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2551590689081615572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2551590689081615572'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/11/mentors-user-2-user-conf-is-nearing.html' title='Mentor’s User-2-User conf is nearing – have your Qs answered through John Cooley!'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-1222416739430770788</id><published>2010-11-19T11:29:00.001-08:00</published><updated>2010-11-19T11:29:57.561-08:00</updated><title type='text'>Increased user momentum at CDNLive India</title><content type='html'>&lt;p&gt;Quick summary of what I liked at recent CDNLive India. Read live tweets @ &lt;a href="http://www.twitter.com/cvcblr"&gt;www.twitter.com/cvcblr&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;First of all, the venue is FRESH – ITC Royal Gardenia hotel, a welcome change from regular Leela/Taj :-) Second, the first few sessions were JAM-packed with more than 25 customers standing (with all seats occupied). This was surprising as the audience beta the Bangalore traffic to be there at around 9.30 AM. &lt;/p&gt;  &lt;p&gt;On the technical front, well let’s focus on what we know best – Front-end Design &amp;amp; Verification. Frankly – I was not alone who got totally confused about which “Verification” track to choose from. There was this &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;“FED + Verification track” &lt;/li&gt;    &lt;li&gt;System Design &amp;amp; Verification track &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I first though it was the FED that I should be in, as it contained one of my much awaited Nokia paper on Formal/ABV/IFV usage. But my good friend @CDN Maruthi Srinivas helped with clarification. His explanation: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;First of all sorry for confusion, this year we had so many good papers on Verification and we had to fit as many as we can. We decided to move some of the Formal/ABV papers to FED track. The core Verification papers are on the Track-V&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now being @ the common session, John Bruggeman did an excellent job with his EDA360 talk. With so much being tweeted about it, honestly I got little saturated prior to his talk. But his talk truly rejuvenated the topic and his expressive demo revealed the vision well inside 3 slides. Kudos JohnB!&lt;/p&gt;  &lt;p&gt;Next to see was TomAnderson’s Verification roadmap – strangely this was presented at Track-IV/FED. Luckily I was there in that track and as ever before, Cadence’s vision was great – especially linking the Conformal LP and Functional Verification/MDV is very thought provoking. The “Advanced Specman” was known to us at CVC &lt;a title="http://www.cvcblr.com/blog/?p=173" href="http://www.cvcblr.com/blog/?p=173"&gt;http://www.cvcblr.com/blog/?p=173&lt;/a&gt;, but for many it was new there. And with similar capabilities being explored for SystemVerilog in the roadmap, there was enough for everyone to cheer about!&lt;/p&gt;  &lt;p&gt;On the technical papers – a noted aspect that almost every attendee shared is – the quality and depth of these papers this time around was amazing. Be it the DFT Verif paper from TI (90 % of DFT logic bugs were caught by IFV flow), the TLM-e paper from ST-Micro and/or the Arch Model Verif with Specman by TI.&lt;/p&gt;  &lt;p&gt;I personally enjoyed the Freescale paper on “Corner Case analysis with Formal”, to avoid repeating it, read more about it at: &lt;a title="http://www.cvcblr.com/blog/?p=215" href="http://www.cvcblr.com/blog/?p=215"&gt;http://www.cvcblr.com/blog/?p=215&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Nokia’s Modem IP Verif paper was one of the best presented ones IMHO and Manish Goel did an excellent &amp;amp; upto-the point job of staying on target. There were enough audience questions in his session than many others and even another presenter from TI (He got the best paper award, didn’t get his name though) shared some of his views during those interactive discussions. This I felt was true “customer-2-customer” interaction happening live before a full room audience – something that the CDNLive team can be very happy about.&lt;/p&gt;  &lt;p&gt;One of the best audience Q was raised during an Assertion paper (guess the TI one):&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;“While IFV sounds great, user still needs to write those white-box assertions, is there any automation available”? &lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Though the presenter didn’t use this specific feature, the CDN rep/AE was quick to note that indeed IFV has the ability to extract certain classes of properties from RTL. &lt;/p&gt;  &lt;p&gt;..and for those looking for more quality assertions, explore the partner technology of BugScope from NextOp: &lt;a href="http://www.nextopsoftware.com"&gt;www.nextopsoftware.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1222416739430770788?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1222416739430770788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1222416739430770788' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1222416739430770788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1222416739430770788'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/11/increased-user-momentum-at-cdnlive.html' title='Increased user momentum at CDNLive India'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-1305340462856078355</id><published>2010-11-19T10:54:00.001-08:00</published><updated>2010-11-19T10:54:30.805-08:00</updated><title type='text'>Realities of IP reuse, from Verification perspective</title><content type='html'>&lt;p&gt;IP reuse, RTL/Design IP-reuse to be precise has been in effect for over a decade now, thanks to the time-tested RMM book, &lt;a title="http://amzn.to/bI04yK " href="http://amzn.to/bI04yK "&gt;http://amzn.to/bI04yK &lt;/a&gt; and the extensive support of those rules/guidelines/policies by Lint tools such as SpyGlass, ALINT (from &lt;a href="http://www.aldec.com"&gt;www.aldec.com&lt;/a&gt;), and recently Ascent (from &lt;a href="http://www.realintent.com"&gt;www.realintent.com&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;However while talking to a customer recently on their Printer SoC verification challenges, some interesting facts/stats emerged: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Yes we reuse IPs, they are Si-proven, but…&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;New SoCs use these IPs in very different context leading to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Different configurations that were never used/tested/verified before&lt;/li&gt;    &lt;li&gt;Order of configuring these IPs can make-or-break the systems&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The “ordering” was more interesting and in recently concluded CDNLive India, Deeapk from Freescale Noida presented an excellent paper on: “&lt;strong&gt;Corner Case Verification with IFV and assertions”&lt;/strong&gt;. While much has been blogged about the recently concluded event CDNLive, this paper didn’t get enough mention – atleast not as much as it deserves IMHO. Deepak had 3 excellent case studies:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Order in which IPs get configured can make-or-break the SoC. Traditional Code cov can not locate it. His team wrote those assertions manually and used IFV to verify them&lt;/li&gt;    &lt;li&gt;During Power Shutdwon if there is a pending interrupt to be serviced, after wake-up that interrupt was forgotten – a pretty tall order for traditional code-cov to catch it. True one could write a test – only if you had thought about it!&lt;/li&gt;    &lt;li&gt;Clock control from PLL and other enables&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;All these are quality bugs, but hidden in the given module for more than 1 tapeout and used in customer designs. They get exposed only with modern use scenarios and hence is the stress on increased quality, hence the need for IFV.&lt;/p&gt;  &lt;p&gt;While Deepak’s team has successfully demo-ed the 3 corner cases, arriving at them was by no means a small task. Also who knows, how many such hidden gems/bugs are out there yet to be caught? &lt;/p&gt;  &lt;p&gt;So while IP reuse sounds old, the verification of them is by no means is a done-deal. Great for WE all – those love Verification as it presents a good challenge.&lt;/p&gt;  &lt;p&gt;Now just before I close this entry, a quick preview of an emerging technology that is well poised to change this scenario for sure – by generating &lt;strong&gt;QUALITY &lt;/strong&gt;white-box assertions automatically for YOUR designs:&lt;/p&gt;  &lt;p&gt;Looking beyond the current tools, emerging technology such as BugScope from NextOp (&lt;a href="http://www.nextopsoftware.com"&gt;www.nextopsoftware.com&lt;/a&gt;) can greatly assist in identifying such corners from your RTL design and current simulation runs. You just need to see a demo/webinar or read carefully their Whitepaper &lt;a href="http://www.nextopsoftware.com/assertion-synthesis-assertion-based-verification-whitepaper.html"&gt;http://www.nextopsoftware.com/assertion-synthesis-assertion-based-verification-whitepaper.html&lt;/a&gt; to explore more. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1305340462856078355?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1305340462856078355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1305340462856078355' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1305340462856078355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1305340462856078355'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/11/realities-of-ip-reuse-from-verification.html' title='Realities of IP reuse, from Verification perspective'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-4300603940182493803</id><published>2010-11-19T10:14:00.001-08:00</published><updated>2010-11-19T10:14:03.322-08:00</updated><title type='text'>Leveraging Social Media in VLSI/Semiconductor/EDA – the ecosystem way</title><content type='html'>&lt;p&gt;As recent EDAC panel discussed the impact of Social Media in VLSI/EDA marketing (see: &lt;a title="http://bit.ly/dzd3Ev" href="http://bit.ly/dzd3Ev"&gt;http://bit.ly/dzd3Ev&lt;/a&gt;) it is quite clear that one alone can’t make a difference, no matter how loud you shout – it is the collective ecosystem – of company-customers-partners that can make a win-win case in this new age marketing. Refer to Altera’s slide on that from &lt;a title="http://bit.ly/dzd3Ev" href="http://bit.ly/dzd3Ev"&gt;http://bit.ly/dzd3Ev&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Jim @ Altera says that it is the &lt;strong&gt;customer-to-customer&lt;/strong&gt; interaction happening via Social Media that makes the bigger impact. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TOa-TFHpFfI/AAAAAAAAAC8/GAnH-XPWP0s/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_UsU6K1xQ-9k/TOa-TlyPj8I/AAAAAAAAADA/CVPN1uqaDlA/image_thumb.png?imgmax=800" width="244" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Given the post-recession ramp-up at many semiconductor houses, teams are very selective in investing/exploring/adopting new technologies and they are all looking for true success stories and real user views than just tool/feature updates. &lt;/p&gt;  &lt;p&gt;Now looking at Karen @Synopsys’s views: it is the &lt;strong&gt;GEEK-2-Geek&lt;/strong&gt; connection that she/Synopsys is bullish about to leverage on this new media. &lt;/p&gt;  &lt;p&gt;While she quotes SNUG group @ linkedin.com, we found even more interesting stats with Verification specific groups such as VMM, OVM &amp;amp; all new UVM. The interesting fact about VMM linkedIn group is it is created and managed by partner (Ajeetha Kumari, &lt;a href="http://www.linkedin.com/in/ajeetha"&gt;http://www.linkedin.com/in/ajeetha&lt;/a&gt;) than the vendor. &lt;/p&gt;  &lt;p&gt;VMM: &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=147448"&gt;http://www.linkedin.com/groups?home=&amp;amp;gid=147448&lt;/a&gt; with some 780 members, &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TOa-UkGqRwI/AAAAAAAAADE/iEoPRyqC98Y/s1600-h/VMM_lnkdIn%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="VMM_lnkdIn" border="0" alt="VMM_lnkdIn" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/TOa-VIqszeI/AAAAAAAAADI/uKFKMoNSAkw/VMM_lnkdIn_thumb.jpg?imgmax=800" width="244" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;OVM: &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=145498"&gt;http://www.linkedin.com/groups?home=&amp;amp;gid=145498&lt;/a&gt; with 1200+ members:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TOa-V5GaqqI/AAAAAAAAADM/skynM6GNnu4/s1600-h/OVM_LnkdIn%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="OVM_LnkdIn" border="0" alt="OVM_LnkdIn" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TOa-Wl0gMeI/AAAAAAAAADQ/W0952seffT0/OVM_LnkdIn_thumb.jpg?imgmax=800" width="244" height="77" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And the all new UVM: &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=3092645"&gt;http://www.linkedin.com/groups?home=&amp;amp;gid=3092645&lt;/a&gt; with 250+ members. &lt;/p&gt;  &lt;p&gt;What really is important about this UVM group is it truly represents the ecosystem – with members from all EDA Vendors, partners and growing user base. See for yourself from the image below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_UsU6K1xQ-9k/TOa-ZrHakdI/AAAAAAAAADU/D8lD79l6eGw/s1600-h/UVM_LnkdIn%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="UVM_LnkdIn" border="0" alt="UVM_LnkdIn" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TOa-acQtnOI/AAAAAAAAADY/As5J7DBwk_w/UVM_LnkdIn_thumb.jpg?imgmax=800" width="244" height="156" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another partner promoted group is SystemVerilog for Verification @ &lt;a href="http://www.linkedin.com/groups?home=&amp;amp;gid=1924084"&gt;http://www.linkedin.com/groups?home=&amp;amp;gid=1924084&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Among these groups the &lt;strong&gt;number of jobs being discussed&lt;/strong&gt; truly reflects the close relevance of these to the real engineers out there and it is quite clear that all have enough to benefit from it. &lt;/p&gt;  &lt;p&gt;So let’s embrace the new Social Media and look forward to exciting times ahead. If you want to learn more about how companies can benefit from this Social Media, do not miss the latest edition of &lt;em&gt;Entrepreneur&lt;/em&gt;&amp;#160; magazine in India &lt;a href="http://entrepreneurindia.in/"&gt;http://entrepreneurindia.in/&lt;/a&gt; – it has cover story on Facebook founder. &lt;/p&gt;  &lt;p&gt;And here are some of our local enthusiastic bloggers/tweeters – am sure I have missed several, feel free to submit them as comments, I will add them to this ever growing list! &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/cvcblr"&gt;http://www.twitter.com/cvcblr&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/pradeep612"&gt;http://www.twitter.com/pradeep612&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/sricvc"&gt;http://www.twitter.com/sricvc&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/am_its"&gt;http://www.twitter.com/am_its&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/testbench_in"&gt;http://www.twitter.com/testbench_in&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/punechips"&gt;http://www.twitter.com/punechips&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4300603940182493803?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4300603940182493803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4300603940182493803' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4300603940182493803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4300603940182493803'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/11/leveraging-social-media-in.html' title='Leveraging Social Media in VLSI/Semiconductor/EDA – the ecosystem way'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_UsU6K1xQ-9k/TOa-TlyPj8I/AAAAAAAAADA/CVPN1uqaDlA/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1147118979936493193</id><published>2010-11-17T11:21:00.001-08:00</published><updated>2010-11-17T11:21:37.531-08:00</updated><title type='text'>SystemVerilog Assertions for VHDL</title><content type='html'>&lt;p&gt;It is becoming more and more popular to find users writing SVA for VHDL too – though the VHDL-2008 has PSL inside it and most of the EDA tools (Aldec, Cadence, Mentor &amp;amp; Synopsys) have good support for PSL-VHDL. &lt;/p&gt;  &lt;p&gt;Recently a customer asked:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;The SVA binding port mismatch error only when I bind an VHDL output port to a SVA input port. But, when i bind a Verilog output port to a SVA input port, it compiles without a problem &amp;quot;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160; While it does look like a tool-specific issue, in old VHDL, an output port can’t be read, need a buffer type for the same. When you bind a SVA to a VHDL output port, SVA tries to “read” it. &lt;/p&gt;  &lt;p&gt;It is a subtle issue – though many tools have relaxed this “semantic” check on VHDL side. Also VHDL-2008 allows reading of output ports IIRC. Check with your EDA vendor if you see this issue, they ought to be supporting it already!&lt;/p&gt;  &lt;p&gt;Cheers&lt;/p&gt;  &lt;p&gt;TeamCVC&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1147118979936493193?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1147118979936493193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1147118979936493193' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1147118979936493193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1147118979936493193'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/11/systemverilog-assertions-for-vhdl.html' title='SystemVerilog Assertions for VHDL'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-1702855009093876076</id><published>2010-11-17T11:04:00.001-08:00</published><updated>2010-11-17T11:04:50.423-08:00</updated><title type='text'>Productivity hint for SystemVerilog VMM/OVM/UVM users</title><content type='html'>&lt;p&gt;Whichever methodology you use for Verification (if you don’t use, better start with UVM maybe) – some of the tasks &amp;amp; requirements are common. One of them is the ability to control certain simulation features across runs without needing to recompile. Classicial examples are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Dumping different scopes &lt;/li&gt;    &lt;li&gt;Changing Verbosity (for debug, regression runs etc.) &lt;/li&gt;    &lt;li&gt;Choosing tests &lt;/li&gt;    &lt;li&gt;Stopping after N-number of errors &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It is the last one that one of our customers recently had an issue with, here is an extract from his email:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I need clarification regarding &amp;quot;&lt;strong&gt;vmm_log:stop_after_n_error&lt;/strong&gt;&amp;quot;.&amp;#160; Want to know       &lt;br /&gt;whether there is command line equivalent of the same.       &lt;br /&gt;I do not want to edit any of the source file but rather control from the command       &lt;br /&gt;line.&amp;#160; Does the language/methodology has in built construct for the same ?&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Interestingly an OVM user also asked for it during our recent OVM training (&lt;a href="http://www.cvcblr.com/trainings"&gt;www.cvcblr.com/trainings&lt;/a&gt;) at their site. In OVM it is “max_quit_count”. In both cases unfortunately it is not built-in. This means that one needs to add it in source-code – something that we discourage to do. Instead build it using Verilog’s &lt;strong&gt;&lt;em&gt;$value$plusargs&lt;/em&gt;&lt;/strong&gt;, code snippet:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;if ($value$plusargs(&amp;quot;vmm_stop_after_n_errors+%d&amp;quot;, err_count)) begin      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; log.stop_after_n_errors(err_count)       &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Guess that gives the idea, let me know if you are still stuck, send me    &lt;br /&gt;a working code/example, I will get that turned around quickly.&lt;/p&gt;  &lt;p&gt;Regards&lt;/p&gt;  &lt;p&gt;TeamCVC&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1702855009093876076?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1702855009093876076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1702855009093876076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1702855009093876076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1702855009093876076'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/11/productivity-hint-for-systemverilog.html' title='Productivity hint for SystemVerilog VMM/OVM/UVM users'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-8884651828921337056</id><published>2010-07-02T10:02:00.001-07:00</published><updated>2010-07-02T10:02:06.746-07:00</updated><title type='text'>SystemVerilog OVM’s apply_config_settings – why &amp; were?</title><content type='html'>&lt;p&gt;Arayik Babayan, a friend of mine from Armenia asked me what is the use of “apply_config_settings” in OVM. As you may be aware SystemVerilog is a flexible language that can be used for building highly configurable and scalable verification environments. OVM adds a great deal of capabilities on top of plain “system verilog” to make it lot easier to handle that task. One of them is the configuration interface mechanism – usually we use &lt;strong&gt;&lt;em&gt;set_config* &lt;/em&gt;&lt;/strong&gt;and &lt;strong&gt;&lt;em&gt;get_config*&lt;/em&gt;&lt;/strong&gt; stuff. Internally OVM’s &lt;strong&gt;&lt;em&gt;build()&lt;/em&gt;&lt;/strong&gt; takes care of “applying” these settings. automatically usually. What if you want to change few settings across the env after the build? That’s when you use this &lt;strong&gt;&lt;em&gt;apply_config_settings&lt;/em&gt;&lt;/strong&gt; explicitly – it internally calls the &lt;strong&gt;&lt;em&gt;set_*local&lt;/em&gt;&lt;/strong&gt; for modified settings and viola – you are ready to go!&lt;/p&gt;  &lt;p&gt;That’s “advanced OVM” for this week!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy OVMing..&lt;/p&gt;  &lt;p&gt;TeamCVC&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog"&gt;www.cvcblr.com/blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8884651828921337056?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8884651828921337056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8884651828921337056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8884651828921337056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8884651828921337056'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/07/systemverilog-ovms-applyconfigsettings.html' title='SystemVerilog OVM’s apply_config_settings – why &amp;amp; were?'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-6167831485875647271</id><published>2010-06-29T09:26:00.001-07:00</published><updated>2010-06-29T09:26:36.058-07:00</updated><title type='text'>Dealing with SystemVerilog constraint solver failures – the Questa way</title><content type='html'>&lt;p&gt;… Tuesday Technote on Solver Debug, Jijo PS, Srini TeamCVC &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Dealing with simple solver failure – looking for really “quick help”. It is a layered SystemVerilog code for a SAN Router. An inherited constraint in a testcase showed randomize() failure. Before you jump to conclusion on the simple nature of the problem – consider that this is the first time eevr I look at this design/env as the original author moved out of the company (sign of good times :-) ?) and am given to fix the code ASAP – in next 15 minutes that’s (sounds way too familiar, Huh?). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;# Number of fware xactn 19      &lt;br /&gt;# ** &lt;strong&gt;Fatal: [Time 0 ns] Test cfg Solver failure        &lt;br /&gt;&lt;/strong&gt;#&amp;#160;&amp;#160;&amp;#160; Time: 0 ns&amp;#160; Scope: san_rt_top.san_rt_test_pgm_0.b1.lp.a1 File: ../       &lt;br /&gt;rt_test_03.sv Line: 83       &lt;br /&gt;# ** Note: Data structure takes 9699728 bytes of memory       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Process time 0.03 seconds       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $finish&amp;#160;&amp;#160;&amp;#160; : ../test/san_rt_test_03.sv(83)       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160; Time: 0 ns&amp;#160; Iteration: 2&amp;#160; Instance: /san_rt_top/san_rt_test_pgm_0&lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So what next? Consult our friendly Questa SolveDebug: add &lt;strong&gt;&lt;em&gt;vsim –solvedebug&lt;/em&gt;&lt;/strong&gt; and bang you go…&lt;/p&gt;  &lt;p&gt;It does 2 things: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;It prints the minimal set of conflicting constraints, &lt;/li&gt;    &lt;li&gt;Creates a stand-alone test to reproduce the failure in a crisp testcase. See below: &lt;/li&gt; &lt;/ol&gt;  &lt;h4&gt;&amp;#160;&lt;/h4&gt;  &lt;h4&gt;Minimal set of constraints from user-code&lt;/h4&gt;  &lt;blockquote&gt;   &lt;p&gt;# ../test/san_rt_test_03.sv(82): randomize() failed due to conflicts between the following constraints:      &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../test/san_rt_test_03.sv(59): san_rt_test_cfg_0.cst_reasonable_fw_xactns_1 { (san_rt_test_cfg_0.no_of_fware_xactions &amp;gt; 32'h00001360); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../src/san_rt_fware_gen.sv(42): san_rt_test_cfg_0.cst_reasonable_fw_xactns { (san_rt_test_cfg_0.no_of_fware_xactions &amp;lt; 32'h00000032); }       &lt;br /&gt;# ** Fatal: [Time 0 ns] Test cfg Solver failure       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160; Time: 0 ns&amp;#160; Scope: san_rt_top.san_rt_test_pgm_0.b1.lp.a1 File: ../test/san_rt_test_03.sv Line: 83       &lt;br /&gt;# ** Note: Data structure takes 9699728 bytes of memory       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Process time 0.02 seconds       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; $finish&amp;#160;&amp;#160;&amp;#160; : ../test/san_rt_test_03.sv(83&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Testcase being created by Questa (system verilog code, can be run standalone)&lt;/h4&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;# ../test/san_rt_test_03.sv(82): randomize() failed; generating simplified testcase scenario...      &lt;br /&gt;# ----- begin testcase -----       &lt;br /&gt;# module top;       &lt;br /&gt;#       &lt;br /&gt;# class TFoo;       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; rand bit [15:0] \san_rt_test_cfg_0.no_of_fware_xactions ;       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; constraint all_constraints {       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // ../src/san_rt_fware_gen.sv(42): san_rt_test_cfg_0.cst_reasonable_fw_xactns { (san_rt_test_cfg_0.no_of_fware_xactions &amp;lt; 32'h00000032); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (\san_rt_test_cfg_0.no_of_fware_xactions&amp;#160; &amp;lt; 32'h00000032);       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // ../test/san_rt_test_03.sv(62): san_rt_test_cfg_0.small_tst_cst { (san_rt_test_cfg_0.no_of_fware_xactions &amp;lt; 32'h000013ec); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (\san_rt_test_cfg_0.no_of_fware_xactions&amp;#160; &amp;lt; 32'h000013ec);       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // ../test/san_rt_test_03.sv(59): san_rt_test_cfg_0.cst_reasonable_fw_xactns_1 { (san_rt_test_cfg_0.no_of_fware_xactions &amp;gt; 32'h00001360); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (\san_rt_test_cfg_0.no_of_fware_xactions&amp;#160; &amp;gt; 32'h00001360);       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; }       &lt;br /&gt;# endclass       &lt;br /&gt;#       &lt;br /&gt;# TFoo f = new;       &lt;br /&gt;# int status;       &lt;br /&gt;#       &lt;br /&gt;# initial begin       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; status = f.randomize();       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; $display(status);       &lt;br /&gt;# end       &lt;br /&gt;#       &lt;br /&gt;# endmodule       &lt;br /&gt;# ----- end testcase -----       &lt;br /&gt;# &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now that was easy to fix, simply override the test-specific constraint in the inherited test_cfg than “adding to it”. Glad I met my deadline for today!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hats off Questa – wish it prints the &lt;strong&gt;&lt;em&gt;vsim –solvefaildebug &lt;/em&gt;&lt;/strong&gt;automatically on such failures to log file.&lt;/p&gt;  &lt;p&gt;TeamCVC&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog"&gt;www.cvcblr.com/blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6167831485875647271?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6167831485875647271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6167831485875647271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6167831485875647271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6167831485875647271'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/06/dealing-with-systemverilog-constraint.html' title='Dealing with SystemVerilog constraint solver failures – the Questa way'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-5902180498260312933</id><published>2010-06-07T02:41:00.001-07:00</published><updated>2010-06-07T02:41:48.492-07:00</updated><title type='text'>Pre-DAC round-up of Verification technologies</title><content type='html'>&lt;p&gt;Given the business climate and local commitments, it is hard for me to be at DAC. But with keen focus on Verification it is kind of important for CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) to share our thoughts on fresh ideas/technologies on Verification that are being demo-ed at DAC-2010 (&lt;a href="http://www.dac.com"&gt;www.dac.com&lt;/a&gt;). Leaving the BIG-3 out (I hope to blog about them prior to DAC on what we see as “updates” from them separately), here is a quick round-up of what we see as promising solutions that any DAC attendee in Verification domain might be interested. Feel free to comment via our blog @ &lt;a href="http://www.cvcblr.com/blog"&gt;www.cvcblr.com/blog&lt;/a&gt; – we would love to hear them!&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;NextOP&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;One of the most promising start-ups in the assertion based verification domain. They have been in stealth mode for a few years. Only recently quite a bit of information has been let out about their technology. It all started with an eval report from a real user and active follow-ups from then – see: &lt;a title="http://www.cvcblr.com/blog/?p=147" href="http://www.cvcblr.com/blog/?p=147"&gt;http://www.cvcblr.com/blog/?p=147&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;Ben Cohen (&lt;a href="http://www.systemverilog.us"&gt;www.systemverilog.us&lt;/a&gt;) recently had some good discussions about this technology based on our DVCon-2010 paper on SVA paper (contact us to get a copy: &lt;a href="http://www.cvcblr.com/about_us"&gt;http://www.cvcblr.com/about_us&lt;/a&gt;) It did find some interesting bug via simulation run –&amp;gt; property extraction –&amp;gt; coverage hole –&amp;gt; bug! It is a little long route, but however it is an interesting approach. See details at:&lt;a title="http://www.cvcblr.com/blog/?p=163" href="http://www.cvcblr.com/blog/?p=163"&gt;http://www.cvcblr.com/blog/?p=163&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;Make sure you visit their booth @DAC (&lt;em&gt;NextOp&lt;/em&gt; exhibits at &lt;em&gt;Booth&lt;/em&gt; #1442) to learn more. In a nutshell their technology is about analyzing existing RTL &amp;amp; testbench+testcase (via regression) and extract quality properties for your design – then it is upto the RTL designers to qualify whether these “properties” are assertions/coverage/don’t cares. Their promise is minimal noise, but your mileage may vary!&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;Vennsa’s OnPoint&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;If you ask anyone in EDA/Semiconductor industry about the “elephant in the room” problem in front-end VLSI, the answer is &lt;strong&gt;loud-n-clear &lt;/strong&gt;DEBUG! Besides SpringSoft/Novas noone seemed to have the perseverance needed to sail through tough times trying to address that problem. (Remember Veritools, anyone BTW?) Now we have a genuine attempt to automate the debug – Vennsa’s OnPoint. Not much is known yet about it, but here is a picture (Copyright by Vennsa &lt;a href="http://www.vennsa.com/"&gt;http://www.vennsa.com/&lt;/a&gt; ):&lt;/p&gt;  &lt;p align="left"&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TAy-yNQT1bI/AAAAAAAAACE/eB3fSi-WbrU/onpoint_screenshot5.png?imgmax=800"&gt;&lt;img title="onpoint_screenshot" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="459" alt="onpoint_screenshot" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TAy-z165cfI/AAAAAAAAACI/wFP4gis4Ss0/onpoint_screenshot_thumb3.png?imgmax=800" width="617" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;/p&gt;  &lt;p align="left"&gt;This actually fits very nicely with our Unique workshop on “Debug” (see: &lt;a href="http://www.cvcblr.com/trainings"&gt;www.cvcblr.com/trainings&lt;/a&gt;) – wherein we look at some of the common debug problems and demonstrate how little tricks with TCL, GUI/Markers etc. can save you hours if not days!&lt;/p&gt;  &lt;p align="left"&gt;Look at some of our earlier Tweet’s&amp;#160; on OnPoint at &lt;a href="http://www.twitter.com/sricvc"&gt;www.twitter.com/sricvc&lt;/a&gt; to get some more info.&lt;/p&gt;  &lt;p align="left"&gt;I’m sure we will hear more about it in coming weeks/months.&lt;/p&gt;  &lt;p style="text-align: center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;Jasper’s ActiveDesign&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p align="left"&gt;One of the most charismatic EDA tools that I’ve come across with so far – that’s if they really deliver on being the &lt;a href="http://www.cvcblr.com/blog/?p=144" target="_blank"&gt;“Twitter of RTL Design”&lt;/a&gt; expectation that has been set of this. A picture is worth more than…here you go:&lt;/p&gt;  &lt;p align="left"&gt;&lt;a href="http://lh4.ggpht.com/_UsU6K1xQ-9k/TAy-1QRyzvI/AAAAAAAAACM/i987fxBSY38/s1600-h/image5.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="486" alt="image" src="http://lh5.ggpht.com/_UsU6K1xQ-9k/TAy-2cLPF7I/AAAAAAAAACQ/I0e_3yHsJ7A/image_thumb3.png?imgmax=800" width="646" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="left"&gt;Read more about it at: &lt;a title="http://www.cvcblr.com/blog/?p=144" href="http://www.cvcblr.com/blog/?p=144"&gt;http://www.cvcblr.com/blog/?p=144&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;Zocalo-tech&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;Do you care to approach your ABV adoption more methodically? Quoting Harry Foster, all time ABV promoter: (from his invited tutorial entited: “Assertion-Based Verification: Industry Myths to Realities”,&lt;/p&gt;  &lt;blockquote style="text-align: left"&gt;   &lt;p&gt;……”what differentiates a successful team from an unsuccessful team is process and adoption of new verification methods. Unsuccessful teams tend to approach development in an ad hoc fashion, while successful teams employ a more mature level of methodology that is systematic”. ……&lt;/p&gt; &lt;/blockquote&gt;  &lt;p style="text-align: left"&gt;Now Zocalo is one vendor trying to address that “methodology” aspect of ABV – via their Bird-dog primarily. We looked at their Zazz-OVL and even during today’s SVA training locally (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf&lt;/a&gt;) we were discussing how complex some of the OVL choices could be and I mentioned ZazzOVL – as the Dutch puts it, it is “jammer” (pronounce it as “yammer”, see: &lt;a href="http://forum.wordreference.com/showthread.php?t=359560"&gt;http://forum.wordreference.com/showthread.php?t=359560&lt;/a&gt;) that we didn’t have the tool handy to show off the value (during the lab session I mean). So make no mistake – their ZazzOVL is very very handy indeed – if you are adding OVLs that’s.&lt;/p&gt;  &lt;p style="text-align: left"&gt;Coming back to their offerings – Bird-dog is a very interesting approach, very much for those assertion enthusiasts who look for “where is the maximum ROI of adding assertions”. Their Visual-SVA is like a “temporal GUI/editor” for complex SVA coding, not my personal cup-of-tea, but I do see value for some there. However generating “traces” for assertions within Visual-SVA is certainly a good attempt. Let’s see how they fair in real life usage! Visit Zocalo Tech Booth # 1509&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;The all new UVM (a la erstwhile OVM)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;Sure you have heard of that – UVM, a sincere effort from Accellera to arrive at a “Universal” methodology from those seemingly competing OVM &amp;amp; VMM. Unless you want to risk your company not paying off your DAC bills, you wouldn’t want to miss that UVM booth :-) Honestly – I believe every one is looking forward to that. As the Accellera PR puts it:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="center"&gt;&lt;em&gt;Accellera's DAC breakfast, sponsored by Cadence, Mentor and Synopsys, will feature a standards update with an overview of how the Universal Verification Methodology (UVM) standard supports verification tool interoperability and gives IP and EDA users more choices, and a panel on &amp;quot;&lt;/em&gt;&lt;a href="http://www.accellera.org/events"&gt;&lt;em&gt;UVM: Charting the New Territory&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&amp;quot; This event continues the celebration of Accellera's 10 years of standards excellence.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p style="text-align: left"&gt;For the first time, all 3 major vendors “sponsor” one event promoting ONE methodology – a great news indeed for the users. BTW, there is Aldec catching up on the SystemVerilog support with Riviera-Pro product line. Ask them for VMM/OVM/UVM support updates at: &lt;a title="http://www.aldec.com/registration/dac" href="http://www.aldec.com/registration/dac"&gt;http://www.aldec.com/registration/dac&lt;/a&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;Agnisys's OVM/UVM management kits&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;A young EDA company based in Noida, India with solid EDA background (Anupam). They have iDesignSpec &amp;amp; iVerifySpec as products - one is for Register automation and another for overall Verification management. The REG automation has been a long awaited/wished for stuff, almost 8 years back we at Intel used Perl+DOC (Table) for something similar - glad to see a much more finished end product now. It can emit VMM-RAL, OVM and soon perhaps the UVM code too.&lt;/p&gt;  &lt;p style="text-align: left"&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;Sapient-Inc's IC management&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;Another&amp;#160; young EDA company, according to the founder - Subash, a long time chip designer/manager:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p style="text-align: left"&gt;I started &lt;span style="background-color: #ffffcc; background-origin: initial; background-clip: initial"&gt;Sapient&lt;/span&gt;-IC from the pain and frustration of managing IC products. The die size grows, schedule slips, VP yells at everybody. This is what I want address. Analytics for decision makers, comparative analysis for design choices to financial analysis.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p style="text-align: left"&gt;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;Breker’s Trek&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;A not-so-young EDA company (compared to the likes of NextOp/Zocalo etc.) with some interesting success stories with NVidia, STMicro. Their Trek is certainly a refreshing approach to testcase writing – especially for SoC Verification. See: &lt;a title="http://www.cvcblr.com/blog/?p=148" href="http://www.cvcblr.com/blog/?p=148"&gt;http://www.cvcblr.com/blog/?p=148&lt;/a&gt; for more details.&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;RealIntent’s Ascent&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;So much has been told, written about Linters – yet its adoption has been hampered heavily by the amount of “noise” it creates. Realintent’s Ascent claims to be less on that – and that is their primary seeling point. Not sure how they achieve that – given the natural side-effect of trying “find faults” with any given code.&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline"&gt;SpringSoft&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style="text-align: left"&gt;Check with them what’s up with their Certess/Certitude – it is an innovative approach for sure – mutation based TB qualification. As much as we have heard locally, there have been success and also some additional “noise”.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5902180498260312933?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5902180498260312933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5902180498260312933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5902180498260312933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5902180498260312933'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/06/pre-dac-round-up-of-verification.html' title='Pre-DAC round-up of Verification technologies'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_UsU6K1xQ-9k/TAy-z165cfI/AAAAAAAAACI/wFP4gis4Ss0/s72-c/onpoint_screenshot_thumb3.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-5689217999161770254</id><published>2010-05-24T19:27:00.000-07:00</published><updated>2010-05-24T19:28:16.738-07:00</updated><title type='text'>NextOp's assertion synthesis and our recent FIFO experience</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;div style="background-color: rgb(255, 255, 255); font: 13px/19px Georgia,'Times New Roman','Bitstream Charter',Times,serif; padding: 0.6em; margin: 0px;"&gt;&lt;p&gt;Based on DVCon 2010 paper on SystemVerilog Assertions - 2009 (see www.cvcblr.com --&gt; Publications) we recently got our FIFO model run through NextOp's BugScope tool. It produced some interesting stuff. The main one I liked is&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;pop |-&gt; full;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;This is an eye opener property - as this should never be the case! But BugScope indeed indicated that we are missing this - either as assert or cover. Obviously this is not a good assert, so when we analyzed deep, it turned out to be a "valid coverage" based on the RTL written. Details at:&lt;/p&gt;&lt;p&gt;http://verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=18073#18073&lt;/p&gt;&lt;p&gt;So essentially we did have a coverage hole - when that hole is analyzed, we get a design error/bug! What an interesting go-around way of detecting bugs - who cares, as long the bug detection is automatic, it is good!&lt;/p&gt;&lt;p&gt;Ajeetha,&lt;/p&gt;&lt;p&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="color: rgb(102, 102, 102); font-family: 'Lucida Grande',Verdana,Arial,'Bitstream Vera Sans',sans-serif; font-size: 11px; line-height: 18px;"&gt;&lt;span id="sample-permalink" style="margin: 0px; padding: 0px; border-width: 0px; outline-width: 0px; background-color: transparent;"&gt;http://www.cvcblr.com/blog/?p=163&lt;/span&gt;&lt;span class="Apple-converted-space"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5689217999161770254?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5689217999161770254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5689217999161770254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5689217999161770254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5689217999161770254'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/05/nextops-assertion-synthesis-and-our.html' title='NextOp&apos;s assertion synthesis and our recent FIFO experience'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-6832410468648095947</id><published>2010-05-17T09:21:00.001-07:00</published><updated>2010-05-17T09:21:36.221-07:00</updated><title type='text'>Welcome the next generation Verification Methodology – UVM</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', sans-serif; font-size: 14px; color: rgb(68, 68, 68); line-height: 19px; "&gt;&lt;p style="text-align: justify; font-size: 1em; "&gt;For all those System Verilog geeks, lovers, followers here is a sigh of BIG relief – at last we have a UNIVERSAL Verification Methodology that all the 3 major EDA vendors would openly support (and hopefully promote as well). As we speak, UVM-EA (Early Adaptor) release is now available. Take a look at it from &lt;a href="http://www.accellera.org/activities/vip/" target="_blank" style="color: rgb(34, 85, 136); text-decoration: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); "&gt;Accellera site&lt;/a&gt;.&lt;/p&gt;&lt;p style="text-align: justify; font-size: 1em; "&gt;CVC (&lt;a href="http://www.cvcblr.com/blog/www.cvcblr.com" style="color: rgb(34, 85, 136); text-decoration: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); "&gt;www.cvcblr.com&lt;/a&gt;) has been constantly following this release and are about to release our fresh trainings on this UVM. After all it is based on OVM 2.0.* on which we had successful trainings delivered to several customers locally. The most recent one just over the last weekend! (Yeah, we do have weekend classes as well).&lt;/p&gt;&lt;p style="text-align: justify; font-size: 1em; "&gt;So, what are you waiting for? Go ahead and ask for our upcoming UVM class via training@cvcblr.com or call us via +91-9620209226&lt;/p&gt;&lt;p style="text-align: justify; font-size: 1em; "&gt;Talk to you soon on UVM!&lt;/p&gt;&lt;p style="text-align: justify; font-size: 1em; "&gt;CVC Team&lt;/p&gt;&lt;p style="text-align: justify; font-size: 1em; "&gt;&lt;a href="http://www.cvcblr.com/blog/www.cvcblr.com" style="color: rgb(34, 85, 136); text-decoration: none; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); "&gt;www.cvcblr.com&lt;/a&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6832410468648095947?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6832410468648095947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6832410468648095947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6832410468648095947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6832410468648095947'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/05/welcome-next-generation-verification.html' title='Welcome the next generation Verification Methodology – UVM'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-7357581671577316723</id><published>2010-04-24T02:11:00.001-07:00</published><updated>2010-04-24T02:11:05.122-07:00</updated><title type='text'>A glimpse of our DVAudit – what goes on @CVC’s TDG</title><content type='html'>&lt;p&gt;Many have asked us the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Is CVC a training company? I see: &lt;a href="http://www.cvcblr.com/trainings"&gt;www.cvcblr.com/trainings&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Do you work on “live” projects? &lt;/li&gt;    &lt;li&gt;What is your TDG really doing? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;and more. Usually these questions are more from students/RCGs (Recent College Graduates) than the experienced lot – as the experienced lot is well networked with CVC founders (&lt;a href="http://www.linkedin.com/in/svenka3"&gt;www.linkedin.com/in/svenka3&lt;/a&gt;, &lt;a href="http://www.linkedin.com/in/ajeetha"&gt;www.linkedin.com/in/ajeetha&lt;/a&gt;) and can hence know about us well.&lt;/p&gt;  &lt;p&gt;Our honest answer to such questions is “all of the above” :-) That’s YES, we ARE proud to be a training company &lt;a href="http://www.cvcblr.com/trainings"&gt;www.cvcblr.com/trainings&lt;/a&gt; – simply b’cos we know why we are doing that. We work on “live” projects – we constantly upgrade to next generation technology, the most recent being the SystemVerilog VMM/OVM, Low power etc. &lt;/p&gt;  &lt;p&gt;What makes us really different and keeps us constantly innovating is the thirst for “doing better”. This is the core of our PDG – Product Division Group (yet to be formally announced on our website), we look for ways to enhance the productivity. For instance when there is a customer deliverable for a Verification code, “Team CVC” spends quality time together to do thorough reviews, code walk through, custom lints etc. Here is our latest, weekend edition on un-moderated, live-from-the board glimpse of our DVAudit review done on a customer deliverable.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_fOCgo912NxE/S9K1TptFS0I/AAAAAAAAAnw/HgL8rJ2zWSA/s1600-h/DVAudit%5B5%5D.jpg"&gt;&lt;img title="DVAudit" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="184" alt="DVAudit" src="http://lh4.ggpht.com/_fOCgo912NxE/S9K1UGbRxOI/AAAAAAAAAn0/4RJI4_hCFMU/DVAudit_thumb%5B1%5D.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;For the experienced lot reading this entry (BTW, thanks for getting so far :-)), this is such a common part of your tech-life. For those uninitiated, this is how industry works - “writing piece of code” is just A part – there is lot more to it in making it customer ready/production ready.&lt;/p&gt;  &lt;p&gt;Now what’s innovative about the above “glimpse” – if you read it carefully you can observe that we are creating a thorough check-list of “executable” process for Design-Verification Audit. It is something CVC has been doing it for its corporate customers behind the scene for many years. Now it is slowly taking shape as part of our PDG – stay tuned for more..&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7357581671577316723?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7357581671577316723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7357581671577316723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7357581671577316723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7357581671577316723'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/04/glimpse-of-our-dvaudit-what-goes-on.html' title='A glimpse of our DVAudit – what goes on @CVC’s TDG'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_fOCgo912NxE/S9K1UGbRxOI/AAAAAAAAAn0/4RJI4_hCFMU/s72-c/DVAudit_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1251643902946427911</id><published>2010-03-17T11:22:00.001-07:00</published><updated>2010-03-17T11:22:15.435-07:00</updated><title type='text'>A modern approach to SoC level verification</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Verifying SoC is fun and tedious. Especially with several buzz words around the corner, it is quite easy to get lost in maze of buzz-words and miss the goal. At the end one may feel that the plain old wisdom of whiteboard based testcase review/plan is/was lot more controllable &amp;amp; observable. We did that back in 2000 @ Realchip communications and yes it worked really well. But with shrinking times and mounting complexity is that really fast enough? Before I hear constrained-random, blink for a while – how much random do you want your end-to-end data flow in-and-out of ASIC/SoC to be? &lt;/p&gt;  &lt;p&gt;We at CVC (&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;) take pride in partnering with all major EDA vendors (&lt;a href="http://www.cvcblr.com/partners"&gt;http://www.cvcblr.com/partners&lt;/a&gt;) – big &amp;amp; small to look for best possible solution for different problems than suggesting “one-size-fit-all” like solution.&lt;/p&gt;  &lt;p&gt;Here is a relevant thread @Vguild: &lt;a href="http://www.verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17615#17615"&gt;http://www.verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;p=17615#17615&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I am due to start work on an ASIC, and am wondering about a suitable verification strategy. The ASIC consists of a data path, with continuous data input from ADCs and continuous output to DACs, and a couple of embedded processors utilising external flash and SRAM.&lt;/p&gt;    &lt;p&gt;So the interfaces to the ASIC are pretty much:     &lt;br /&gt;(1) parallel data bus in      &lt;br /&gt;(2) parallel data bus out      &lt;br /&gt;(3) external memory interface for CPUs&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And here is our own experience/view of some emerging approach to this problem – we don’t claim to have solved it completely, but seem to be making good progress towards a methodical and controllable (yet scalable) manner. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Hi Siskin,   &lt;br /&gt;Good question/topic. While the value of OVM/VMM is very profound at block levels, their usage at SoC level wherein end-to-end data flow is being checked is not very well reported (yet) in literature. Needless to say they are far better than inventing your own. Especially if you have block-to-system reuse of these VIP components they definitely come very handy. The virtual sequences/multi-stream scenarios do assist but IMHO they come with heavy workouts. Instead what we promote to our customers here and have been proto-typing with at CVC is the solution from Breker, it is called Trek. It can work on top of any existing TB - Verilog/VHDL/TCL/VMM/OVM you name it.    &lt;br /&gt;Idea is to reuse the block level components to do what they do best and build tests at a higher level - in this case using graphs, nodes etc. I tend to like this as I used to like Petri nets during my post-graduation days (though didn't followup on my interest afterwards).    &lt;br /&gt;My first impression was to use Trek simply as a testcase creation engine but slowly I'm getting convinced it is useful as &amp;quot;checker&amp;quot; as well - especially the end-to-end checks.    &lt;br /&gt;You are absolutely right - use assertions in IP interface levels and use some sort of higher level stimulus. Where I see Trek useful in SoC verification is the ability to describe your &amp;quot;flow of data through SoC&amp;quot; as a graph and let the tool generate tests for you. I even jokingly say one can use a palmtop/PDA to draw these graphs during travel, convert them to Trek graph (somehow, didn't chase that dream yet) and have tests ready while I'm on travel - flight/train/bus whatever be it! On a serious note, this is quite similar to how we used to discuss our testplans on a whiteboard during our Realchip (a communication startup in 2000-2001) days, now becoming &amp;quot;executable&amp;quot; &lt;img alt="Smile" src="http://www.verificationguild.com/modules/Forums/images/smiles/icon_smile.gif" border="0" /&gt;    &lt;br /&gt;See ST's usage of Trek @    &lt;br /&gt;&lt;a href="http://www10.edacafe.com/nbc/articles/view_article.php?articleid=787856"&gt;http://www10.edacafe.com/nbc/articles/view_article.php?articleid=787856&lt;/a&gt;    &lt;br /&gt;Feel free to contact me offline if you need further assistance on Trek. We have our 2nd successful project finishing on using Trek, though these are small/medium scale ones.    &lt;br /&gt;My 2 cents!    &lt;br /&gt;Srini    &lt;br /&gt;&lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;    &lt;br /&gt;_________________    &lt;br /&gt;Srinivasan Venkataramanan    &lt;br /&gt;Chief Technology Officer, CVC &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;    &lt;br /&gt;A Pragmatic Approach to VMM Adoption    &lt;br /&gt;SystemVerilog Assertions Handbook    &lt;br /&gt;Using PSL/SUGAR 2nd Edition.    &lt;br /&gt;Contributor: The functional verification of electronic systems&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1251643902946427911?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1251643902946427911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1251643902946427911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1251643902946427911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1251643902946427911'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/modern-approach-to-soc-level.html' title='A modern approach to SoC level verification'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-5803132431460539179</id><published>2010-03-13T11:06:00.001-08:00</published><updated>2010-03-13T11:06:16.596-08:00</updated><title type='text'>NextOp’s Assertion Synthesis – expanding ABV applications?</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In case you missed it, read a user report on NextOp’s technology at: &lt;a href="http://www.deepchip.com/items/0484-01.html"&gt;http://www.deepchip.com/items/0484-01.html&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In next couple of blog entries, I will share my reading, reflections on this detailed report. &lt;/p&gt;  &lt;p&gt;To start with, this technology seems to address some of the “points to ponder” being discussed at: &lt;a title="http://www.cvcblr.com/blog/?p=146" href="http://www.cvcblr.com/blog/?p=146"&gt;http://www.cvcblr.com/blog/?p=146&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As there is no whitepaper/material available on this technology I base my reflections solely on the ESNUG report. First thing that strikes me is, it seems to suggest in identifying “what assertions to write”. But then it takes a radically different approach to this problem atleast from what has been attempted so far by other EDA vendors. The single most difference is it takes the RTL + Testbench as guide to create assertions/properties. From the report:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre&gt; BugScope&lt;br /&gt;takes in our RTL design and testbench as inputs and generates properties,&lt;br /&gt;(which we then categorize as assertions or coverages) that help identify&lt;br /&gt;bugs and coverage holes during simulation.  In contrast, Mentor's 0-in&lt;br /&gt;assertion synthesis does not use our testbench; &lt;/pre&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This is certainly new idea, though I’m little sceptical about the value of late-in-the-cycle assertions. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The next interetsing inference I have on this report is the “coverage property” generation:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;When we began our BugScope eval, we only cared about assertion properties&lt;br /&gt;it generated -- we didn't initially see any value of BugScope's coverage&lt;br /&gt;properties.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;From what I read in that report, its USP seems to be the “coverage holes” that it can identify. In which case it may be adding more work for the whole project than reducing it – true it helps with better quality, but folks like nuSym will go crazy to have more to cover, but again it is too early to comment in detail. The example given in that report looks little strange as that case maybe due to insufficient run-time of testcase, weak random generation, over-constrained stimulus etc. Also nowadays with RAL (VMM-RAL, &lt;a href="http://www.vmmcentral.org"&gt;www.vmmcentral.org&lt;/a&gt;) like automation, all registers can be captured in more controlled fashion from spec. So atleast I fail to see value with the example provided in the report. But since the user says he is using it in production for 2 years or so, there must be credit to this “niche technology”.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Perhaps NextOp is expanding the traditional ABV applications to include “verification closure requirements” by identifying what is not covered yet. That will be interesting application of ABV!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;More on this report later.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5803132431460539179?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5803132431460539179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5803132431460539179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5803132431460539179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5803132431460539179'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/nextops-assertion-synthesis-expanding.html' title='NextOp’s Assertion Synthesis – expanding ABV applications?'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-3119460333438009854</id><published>2010-03-13T10:49:00.001-08:00</published><updated>2010-03-13T10:49:36.030-08:00</updated><title type='text'>ABV – points to ponder on its slow adoption</title><content type='html'>&lt;p&gt;Efforts have been ongoing to make ABV (Assertion Based Verification) more and more deployed for several years via OVL, PSL, SVA etc. Though the concept of assertions is not really new to the industry, widespread usage of it has not been as much as it was expected atleast by the EDA vendors, promoters (to which I consider CVC &lt;a href="http://www.cvcblr,com"&gt;www.cvcblr,com&lt;/a&gt; included). &lt;/p&gt;  &lt;p&gt;Prior to PSL/SVA days, 0-in came up with idea of assertion identification, checker library etc. It did catch up with early adaptors but suffered from proprietary solution and inherent limitations of any auto-generated code. This was followed by other EDA vendors developing “auto-generated assertions” for designs – there was some good traction for few quarters and then the initial enthusiasm faded away as the SNR (Signal-to-Noise-Ration) was way too much perhaps. &lt;/p&gt;  &lt;p&gt;The development of OVL and other vendor specific assertion libraries looked promising, but IMHO this was not marketed well enough. Also they all fell short of good old 0-in checker elements when it comes to ease of use, verbosity etc. We dealt on this very topic in good detail in our rceent SVA handbook 2nd edition (&lt;a href="http://www.systemverilog.us/sva_info.html"&gt;www.systemverilog.us/sva_info.html&lt;/a&gt;) and also touched upon this in our DVCOn 2010 paper (See &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt; for downloads page, code, paper + slides are available on request). &lt;/p&gt;  &lt;p&gt;&amp;#160; As we at CVC have been walking through these developments in the industry we continue to have debate on what is preventing it from being more widely used. We have several items identified, a non-exhaustive list is below:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Who will add these tiny little monsters to start with? Is it RTL designers or Verification engineers?      &lt;ul&gt;       &lt;li&gt;The answer seems to be &lt;strong&gt;both&lt;/strong&gt;. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;There is a myth that RTL folks don’t want to learn new language – be it SVA/PSL etc.      &lt;ul&gt;       &lt;li&gt;I call it a myth b’cos atleast in this part of the world, the young engineers are always open to new languages, technologies to keep them ahead in technology and beat recession! &lt;/li&gt;        &lt;li&gt;True, the full PSL/SVA is more than what average RTL guy can consume – but then the kind of properties that RTL folks would write are also simple and don’t require full language capabilities. &lt;/li&gt;        &lt;li&gt;We at CVC have carefully extracted what RTL designers would require to become productive with ABV – we offer it as 1-day (or even half-a-day if really needed) workshop on “ABV for RTL designers”, see: &lt;a href="http://www.cvcblr.com/trainings"&gt;www.cvcblr.com/trainings&lt;/a&gt; or contact us via &lt;a href="mailto:training@cvcblr.com"&gt;training@cvcblr.com&lt;/a&gt; for details &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;The checker libraries are very handy for RTL folks, but as I said earlier many are not even aware of its potentials. Need more marketing..      &lt;ul&gt;       &lt;li&gt;Some complain about the verbosity especially those who have used 0-in or OVA (inlined) in the past (See AMD’s presentation to Accellera OVL-TC &lt;a href="http://www.accellera.org"&gt;www.accellera.org&lt;/a&gt; few years back)           &lt;ul&gt;           &lt;li&gt;Recently released SVA-2009 LRM does address this well with inherited clocks, default clock etc. See &lt;a href="http://www.systemverilog.us"&gt;www.systemverilog.us&lt;/a&gt; for more &lt;/li&gt;            &lt;li&gt;Also look at &lt;strong&gt;&lt;em&gt;checker..endchecker&lt;/em&gt;&lt;/strong&gt; construct in SVA-2009 &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Many users may indeed benefit from a simple “drag-n-drop” style such as the one being developed by ZazzOVL (&lt;a href="http://www.zocalo-tech.com"&gt;www.zocalo-tech.com&lt;/a&gt;) We at CVC have done initial eval and results look very promising. True, they have some way to go before satisfying every possible user, but good first step I must say! &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;In My design, what assertions can I add?      &lt;ul&gt;       &lt;li&gt;This seems to be much more prevelant question than the myth I mention earlier. There is good element of truth in this concern – only with experience does one get to “identify” quality assertions. &lt;/li&gt;        &lt;li&gt;There are tools emerging in this space such as NextOp’s Assertion synthesis @:&lt;a href="http://www.deepchip.com/items/0484-01.html"&gt;http://www.deepchip.com/items/0484-01.html&lt;/a&gt; and Zocalo’s “Zazz bird dog” (&lt;a href="http://www.zocalo-tech.com"&gt;www.zocalo-tech.com&lt;/a&gt;) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;How do I know whether my assertions themselves are correct?      &lt;ul&gt;       &lt;li&gt;See: &lt;a title="http://www.cvcblr.com/blog/?p=132" href="http://www.cvcblr.com/blog/?p=132"&gt;http://www.cvcblr.com/blog/?p=132&lt;/a&gt; for a lively discussion on this topic with Jasper’s ActiveDesign seemingly addressing this well along with other EDA vendors too. &lt;/li&gt;        &lt;li&gt;Also tools like VCS, Verdi etc. allow assertion evaluation based on a given DUMP file – say VPD, FSDB etc. This is yet another useful feature that’s least marketed – if any. Do look in the tool doc or contact your vendor for more on this, or send us an email via: &lt;a href="mailto:info@cvcblr.com"&gt;info@cvcblr.com&lt;/a&gt; for more on this. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;How do I know my assertions really fired?      &lt;ul&gt;       &lt;li&gt;Good question, look at assertion coverage and more interestingly the methodology note recently added by our team @ VMMCentral (&lt;a href="http://www.vmmcentral.org"&gt;www.vmmcentral.org&lt;/a&gt;) on the concept of “totally vacuous” assertions. See: &lt;a title="http://www.cvcblr.com/blog/?p=143" href="http://www.cvcblr.com/blog/?p=143"&gt;http://www.cvcblr.com/blog/?p=143&lt;/a&gt; for more. &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;How many assertions are enough for my design?      &lt;ul&gt;       &lt;li&gt;Excellent/Best question perhaps, so NO ANSWER :-) &lt;/li&gt;        &lt;li&gt;         &lt;div align="left"&gt;More pragmatically though, there is some research going on at IIT-Kharagpur on this topic, see: &lt;a href="http://www.smdp.iitkgp.ernet.in/publications.htm"&gt;http://www.smdp.iitkgp.ernet.in/publications.htm&lt;/a&gt;&lt;/div&gt;       &lt;/li&gt;        &lt;li&gt;0-in addressed this with MSD – Minimum Sequential Distance, look in their doc for more &lt;/li&gt;        &lt;li&gt;VCS adds a stats on “assertion density” – some indications atleast &lt;/li&gt;        &lt;li&gt;If you are a Masters graduate or PhD – excellent topic to work on! &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-3119460333438009854?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/3119460333438009854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=3119460333438009854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3119460333438009854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3119460333438009854'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/abv-points-to-ponder-on-its-slow.html' title='ABV – points to ponder on its slow adoption'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4368716825078658019</id><published>2010-03-13T09:07:00.001-08:00</published><updated>2010-03-13T09:07:26.234-08:00</updated><title type='text'>Twitter of RTL design – welcome to Behavioral Indexing!</title><content type='html'>&lt;p&gt;Srinivasan Venkataramanan, CVC Pvt. Ltd. &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ajeetha Kumari, CVC Pvt. Ltd. &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;If you haven’t heard of Twitter you perhaps are living in an internet vacuum J On a positive note, the reach and impact of SNS (Social Networking Sites) into our internet life is hard to ignore – whether it is Twitter, Facebook, LinkedIn etc. To me, a successful SNS tries to capture “what is in going on in your mind right now”? A similar approach can be applied to RTL design – when a designer makes an assumption about the latency of output or the FIFO size etc., it hardly gets captured in a repeatable, executable format. True, at the end of a design phase documentation is written (usually) that attempts to capture these. However it gets too late by then to be “active comments”. &lt;/p&gt;  &lt;p&gt;From a language perspective SystemVerilog allows assertions &amp;amp; functional coverage (covergroup) inline with RTL code that can help to some extent. However they are only the “specification” part. A lot more “information” gets lost during such translation such as&lt;/p&gt;  &lt;p&gt;· “show me a proof/witness/waveform” for such an occurrence&lt;/p&gt;  &lt;p&gt;· Can we optimize the latency to say 5&lt;/p&gt;  &lt;p&gt;· What-if I change the FIFO size to 32 here etc.&lt;/p&gt;  &lt;p&gt;Jasper’s recently announced ActiveDesign technology has a significant component for this “design process”. It is called “Behavioral Indexing”, you “index” the behavior with facts, assumptions, traces, bugs etc. all in a comprehensive database along with your RTL. So when a designer (or another designer who inherits, reviews the code) looks at the code again (via the ActiveDesign database of-course) he/she can get not only the assumptions (that would be similar to SVA) but also real traces, potential issues of changes to FIFO size etc. In a generic sense the indexing captures the designers state of mind “at that point in time” as a snapshot and keeps it reproducible throughout the lifetime of the RTL code! A good thinking indeed, this is why I like to call it the “Twitter of RTL design”.&lt;/p&gt;  &lt;p&gt;There is more to Behavioral Indexing than this, will talk about it next time around, so stay tuned!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4368716825078658019?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4368716825078658019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4368716825078658019' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4368716825078658019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4368716825078658019'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/twitter-of-rtl-design-welcome-to.html' title='Twitter of RTL design – welcome to Behavioral Indexing!'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6917183519873765320</id><published>2010-03-10T08:29:00.001-08:00</published><updated>2010-03-10T08:29:50.579-08:00</updated><title type='text'>Introducing “totally vacuous” assertion attempts</title><content type='html'>&lt;p&gt;See our interesting Blog post at: &lt;a title="http://www.vmmcentral.org/vmartialarts/?p=1130" href="http://www.vmmcentral.org/vmartialarts/?p=1130"&gt;http://www.vmmcentral.org/vmartialarts/?p=1130&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On the topic of adding SystemVerilog “bind files” – a new tool that is shaping up can help automate even that part – see ZazzOVL (&lt;a href="http://www.zocalo-tech.com"&gt;www.zocalo-tech.com&lt;/a&gt;). Though as of now it works only for OVL, technically speaking it is very easy to extend it for user specified assertion libraries/modules/MIPs etc. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6917183519873765320?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6917183519873765320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6917183519873765320' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6917183519873765320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6917183519873765320'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/introducing-totally-vacuous-assertion.html' title='Introducing “totally vacuous” assertion attempts'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2065702258235550877</id><published>2010-03-07T08:16:00.001-08:00</published><updated>2010-03-07T08:16:20.583-08:00</updated><title type='text'>Identifying transactions faster with Verdi</title><content type='html'>&lt;p&gt;Further to our previous blog entry on Verdi’s advanced Transaction debug features (ref: &lt;a title="http://www.cvcblr.com/blog/?p=130" href="http://www.cvcblr.com/blog/?p=130"&gt;http://www.cvcblr.com/blog/?p=130&lt;/a&gt; ), here are some more tricks that can help debug automation even further. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Very often designers find that there are certain unique characteristics/attributes that differentiate transactions. For instance Transaction kind being ERROR/SPLIT/RETRY etc. Wouldn’t it be nice if on a 50,000 clock cycle simulation dump one can:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Quickly identify the “information” from “raw data” of signal toggles? (see: &lt;a title="http://www.cvcblr.com/blog/?p=130" href="http://www.cvcblr.com/blog/?p=130"&gt;http://www.cvcblr.com/blog/?p=130&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;On top of previous item, classify the transactions based on user specified “attributes/fields” such as ERROR/SPLIT/RETRY&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This is very handy trick with Verdi. Select Message –&amp;gt; Filter/Colorify as in screenshot below:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_fOCgo912NxE/S5PRJYdgdrI/AAAAAAAAAms/J0EcZsv1u5o/s1600-h/verdi_how_2_color%5B2%5D.jpg"&gt;&lt;img title="verdi_how_2_color" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="184" alt="verdi_how_2_color" src="http://lh3.ggpht.com/_fOCgo912NxE/S5PRJ87A1MI/AAAAAAAAAmw/r97JipquzVc/verdi_how_2_color_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Once you are there, define the attributes in the dialog/pane as shown below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_fOCgo912NxE/S5PRMfFdnnI/AAAAAAAAAm0/rIPUv0FQ8jE/s1600-h/verdi_how_2_color_2%5B2%5D.png"&gt;&lt;img title="verdi_how_2_color_2" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="154" alt="verdi_how_2_color_2" src="http://lh3.ggpht.com/_fOCgo912NxE/S5PRNYJuKOI/AAAAAAAAAm4/4El2VDAqsv0/verdi_how_2_color_2_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Voila! You get:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_fOCgo912NxE/S5PRPxiFuDI/AAAAAAAAAm8/9U0boNKl0SA/s1600-h/verdi_colour%5B2%5D.png"&gt;&lt;img title="verdi_colour" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="154" alt="verdi_colour" src="http://lh5.ggpht.com/_fOCgo912NxE/S5PRQ9q2bJI/AAAAAAAAAnE/rukIBpSneSI/verdi_colour_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Add with the signals involved:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_fOCgo912NxE/S5PRToLZdRI/AAAAAAAAAnI/knKwByF9D9Y/s1600-h/verdi_colour_show%5B2%5D.png"&gt;&lt;img title="verdi_colour_show" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="154" alt="verdi_colour_show" src="http://lh5.ggpht.com/_fOCgo912NxE/S5PRUurrdXI/AAAAAAAAAnM/NOqG8Xwfx2I/verdi_colour_show_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now, that’s true “debug automation” and “raising debug abstraction level” in pragmatic sense!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2065702258235550877?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2065702258235550877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2065702258235550877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2065702258235550877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2065702258235550877'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/identifying-transactions-faster-with.html' title='Identifying transactions faster with Verdi'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_fOCgo912NxE/S5PRJ87A1MI/AAAAAAAAAmw/r97JipquzVc/s72-c/verdi_how_2_color_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4467358279092361197</id><published>2010-03-02T08:46:00.001-08:00</published><updated>2010-03-02T08:46:30.950-08:00</updated><title type='text'>Smart application of vmm_log::disable_types()</title><content type='html'>&lt;p&gt;Srinivasan Venkataramanan, CVC Pvt. Ltd.&lt;/p&gt;  &lt;p&gt;Ever wonder why typical SystemVerilog base classes are bulky and seem to make life complicated against simple things like $display? The devil lies in detail – true simple $display is the easiest to use, but think about the code you are writing to have longer life and reuse – then you slowly start realizing the need. Sometimes you need to get bitten by the downside of not using amethodology to start appreciating the need for methodology. &lt;/p&gt;  &lt;p&gt;See: &lt;a title="http://www.vmmcentral.org/vmartialarts/?p=1098" href="http://www.vmmcentral.org/vmartialarts/?p=1098"&gt;http://www.vmmcentral.org/vmartialarts/?p=1098&lt;/a&gt; for a smart usage of vmm_log::disable_types() method. Many folks have asked me why the VMM_LOG is so bloated (in their view), the above is just a sample, see more @ &lt;a title="http://www.vmmcentral.org/vmartialarts/?p=259" href="http://www.vmmcentral.org/vmartialarts/?p=259"&gt;http://www.vmmcentral.org/vmartialarts/?p=259&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4467358279092361197?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4467358279092361197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4467358279092361197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4467358279092361197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4467358279092361197'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/smart-application-of-vmmlogdisabletypes.html' title='Smart application of vmm_log::disable_types()'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1256769914018693056</id><published>2010-03-01T08:20:00.001-08:00</published><updated>2010-03-01T08:20:13.638-08:00</updated><title type='text'>Look ma “No RTL, TB, only PSL/SVA – yet I can validate my spec”</title><content type='html'>&lt;p&gt;It is one of those most commonly asked questions in any assertions training/engagement – assertions describe design behavior, but how can I validate my assertions even before my RTL and/or TB is ready? This is useful for few reasons:&lt;/p&gt;  &lt;p&gt;1. Users new to writing assertions using PSL/SVA are expected to make mistakes in assertions initially. So it will be good to get some quick waveforms and validate the assertions in stand alone fashion.&lt;/p&gt;  &lt;p&gt;2. While the spec is vague, it creates a mechanism to develop/solidify the spec itself&lt;/p&gt;  &lt;p&gt;Typically during the advanced sequences/SEREs section of our PSL (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_PSL_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_PSL_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_PSL_profile.pdf&lt;/a&gt;) trainings or SystemVerilog Assertions trainings (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf&lt;/a&gt;) this question invariably comes up. &lt;/p&gt;  &lt;p&gt;In principle this is a sweet spot for formal tools (Model checkers) – though not all of them openly promote this nice “hidden gem”. I had first hand experience of doing it via some scripts inside Synopsys not too long ago. But not every user is made aware of this “non-productized” feature. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is what Jasper had to say on this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="3"&gt;The idea you have mentioned about visualizing assertions in SVA/PSL without DUT/TB has been around within Jasper, for a long while. At that time, one of our customers is trying to train more people within their company to write PSL, and many of the engineers found it easy to write &amp;quot;&lt;strong&gt;incorrect PSL&lt;/strong&gt;&amp;quot;, and would like us to provide a tool to help them understand whether the PSL they have written captures the intended behaviors.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;I also heard atleast one another EDA vendor confirming its tool being able to easily do this. I will add that name if I get clearance :-)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;So as my co-author Ben Cohen (&lt;a href="http://www.systemverilog.us"&gt;www.systemverilog.us&lt;/a&gt;) always insists – YES one can (and perhaps should, for a class of designs/specs) use assertions in SystemVerilog (SVA) and/or PSL during the micro-architecture specification stage itself.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Welcome to the new world of possibilities – true this capability has been around for few years, but I haven’t seen many fully exploiting it yet.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1256769914018693056?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1256769914018693056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1256769914018693056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1256769914018693056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1256769914018693056'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/03/look-ma-no-rtl-tb-only-pslsva-yet-i-can.html' title='Look ma “No RTL, TB, only PSL/SVA – yet I can validate my spec”'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4843540834934726057</id><published>2010-02-26T09:24:00.001-08:00</published><updated>2010-02-26T09:24:44.808-08:00</updated><title type='text'>Transaction Level Debug with SystemVerilog/VMM and Verdi</title><content type='html'>&lt;p&gt;In our regular SystemVerilog, VMM trainings (&lt;a href="http://www.cvcblr.com/trainings"&gt;www.cvcblr.com/trainings&lt;/a&gt;) we demonstrate the power of callbacks to go beyond the obvious usage – specifically a case study to demonstrate transaction level debug. While this topic has been around for very long time (IIRC, Cadence/DAI first provided it via SignalScan), its real application in day-to-day debug has not been as popular as it should probably be. &lt;/p&gt;  &lt;p&gt;Some reasons for the slow progress in debug are due to the tool limitations, some due to user unawareness etc. Today we had this session again at CVC and users really liked it a lot. We decided to open up this stuff as there is more interest and share it with larger community. &lt;/p&gt;  &lt;p&gt;We also got Verdi (tm) working on this design with simple addition of $fsdbLog – one doesn’t require extra virtual-interface anymore! Hurray! The Debug champion has once again provided a very useful feature for SystemVerilog, class based environments to be debugged effectively. See some of the screenshots below. A much more lively demo can be seen at:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.slideshare.net/svenka3/transaction-level-debug-with-systemverilog-vmm-verdi" href="http://www.slideshare.net/svenka3/transaction-level-debug-with-systemverilog-vmm-verdi"&gt;http://www.slideshare.net/svenka3/transaction-level-debug-with-systemverilog-vmm-verdi&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Add simple code for&amp;#160; $fsdbLog – similar syntax as $display:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_fOCgo912NxE/S4gDweu3dxI/AAAAAAAAAl8/Eu8sSrP8o7U/s1600-h/image%5B3%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="182" alt="image" src="http://lh3.ggpht.com/_fOCgo912NxE/S4gDxAIu2iI/AAAAAAAAAmA/E82aCc8TU20/image_thumb%5B4%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; Start seeing transactions in Waveform (FSDB)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_fOCgo912NxE/S4gDzBINOTI/AAAAAAAAAmE/xNZCiXUZrek/s1600-h/image%5B7%5D.png"&gt;&lt;img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="183" alt="image" src="http://lh5.ggpht.com/_fOCgo912NxE/S4gD0P50QLI/AAAAAAAAAmI/e4YdsCWjsEs/image_thumb%5B11%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Verdi also presents a transaction browser in TEXTUAL form as shown below:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_fOCgo912NxE/S4gD2NuLejI/AAAAAAAAAmM/imuwYzJ9DEs/s1600-h/image%5B11%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="184" alt="image" src="http://lh5.ggpht.com/_fOCgo912NxE/S4gD2wIRWaI/AAAAAAAAAmQ/UzFSx_HcJHM/image_thumb%5B16%5D.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;But to be honest – one needs to see the demo with action, try:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.slideshare.net/svenka3/transaction-level-debug-with-systemverilog-vmm-verdi" href="http://www.slideshare.net/svenka3/transaction-level-debug-with-systemverilog-vmm-verdi"&gt;http://www.slideshare.net/svenka3/transaction-level-debug-with-systemverilog-vmm-verdi&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;for a PPS style. I’m also uploading a Video capture soon. Hopefully it goes through, then it will be lot more fun. If you wish to see it live on your designs, call us via &lt;a href="mailto:info@cvcblr.com"&gt;info@cvcblr.com&lt;/a&gt; or &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4843540834934726057?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4843540834934726057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4843540834934726057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4843540834934726057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4843540834934726057'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/transaction-level-debug-with.html' title='Transaction Level Debug with SystemVerilog/VMM and Verdi'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_fOCgo912NxE/S4gDxAIu2iI/AAAAAAAAAmA/E82aCc8TU20/s72-c/image_thumb%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4702173905330828753</id><published>2010-02-25T09:09:00.001-08:00</published><updated>2010-02-25T09:09:02.369-08:00</updated><title type='text'>Potential research areas on ABV – for a Masters thesis</title><content type='html'>&lt;p&gt;As part of our BUDS internship program (&lt;a title="http://www.cvcblr.com/downloads/BUDs_CVC_Acad.pdf" href="http://www.cvcblr.com/downloads/BUDs_CVC_Acad.pdf"&gt;http://www.cvcblr.com/downloads/BUDs_CVC_Acad.pdf&lt;/a&gt;) we work with some of the leading edge educational institutions in India (and one in the USA, BTW). One of our current inters is working on Assertions Based Verification using OVL. In less than a month he has picked up so much so that he says he has learnt more than what he had done (practically) in last semester – it is about that self satisfaction that we consider as our success.&lt;/p&gt;  &lt;p&gt;During a recent review at his college, his guide, a very respectable professor in this domain (He is the DEAN of M.Tech VLSI there) has given a very constructive criticism saying:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;OVL is fine, but can you add some research work beyond what is obvious/common use to your thesis?&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;We at CVC felt &lt;strong&gt;very happy &lt;/strong&gt;about that comment – as it reflects on the reviewer’s thirst for highest standards and research inclination and keep us more motivated to go beyond the obvious. So we than him greatly for his inputs via this blog. &lt;/p&gt;  &lt;p&gt;Today during a review session we agreed on some of the research topics in this domain, feel free to add anymore if you come across. Even if the present intern can’t take all, a future one can build on this work!&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Assertion Density –&amp;gt; How many assertions are enough for my design? Look for some research work @ IIT-KGP (&lt;a href="http://www.smdp.iitkgp.ernet.in/publications.htm"&gt;http://www.smdp.iitkgp.ernet.in/publications.htm&lt;/a&gt;). Also tools like 0-in, VCS etc. present some code level metrics to assist in this space. But more needs to be done. Say assign a “weight” to each OVL element, classify them as per their complexity etc. &lt;/li&gt;    &lt;li&gt;Clock Domain Crossing (CDC) Verification using Assertions &lt;/li&gt;    &lt;li&gt;Low Power Verification using Assertions &lt;/li&gt;    &lt;li&gt;Assertion candidate identification on a given RTL – such as the emerging &lt;strong&gt;Zazz bird dog&lt;/strong&gt; (tm)&amp;#160; (&lt;a href="http://zocalo-tech.com/products.php"&gt;http://zocalo-tech.com/products.php&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;Assertion Visualization without any TB/RTL. A seemingly close to it technology is available from Jasper (&lt;a href="http://www.jasper-da.com"&gt;www.jasper-da.com&lt;/a&gt;) via their recently announced ActiveDesign (tm) product. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I encourage others to add more topics as comments to this entry so that the academia can focus on next generation challenges!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4702173905330828753?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4702173905330828753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4702173905330828753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4702173905330828753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4702173905330828753'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/potential-research-areas-on-abv-for.html' title='Potential research areas on ABV – for a Masters thesis'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-9139508927593824936</id><published>2010-02-25T08:49:00.001-08:00</published><updated>2010-02-25T08:49:24.144-08:00</updated><title type='text'>Why CVC’s trainings are so special</title><content type='html'>&lt;p&gt;As in any business, there are always lead players and those who try to “mimic” them. We see our trainings also the same way – let’s admit there are few players in this game in our region. However what sets us apart from the rest? Few:&lt;/p&gt;  &lt;p&gt;1. First of all we serve the whole industry at large:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Be it a fresh graduate (via our EIC: &lt;a title="http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf&lt;/a&gt;, &lt;a title="http://www.slideshare.net/svenka3/anubhuti-engineering-incubation-centre-eic" href="http://www.slideshare.net/svenka3/anubhuti-engineering-incubation-centre-eic"&gt;http://www.slideshare.net/svenka3/anubhuti-engineering-incubation-centre-eic&lt;/a&gt;) &lt;/li&gt;    &lt;li&gt;An experienced, mid-career engineer looking to re-skill, recently SystemVerilog being the runaway success (&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_VSV_WK_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_VSV_WK_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_VSV_WK_profile.pdf&lt;/a&gt;)&lt;/li&gt;    &lt;li&gt;Engineering managers, marketing execs who want 10,000 foot view of the VLSI ball game&lt;/li&gt;    &lt;li&gt;Sometimes, engineers from other domains (SW, Mechanical – yes we had one!!) willing to learn basics of Verilog. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Such a wide coverage of audience is very rare if any, even across globe. Again note that many may promise, it is important to deliver and that too with passion and from real experts, who can be named, identified than those typical “&lt;em&gt;interact with industry experts&lt;/em&gt;” kind of statements!&lt;/p&gt;  &lt;p&gt;As one of our testimonials (&lt;a href="http://www.cvcblr.com/testimonials"&gt;http://www.cvcblr.com/testimonials&lt;/a&gt;) go:&lt;/p&gt;  &lt;blockquote&gt;   &lt;h6&gt;&lt;strong&gt;&amp;quot;&lt;/strong&gt;...have been practicing for many years just what they teach now. A giant step in the right direction to introduce a quality VLSI design and verification in India!&lt;strong&gt;&amp;quot;&lt;/strong&gt;&lt;/h6&gt;    &lt;p&gt;&lt;strong&gt;Sunil Kakkar, Chief Architect - SKAK INC.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;2. We believe in what we do – yes we do NOT cover the whole VLSI flow – every wonder why? Espeically given that other training institutes here do claim that as a BIG deal? Recently an Aldec engineer (Purushottham) here said this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;I wonder why anyone would want to “&lt;strong&gt;specialize”&lt;/strong&gt; on the whole VLSI flow, a typical ASIC/VLSI engineer works for several years on a specific role – either front-end or back-end, and not on &lt;strong&gt;both.&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;At CVC, our belief is that we should create employable talent pool than just some diploma, certificate holders. We infact receive several such resumes for our TDG division from other institutes, recently we had one – someone who is teaching Verilog at an institute, when asked to write some code and add “comments” used “&lt;strong&gt; \\ Verilog comment&lt;/strong&gt; “. Nothing against any specific individual or org, but just to reflect the state of what we saw.&lt;/p&gt;  &lt;p&gt;Indeed I’m grateful to such experiences – that made us to realize the need for our EIC – an &lt;strong&gt;incubation &lt;/strong&gt;center than just a &lt;strong&gt;&lt;em&gt;training institute&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;It is our genuine interest to place all our trainees – be it freshers or experienced ones – either through our industry contacts/existing customers or internally for our consulting projects. But we have very high levels of quality requirements to be placed – right from code indentation, linting, synthesis to verification. Unless the design, coding, tool usage everything measures upto our quality standards we just can’t hire folks into our TDG – we make that explicit every time we get a chance and NOT at the end alone!&lt;/p&gt;  &lt;p&gt;So – to summarize, we BELIEVE in what we do, so if you are looking for a successful career and are willing to put in sincere efforts on your own, come and contact us &lt;a href="mailto:training@cvcblr.com"&gt;training@cvcblr.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thanks for reading!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/blog"&gt;www.cvcblr.com/blog&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-9139508927593824936?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/9139508927593824936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=9139508927593824936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/9139508927593824936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/9139508927593824936'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/why-cvcs-trainings-are-so-special.html' title='Why CVC’s trainings are so special'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-112148632644972715</id><published>2010-02-24T09:35:00.001-08:00</published><updated>2010-02-24T09:35:38.144-08:00</updated><title type='text'>Debug SystemVerilog code the right way with Verdi</title><content type='html'>&lt;p&gt;Srinivasan Venkataramanan, CVC Pvt. Ltd. &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Sreenath V, CVC Pvt. Ltd. &lt;a href="http://www.cvcblr.com"&gt;www.cvcblr.com&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;One of the many challenges in taking over a block developed by others is the quick ability to grasp the big picture fast and then delve deep into some focus areas. Talking of SystemVerilog based Verification code base (say with a base class such as VMM) is even more challenging as many engineers still find it new. During recent reviews at customer sites we often find engineers asking questions like:&lt;/p&gt;  &lt;p&gt;1. How do I quickly know the various transactors in my environment? Of-course one can go through UNIX &lt;em&gt;find-grep &lt;/em&gt;route, but with modern verification base, there has to be a modern approach to this ever lasting challenge as well. &lt;/p&gt;  &lt;p&gt;2. With several macros being used to reduce the verbosity in coding, the reading/deciphering the code by a novice engineers becomes more challenging. If tools don’t address this part, it is possible that the benefits of code shrink by these macros may get quickly lost with the time being spent by a new engineer trying to understand it in detail. &lt;/p&gt;  &lt;p&gt;SpringSoft’s Verdi (tm) has solid support for SystemVerilog testbenches with a full fledged Testbench browser, macro expander etc. It also provides a nice transaction debug capabilities, more on that on a separate blog soon. &lt;/p&gt;  &lt;p&gt;What is nice about Verdi is the ability to get a quick view of inheritance structure via its Testbench Browser. See below for an example (look at the Green eclipse area). It is very easy to note the transactors derived from a base class such as &lt;strong&gt;&lt;em&gt;vmm_xactor&lt;/em&gt;&lt;/strong&gt;. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_fOCgo912NxE/S4VjW7fYhlI/AAAAAAAAAls/5QniLzjKTIQ/s1600-h/verdi_sv_inherit%5B2%5D.png"&gt;&lt;img title="verdi_sv_inherit" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="verdi_sv_inherit" src="http://lh4.ggpht.com/_fOCgo912NxE/S4VjYBkWOFI/AAAAAAAAAlw/I6S49_5P8qg/verdi_sv_inherit_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On the second challenge, Verdi makes it very convenient to expand/collapse a macro. &lt;/p&gt;  &lt;p&gt;1. Select the macro usage on the source window. &lt;/p&gt;  &lt;p&gt;2. Press “Control-m” – expand macro; See below for a screenshot, l&lt;/p&gt;  &lt;p&gt;3. The source window now has an expand/collapse icon (+/- symbol) to the left of the macro line.&amp;#160; (Green eclipse below)&lt;/p&gt;  &lt;p&gt;4. When you expand, the “behind the scene” code gets colored on w white background quickly making it distinguished from rest of the code. ((Green rectangle below).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_fOCgo912NxE/S4VjZX1RlOI/AAAAAAAAAl0/eaD6za9Ha9c/s1600-h/verdi_sv_macro_expansion%5B2%5D.png"&gt;&lt;img title="verdi_sv_macro_expansion" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="154" alt="verdi_sv_macro_expansion" src="http://lh4.ggpht.com/_fOCgo912NxE/S4VjaBsGMOI/AAAAAAAAAl4/njvWlyljMEM/verdi_sv_macro_expansion_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We recently had a customer asking for all VMM component code expanded, and it was merely a 15 minute job with this tiny little feature to get that done!&lt;/p&gt;  &lt;p&gt;Happy debugging!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-112148632644972715?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/112148632644972715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=112148632644972715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/112148632644972715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/112148632644972715'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/debug-systemverilog-code-right-way-with.html' title='Debug SystemVerilog code the right way with Verdi'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_fOCgo912NxE/S4VjYBkWOFI/AAAAAAAAAlw/I6S49_5P8qg/s72-c/verdi_sv_inherit_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-3264365049231086911</id><published>2010-02-22T23:07:00.001-08:00</published><updated>2010-02-22T23:07:49.341-08:00</updated><title type='text'>Early validation of RTL – with no Testbench!</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Srinivasan Venkataramanan, CVC Pvt. Ltd.&lt;/p&gt;  &lt;p&gt;Looks like Jasper DA (www.jasper-da.com) is on a mission to drive simulation a passé J On a more serious note, their recently announced ActiveDesign (TM) technology sounds pretty interesting for early RTL validation. Before I hear that “Aha..that’s my favourite LINTing”, hold on.. this is much more than that – one can see real waveforms– no testbench is ready yet, but the tool can create quality waveforms for you! &lt;/p&gt;  &lt;p&gt;Sounds too good to be true, well their demo indeed shows a very representative real life design – AHB-lite to AXI bridge with 4 AHB-lite masters.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_fOCgo912NxE/S4N-wPWzwtI/AAAAAAAAAlc/4Vn0W9nmnDw/s1600-h/clip_image002%5B3%5D.jpg"&gt;&lt;img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="191" alt="clip_image002" src="http://lh4.ggpht.com/_fOCgo912NxE/S4N-wyxRf4I/AAAAAAAAAlg/CjP_Yz_oVGI/clip_image002_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I had a chat with the ActiveDesign team recently to understand what goes “behind-the-scene” (Norris Ip, Holly Stump &amp;amp; Saptarshi all from Jasper). My main doubt on this “early RTL validation” was whether it can work for custom protocols and whether user needs to provide some assertions to get this working. These questions are relevant because we at CVC have prototyped similar stuff for standard protocols via our SVA/PSL based MIPs (Monitor IPs) and some commercially available tool features from other EDA vendors – it involves few hacks and scripting, but doable – if put in some hard work. It requires either an advanced SVA/PSL aware simulator or a model checker/formal tool.&lt;/p&gt;  &lt;p&gt;Coming back to Jasper, the short &amp;amp; sweet answer is:&lt;/p&gt;  &lt;p&gt;“No, user doesn’t have to create any assertions for getting this. The tool analyzes the RTL code and , based on a few user-interactions with the GUI, waveforms are created&amp;quot;. And yes it does work for any design not just for standard protocols” As a side note the tool can create SVA code for the “behaviors/recipes” – more on it later.&lt;/p&gt;  &lt;p&gt;The technology is built around Jasper’s popular and proven Visualize (TM) and recently announced “Behavioral Indexing (TM)”. More on the “behavioral indexing” in one of my next entries. &lt;/p&gt;  &lt;p&gt;For now, if you are developing a fresh RTL and want to validate it without having to wait for RTL to finish, TB to be ready etc. look at ActiveDesign. Of-course I also highly recommend running LINT before you do that, though Jasper doesn’t have that in this platform. You may want to try some of the new linters such as Aldec’s ALINT, see: http://www.cvcblr.com/blog/?p=99 for a fresh look at Linters.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-3264365049231086911?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/3264365049231086911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=3264365049231086911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3264365049231086911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3264365049231086911'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/early-validation-of-rtl-with-no.html' title='Early validation of RTL – with no Testbench!'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_fOCgo912NxE/S4N-wyxRf4I/AAAAAAAAAlg/CjP_Yz_oVGI/s72-c/clip_image002_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4368056677481635956</id><published>2010-02-21T02:21:00.001-08:00</published><updated>2010-02-21T08:51:34.812-08:00</updated><title type='text'>Signs of maturity in EDA tool built-in examples</title><content type='html'>&lt;p&gt;During a recent look at ActiveDesign product from Jasper (&lt;a href="http://www.jasper-da.com/products/ActiveDesign.htm"&gt;http://www.jasper-da.com/products/ActiveDesign.htm&lt;/a&gt;), I was pleasantly surprised to see a high quality design being used as the case study. Usually such early product demos contain tightly canned examples, showing only the relevant tool features and much less on the actual design. Here is a refresher – we get a very representative real life design – AHB-lite to AXI bridge with 4 AHB-lite masters, a refreshing change in EDA space.&lt;/p&gt;  &lt;p&gt;See below for a screenshot of the demo design:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_fOCgo912NxE/S4FkkTQFe_I/AAAAAAAAAlI/9_9tU_yEXbI/s1600-h/AHB-lite-to-AXI%5B2%5D.jpg"&gt;&lt;img title="AHB-lite-to-AXI" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="154" alt="AHB-lite-to-AXI" src="http://lh5.ggpht.com/_fOCgo912NxE/S4FklKtXnzI/AAAAAAAAAlM/ACT4lFUzQUk/AHB-lite-to-AXI_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tool demos are not on dummy designs, becoming more and more realistic indeed! &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;On a similar note, Breker’s Trek (&lt;a href="http://www.brekersystems.com"&gt;www.brekersystems.com&lt;/a&gt;) has $TREK_HOME/examples that are complete SoC level test synthesis – not just “Hello World”, “foo-bar” anymore! Other interesting designs include a Cache controller model, CPU etc. &lt;/p&gt;  &lt;p&gt;Similar is the SoC kit initiative from Cadence (&lt;a href="http://www.cadence.com/products/fv/iv_kit"&gt;www.&lt;b&gt;cadence&lt;/b&gt;.com/products/fv/iv_&lt;b&gt;kit&lt;/b&gt;&lt;/a&gt;) – this one tops the list of all EDA demos I’ve seen in years on Verification – they started back in late 2007 and have been growing in strength over years. During CDNLive 09 @ Bangalore, CDN showed their roadmap for these kits and clear indications are that these will be extended to ESL platforms too. &lt;/p&gt;  &lt;p&gt;Sure all vendors ship more and more examples with their tools nowadays, this also means they employ/engage with real verification engineers besides R&amp;amp;D, support engineers, good for the job market, hopefully :-) &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4368056677481635956?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4368056677481635956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4368056677481635956' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4368056677481635956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4368056677481635956'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/signs-of-maturity-in-eda-tool-built-in.html' title='Signs of maturity in EDA tool built-in examples'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_fOCgo912NxE/S4FklKtXnzI/AAAAAAAAAlM/ACT4lFUzQUk/s72-c/AHB-lite-to-AXI_thumb.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-7699504557221207223</id><published>2010-02-13T09:46:00.001-08:00</published><updated>2010-02-13T09:46:30.575-08:00</updated><title type='text'>SystemVerilog covergroup – bins and the value set matching</title><content type='html'>&lt;p&gt;During our last week Verification with SystemVerilog class (VSV: &lt;a title="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf&lt;/a&gt; ), an interesting question popped up during functional coverage session. As user defined bins are created for vectors in SystemVerilog, what if the value set range is not divisible by the specified number of bins (say in a fixed number of bins case)?&amp;#160; &lt;/p&gt;  &lt;p&gt;Consider:&lt;/p&gt;  &lt;p&gt;[cpp]&lt;/p&gt;  &lt;p&gt;bit [4:0] vec_5bits;&lt;/p&gt;  &lt;p&gt;covergroup cg;&lt;/p&gt;  &lt;p&gt;&amp;#160; cp1 : coverpoint vec_5bits {&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; bins four_buckets [4] = {[0:$]};&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; bins five_buckets [5] = {[0:$]};&lt;/p&gt;  &lt;p&gt;&amp;#160; bins fifty_buckets [50] = {[0:$]};&lt;/p&gt;  &lt;p&gt; }&lt;/p&gt;  &lt;p&gt;endgroup : cg&lt;/p&gt;  &lt;p&gt;[/cpp]&lt;/p&gt;  &lt;p&gt;Let’s analyze the above: &lt;/p&gt;  &lt;p&gt;four_buckets –&amp;gt; simple, each contains 8 values, uniform&lt;/p&gt;  &lt;p&gt;five_buckets –&amp;gt; 5 buckets, first 4 will have 6 values each, 5th bucket will contain all the remaining 8 values:&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [0,1,2,3,4,5], [6,7,8,9,10,11], [12..17], [18..23], &lt;strong&gt;[24,25,26,27,28,29,30,31&lt;/strong&gt;]&lt;/p&gt;  &lt;p&gt;fifty_bukcets –&amp;gt; first 32 bins will have 1 value each, remaining 18 shall remain empty!!&lt;/p&gt;  &lt;p&gt;Questa prints a nice warning about the last case as below:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;VSIM 1&amp;gt; run 990     &lt;br /&gt;# ** Warning: (vsim-8546) The number of values specified '32' is less than the size '50' of fixed-size array bin 'fifty_buckets' in Coverpoint 'cp_1' of Covergroup instance '\/top/spram_fcov_1/my_cg_0 '. The '18' empty bins will not contribute towards coverage.&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7699504557221207223?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7699504557221207223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7699504557221207223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7699504557221207223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7699504557221207223'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/systemverilog-covergroup-bins-and-value.html' title='SystemVerilog covergroup – bins and the value set matching'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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-7343793379868603098.post-1495062300253938272</id><published>2010-02-07T16:33:00.001-08:00</published><updated>2010-02-07T16:33:27.783-08:00</updated><title type='text'>Debug SystemVerilog macros with VCS-DVE</title><content type='html'>&lt;p&gt;Srinivasan Venkataramanan, CVC Pvt. Ltd.&lt;/p&gt;  &lt;p&gt;Rashmi Talanki, Sasken&lt;/p&gt;  &lt;p&gt;John Paul Hirudayasamy, Synopsys&lt;/p&gt;  &lt;p&gt;An extract from a little lengthier post @ &lt;a href="http://www.vmmcentral.org/vmartialarts/?p=922"&gt;http://www.vmmcentral.org/vmartialarts/?p=922&lt;/a&gt; – focus here only on Debug side on this post:&lt;/p&gt;  &lt;p&gt;One of the powerful features of SystemVerilog is the ability to create TEXT macros (those `define s) with arguments – they can create fairly complex code in jiffy. Take a look at VMM source code if you need examples. &lt;/p&gt;  &lt;p&gt;In a recent customer engagement, we had to dig deep into VMM atomic Generator code that gets created by the one liner macros!&lt;/p&gt;  &lt;p&gt;During the coding work, the customer opened up vmm.sv and got trapped in the multitude of `define vmm_atomic_gen_* macros with all those nice looking “ \ “ at the end – thanks to SV’s style of creating macros with arguments. Though powerful, it is not the easiest one to read and decipher – again for a first time SV/VMM user. &lt;/p&gt;  &lt;p&gt;Now comes the rescue in terms of well proven DVE – the VCS’s robust GUI front end. Its macro expansion feature that works as cleanly as it can get is at times hard to locate. But with our toolsmiths ready for assistance at CVC, it took hardly a few clicks to reveal the magic behind the `vmm_atomic_gen(icu_xfer). Here is a first look at the atomic gen code inside DVE.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_fOCgo912NxE/S29bwzkY0TI/AAAAAAAAAkY/8izEczrQOKE/s1600-h/clip_image002%5B3%5D.gif"&gt;&lt;img title="clip_image002" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="145" alt="clip_image002" src="http://lh3.ggpht.com/_fOCgo912NxE/S29bxr-do8I/AAAAAAAAAkc/U71C4kZg1pg/clip_image002_thumb.gif?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once the desired text macro is selected, DVE has a “CSM – Context Sensitive Menu” to expand the macro with arguments. It is “Show à Macro”, as seen below in the screenshot.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_fOCgo912NxE/S29bysXlqUI/AAAAAAAAAkg/LYGyG6VLITU/s1600-h/clip_image004%5B3%5D.jpg"&gt;&lt;img title="clip_image004" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="150" alt="clip_image004" src="http://lh4.ggpht.com/_fOCgo912NxE/S29bzYFzvII/AAAAAAAAAkk/Us-eERPwkQQ/clip_image004_thumb.jpg?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With a quick bang go on DVE – the Macros expander popped up revealing the nicely expanded, with all class name argument substituted source code for the actual atomic_generator that gets created by the one liner macro. Along with clearly visible were the facade class name and the actual callback task with clear argument list (something that’s not obvious by looking at standard vmm.sv). &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_fOCgo912NxE/S29b0oKh4HI/AAAAAAAAAko/x7h_q5l7AKY/s1600-h/clip_image006%5B3%5D.gif"&gt;&lt;img title="clip_image006" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="146" alt="clip_image006" src="http://lh5.ggpht.com/_fOCgo912NxE/S29b1cJA9vI/AAAAAAAAAks/XLyC3GX1EFE/clip_image006_thumb.gif?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now, what’s more – in DVE, you can bind such “nice feature” to a convenient hot-key if you like (say if you intend to use this feature often). Here is the trick:&lt;/p&gt;  &lt;p&gt;Add the following to your $HOME/.synopsys_dve_usersetup.tcl&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;gui_set_hotkey -menu &amp;quot;Scope-&amp;gt;Show-&amp;gt;Macro&amp;quot; -hot_key &amp;quot;F6&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now when you select a macro and type “F6” – the macro expands, no rocket science, but a cool convenient feature indeed!&lt;/p&gt;  &lt;p&gt;The DVE’s macro expansion feature that makes debugging a real fun!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1495062300253938272?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1495062300253938272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1495062300253938272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1495062300253938272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1495062300253938272'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/02/debug-systemverilog-macros-with-vcs-dve.html' title='Debug SystemVerilog macros with VCS-DVE'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_fOCgo912NxE/S29bxr-do8I/AAAAAAAAAkc/U71C4kZg1pg/s72-c/clip_image002_thumb.gif?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8688275422039591844</id><published>2010-01-20T08:13:00.001-08:00</published><updated>2010-01-20T08:13:24.119-08:00</updated><title type='text'>Renewed interest/investment in code linting! Good for the industry</title><content type='html'>&lt;p&gt;As some of us have seen over last decade, approximately 5 years ago industry was upbeat about code/RTL linting with almost every EDA vendor offering products in this space. Some of them were start-ups acquired by big vendors (like LEDA.fr to Synopsys). At the end the Linting market proved too small for the 3 biggies and their focus on that technology got sidelined. In all, one company survived this wave well and that’s Atrenta – its SpyGlass product increased leaps and bounds both in its capabilities and installed base. Today SpyGlass is an undisputed leader in Linting and has enjoyed monopoly for more than 5 years, well done Atrenta!&lt;/p&gt;  &lt;p&gt;Come recession, silently few smaller EDA vendors started investing on this niche segment and now we have ALINT from Aldec and Ascent from RealIntent. I’m personally thrilled to see more players on this technology – though the $$ may not be too high, the potential user base is large and investment is not all that HIGH as in a SystemVerilog simulator for instance.&lt;/p&gt;  &lt;p&gt;From a user view though, Linting is a must have step in flow as recognized by experts like Adam Kronlik in a book: &lt;strong&gt;&lt;em&gt;Functional Verification of Electronic Systems, Chapter 8 HDL Lint: &lt;/em&gt;&lt;/strong&gt;&lt;a href="http://www.iec.org/pubs/pub.asp?pid=13&amp;amp;bsi=3&amp;amp;cat=cont"&gt;http://www.iec.org/pubs/pub.asp?pid=13&amp;amp;bsi=3&amp;amp;cat=cont&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;(BTW, I have a chapter on the same book, Chapter 14).&lt;/p&gt;  &lt;p&gt;Few notes on 2 modern linters here:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Ascent from RealIntent: (&lt;/u&gt;&lt;/strong&gt;&lt;a href="http://www.realintent.com/real-intent-products/ascent"&gt;&lt;strong&gt;http://www.realintent.com/real-intent-products/ascent&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;u&gt;). &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;One of the traditional challenges of a Linter has been the “heavy noise” it creates. Recent Linters *claim* to do better there – especially Ascent. &lt;/p&gt;  &lt;p&gt;Other interesting features in this linter are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Opportunities to improve simulation performance &lt;/li&gt;    &lt;li&gt;Operations with hidden or expensive implementation costs &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;True, your mileage may vary, but good thoughts indeed! &lt;/p&gt;  &lt;p&gt;As we read more on the Datasheet of Ascent one gets a feeling that it combines a traditional Modelchecker inside it as well – as their PBV &amp;amp; ABV features talk about. I’m not sure if that’s a good thing from a pricing standpoint as the linters are usually far cheaper than model checkers. But a good try by RealIntent indeed!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;ALINT from Aldec (&lt;/u&gt;&lt;/strong&gt;&lt;a href="http://www.aldec.com"&gt;&lt;strong&gt;www.aldec.com&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;u&gt;)&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Fairly young in the market (~2 years??), it has solid STARC policy inside it. What really interests me in this is their full blown API for user defined checks – yes every other vendor claims/has it in some manner, but I have not seen this level of detailed support and even better – their flexibility and response time in enhancing the API as needed. &lt;/p&gt;  &lt;p&gt;It will be interesting to see how they survive over say next 5 years! Maybe it signals some impact to the erstwhile King of Linting – SpyGlass!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8688275422039591844?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8688275422039591844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8688275422039591844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8688275422039591844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8688275422039591844'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/01/renewed-interestinvestment-in-code.html' title='Renewed interest/investment in code linting! Good for the industry'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8089276974976297206</id><published>2010-01-17T09:30:00.001-08:00</published><updated>2010-01-17T09:30:24.636-08:00</updated><title type='text'>SystemVerilog Interfaces – learn more about it for free! Register Now for this Webinar</title><content type='html'>&lt;p&gt;CVC is pleased to announce online Webinar on &amp;quot;SystemVerilog Interfaces&amp;quot; along with Aldec as our partner. With ever growing interest in the true power of SystemVerilog here is your opportunity to get started with SystemVerilog in good style with no additional cost - it is a&lt;strong&gt; FREE Webinar&lt;/strong&gt; and is &lt;strong&gt;scheduled in 3 different times&lt;/strong&gt; to suit various timezones across the globe - ASIA, Europe &amp;amp; USA.Register online NOW to book your seat!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.aldec.com/Products/Evaluation.aspx?productevaluationid=7035033e-0e98-4157-9d3f-6201391ba737"&gt;ASIA - India 9.30-10.30 AM,&lt;/a&gt;China: 12.00 to 13.00&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.aldec.com/Products/Evaluation.aspx?productevaluationid=b2dd7c59-2690-4a90-a199-ae381dbe9450"&gt;Europe - 15.00 to 16.00 &lt;/a&gt;CET&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.aldec.com/Products/Evaluation.aspx?productevaluationid=1bc6b5d6-1798-4ee5-af3a-9774e108975f"&gt;USA - 9.00 - 10.00 AM, PST&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click &lt;a href="http://www.cvcblr.com/downloads/VoW_SV_Interfaces_webinar_Jan10.pdf"&gt;here for an abstract of &lt;/a&gt;the Webinar. It will be presented by &lt;a href="http://www.linkedin.com/in/svenka3"&gt;Srinivasan Venkataramanan &lt;/a&gt;from CVC and Jaroslaw K, from Aldec.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8089276974976297206?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8089276974976297206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8089276974976297206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8089276974976297206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8089276974976297206'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2010/01/systemverilog-interfaces-learn-more.html' title='SystemVerilog Interfaces – learn more about it for free! Register Now for this Webinar'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2559376665787394809</id><published>2009-12-22T10:23:00.001-08:00</published><updated>2009-12-22T10:23:04.187-08:00</updated><title type='text'>Enabling Faster ABV – new initiatives</title><content type='html'>&lt;p&gt;Assertion Based Verification has certainly been one of the mostly debated topics over the last half-a-decade. So much so that one of the past DVCons was full of SystemVerilog &amp;amp; PSL papers on ABV that someone commented it is “ABV conference” than DVCon (was it DVCon 2005?2006?) &lt;/p&gt;  &lt;p&gt;Even then the adoption rate has been slower than expected – agreed by many stats, EDA folks etc. A relatively new EDA vendor is addressing it via some tools, see: &lt;a href="http://www.zocalo-tech.com/index.php"&gt;http://www.zocalo-tech.com/index.php&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Not clear how easy it will be and how much ROI users will see, but an interesting development I must say. &lt;/p&gt;  &lt;p&gt;With SystemVerilog 2009 LRM adding &lt;strong&gt;&lt;em&gt;checker&lt;/em&gt;&lt;/strong&gt; constructs we predict that the adoption of OVL-like libraries should dramatically improve. We explained it thoroughly in our SVA handbook 2nd edition, see: &lt;a href="http://www.cvcblr.com/blog__resources"&gt;http://www.cvcblr.com/blog__resources&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We have a DVCon 2010 paper on this very topic, see: &lt;a href="http://dvcon.org/events/eventdetails.aspx?id=108-3"&gt;http://dvcon.org/events/eventdetails.aspx?id=108-3&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Let’s see how fast the checker gets implemented by EDA tools, we used VCS for our new book &lt;a title="http://www.systemverilog.us/sva_info.html" href="http://www.systemverilog.us/sva_info.html"&gt;http://www.systemverilog.us/sva_info.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope 2010 brings ABV more and more into RTL engineer’s desktops!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2559376665787394809?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2559376665787394809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2559376665787394809' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2559376665787394809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2559376665787394809'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/enabling-faster-abv-new-initiatives.html' title='Enabling Faster ABV – new initiatives'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4741294080575398843</id><published>2009-12-22T09:50:00.001-08:00</published><updated>2009-12-22T09:51:44.212-08:00</updated><title type='text'>What is there in a number? No, it is not numerology – rather EDA marketing fun!</title><content type='html'>&lt;p&gt;For those of us who have been following the EDA marketing over several years, it is no surprise that there are dedicated marketing professionals within big EDA companies focussing on conveying message/confusing the ecosystem if needed (unfortunately). We have several anecdotes starting from “VHDL is dead” back in 2003 (&lt;a title="http://www.eetimes.eu/uk/17408257" href="http://www.eetimes.eu/uk/17408257"&gt;http://www.eetimes.eu/uk/17408257&lt;/a&gt;) and guess what, last month we had a full-house “Advanced VHDL TB class” (&lt;a title="http://www.cvcblr.com/blog/?p=86" href="http://www.cvcblr.com/blog/?p=86"&gt;http://www.cvcblr.com/blog/?p=86&lt;/a&gt;) and another one being scheduled in Jan 2010. I don’t intend to blame any single entity/individual for this, rather this is how it works, and those of us who have seen it for years understand it. Another classical case was for IEEE-1850 PSL – it is alive and kicking with becoming part of recent VHDL as well. Though not much development on PSL itself, but it is expected to stay for much longer than what some folks have predicted. Need a proof – name an EDA vendor without support for PSL – Mentor, Cadence, Synopsys, Aldec – all have them. It will be foolish to predict that all of these marketing teams went wrong with their predictions – if PSL were to be short-lived why have every EDA vendors invested in it?&lt;/p&gt;  &lt;p&gt;Fast-forwarding to present day, recently SystemVerilog VMM 1.2 has been released (&lt;a title="http://www.cvcblr.com/blog/?p=91" href="http://www.cvcblr.com/blog/?p=91"&gt;http://www.cvcblr.com/blog/?p=91&lt;/a&gt;) after a relatively longer incubation/Beta period than usual. And almost instantaneously we find Tom’s analysis at &lt;a href="http://tinyurl.com/vmm12-20-ment"&gt;http://tinyurl.com/vmm12-20-ment&lt;/a&gt; – True VMM 1.2 has lots and lots of new stuff and even the old features have newer implementations (parameterized versions of channel etc. – maybe they were in VMM 1.1* as well?). But to the user community I believe this is a good thing – we are slowly seeing a sign of convergence to a CBCL becoming reality. Yes today VMM can run on 3 EDA tools and so is OVM. But how well do they interop? Ask Ashsih from Nokia Bangalore, he will tell you the horror stories he had since last 1 year or so.&lt;/p&gt;  &lt;p&gt;Recently Accellera VIP-TSC established an inter-op kit, we saw that during recent SVUG here in Bangalore, see: &lt;a href="http://www.svug.org/"&gt;www.svug.org&lt;/a&gt; for archives. &lt;/p&gt;  &lt;p&gt;More recently (after the SVUG Bangalore event), the VIP-TSC has proposed a new name for this CBCL - “UVM” (No, not URM, rather UVM – fortunately this name has been spared so far by vendors). How this will shape up will be known in coming days, weeks, months if not years! &lt;/p&gt;  &lt;p&gt;But it is clear that it will contain contributions from VMM &amp;amp; OVM and hopefully will run on all tools too. Having closely observed both OVM and VMM (1.2 including), there is easier migration path from OVM to VMM 1.2, if needed and vice versa, infact we present that as a handout to out regular training attendees who take up one methodology during training and pick up the other on the go!&lt;/p&gt;  &lt;p&gt;With VMM 1.2 (Or 2.0, as per Tom) having similar concepts as OVM the creation of UVM should be lot simpler – we hope. Let’s see.&lt;/p&gt;  &lt;p&gt;BTW, there is OVM 2.1 around the corner, should it be re-numbered? Anyone? Vaastu? Numerologists? Mentor is arranging a private Webinar for its valued partners for OVM 2.1 updates, so we should see another blog soon. &lt;/p&gt;  &lt;p&gt;To me it is clear that the individual development efforts/bug fixes to both OVM &amp;amp; VMM will continue atleast till UVM 1.0 (??) emerges.By then will we see VMM 1.4? OVM 2.5? Anybody’s guess!&lt;/p&gt;  &lt;p&gt;Enough on numbering! Let’s start the convergence, hope 2010 is a luck number for SystemVerilog enthusiasts as UVM should see its birth! Maybe Santa is granting UVM as a gift to SystemVerilog professionals :-)&lt;/p&gt;  &lt;p&gt;More on UVM as we hear..&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4741294080575398843?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4741294080575398843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4741294080575398843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4741294080575398843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4741294080575398843'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/what-is-there-in-number-no-it-is-not.html' title='What is there in a number? No, it is not numerology – rather EDA marketing fun!'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8680128301376454796</id><published>2009-12-17T07:59:00.001-08:00</published><updated>2009-12-17T07:59:47.003-08:00</updated><title type='text'>SystemVerilog code automation from Puneet</title><content type='html'>&lt;p&gt;Good news for all those Emacs + SystemVerilog users. Puneet has just now released his SV Snippet for Emacs, see:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://coverification.org/2009/12/17/systemverilog-snippets-for-emacs/"&gt;http://coverification.org/2009/12/17/systemverilog-snippets-for-emacs/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Will certainly try it out ASAP. Good start Puneet, keep it up. Thanks for sharing it! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8680128301376454796?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8680128301376454796/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8680128301376454796' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8680128301376454796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8680128301376454796'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/systemverilog-code-automation-from.html' title='SystemVerilog code automation from Puneet'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6172623748245985653</id><published>2009-12-16T20:56:00.001-08:00</published><updated>2009-12-16T20:56:11.896-08:00</updated><title type='text'>Breakdown of Verification effort – Debug, Debug &amp; more Debug..</title><content type='html'>&lt;p&gt;Interesting analysis of how Verification effort is being spent across industry:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://tinyurl.com/dbg-it-man"&gt;http://tinyurl.com/dbg-it-man&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(See the pie-chart, Figure 2). It goes very much inline with what we have been hearing from customers, competitors and also from our own own experience. So DEBUG is THE area if one were to automate within Functional Verification. I’m little surprised to see a 15% spent on ENV – perhaps it is the case for modern SystemVerilog/VMM/OVM stuff, but again that’s for the initial period I suppose. My belief is if you reuse VIPs, leverage on previous code and hire the right candidate, the ENV creation can be handled within 10% The testcase development is shown as 18%, not clear if some of it spread into the coverage bucket (another 15%) – as there is a strong correlation among the two anyway. I believe this is where technologies like Breker’s trek &lt;a title="http://www.cvcblr.com/blog/?p=89" href="http://www.cvcblr.com/blog/?p=89"&gt;http://www.cvcblr.com/blog/?p=89&lt;/a&gt; becomes interesting. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;On the debug – the good old Novas/SpringSoft is still the leader with Siloti, Verdi and Debussy. Though I’m little disappointed at their SystemVerilog solutions – personally I would have liked more innovation on that space from these debug GURUs. They do have “log/transaction display”, but am sure more is in pipeline. A new company &lt;a href="http://www.vennsa.com/product.html"&gt;http://www.vennsa.com/product.html&lt;/a&gt; is showing up at places, will be interesting if anyone locally is using it. It will be worth getting some true success stories to see what exactly it automates.&lt;/p&gt;  &lt;p&gt;Staying on the debug – I personally believe lot of these automation originate inhouse at customer sites. For instance during our Ethernet Switch/Router Verification monster, we created several scripts, plots etc. to do intelligent failure analysis (&lt;a title="http://www.iec.org/pubs/print/verification_toc.html" href="http://www.iec.org/pubs/print/verification_toc.html"&gt;http://www.iec.org/pubs/print/verification_toc.html&lt;/a&gt;). Also our recent work with a local SAN customer resulted in visualizing AVL trees from running simulation. See: &lt;a href="http://www.cvcblr.com/blog__resources"&gt;http://www.cvcblr.com/blog__resources&lt;/a&gt; and &lt;a title="http://www.snug-universal.org/asia/india09_V1_Abstract.pdf" href="http://www.snug-universal.org/asia/india09_V1_Abstract.pdf"&gt;http://www.snug-universal.org/asia/india09_V1_Abstract.pdf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And then we had this SystemVerilog memory blow-up debug case, &lt;a title="http://www.cvcblr.com/blog/?p=29" href="http://www.cvcblr.com/blog/?p=29"&gt;http://www.cvcblr.com/blog/?p=29&lt;/a&gt; – so for now Debug continues to fascinate us the most!&lt;/p&gt;  &lt;p&gt;Drop me a note if you would like to explore how you can automate your debug challenges. &lt;/p&gt;  &lt;p&gt;Happy Debugging!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6172623748245985653?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6172623748245985653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6172623748245985653' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6172623748245985653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6172623748245985653'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/breakdown-of-verification-effort-debug.html' title='Breakdown of Verification effort – Debug, Debug &amp;amp; more Debug..'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-5866162282414558411</id><published>2009-12-15T10:51:00.001-08:00</published><updated>2009-12-15T10:51:30.547-08:00</updated><title type='text'>Formal Verification – Model Checking case study from SUN &amp; Jasper – excellent read, to refer..</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;In case you missed it: &lt;a href="http://chipdesignmag.com/display.php?articleId=3723"&gt;http://chipdesignmag.com/display.php?articleId=3723&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I mentioned this during our recent Advanced VHDL TB class (&lt;a title="http://www.cvcblr.com/blog/?p=86" href="http://www.cvcblr.com/blog/?p=86"&gt;http://www.cvcblr.com/blog/?p=86&lt;/a&gt;) during PSL session and attendees were very interested. Today I got a mail back from Chandramohan asking for the link, sent to him and read it once again (must admit, not in full indepth PCI-e level). Overall an excellent paper, perhaps a strong candidate for a DVCon Best paper award – real design bugs/scenarios listed..truly worth reading.&lt;/p&gt;  &lt;p&gt;Such a nice paper didn’t have to have the following on simulation &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="ta" size="3"&gt;Simulation, the alternative, brute force approach, ends up wasting resources and introduces additional risk. Even for cases where you think you understand the full state-space, it requires huge effort to develop a test strategy, e.g. complex test scenario with nested loops etc. Manual effort and test are required. Simulation cycles are long and regression test after modifications is slow. Furthermore, the designer generally has to edit down the simulation and remove certain combinations, without absolute knowledge of whether these are important or not. It is hit-or-miss because no design or verification engineer can enumerate all of these combinations.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;With due respect to the authors – they seem to be cornering SIM way too side..One can forget the use of intelligent stimulus generation, adopting functional coverage, sequences, virtual sequences and even better the all new Trek (&lt;a href="http://www.brekersystems.com"&gt;www.brekersystems.com&lt;/a&gt;) – their examples do contain similar PCIe stuff and it is quite powerful too. So let’s not write-off simulation, agreed – if and when formal works it is a great technology, but not at the cost of simulation..&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5866162282414558411?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5866162282414558411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5866162282414558411' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5866162282414558411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5866162282414558411'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/formal-verification-model-checking-case.html' title='Formal Verification – Model Checking case study from SUN &amp;amp; Jasper – excellent read, to refer..'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-4201184849432688578</id><published>2009-12-15T09:50:00.001-08:00</published><updated>2009-12-15T09:50:01.066-08:00</updated><title type='text'>VMM 1.2 is out…finally</title><content type='html'>&lt;p&gt;OpenSource VMM 1.2 is finally out, see vmmcentral.org – we have been mentioning it to many of our training attendees as “it is coming, it is coming”..now it is HERE!! &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;One of the greatest challenges we face is when our previous SystemVerilog/VMM attendees attend our newer classes (for upgrade, learn other methodology etc.) – they get very confused about the VMM channel (old way) vs. the new TLM way. The put/get definitions were simple, elegant, ready to use for first timers in VMM 1.0*. True the TLM adds lot of value, but existing users are finding it hard..This is where we folks like CVC fit in I suppose, so no complaints..&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Enjoy and welcome the TLM way!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-4201184849432688578?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/4201184849432688578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=4201184849432688578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4201184849432688578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/4201184849432688578'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/vmm-12-is-outfinally.html' title='VMM 1.2 is out…finally'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1539341851635015014</id><published>2009-12-13T06:27:00.001-08:00</published><updated>2009-12-13T06:27:36.407-08:00</updated><title type='text'>VMMing of a VHDL-C based Environment, anyone?</title><content type='html'>&lt;p&gt;Recently @VGuild Mike asked”&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="3"&gt;&lt;em&gt;Does anyone use ModelSim's FLI for verification? What are the pros and cons of this?          &lt;br /&gt;I've been considering adopting SystemVerilog for writing test environments (we code our designs in VHDL and use PSL for assertions and functional coverage) but, from what I can gather, instead of SV I might as well just use ModelSim's FLI and write sophisticated testbenches in C. As an engineer, I am already very familiar with C, and so learning another language for verification (SV) is not desirable.           &lt;br /&gt;I suppose SV is more portable to other tools, rather than relying on ModelSim's FLI. And I suppose SV is supported by frameworks such as OVM. Other than that, why not use C/C++ as your verification language with the FLI?&lt;/em&gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="3"&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;Though the entire EDA marketing machinery is strongly biased on SystemVerilog, let’s realize that there is a sizeable population using VHDL, C etc. Few pointers for those unconvinced:&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3"&gt;Our recent VHLD Advanced TB attendance here in Bangalore (&lt;a title="http://www.cvcblr.com/blog/?p=86" href="http://www.cvcblr.com/blog/?p=86"&gt;http://www.cvcblr.com/blog/?p=86&lt;/a&gt;). &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;Continued interest from our customers on FPGA Verification courses: &lt;a title="http://www.cvcblr.com/blog/?p=60" href="http://www.cvcblr.com/blog/?p=60"&gt;http://www.cvcblr.com/blog/?p=60&lt;/a&gt;&amp;#160;&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;VHDL random generation, recent webinar @ aldec.com&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3"&gt;So what’s the solution for VHDL users, looking at high-end Verification stuff? Is SystemVerilog THE only way? We at CVC believe SystemVerilog is “A way”, not necessarily THE ONLY way. For instance PSL becoming part of VHDL makes it a string candidate than SVA for VHDL users (yes even with recent SVA-09 features included &lt;a title="http://www.systemverilog.us/sva_info.html" href="http://www.systemverilog.us/sva_info.html"&gt;http://www.systemverilog.us/sva_info.html&lt;/a&gt;, PSL’s LTL is long proven, well supported than SVA-09). I hear recently more momentum towards PSL from local VHDL users.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="3"&gt;So coming back to Mike’s topic – few suggestions:&lt;/font&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;font size="3"&gt;No single-size fit all solution&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;FLI is a choice if for foreseeable future Modelsim is bought over by your employer. But if there is any question of portability (given that there are strong contenders, pricing factor – did we not hear of BIG EDA vendor slashing prices like crazy – much like Magma style, but for verification? &lt;/font&gt;&lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;I highly recommend to look at VHPI than FLI as it is IEEE standard and well supported by tools like VCSMX, IUS, Aldec (Riviera for sure, Active-HDL too I guess, anyone to confirm??)&lt;/font&gt; &lt;/li&gt;    &lt;li&gt;&lt;font size="3"&gt;For SystemVerilog like features – explore &lt;a href="http://www.trusster.com"&gt;www.trusster.com&lt;/a&gt; for TEAL/TRUSS – akin to VMM/OVM without all bells and whistles, but provides a baseline and is FREE!! Can even run with Icarus for Verilog, hurray!!&lt;/font&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font size="3"&gt;So choose the right tool for the right job..&lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1539341851635015014?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1539341851635015014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1539341851635015014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1539341851635015014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1539341851635015014'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/vmming-of-vhdl-c-based-environment.html' title='VMMing of a VHDL-C based Environment, anyone?'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6756202462690733708</id><published>2009-12-13T05:40:00.001-08:00</published><updated>2009-12-13T05:40:25.535-08:00</updated><title type='text'>Breker’s Trek @DAC and CVC’s engagement so far..</title><content type='html'>&lt;p&gt;Another piece partly covered in Cooley’s report, but for those interested in full details (more technical updates coming in soon)..&lt;/p&gt;  &lt;p&gt;Here are my (and my team, who is looking at it closely during an eval) observations on Breker's Trek tool. What we really like about this tool is that it an add-on to any existing methodology/environment (atleast we look at Verilog, SystemVerilog, VMM &amp;amp; OVM for now). Their marketing is also quite good in saying we solve the last 20% of the problem (which usually is the pain-point) though it needs to be proven (our eval is still in early stage). The BNF syntax looks interesting and for the uninitiated it may take a while, but certainly no big deal. We can appreciate the value such a tool brings in for testcase generation. However they claim to be eliminating the need for complex checkers - this is something we are still wary about and would like to delve deep into during the eval. In our view the checker part is hard and will be hard even with Trek. Our view of this feature of Trek is it is an ability to correlate the testcase and coverage to the checking mechanism - hopefully at a higher level of abstraction. If this can be achieved we would be glad with that. The coverage results annotation and reachability analysis part is really promising as it presents the test-coverage at a higher level of abstraction than traditional SV. In SV world one needs to code the complex covergroups, code/generate tests, correlate them and then view lower level coverage data (GUI/HTML/TEXT) to extract same kind of information. &lt;/p&gt;  &lt;p&gt;Thanks&lt;/p&gt;  &lt;p&gt;Shalini, CVC Pvt Ltd&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6756202462690733708?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6756202462690733708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6756202462690733708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6756202462690733708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6756202462690733708'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/brekers-trek-dac-and-cvcs-engagement-so.html' title='Breker’s Trek @DAC and CVC’s engagement so far..'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6890992445888217344</id><published>2009-12-13T05:38:00.001-08:00</published><updated>2009-12-13T05:38:12.291-08:00</updated><title type='text'>Our NuSym updates from DAC and around..</title><content type='html'>&lt;p&gt;Some of you might have seen our report of DAC from John Cooley. Here is our full version of NuSym report for those interested. Trek to follow (wiht more updates after the DAC report was sent out)..&lt;/p&gt;  &lt;p&gt;We at CVC have been tracking Nusym's technology for a while. I visited their booth &amp;amp; demo and here are our (mine combined with my CTO's inputs) comments/impressions. While the generation of additional tests/filling holes is a critical piece of its features, I believe the coverage analysis feature is not so well published/well understood. &lt;/p&gt;  &lt;p&gt;With our customers who are serious about coverage, the analysis of coverage holes has been one of the biggest pains. The sad part is no major EDA vendor is really adding features to enhance that, with Nusym addressing that problem, it is certainly very useful. The techniques they showed in their slides/demo are not truly path breaking but simple ones that can aid in not wasting time with unreachable coverage holes. It is that simplicity that made me very interested in their stuff. But it is unclear if the tool can go beyond the &amp;quot;static analysis&amp;quot; part and offer more sophisticated means to analyze/exclude coverage holes. &lt;/p&gt;  &lt;p&gt;While the major EDA vendors claim to address this challenge, much is yet to be done with say minor changes to RTL, then the whole analysis goes invalid and has to be repeated - much manually. It will be great if Nusym can address that.&lt;/p&gt;  &lt;p&gt;The other not-so-much-spoken feature is their &amp;quot;replay&amp;quot; technique - perhaps it is still maturing, but sure enough it is one of those very useful techniques in regression runs.&lt;/p&gt;  &lt;p&gt;Thanks and Regards,&lt;/p&gt;  &lt;p&gt;Shalini Pandey&lt;/p&gt;  &lt;p&gt;CVC Pvt Ltd&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6890992445888217344?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6890992445888217344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6890992445888217344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6890992445888217344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6890992445888217344'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/our-nusym-updates-from-dac-and-around.html' title='Our NuSym updates from DAC and around..'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8482629281610527607</id><published>2009-12-08T08:53:00.001-08:00</published><updated>2009-12-08T08:53:02.811-08:00</updated><title type='text'>What are your painpoints with SystemVerilog ABV adoption?</title><content type='html'>&lt;p&gt;While there is so much talk about ABV in the market, the adoption is still far less than desired/expected by the buzz! Harry Foster from Mentor tries to find some rationale in his new blog at:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.mentor.com/verificationhorizons/blog/2009/12/06/abv-and-people-from-missouri/#comment-6"&gt;http://blogs.mentor.com/verificationhorizons/blog/2009/12/06/abv-and-people-from-missouri/#comment-6&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Here is what we from CVC feel about it (also added as comments in that blog).&lt;/p&gt;  &lt;p&gt;&amp;gt;&amp;gt; What are the obstacles you see to adoption?&lt;/p&gt;  &lt;p&gt;Major one I hear from RTL folks often is the verbosity associated (as of SystemVerilog 2005) with using OVL-like libraries. Especially existing users of 0-in checkerware are so much pampered by the ease of use and the value it adds - though their management may have the extra $$ as concern - it is hard for them to appreciate the need to type-type-type the “clock, reset” mundane stuff! It was all being “inferred” so far and suddenly come a standard language/implementation such as SVA and that takes them back in history! Refer to AMD’s excellent presentation on OVL TC for a proof! True, the new (very new I must say) “checker” construct along with $inferred* takes care of it (sigh… it lacks $inferred_enable). We cover these in our recently published SVA Handbook 2nd edition (http://www.systemverilog.us/sva_info.html) and also in upcoming DVCon 2010 paper.&lt;/p&gt;  &lt;p&gt;Cheers   &lt;br /&gt;Srini    &lt;br /&gt;&lt;a href="http://www.cvcblr.com"&gt;http://www.cvcblr.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;What do you have to say? Please comment, your views will hopefully help in shaping up future SystemVerilog standard!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8482629281610527607?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8482629281610527607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8482629281610527607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8482629281610527607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8482629281610527607'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/what-are-your-painpoints-with.html' title='What are your painpoints with SystemVerilog ABV adoption?'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1471084222903957106</id><published>2009-12-08T08:33:00.001-08:00</published><updated>2009-12-08T08:33:22.133-08:00</updated><title type='text'>Adv VHDL Testbench training - Aldec-South Asia begins with a BANG!</title><content type='html'>&lt;p&gt;For those who missed it, see:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.aldec.in/Company/News.aspx?newsid=34678573-19e6-45a3-99d5-9d5b6accda6c" href="http://www.aldec.in/Company/News.aspx?newsid=34678573-19e6-45a3-99d5-9d5b6accda6c"&gt;http://www.aldec.in/Company/News.aspx?newsid=34678573-19e6-45a3-99d5-9d5b6accda6c&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This is a significant move I would say as it reinforces few facts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Industry is slowly recovering (Hurray!!) &lt;/li&gt;    &lt;li&gt;India/SouthAsia is gaining more and more importance as a wide customer base – apart from major EDA vendors, others are setting up their own centres, driving investments etc. &lt;/li&gt;    &lt;li&gt;India as such provides a vibrant FPGA market and there is enough to tap onto it for EDA vendors! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Recently Aldec-SA conducted a 2-day seminar on “Creating efficient Testbenches using VHDL”. CVC did the delivery of this seminar, being VHDL &amp;amp; Verification experts. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_fOCgo912NxE/Sx5_ybJ889I/AAAAAAAAAjM/tEp8TGhvJJk/s1600-h/377%5B6%5D.jpg"&gt;&lt;img title="377" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="551" alt="377" src="http://lh5.ggpht.com/_fOCgo912NxE/Sx5_0BGiO1I/AAAAAAAAAjY/BAy73zqUHQU/377_thumb%5B4%5D.jpg?imgmax=800" width="734" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;We got very good feedback from this event, here is a sample:&lt;/p&gt;  &lt;p&gt;**** Straight from customer ************&lt;/p&gt;  &lt;p&gt;&amp;#160; Hello Sir,&lt;/p&gt;  &lt;p&gt;I am Ramesh R Nair, working in Continental Automotive as an ASIC verification engineer as part of my internship programme of M.Tech(VLSI).&lt;/p&gt;  &lt;p&gt;I have attended your&amp;#160; training class on test bench writing last week(ALDEC).&lt;/p&gt;  &lt;p&gt;Although we are writing a lot of test benches some utilities were unnoticed.. you bring those things to light.&lt;/p&gt;  &lt;p&gt;So it&amp;#160; was very helpful and i shared it with my team members.&lt;/p&gt;  &lt;p&gt;Thank you and Congratulations.&lt;/p&gt;  &lt;p&gt;Best Regards&lt;/p&gt;  &lt;p&gt;Ramesh R Nair&lt;/p&gt;  &lt;p&gt;Continental Automotive Components&lt;/p&gt;  &lt;p&gt;Bangalore&lt;/p&gt;  &lt;p&gt;*****************************&lt;/p&gt;  &lt;p&gt;It is always great to hear feedback from customers and it gets better if it is a positive one :-)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1471084222903957106?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1471084222903957106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1471084222903957106' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1471084222903957106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1471084222903957106'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/adv-vhdl-testbench-training-aldec-south.html' title='Adv VHDL Testbench training - Aldec-South Asia begins with a BANG!'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_fOCgo912NxE/Sx5_0BGiO1I/AAAAAAAAAjY/BAy73zqUHQU/s72-c/377_thumb%5B4%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-2279463687677842445</id><published>2009-12-02T07:24:00.001-08:00</published><updated>2009-12-02T07:24:47.228-08:00</updated><title type='text'>What’s wrong with the present ABV promotion?</title><content type='html'>&lt;p&gt;If you have not heard of the buzz word “ABV” (and assuming you are a VLSI front-end engineer of-course) you must be living in a different world I must say (no &lt;em&gt;pun &lt;/em&gt;intended) – with so much marketing around it is hard to have missed it – with SystemVerilog Assertions, PSL, OVL etc. &lt;/p&gt;  &lt;p&gt;Despite that there are some folks who say the adoption is not as much as predicted – heard it from Adam Sherer earlier this week here in Bangalore and now read it on: &lt;a title="http://www.edadesignline.com/showArticle.jhtml?articleID=221901260" href="http://www.edadesignline.com/showArticle.jhtml?articleID=221901260"&gt;http://www.edadesignline.com/showArticle.jhtml?articleID=221901260&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Well I for one don’t believe this is fully true – atleast in India/AsiaPac – CVC has done well with ABV, we have developed PSL based MIP (Monitor IP) for Taiwan customers, got paid, and delivered several customer trainings on it etc. Though the recent focus has been more on OVM/VMM/VSV – SVA is still making money I must say. It is entering FPGA domain well, see recent ModelsimDE release, Active-HDL supporting ABV for long time now for FPGA domain etc. And just today we introduced PSL to a large customer base (VHDL house) and it is well received among engineers.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;But – yet I agree to some extent, there are challenges with it – that prevents it becoming “Mainstream”. For one we don’t have good tool support to verify Assertions standalone. There were early starts with “Assertion Studio” &lt;a title="http://www.systemverilog.org/pdf/AT_HDL_Symposium.pdf" href="http://www.systemverilog.org/pdf/AT_HDL_Symposium.pdf"&gt;http://www.systemverilog.org/pdf/AT_HDL_Symposium.pdf&lt;/a&gt; but it is no longer to be found! This is to say – I don’t have RTL, no TB, just write SVA/PSL – can I visualize/verify them standalone? Formal tools can in principle do it, I have seen it with Magellan whilst at SNPS, but internally. Not sure if IFV can do it, Jasper can do it etc. Even if they do – it is too expensive an option I guess!&lt;/p&gt;  &lt;p&gt;Secondly – I believe there is a lack of good “reference” – to common “templates”. We tried addressing it in our SVA book via dictionary, but being a big book not sure how many used that part of the book. Didn’t hear much from customers on that.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;While doing trainings I always felt this would be a perfect fit for an animation based demo/training, tried prototyping it with a publishing house, effort dried off due to lack of commitments/funds. Also – all said and done, the language features as they exist are INADEQUATE to express temporal behaviors intuitively. This is even with SVA-09 features. If I were to re-design a language for it (read it as: if I had all the time and money needed for it) I would develop a from-scratch, user driven means for it, than language/tool imposed restrictions dominating the definition. Just a sample:&lt;/p&gt;  &lt;p&gt;“Variable delays” are not allowed in SystemVerilog Assertions – give me a break…(No I don;t need a work-around, I can send you if needed, drop me an email).&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-2279463687677842445?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/2279463687677842445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=2279463687677842445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2279463687677842445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/2279463687677842445'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/whats-wrong-with-present-abv-promotion.html' title='What’s wrong with the present ABV promotion?'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1271706887812645731</id><published>2009-12-01T08:54:00.001-08:00</published><updated>2009-12-01T08:54:01.616-08:00</updated><title type='text'>Sub $5000 high-end Mixed HDL simulator - VHDL+Verilog+SV-Design</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://edageek.com/2009/11/16/vhdl-verilog-xilinx-secureip/"&gt;http://edageek.com/2009/11/16/vhdl-verilog-xilinx-secureip/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Not a bad news after all – given that the industry is showing signs of recovery, such offerings are GREAT indeed – during the downturn several mergers, IP accumulation, consolidation have happened. That might have led to mix of languages in new SoCs. Usually the cost of ownership of a full fledged Mixed-HDL simulator (from any of 3 big EDA vendor) costs a lot (some say a “fortune” though I disagree). But this Riviera offering is certainly encouraging indeed.&lt;/p&gt;  &lt;p&gt;But is this a “sign-off” tool? Anyone?&lt;/p&gt;  &lt;p&gt;And BTW – in DAC they announced $1995 package for Active-HDL with similar support, so it is real!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.aldec.com/Company/News.aspx?newsid=c86c2ee8-5490-4eae-b61e-a7c0aaf7396c" href="http://www.aldec.com/Company/News.aspx?newsid=c86c2ee8-5490-4eae-b61e-a7c0aaf7396c"&gt;http://www.aldec.com/Company/News.aspx?newsid=c86c2ee8-5490-4eae-b61e-a7c0aaf7396c&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1271706887812645731?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1271706887812645731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1271706887812645731' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1271706887812645731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1271706887812645731'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/sub-5000-high-end-mixed-hdl-simulator_01.html' title='Sub $5000 high-end Mixed HDL simulator - VHDL+Verilog+SV-Design'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6028173864459553636</id><published>2009-12-01T08:37:00.001-08:00</published><updated>2009-12-01T08:37:15.062-08:00</updated><title type='text'>Sub $5000 high-end Mixed HDL simulator - VHDL+Verilog+SV-Design</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://edageek.com/2009/11/16/vhdl-verilog-xilinx-secureip/"&gt;http://edageek.com/2009/11/16/vhdl-verilog-xilinx-secureip/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Not a bad news after all – given that the industry is showing signs of recovery, such offerings are GREAT indeed – during the downturn several mergers, IP accumulation, consolidation have happened. That might have led to mix of languages in new SoCs. Usually the cost of ownership of a full fledged Mixed-HDL simulator (from any of 3 big EDA vendor) costs a lot (some say a “fortune” though I disagree). But this Riviera offering is certainly encouraging indeed.&lt;/p&gt;  &lt;p&gt;But is this a “sign-off” tool? Anyone?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6028173864459553636?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6028173864459553636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6028173864459553636' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6028173864459553636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6028173864459553636'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/sub-5000-high-end-mixed-hdl-simulator.html' title='Sub $5000 high-end Mixed HDL simulator - VHDL+Verilog+SV-Design'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-346805060453746115</id><published>2009-12-01T08:31:00.001-08:00</published><updated>2009-12-01T08:31:32.799-08:00</updated><title type='text'>Hardware Emulation becoming more and more affordable</title><content type='html'>&lt;p&gt;Read: &lt;a title="http://www.your-story.org/eve%E2%80%99s-latest-emulator-offers-the-lowest-cost-of-ownership-in-the-industry-62042/" href="http://www.your-story.org/eve%E2%80%99s-latest-emulator-offers-the-lowest-cost-of-ownership-in-the-industry-62042/"&gt;http://www.your-story.org/eve%E2%80%99s-latest-emulator-offers-the-lowest-cost-of-ownership-in-the-industry-62042/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With the so called “penny-per-gate” pricing – sure is a marketing gimmick, it is becoming more and more viable to explore low cost emulation stuff. We still see that our customers continue to rely on own, self cooked FPGA boards, but with such innovative business models it may be changing soon..&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Good job Eve folks – I wonder if they allow sharing “across customers” – say we host one Zebu server at CVC and allow several customers to log-in and pay-per-use! &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-346805060453746115?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/346805060453746115/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=346805060453746115' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/346805060453746115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/346805060453746115'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/12/hardware-emulation-becoming-more-and.html' title='Hardware Emulation becoming more and more affordable'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1268216765700076177</id><published>2009-11-29T20:02:00.001-08:00</published><updated>2009-11-29T20:02:53.313-08:00</updated><title type='text'>Update on IEEE 1800-2009 standard, fresh from the oven!</title><content type='html'>&lt;p&gt;As you all may know by now, IEEE 1800-2009 was recently approved.   &lt;br /&gt;There were many updates in &lt;strong&gt;SystemVerilog core, the Assertions&lt;/strong&gt;, and the addition of the &lt;strong&gt;checker&lt;/strong&gt;, a new type of entity where several assertions and verification code can be defined just like a module/interface. In addition the checker can be inlined procedurally unlike a module.&lt;/p&gt;  &lt;p&gt;Immediate next step will be to get real users exposed to the power of new constructs. We would expect tool vendors to start adopting this new version, probably sooner than we may think as some vendors were actively implementing the new features as the LRM was being refined. Now atleast 2 major EDA vendors have released support for varying sets of constructs from this new LRM. Ping your EDA support for updates!&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;As far as book support, we're please to announce the release of our &lt;a href="http://www.systemverilog.us/sva_info.html"&gt;SystemVerilog Assertions Handbook, 2nd Edition&lt;/a&gt; that includes the IEEE 1800-2009 updates.    &lt;br /&gt;For more information, see &lt;a href="http://systemverilog.us/sva2_toc_preface.pdf"&gt;http://systemverilog.us/sva2_toc_preface.pdf&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://systemverilog.us/sva_handbook2_cover.jpg"&gt;http://systemverilog.us/sva_handbook2_cover.jpg&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;SystemVerilog Assertions Handbook, 2nd Edition is an excellent reference for learning the basics of the assertion language. Syntax summaries along side examples help in learning the syntax. There are many examples with graphical representations that demonstrate the concepts. Basic rules are listed, often with quotes from the standard, and then explained. The book goes beyond the standard to demonstrate many subtleties that produce unexpected results and poor performance, and flags the pitfalls to avoid. It is a great refresher for experienced users and for those looking to understand what is new in the SVA language for the IEEE 1800-2009 release. Additional chapters present methodology and application perspectives. This book is co-authored by:    &lt;br /&gt;Ben Cohen, Srinivasan Venkataramanan, Ajeetha Kumari, and Lisa Piper&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1268216765700076177?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1268216765700076177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1268216765700076177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1268216765700076177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1268216765700076177'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/11/update-on-ieee-1800-2009-standard-fresh.html' title='Update on IEEE 1800-2009 standard, fresh from the oven!'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-7413486726674445834</id><published>2009-11-24T20:56:00.001-08:00</published><updated>2009-11-24T20:56:55.440-08:00</updated><title type='text'>Training on “Protocol Verification using SystemVerilog Assertions”</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;December is usually the time of holidays, relatively work load etc. Given the challenging job scenario this is also the best time to hone your skills and face the New Year with new skills, explore new job avenues, segments etc.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CVC &lt;/b&gt;is announcing a week long certificate course on standard protocol verification. At the end of this course you would have finished developing a MIP (Monitor IP) for a standard protocol based on SVA. Assertions are very powerful to capture temporal behavior. Broadly it covers the following topics:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ABV Introduction &lt;/li&gt;    &lt;li&gt;SystemVerilog Assertions (SVA) &lt;/li&gt;    &lt;li&gt;Project – develop a real life Protocol Monitor IP (MIP) with SVA &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Course contents:&amp;#160; &lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf&lt;/a&gt;&lt;b&gt;&lt;/b&gt;     &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Topic&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Duration&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;SystemVerilog Assertions&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;2.0 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Project &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;3.0 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;h4&gt;Schedule&lt;/h4&gt;  &lt;p&gt;Tentative: 2&lt;sup&gt;nd&lt;/sup&gt; &lt;strong&gt;week of December, 2009&lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;For exact schedule visit &lt;a href="http://www.cvcblr.com/blog/"&gt;http://www.cvcblr.com/blog/&lt;/a&gt; or contact us.&lt;/p&gt;  &lt;h4&gt;Contact&lt;/h4&gt;  &lt;p&gt;Send an email to: training@cvcblr.com and/or &lt;a href="mailto:cvc.training@gmail.com"&gt;cvc.training@gmail.com&lt;/a&gt; for more details, cost etc. Or call us at: +91-9620209226/+91-80-42134156&lt;/p&gt;  &lt;p&gt;Please include the following details in your email:&lt;/p&gt;  &lt;p&gt;Name:&lt;/p&gt;  &lt;p&gt;Company Name:&lt;/p&gt;  &lt;p&gt;Contact Email ID:&lt;/p&gt;  &lt;p&gt;Contact Number:&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7413486726674445834?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7413486726674445834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7413486726674445834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7413486726674445834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7413486726674445834'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/11/training-on-protocol-verification-using.html' title='Training on “Protocol Verification using SystemVerilog Assertions”'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-3680091437729817289</id><published>2009-11-24T20:55:00.001-08:00</published><updated>2009-11-24T20:55:22.430-08:00</updated><title type='text'>Make best use of your Dec holidays: Verification Fest (VFest)</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;December is usually the time of holidays, relatively work load etc. Given the challenging job scenario this is also the best time to hone your skills and face the New Year with new skills, explore new job avenues, segments etc.&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;CVC&lt;/strong&gt;&lt;b&gt; &lt;/b&gt;is launching its highly successful 2 weeks certificate course on Functional Verification using SystemVerilog with a project in one of the following domains. &lt;/p&gt;  &lt;p&gt;· Networking&lt;/p&gt;  &lt;p&gt;· Communication&lt;/p&gt;  &lt;p&gt;· Image Processing&lt;/p&gt;  &lt;p&gt;VFest also focuses the language aspect SV in depth. Broadly it covers the following topics:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;SystemVerilog basics (SVB) &lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVD_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVD_profile.pdf&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Verification Using SystemVerilog (VSV) &lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Verification Methodology (VM)&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Duration&lt;/h4&gt;  &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="308"&gt;         &lt;p&gt;&lt;b&gt;&lt;u&gt;Topic&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="306"&gt;         &lt;p&gt;&lt;b&gt;&lt;u&gt;Duration&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="308"&gt;         &lt;p&gt;SystemVerilog Basics&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="306"&gt;         &lt;p&gt;0.5 day&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="308"&gt;         &lt;p&gt;Verification using SystemVerilog&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="306"&gt;         &lt;p&gt;2.5 days&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="308"&gt;         &lt;p&gt;Mini Project &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="306"&gt;         &lt;p&gt;2.0 days&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="308"&gt;         &lt;p&gt;Verification Methodology&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="306"&gt;         &lt;p&gt;2.0 days&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="308"&gt;         &lt;p&gt;Project &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="306"&gt;         &lt;p&gt;3.0 days&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;Schedule&lt;/h4&gt;  &lt;p&gt;Tentative: &lt;strong&gt;1&lt;sup&gt;st&lt;/sup&gt; week of December, 2009&lt;/strong&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;For exact schedule visit &lt;a href="http://www.cvcblr.com/blog/"&gt;http://www.cvcblr.com/blog/&lt;/a&gt; or contact us.&lt;/p&gt;  &lt;h4&gt;Contact&lt;/h4&gt;  &lt;p&gt;Send an email to: &lt;a href="mailto:training@cvcblr.com"&gt;training@cvcblr.com&lt;/a&gt; and/or &lt;a href="mailto:cvc.training@gmail.com"&gt;cvc.training@gmail.com&lt;/a&gt; for more details, cost etc. Or call us at: +91-9620209226/+91-80-42134156&lt;/p&gt;  &lt;p&gt;Please include the following details in your email:&lt;/p&gt;  &lt;p&gt;Name:&lt;/p&gt;  &lt;p&gt;Company Name:&lt;/p&gt;  &lt;p&gt;Contact Email ID:&lt;/p&gt;  &lt;p&gt;Contact Number:&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-3680091437729817289?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/3680091437729817289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=3680091437729817289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3680091437729817289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/3680091437729817289'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/11/make-best-use-of-your-dec-holidays.html' title='Make best use of your Dec holidays: Verification Fest (VFest)'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-5778908490202779738</id><published>2009-11-24T20:54:00.001-08:00</published><updated>2009-11-24T20:54:05.895-08:00</updated><title type='text'>SystemVerilog tip: watch out enum and randc</title><content type='html'>&lt;p&gt;Recently an interesting question was raised by SystemVerilog user on &lt;em&gt;randc &lt;/em&gt;usage with &lt;em&gt;enum&lt;/em&gt;. To illustrate, consider the following code:&lt;/p&gt;  &lt;p&gt;[cpp]    &lt;br /&gt;typedef enum {red, green, blue, yellow, white} house_color_type;     &lt;br /&gt;class c;     &lt;br /&gt;randc house_color_type enum_0;     &lt;br /&gt;[/cpp]&lt;/p&gt;  &lt;p&gt;Spot anything wrong above? Perhaps not? As it goes with &lt;em&gt;randc&lt;/em&gt; an implementation needs to remember all values generated so far before recycling! So it does consume extra memory. SV LRM says:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;span style="font-size: small"&gt;To reduce memory requirements, implementations may impose a limit on the maximum size of a randc        &lt;br /&gt;variable, but it shall be no less than 8 bits.&lt;/span&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;By default an &lt;em&gt;enum &lt;/em&gt;is an &lt;em&gt;int&lt;/em&gt; – i.e. 32-bits, hence allowing a &lt;em&gt;randc&lt;/em&gt; on it blindly is a real challenge for tools – though some advanced tools/versions (Questa 6.5a for instance) allows it. But this default &lt;em&gt;int &lt;/em&gt;choice is not something I like so much – it should have been cleverer to choose appropriate sized of vector by the implementation, did we not know LRM committee is often biased by implementers. No pun intended, but just MHO.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: small"&gt;Anyway coming back to the question, a very useful tip here (like “Moral of the story is..” – something that’s day-to-day phrase in a typical school boy father’s life , something that I thoroughly enjoy, thanks to my &lt;strong&gt;Anirudh Pradyumnan&lt;/strong&gt;): Model your enum size while declaring it. As in:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;[cpp]&lt;/p&gt;  &lt;p&gt;typedef enum {red, green, blue, yellow, white} house_color_type;&lt;/p&gt;  &lt;p&gt;typedef enum bit [2:0] {red, green, blue, yellow, white} house_color_type_BETTER;&lt;/p&gt;  &lt;p&gt;[/cpp]&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5778908490202779738?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5778908490202779738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5778908490202779738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5778908490202779738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5778908490202779738'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/11/systemverilog-tip-watch-out-enum-and.html' title='SystemVerilog tip: watch out enum and randc'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-7357504116890506017</id><published>2009-11-24T20:53:00.001-08:00</published><updated>2009-11-24T20:53:34.069-08:00</updated><title type='text'>ASIC Design Verification for FPGA designers</title><content type='html'>&lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;…Step upto ASIC world with SystemVerilog, Assertions &amp;amp; Testbench&lt;/h3&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CVC (www.&lt;/b&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3842529a-8107-4f57-b271-4114b5099f25" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/trainings" rel="tag"&gt;trainings&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;&lt;b&gt;cvcblr.com) &lt;/b&gt;is announcing a new session of its 10-day course on &lt;b&gt;“FPGA-2-ASIC_DV-with SystemVerilog”&lt;/b&gt; - a step-by-step approach to introduce modern day Design &amp;amp; Verification challenges &amp;amp; solutions for FPGA designers. It is structured as follows:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Basic Session      &lt;ul&gt;       &lt;li&gt;Comprehensive Functional Verification (CFV) &lt;/li&gt;        &lt;li&gt;SystemVerilog basics (SVB) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Advanced Session      &lt;ul&gt;       &lt;li&gt;ABV Introduction &lt;/li&gt;        &lt;li&gt;SystemVerilog Assertions (SVA) &lt;/li&gt;        &lt;li&gt;Project – develop a real life Protocol IP (PIP) with SVA &lt;/li&gt;        &lt;li&gt;Verification Using SystemVerilog (VSV) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Course contents:&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf&lt;/a&gt;     &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Topic&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Duration&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;Comprehensive Functional Verification (including UNIX usage, EDA tools)&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;1.5 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;SystemVerilog basics&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;1 day&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;Project&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;0.5 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;SystemVerilog Assertions&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;2 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;SystemVerilog Testbench&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;2 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;Project&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;3.0 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;All the course contents, agenda can be found at &lt;a href="http://www.cvcblr.com/program_offering"&gt;http://www.cvcblr.com/program_offering&lt;/a&gt;. It is meticulously prepared with the common expertise of FPGA designers in mind. Having transformed several FPGA designers into ASIC Design-Verification engineers at CVC we fully understand the challenges involved, skills needed etc. The course is structured in a balanced manner with theory and lab sessions tightly embedded in a manner that helps in mastering topics learned so far in the course. &lt;/p&gt;  &lt;h3&gt;Schedule:&lt;/h3&gt;  &lt;p&gt;Dec 1&lt;sup&gt;st&lt;/sup&gt; week at &lt;b&gt;Bangalore&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;To attend this class, confirm your registration by sending an email to training@cvcblr.com&lt;/p&gt;  &lt;p&gt;Ph: +91-9620209226, +91-80-42134156&lt;/p&gt;  &lt;p&gt;Please include the following details in your email: &lt;/p&gt;  &lt;p&gt;Name:&lt;/p&gt;  &lt;p&gt;Company Name:&lt;/p&gt;  &lt;p&gt;Contact Email ID:&lt;/p&gt;  &lt;p&gt;Contact Number:&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7357504116890506017?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7357504116890506017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7357504116890506017' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7357504116890506017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7357504116890506017'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/11/asic-design-verification-for-fpga.html' title='ASIC Design Verification for FPGA designers'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-9183156262261331369</id><published>2009-11-08T08:15:00.001-08:00</published><updated>2009-11-08T08:15:48.666-08:00</updated><title type='text'>SV: implication constraint and its implication/effect</title><content type='html'>&lt;p&gt;&lt;font size="2"&gt;SystemVerilog has a nice implication constraint feature to guard constraint expressions on their applicability. Last week during our SystemVerilog + methodology workshop one of the attendees faced an interesting issue. She was creating a min-VIP for APB as part of our SystemVerilog 10-day workshop (See details at: &lt;/font&gt;&lt;a title="http://www.cvcblr.com/trng_profiles/CVC_VSV_WK_profile.pdf" href="http://www.cvcblr.com/trng_profiles/CVC_VSV_WK_profile.pdf"&gt;&lt;font size="2"&gt;http://www.cvcblr.com/trng_profiles/CVC_VSV_WK_profile.pdf&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; ).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;She wrote a APB scenario code that was intended to create a sequence of transactions with varying address, kind etc. Here is a code snippet:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font size="2"&gt;constraint cst_xactn_kind{          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if(this.scenario_kind == this.sc_id)           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; this.length == 10;           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; foreach (items[i])           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (i==0) -&amp;gt; items[i].apb_op_kind == APB_WR;items[i].addr == 'b01; items[i].wdata == 'd11;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;     &lt;br /&gt;&lt;em&gt;&lt;font color="#333333" size="2"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (i==1) -&amp;gt; items[i].apb_op_kind == APB_WR;items[i].addr == 'b11; items[i].wdata == 'd12;          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }           &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;Spot anything wrong in the above code? Perhaps not for the unsuspecting, bare eyes. Code intention: Keep the:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;0th transaction KIND == WRITE, address == 01, data == 11;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;1st transaction KIND == WRITE, address == 3, data == 12;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Read again the code – it seems to imply just that, isn’t it? Let’s run it.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Here is what Questa says:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;###########################################################################&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; WELCOME !!!       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; APB PROJECT USING VMM       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DONE BY PRIYA @ CVC       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DATE:21stOctober2009       &lt;br /&gt;############################################################################       &lt;br /&gt;# Normal[NOTE] on APB_PROGRAM(0) at&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0:       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; APB PROJECT:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Start of APB Random test!&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;# ****************************************************************************       &lt;br /&gt;# Normal[NOTE] on APB_ENV(0) at&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0.00 ns:       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; APB PROJECT: Sim shall run for 10 number of transactions       &lt;br /&gt;# Normal[NOTE] on APB_ENV(0) at&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0.00 ns:       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Reset!!!!!!!!!&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;# Normal[NOTE] on APB_ENV(0) at&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 230.00 ns:       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Reset Release!       &lt;br /&gt;# ****************************************************************************       &lt;br /&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;# *FATAL*[FAILURE] on APB Generator Scenario Generator(APB_GENERATOR) at&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 730.00 ns:          &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; Cannot randomize scenario descriptor #0&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font size="2"&gt;Puzzled? What is wrong? Review by the code author herself few times didn’t reveal anything wrong (bias towards own code?).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Seek expert assistance.. Questa has a simple flag to bring up solver debugger as: &lt;em&gt;&lt;strong&gt;vsim –solvefaildebug&lt;/strong&gt; &lt;/em&gt;Let’s try that now..&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#008000"&gt;# ../tb_src_scenario/apb_scenario_gen.sv(1): randomize() failed due to conflicts between the following constraints:        &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(25): the_scenario.cst_xactn_kind { (the_scenario.items[0].addr == 32'h00000001); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(1): the_scenario.repetition { (the_scenario.repeated == 32'h00000000); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(25): the_scenario.cst_xactn_kind { (the_scenario.items[0].apb_op_kind == APB_WR); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_scenario.items[0].addr == 32'h00000003); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_scenario.items[0].wdata == 32'h0000000c); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_scenario.items[1].apb_op_kind == APB_WR); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_scenario.items[1].addr == 32'h00000003); }         &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_scenario.items[1].wdata == 32'h0000000c); }         &lt;br /&gt;&lt;/font&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[2].addr&lt;/font&gt; == 32'h00000003); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[2].wdata&lt;/font&gt; == 32'h0000000c); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[3].addr&lt;/font&gt; == 32'h00000003); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[3].wdata&lt;/font&gt; == 32'h0000000c); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[4].addr&lt;/font&gt; == 32'h00000003); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[4].wdata&lt;/font&gt; == 32'h0000000c); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[5].addr&lt;/font&gt; == 32'h00000003); }       &lt;br /&gt;#&amp;#160;&amp;#160;&amp;#160;&amp;#160; ../tb_src_scenario/apb_scenario_gen.sv(26): the_scenario.cst_xactn_kind { (the_&lt;font color="#ff0000"&gt;scenario.items[5].wdata&lt;/font&gt; == 32'h0000000c); }&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#777777"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#777777" size="2"&gt;Smell something wrong? Why is the constraint on &lt;strong&gt;&lt;em&gt;addr, data &lt;/em&gt;&lt;/strong&gt;getting applied across scenario items 2,3,4,5 etc.? Beyond the 0, 1 that the “implication” supposed to guard it? Relook at constraint code:&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#777777"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;font size="2"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; (i==0) &lt;strong&gt;-&amp;gt; &lt;/strong&gt;items[i].apb_op_kind == APB_WR;items[i].addr == 'b01; items[i].wdata == 'd11;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#777777" size="2"&gt;Found it? Not yet? The devil lies in details – here in that SEMICOLON “ ; “. A semicolon in Verilog/SV denotes END of a statement and begin of the next one. Hence the effect of “implication” is ENDED with the variable “kind” alone here – thereby it doesn’t affect the &lt;strong&gt;&lt;em&gt;addr, data&lt;/em&gt;&lt;/strong&gt; – hence the implication is invisible to them. At line 25, the &lt;strong&gt;addr == 1;&lt;/strong&gt; At line 26, &lt;strong&gt;addr == 3;&lt;/strong&gt; Hence the contradiction!&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#777777" size="2"&gt;The fix will be to use &amp;amp;&amp;amp; to imply that the guard is applicable to all the 3 variables – &lt;strong&gt;&lt;em&gt;kind &amp;amp;&amp;amp; addr &amp;amp;&amp;amp; data&lt;/em&gt;&lt;/strong&gt;. &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#777777" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#160; Instead of:&lt;/p&gt;    &lt;p&gt;(i==0) &lt;strong&gt;-&amp;gt; &lt;/strong&gt;items[i].apb_op_kind == APB_&lt;strong&gt;&lt;font color="#ff0000"&gt;WR;items&lt;/font&gt;&lt;/strong&gt;[i].addr == &lt;strong&gt;&lt;font color="#ff0000"&gt;'b01; items&lt;/font&gt;&lt;/strong&gt;[i].wdata == 'd11;&lt;/p&gt;    &lt;p&gt;Use:&lt;/p&gt;    &lt;p&gt;&amp;#160;&amp;#160; (i==0) –&lt;strong&gt;&amp;gt; (&lt;/strong&gt;items[i].apb_op_kind == &lt;strong&gt;&lt;font color="#008000"&gt;APB_WR) &amp;amp;&amp;amp; (items&lt;/font&gt;&lt;/strong&gt;[i].addr == &lt;strong&gt;&lt;font color="#008000"&gt;'b01) &amp;amp;&amp;amp; (items&lt;/font&gt;&lt;/strong&gt;[i].wdata == 'd11);&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;font color="#777777" size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#777777" size="2"&gt;Morale of the debug session is: you need to be careful while using implication constraints for more than single variable :-) &lt;/font&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-9183156262261331369?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/9183156262261331369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=9183156262261331369' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/9183156262261331369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/9183156262261331369'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/11/sv-implication-constraint-and-its.html' title='SV: implication constraint and its implication/effect'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8289047025434347798</id><published>2009-07-07T04:25:00.001-07:00</published><updated>2009-07-07T04:25:17.578-07:00</updated><title type='text'>Certificate course on SystemVerilog Assertions …Language + Lab + Mini-project</title><content type='html'>&lt;h3&gt;Certificate course on SystemVerilog Assertions &lt;/h3&gt;  &lt;h3&gt;…Language + Lab + Mini-project&lt;/h3&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;CVC &lt;/b&gt;is announcing a new session of its popular 2-day certificate course on SsystemVerilog Assertions (ABV_SVA) covering SystemVerilog Assertions in depth. Broadly it covers the following topics:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ABV Introduction&lt;/li&gt;    &lt;li&gt;SystemVerilog Assertions (SVA) &lt;/li&gt;    &lt;li&gt;Project – develop a real life Protocol IP (PIP) with SVA&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Course contents: &lt;a href="http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf"&gt;http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Duration&lt;/h3&gt;  &lt;p&gt;Here is a detailed breakdown of the course with duration. Note that we have a “mini project” tightly embedded in the course that helps in mastering topics learned so far in the course. This is &lt;b&gt;on top of the regular labs that are part of the training&lt;/b&gt;.     &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Topic&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Duration&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="129"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Start&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="129"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;End&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;SystemVerilog Assertions&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;1.5 days&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="129"&gt;           &lt;p&gt;July 13&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="129"&gt;           &lt;p&gt;July 14&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="191"&gt;           &lt;p&gt;Mini Project II &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="166"&gt;           &lt;p&gt;0.5 day&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="129"&gt;           &lt;p&gt;July 14&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="129"&gt;           &lt;p&gt;July 14&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h3&gt;Schedule:&lt;/h3&gt;  &lt;p&gt;July 13, 14 at &lt;b&gt;Bangalore&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;To attend this class, confirm your registration by sending an email to training @ cvcblr.com&lt;/p&gt;  &lt;p&gt;Ph: +91-9916176014, +91-80-42134156&lt;/p&gt;  &lt;p&gt;Please include the following details in your email: &lt;/p&gt;  &lt;p&gt;Name:&lt;/p&gt;  &lt;p&gt;Company Name:&lt;/p&gt;  &lt;p&gt;Contact Email ID:&lt;/p&gt;  &lt;p&gt;Contact Number:&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8289047025434347798?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8289047025434347798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8289047025434347798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8289047025434347798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8289047025434347798'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/07/certificate-course-on-systemverilog.html' title='Certificate course on SystemVerilog Assertions …Language + Lab + Mini-project'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1474948093461908603</id><published>2009-03-14T11:52:00.001-07:00</published><updated>2009-03-14T11:52:13.346-07:00</updated><title type='text'>CCD, My read of Certess technology and positioning</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;With due respect to the technology behind Certess’s tool I have some discomfort with the way it is being positioned – atleast in the below article:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.edadesignline.com/howto/215600203;jsessionid=TP12OA3IF1X3UQSNDLOSKHSCJUNN2JVN?pgno=2"&gt;http://www.edadesignline.com/howto/215600203;jsessionid=TP12OA3IF1X3UQSNDLOSKHSCJUNN2JVN?pgno=2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Before I talk about my discomfort, let me state the positives: Not very often do we get to read such well written, all encompassing technical article, Kudo’s to Mark Hampton – he touches on every aspect of functional verification in this article, not so common in an EDA product “promotional” article – to which this article may be characterized to (unfortunately IMHO). Having said that, I personally believe Certess should position the technology “along with” existing ones than challenging/trying to replace time tested/well adopted methodologies such as code cov, functional cov etc. Not that I differ from his views on the shortcomings of these technologies, rather going by what Pradip Thakcker said in DVM 08 (&lt;a href="http://vlsi-india.org/vsi/activities/2008/dvm-blr-apr08/program.html"&gt;http://vlsi-india.org/vsi/activities/2008/dvm-blr-apr08/program.html&lt;/a&gt;) &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“Code coverage and functional coverage are useful techniques with their own strengths and weaknesses. Rather than worrying about their weaknesses, focus on the positives and use them today”..Pradip, during his “Holistic Verification: Myth or The Magic Bullet?”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I will be very glad if Certess focuses on their real strength of exposing lack of checkers in a Verification environment than trying to “eat” into the well established market of Code/Func coverage tools. Another rationale: Both the cov and qualification is compute intensive and given the amount of EDA investment that has gone into stabilizing and optimizing these features, it will be irrational to try and replace them with “functional qualification” (No offense meant, I have great respect for Mark – given his excellent article and ofcourse the product). With SpringSoft acquiring Certess hopefully their customer base/reach increases and that will throw up more success stories in the coming months/quarters. So good times ahead!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1474948093461908603?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1474948093461908603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1474948093461908603' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1474948093461908603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1474948093461908603'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/03/ccd-my-read-of-certess-technology-and.html' title='CCD, My read of Certess technology and positioning'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-7086535109924975947</id><published>2009-03-14T11:43:00.001-07:00</published><updated>2009-03-14T11:43:13.259-07:00</updated><title type='text'>ITG, C2D &amp; ACC - Emerging Verification technologies</title><content type='html'>&lt;p&gt;Well, it is not the overly hyped *V here - such as CRV, CDV, ABV - we at CVC (&lt;a href="http://www.noveldv.com"&gt;www.noveldv.com&lt;/a&gt;) consider them as yesterday-ones for the sake of giving room to next generation ones such as: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ACC - &lt;a href="http://sv-verif.blogspot.com/2009/02/automatic-coverage-closure-my.html"&gt;Automatic Coverage Closure&lt;/a&gt;&amp;#160; &lt;/li&gt;    &lt;li&gt;ITG - Intelligent Test Generation (such as Graph based) &lt;/li&gt;    &lt;li&gt;CCD - Covered &amp;amp; Checked implies Done (such as Certess/SpringSoft) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Out of this let me spend more time on the last two as the ACC is already been discussed for a while now (atleast more than the other two). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;ITG - Intelligent Test Generation (such as Graph based) &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;ITG - is still in its early days. Two tools seem to be addressing this as of today: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://www.mentor.com/products/fv/horizons/intelligent-testbench-automation-reality"&gt;Infact&lt;/a&gt;&amp;#160; from Mentor is one big name. &lt;/li&gt;    &lt;li&gt;The other one that is very promising is: &lt;a href="http://www.brekersystems.com"&gt;Breker Systems&lt;/a&gt; with a very high profile team behind it. These folks know what they are talking about - with their CTO holding &amp;quot;Adnan holds &lt;strong&gt;15 patents in test case generation and synthesis.&amp;quot;. &lt;/strong&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;We at CVC are yet to get our hands dirty with these tools, but certainly worth watching indeed! From our early analysis this technology will assist &lt;strong&gt;more and more system level tests&lt;/strong&gt; being easily captured by &lt;strong&gt;raising the level of abstraction of testcase specification&lt;/strong&gt;. This will be fun indeed!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;CCD - Covered &amp;amp; Checked implies Done&amp;#160; &lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Coming to the other category: &lt;u&gt;CCD (yet to find a better name)&lt;/u&gt; – this is a topic that has been haunting us for atleast a decade now. Ever since I started using Functional coverage (early 2000), we always had this problem of “&lt;b&gt;I got it covered, but did I get it checked too&lt;/b&gt;?”. During an Ethernet monster switch/router verification at Intel we hit this problem atleast half-a-dozen times and those corridor discussions still ring in my ears. The Design (read it as RTL) manager (Sutapa Chandra) made fun of us asking “are we taping out RTL or testbench” as we seem to be finding lack of checkers every now and then. Most of these situations are the case of bugs went undetected at block/cluster level and later get got (luckily) at full chip level – then we do a rigorous review of our block level env, and find that we indeed had coverage points for those scenarios, just that we didn’t have enough checkers! Shame, but true. A technology such as Certess’s Testbench Qualification was what was indeed needed! A very detailed read of Certess technology is at: &lt;a href="http://www.edadesignline.com/howto/215600203;jsessionid=TP12OA3IF1X3UQSNDLOSKHSCJUNN2JVN?pgno=2"&gt;http://www.edadesignline.com/howto/215600203;jsessionid=TP12OA3IF1X3UQSNDLOSKHSCJUNN2JVN?pgno=2&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7086535109924975947?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7086535109924975947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7086535109924975947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7086535109924975947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7086535109924975947'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/03/itg-c2d-acc-emerging-verification.html' title='ITG, C2D &amp;amp; ACC - Emerging Verification technologies'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-8104989168097437998</id><published>2009-03-06T10:21:00.001-08:00</published><updated>2009-03-06T10:21:40.780-08:00</updated><title type='text'>OVM rule checker for free!</title><content type='html'>&lt;p&gt;A process/methodology is only as good as its adoption/compliance. And in Verification since there are so many different ways of “getting it done” it is hard to get sync across teams/groups/projects/companies etc. This is where the methodology comes to play (be it VMM,OVM&amp;lt;eRM etc.). But again how am I sure that I follow all the guidelines? &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Consider this – we got an email from a user as recently as last&amp;#160; week on our VMM book code (&lt;a href="http://www.systemverilog.us"&gt;www.systemverilog.us&lt;/a&gt;) about not adding “is_valid” method in data model. The book was published back in 2006 I believe. That just goes to say that a “compliance checker” is a very handy tool to create highly reusable Verification code. But who will check for compliance? &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Thankfully, here is an answer for OVM and that too for no cost!&lt;/p&gt;  &lt;p&gt;http://www.veriez.com/dvcon_2009_pr.htm&amp;lt;a href=&amp;quot;http://www.veriez.com/dvcon_2009_pr.htm&amp;quot;&amp;gt;&amp;lt;/a&amp;gt; This is indeed an interesting development and a welcome one during tight economical situations. Make sure you download and use them! &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Ajeetha www.noveldv.com&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8104989168097437998?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8104989168097437998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8104989168097437998' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8104989168097437998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8104989168097437998'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/03/ovm-rule-checker-for-free.html' title='OVM rule checker for free!'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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-7343793379868603098.post-55332813956835799</id><published>2009-02-18T04:02:00.001-08:00</published><updated>2009-03-09T17:48:30.761-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nusym'/><category scheme='http://www.blogger.com/atom/ns#' term='coverage'/><category scheme='http://www.blogger.com/atom/ns#' term='ACC'/><title type='text'>Automatic Coverage Closure – my perspective</title><content type='html'>&lt;p&gt;Recently EDA tools are emerging in the area of “Automatic Coverage Closure” that promise a new level of automation in CDV/MDV/any_other_Buzz_word_Driven_Verification process. A significant name in this arena is nuSym, a relatively new EDA player. There have been few good reviews about them @ Deepchip.com. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://deepchip.com/items/0479-05.html"&gt;http://deepchip.com/items/0479-05.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://deepchip.com/items/0473-06.html"&gt;http://deepchip.com/items/0473-06.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://deepchip.com/items/dvcon07-06.html"&gt;http://deepchip.com/items/dvcon07-06.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And another one @ SiliconIndia:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.siliconindia.com/magazine/articledesc.php?articleid=DPEW289996212" href="http://www.siliconindia.com/magazine/articledesc.php?articleid=DPEW289996212"&gt;http://www.siliconindia.com/magazine/articledesc.php?articleid=DPEW289996212&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;And very recently on VerifGuild:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=3102"&gt;http://www.verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=3102&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I like Gopi’s post/comment b’cos I have the same opinion about CRV (Constraint Random Verification) – it catches scenarios/bugs that you didn’t envision – either via constraints or coverage (or otherwise). Now if we fool ourself by going behind “only the existing/identified coverage holes” we fall into a trap. This is inline/insync with what Sundaresan Kumbakonam of BRCM ( need his profile? See: &lt;a href="http://vlsi-india.org/vsi/activities/dvw05_blr/index.html"&gt;http://vlsi-india.org/vsi/activities/dvw05_blr/index.html&lt;/a&gt;) shared with me once:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Quoting Sundaresan:&lt;/p&gt;  &lt;p&gt; &lt;span style="font-family:Comic Sans MS;"&gt;I don’t believe much in the idea of “writing functional coverage model” and then tweaking a constraint here-or-there, or writing a “directed test” for it to fill the hole. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;Coming back to my view, I believe some redundancy via randomness/CRV is actually good. In my past verification cycles I have seen design errors due to “repeated patterns” – no big deal, is it?&lt;/p&gt;  &lt;p&gt;So where exactly do these ACC tools fit? &lt;/p&gt;  &lt;p&gt;Referring back to:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=3102"&gt;http://www.verificationguild.com/modules.php?name=Forums&amp;amp;file=viewtopic&amp;amp;t=3102&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;gt;&amp;gt; whether these tools are only used to reach last few % of coverage goal which is hard to reach ?&lt;/p&gt;  &lt;p&gt;I would differ here, they shall be very useful somewhere during the middle phase – neither too early, nor too late. Too early – perhaps we don’t have full RTL and/or functional cov model. Too late – perhaps our focus should be more into “checking” than only coverage (As Nagesh pointed out in VerifGuild). I would like to add that during those last minutes, the coverage shall be taken for “granted” – meaning it is a *&lt;strong&gt;must&lt;/strong&gt;* and not a *nice to have* thing and the focus shall be to look for any failures. &lt;/p&gt;  &lt;p&gt;To me a reasonable flow with these ACC tools would be:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Run with CRV, measure code coverage. Add checkers&lt;/li&gt;    &lt;li&gt;Add functional coverage, use CRV again to hit them using the coverage points as “potential trouble spots” than “actual scenarios” themselves. In few cases where in the scenario description is easy to capture using Functional coverage syntax, this is great. IMHO the existing coverage syntax is little too verbose and unusable to a large extent for solid, easy-to-use coverage specification. Specifically the SV syntax overhead of coverage is just too much for me. IEEE 1647 “e” fairs slightly better but that’s a different story altogether. I’m still on the lookout for a higher level coverage specification language.. (matter for another blog post anyway).&lt;/li&gt;    &lt;li&gt;Once the RTL and the coverage model is reasonably stable, use ACC regularly as a “sanity” test on every interim RTL release. I believe &lt;strong&gt;ACC has a HUGE potential here&lt;/strong&gt; – if we can optimize the tests needed to &lt;strong&gt;release interim RTL versions&lt;/strong&gt;, we are saving quality time and enabling faster turn around.&lt;/li&gt;    &lt;li&gt;Towards the end, enable “plain CRV” (without the ACC bias) and look for “trouble free regression for XX days”.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;And while speaking to a friend of mine here a while back, he is damn against the idea of using these ACC tools for merely stimulus. He likes the idea of ACC if it can be used to:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Fill functional cov holes&lt;/li&gt;    &lt;li&gt;Code coverage holes&lt;/li&gt;    &lt;li&gt;Assertion cov misses/holes&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A tough ask, but looks like nuSym can handle that – atleast based on the early reviews so far. Also reading their whitepaper on “intelligent verification”, they do a path tracing that enables them to systematically target code coverage without getting into Formal world – cool idea indeed! Kudos to nuSym folks (some of them my ex-colleagues BTW).&lt;/p&gt;  &lt;p&gt;And on the application of these ACC tools to the poor, non-CRV/CDV folks – there is light at the end of the tunnel, if you read nuSym’s paper. We at CVC also have ideas on how to use this for a highly configurable IP verification with plain vanilla verilog/task based TBs. We need to prototype it before we can discuss it in detail though.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Anyway, good topic for otherwise a downturn mood.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;More to follow.&lt;/p&gt;  &lt;p&gt;Srini&lt;/p&gt;  &lt;p&gt;P.S. Sorry for the “random” rambling, after all we are talking of “random verification” :-) &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-55332813956835799?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/55332813956835799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=55332813956835799' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/55332813956835799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/55332813956835799'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/02/automatic-coverage-closure-my.html' title='Automatic Coverage Closure – my perspective'/><author><name>Srinivasan Venkataramanan</name><uri>http://www.blogger.com/profile/14548260261892784227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://2.bp.blogspot.com/_fOCgo912NxE/Sbv9kWqX9XI/AAAAAAAAAcA/dU7rRK7HdMw/S220/SrinivasanVenkataramanan.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6990361440878374719</id><published>2009-02-11T05:16:00.001-08:00</published><updated>2009-02-11T05:16:43.817-08:00</updated><title type='text'>Certificate course on Functional Verification …basics to ASIC verification using SystemVerilog</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h1&gt;Certificate course on Functional Verification …basics to ASIC verification using SystemVerilog&lt;/h1&gt;  &lt;p&gt;&lt;strong&gt;CVC &lt;/strong&gt;is about to launch a 10-day certificate course on Functional Verification covering SystemVerilog in depth. Broadly it covers the following topics:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Comprehensive introduction to Functional Verification (CFV) &lt;/li&gt;    &lt;li&gt;SystemVerilog basics (SVB) &lt;/li&gt;    &lt;li&gt;SystemVerilog Assertion (SVA) &lt;/li&gt;    &lt;li&gt;Verification Using SystemVerilog (VSV) &lt;/li&gt;    &lt;li&gt;Verification Methodology (VM) &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Duration&lt;/h2&gt;  &lt;p&gt;Here is a detailed breakdown of the course with duration. Note that we have several “mini projects” tightly embedded in the course that helps in mastering topics learned so far in the course. This is on top of the regular labs that are part of the training. The detailed breakup of topics and labs is covered in next sections of this proposal.    &lt;table cellspacing="0" cellpadding="0" border="1"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Topic&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;&lt;b&gt;&lt;u&gt;Duration&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Comprehensive Functional Verification&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;1.5 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Mini Project I &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;0.5 day&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;SystemVerilog Basics &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;0.5 day&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;SystemVerilog Assertions&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;1.5 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Mini Project II &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;0.5 day&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Verification using SystemVerilog&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;2.0 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Mini Project III &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;0.5 day&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Verification Methodology&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;2.0 days&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="308"&gt;           &lt;p&gt;Project IV&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="306"&gt;           &lt;p&gt;1.0 day&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;h2&gt;Schedule&lt;/h2&gt;  &lt;p&gt;Tentative: &lt;strong&gt;Feb 09-Mar09&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Contact &lt;/h2&gt;  &lt;p&gt;Send an email to: &lt;a href="mailto:cvc.training@gmail.com"&gt;cvc.training@gmail.com&lt;/a&gt; and/or &lt;a href="mailto:training@noveldv.com"&gt;training@noveldv.com&lt;/a&gt; for more details, cost etc. Or call us at: +91-9916176014 &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6990361440878374719?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6990361440878374719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6990361440878374719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6990361440878374719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6990361440878374719'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/02/certificate-course-on-functional.html' title='Certificate course on Functional Verification …basics to ASIC verification using SystemVerilog'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-8297200259700728155</id><published>2009-02-09T10:01:00.000-08:00</published><updated>2009-02-09T10:08:34.293-08:00</updated><title type='text'>When will SV Interface be really useful?</title><content type='html'>The idea of adding interface construct to SV language has proven to be a short sighted one with all its ugly ramifications for the RTL side (refer to good papers on this from Jonathan @Douolos if you need proof). Add to it the fact that not all RTL synthesis (+ FPGA), Linters, Equiv. checkers fully supporting it yet!&lt;br /&gt;&lt;br /&gt;Atleast on Verification front it has been proving good. However a significant drop has been the lack of proper debug support for it. I wish EDA takes debug seriously. It affects productivity so much that any language level gain we get is nullified with lack or weak support for these new constructs.&lt;br /&gt;&lt;br /&gt;For instance, look at SV Interface as a simple "wire bundle" - do we have debuggers handle it at that level of abstraction?&lt;br /&gt;&lt;br /&gt;Luckily Verdi seems to be doing it (leading the way as ever before), see:&lt;br /&gt;&lt;br /&gt;http://newsletter.springsoft.com/.docs/pg/10768&lt;br /&gt;&lt;br /&gt;Happy debugging!&lt;br /&gt;&lt;br /&gt;Ajeetha, CVC&lt;br /&gt;www.noveldv.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-8297200259700728155?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/8297200259700728155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=8297200259700728155' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8297200259700728155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/8297200259700728155'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/02/when-will-sv-interface-be-really-useful.html' title='When will SV Interface be really useful?'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-7449006133488563001</id><published>2009-02-05T02:19:00.001-08:00</published><updated>2009-02-05T02:19:07.481-08:00</updated><title type='text'>Excellent case study on automatic Coverage closure – nuSym &amp; QCOM</title><content type='html'>&lt;p&gt;An absolute *must read* for all those CDV/CRV fans (FWIW: CDV – Coverage Driven Verification, CRV – Constrained Random Verification):&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.deepchip.com/items/0479-05.html"&gt;http://www.deepchip.com/items/0479-05.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A live case study from Jim @QCOM. It has good details about the setup, work done and results. Looks like nuSym does deliver the kind of promises/claims it makes, good going indeed! Based on the last 2 such results (both @deepchip.com) I have few observations:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1. Both of them were using Vera against SystemVerilog. While the technology shall be language independent, it will be good to get a SV case study out as well&lt;/p&gt;  &lt;p&gt;2. I’m not very clear why and how nuSym can replace a core “simulator” – there are just lot more things in a “simulator” than just “coverage closure/intelligence” – what about debug, stability, memory footprint, gate level/ASIC sign off, dumping, Debussy like integration etc etc.? I fully appreciate the smartness in random generation – it is time EDA folks did that in so called modern “Verification platforms”. But I fail to see how a point tool like nuSym can “replace” a simulator, instead it shall augment it and bring the bigwig EDA vendor pricing down to a reasonable bargain :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;More notes as we read/re-read that article.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Anyway thanks Jim for sharing those wonderful details!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Cheers&lt;/p&gt;  &lt;p&gt;Srini&lt;/p&gt;  &lt;p&gt;CTO @CVC www.noveldv.com&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7449006133488563001?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7449006133488563001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7449006133488563001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7449006133488563001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7449006133488563001'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/02/excellent-case-study-on-automatic.html' title='Excellent case study on automatic Coverage closure – nuSym &amp;amp; QCOM'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-7900424684216826667</id><published>2009-02-03T10:30:00.001-08:00</published><updated>2009-02-03T10:30:38.886-08:00</updated><title type='text'>SVA challenges in creating, debugging and verifying assertions</title><content type='html'>&lt;p&gt;During our SVA class today there were frequent questions/comments on:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How to write assertions easily without becoming a language guru?&lt;/li&gt;    &lt;li&gt;How to ensure that the assertions we write are correct to start with? (Not syntax wise, rather functionally)&lt;/li&gt;    &lt;li&gt;How to visualize assertions/attempts/threads easily?&lt;/li&gt;    &lt;li&gt;Can we create assertions automatically from a timing diagram/dump file?&lt;/li&gt;    &lt;li&gt;How to debug assertions? What sort of automation is available?&lt;/li&gt;    &lt;li&gt;Given a dump file, can we explore a set of assertions about that design (without having to rerun the simulations)?&lt;/li&gt;    &lt;li&gt;Can we verify assertions in isolation – i.e. even before RTL and/or TB is ready?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Sure a boatload of questions, some answers are available some are not as of today. CVC will address some of these in a seminar in one of the coming weeks. (Stay tuned to this site for that news).&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Here are some answers:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: How to write assertions easily without becoming a language guru?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Leverage on assertion libraries such as OVL, VMM SVA lib, QVL, IAL etc.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Q: How to ensure that the assertions we write are correct to start with? (Not syntax wise, rather functionally)&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Not an easy thing, but again use pre-verified assertion lib elements (see prev Q)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Q: How to visualize assertions/attempts/threads easily?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Know your tools: Springsoft (formerly Novas) has a great product called Verdi that can present a “Temporal Flow View” and thread view. It is so amazing and intuitive that you will stay locked with it for long long time to come, really speaking. The idea of temporal annotation is not new, we spoke about it in our PSL book, see below a snapshot:&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/SYiNKJvc4bI/AAAAAAAAABE/UK4XwD-q_Go/s1600-h/image%5B7%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="316" alt="image" src="http://lh3.ggpht.com/_UsU6K1xQ-9k/SYiNL-DfJYI/AAAAAAAAABM/KC_2HMtWXoI/image_thumb%5B5%5D.png?imgmax=800" width="560" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The core idea is to annotate the values of signals at “appropriate time” and not just based on current time (the latter is what most of debuggers do, except for Verdi AFAIK). &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Consider a code like:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;mul_attempts : assert property (@posedge clk) start |=&amp;gt; s1;&lt;/p&gt;  &lt;p&gt;sequence s1;&lt;/p&gt;  &lt;p&gt;a ##1 b ##2 c;&lt;/p&gt;  &lt;p&gt;endsequence&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Below is a screenshot of how Verdi can display it.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_UsU6K1xQ-9k/SYiNOsI-h5I/AAAAAAAAABQ/SdQsrUvrvKg/s1600-h/image%5B17%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="411" alt="image" src="http://lh6.ggpht.com/_UsU6K1xQ-9k/SYiNSS_kKqI/AAAAAAAAABU/p-agCWhGZuI/image_thumb%5B11%5D.png?imgmax=800" width="651" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;2 key/novel ideas here to appreciate:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;1. The threads are nicely displayed with “horizontal lines” – this is exactly how our PPT in training explains threads BTW!&lt;/p&gt;  &lt;p&gt;2. The Temporal annotation of the sequence/property with values &amp;amp; time stamps. For the failure at 350 ns (assume 20 ns clock period), it shows value of: (a ##1 b ##2 c;)&lt;/p&gt;  &lt;ul&gt;   &lt;ul&gt;     &lt;li&gt; “c” @350ns&lt;/li&gt;      &lt;li&gt;“b” @310 ns &lt;/li&gt;      &lt;li&gt;“a” @290&lt;/li&gt;      &lt;li&gt;“start” @270ns&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;This is simply superb,&lt;strong&gt; hats off to Verdi!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Q: How to debug assertions? What sort of automation is available?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Refer to prev Q, almost every vendor provides some automation.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Q: Can we create assertions automatically from a timing diagram/dump file?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Yes, there have been few attempts at this. OneSpin claims this feature and also a new start-up &lt;a href="http://solidoaktech.com/TD2Assert.html"&gt;http://solidoaktech.com/TD2Assert.html&lt;/a&gt; We will investigate more and update here soon.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Q: Given a dump file, can we explore a set of assertions about that design (without having to rerun the simulations)?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;VCS can do this&lt;/li&gt;    &lt;li&gt;Springsoft/Verdi can do this&lt;/li&gt;    &lt;li&gt;Veritools can do this too!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Q: Can we verify assertions in isolation – i.e. even before RTL and/or TB is ready?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Strictly speaking this is ideal job for formal verification tools. We believe some tools such as Magellan (Synopsys) already do this. We will update more here, stay tuned (for the 3rd time in this post…)&lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7900424684216826667?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7900424684216826667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7900424684216826667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7900424684216826667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7900424684216826667'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/02/sva-challenges-in-creating-debugging.html' title='SVA challenges in creating, debugging and verifying assertions'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_UsU6K1xQ-9k/SYiNL-DfJYI/AAAAAAAAABM/KC_2HMtWXoI/s72-c/image_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1522548482184363878</id><published>2009-02-01T09:30:00.001-08:00</published><updated>2009-02-01T09:30:47.559-08:00</updated><title type='text'>Week long fest on Verification Using SystemVerilog - Bangalore</title><content type='html'>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Quick facts     &lt;br /&gt;&lt;/u&gt;When: Feb 2 to Feb 6 2009&lt;/p&gt;  &lt;p&gt;Cost: Rs. 5000 /- &lt;strong&gt;per day&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Contact: &lt;strong&gt;cvc.training @ gmail.com, +91-9916176014, +91-80-42134156&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;What’s SystemVerilog?     &lt;br /&gt;&lt;/u&gt;IEEE 1800, SystemVerilog is the de-facto language for Digital system Verification (and Design). Almost every ASIC team is either using it or plan on using it in the next project! It is a major extension to Verilog-2001, adding significant new features to Verilog for verification and design. Enhancements range from simple enhancements to existing constructs, addition of new language constructs to the inclusion of complete Object-Oriented paradigm features.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;What’s a week long fest?     &lt;br /&gt;&lt;/u&gt;A week long fest on SystemVerilog for Verification is aimed at introducing SystemVerilog in its full capacity covering basics, assertions, testbench features and ending with methodology. At the end of this fest the essential features of SystemVerilog shall be covered and will enable you develop complex testbenches using advanced techniques such as OOP, Constrained Random Verification and Coverage Driven Verification.&amp;#160; It is aimed at novice SV users and hence language is dealt with a target DUT in picture. The goal is to put SV to use for real life verification than understand the nitty gritties of the language from semantic/gotchas perspective.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Who should attend?&lt;/u&gt;    &lt;br /&gt;Practicing Design and Verification engineers with tight project schedules are ideal attendees. DV managers will equally find it useful as they can grasp the complexity of SV. Though it is strongly recommended to attend the whole 5 day fest, some may choose just the assertions/testbench/methodology and be present in those days accordingly. Please call use for more details.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Tools used&lt;/u&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Questa/Modelsim (Mentor)&lt;/li&gt;    &lt;li&gt;VCS (Synopsys)&lt;/li&gt;    &lt;li&gt;Riviera (Aldec) - optional&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;u&gt;What’s the cost?&lt;/u&gt;    &lt;br /&gt;The basic cost of this course is Rs. 5,000 /- + ST (12.36 %) &lt;strong&gt;per day per attendee.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Terms &amp;amp; Conditions     &lt;br /&gt;&lt;/u&gt;· In general we require that the fee is paid in 100% prior to the start of the training.    &lt;br /&gt;· For large corporate with more number of attendees to account for their internal process we do allow an exception to the above rule; however we charge an additional 25% of the training cost per attendee in such cases. In case the fee is paid after the training, the payment should be made within 1 week after the training is delivered. Any additional delay shall be charged at 10% every additional day.    &lt;br /&gt;· Any &amp;quot;offer&amp;quot; price mentioned in the course announcement is applicable only for individual attendees and not for corporate.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Cancellation Policy     &lt;br /&gt;&lt;/u&gt;Course tuition is fully refundable up to one week before the class starts. Cancellations within a week (2-7 days) of the class start date will incur a 50% cancellation fee. Those who cancel fewer than 2 days prior to the class will be billed for the full amount of the tuition. A no-show will be treated as cancellation and no refund shall be given. For genuine cases of absence, we can provide a training token that the trainee can avail in one of the future training classes subject to space availability.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;How do I register for a class?     &lt;br /&gt;&lt;/u&gt;To attend this class, confirm your registration by sending an email to cvc.training @ gmail.com. +91-9916176014, +91-80-42134156&lt;/p&gt;  &lt;p&gt;Please include the following details in your email:   &lt;br /&gt;Name:&lt;/p&gt;  &lt;p&gt;Company Name:&lt;/p&gt;  &lt;p&gt;Official Email ID:&lt;/p&gt;  &lt;p&gt;Contact Number:   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Trainer Profile&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;Srinivasan Venkataramanan, CTO &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.linkedin.com/in/svenka3" href="http://www.linkedin.com/in/svenka3"&gt;http://www.linkedin.com/in/svenka3&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Over 12 years of experience in VLSI Design &amp;amp; Verification&lt;/li&gt;    &lt;li&gt;Co-authored leading books in the Verification domain.&lt;/li&gt;    &lt;li&gt;Worked at &lt;strong&gt;Philips, Intel, Synopsys&lt;/strong&gt; in various capacities.&lt;/li&gt;    &lt;li&gt;Presented papers, tutorials in various conferences, publications and avenues.&lt;/li&gt;    &lt;li&gt;Conducted workshops and trainings on PSL, SVA, SV, VMM, E, ABV, CDV and OOP for Verification&lt;/li&gt;    &lt;li&gt;Holds M.Tech in VLSI Design from prestigious IIT, Delhi.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Ajeetha Kumari, CEO &amp;amp; MD   &lt;br /&gt;· Has 8+ years of experience in Verification    &lt;br /&gt;· Co-authored leading books in the Verification domain.    &lt;br /&gt;· Presented papers, tutorials in various conferences, publications andavenues.    &lt;br /&gt;· Worked with all leading edge simulators and formal verification(Model Checking) tools.    &lt;br /&gt;· Conducted workshops and trainings on PSL, SVA, SV, VMM, E, ABV, CDVand OOP for Verification    &lt;br /&gt;· Holds M.S.E.E. from prestigious IIT, Madras.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1522548482184363878?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1522548482184363878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1522548482184363878' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1522548482184363878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1522548482184363878'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2009/02/week-long-fest-on-verification-using.html' title='Week long fest on Verification Using SystemVerilog - Bangalore'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-5599303856576768081</id><published>2008-10-24T08:11:00.000-07:00</published><updated>2008-10-24T12:00:19.046-07:00</updated><title type='text'>SV care-abouts with disable iff construct</title><content type='html'>During our SystemVerilog Assertions handbook writing, we identified a set of guidelines for effective coding of complex, scalabe properties. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQHpJnBIWsI/AAAAAAAAAC4/deUNlUlz34s/s1600-h/SVA_Hbook.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 240px; height: 240px;" src="http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQHpJnBIWsI/AAAAAAAAAC4/deUNlUlz34s/s320/SVA_Hbook.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5260742191047269058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some of them have to deal with handling abort conditions during a property evaluation. In any practical protocol used to transfer data across, typical transfers occur over several clock cycles. There are situations where-in an abort condition triggers and ongoing evaluations needs to be aborted/terminated. IEEE 1800 SystemVerilog provides &lt;em&gt;disable iff&lt;/em&gt; construct to model this. A sample code:&lt;br /&gt;&lt;br /&gt;&lt;textarea name="code" class="SV" cols="60" rows="10"&gt;    &lt;br /&gt;property p_mstr_xfer;&lt;br /&gt; @(posedge clk) mstr_sel &amp; sl_rdy |=&gt; [1:20] mstr_start;&lt;br /&gt;endproperty : p_mstr_xfer&lt;br /&gt;a_p_mstr_xfer : assert property (disable iff (mstr_abort) p_mstr_xfer);&lt;br /&gt; &lt;br /&gt;&lt;/textarea&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now consider the case that the aborting condition is not a simple signal, rather a temporal sequence. One might think of adding a sequence inside &lt;em&gt; disable iff &lt;/em&gt; but that's illegal as per LRM. You typically get errors like:&lt;br /&gt;&lt;br /&gt;// Tool errors out&lt;br /&gt;// See: http://www.verificationguild.com/modules.php?name=Forums&amp;file=viewtopic&amp;t=2889&lt;br /&gt;&lt;br /&gt;Sequence or property instance used in a non-temporal context &lt;br /&gt;// &lt;br /&gt;&lt;br /&gt;So how do you model an abort sequence then? Consider a temporal behavior being verified as shown below:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQIL5OY9j9I/AAAAAAAAADA/rvKhwnXQJMU/s1600-h/sva_seq_1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 220px; height: 28px;" src="http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQIL5OY9j9I/AAAAAAAAADA/rvKhwnXQJMU/s320/sva_seq_1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5260780392465403858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now consider an abort sequence as in:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQIMLOrVVfI/AAAAAAAAADI/HL7RIR90E5w/s1600-h/sva_seq_2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 148px; height: 28px;" src="http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQIMLOrVVfI/AAAAAAAAADI/HL7RIR90E5w/s320/sva_seq_2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5260780701780104690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So how do you model this? SystemVerilog allows &lt;strong&gt; &lt;em&gt; sequence.triggered &lt;/em&gt; &lt;/strong&gt; inside disable iff. So you can do:&lt;br /&gt;&lt;br /&gt;    a_p_mstr_xfer : assert property (disable iff (mstr_abort_seq.triggered) p_mstr_xfer);&lt;br /&gt;&lt;br /&gt;Enjoy SystemVerilog!&lt;br /&gt;&lt;br /&gt;Ajeetha, CVC&lt;br /&gt;www.noveldv.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-5599303856576768081?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/5599303856576768081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=5599303856576768081' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5599303856576768081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/5599303856576768081'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/10/sv-care-abouts-with-disable-iff.html' title='SV care-abouts with disable iff construct'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Ft1CvYZpfUI/SQHpJnBIWsI/AAAAAAAAAC4/deUNlUlz34s/s72-c/SVA_Hbook.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-6706068459126182631</id><published>2008-07-22T21:43:00.000-07:00</published><updated>2008-07-22T21:47:10.938-07:00</updated><title type='text'>Free Seminar on "Quest for Scalable Verification =&gt; result:Questa + OVM "</title><content type='html'>&lt;p align="justify"&gt; &lt;span style="font-family:Times New Roman;font-size:100%;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: center;"&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold; font-family: georgia;"&gt;Free Seminar on "Quest for Scalable Verification =&gt; result:Questa + OVM "&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align: justify;"&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;   With ever growing complexities of ASICs  (and FPGAs), the task of verifying them has become a “never-say-done” activity.  Given the need for multiple levels of reuse in design and verification, a  stand-still approach to verification doesn’t hold good any longer. It requires  continuous inflow of new ideas, thoughts and technologies to address the complex  requirements. Hence the quest for a scalable verification has been a continuous  one. A series of innovative, path breaking technologies have emerged over the  last decade to address the verification challenges. Back in 2005 IEEE  standardized SystemVerilog as the standard HDVL to incorporate many of these  technologies with a Verilog flavor. Since then SV has been making its way into  being the most preferred language for ASIC Design and Verification across the  globe. However leading edge semiconductor houses have quickly realized that  using SystemVerilog on its own might lead to sub-optimal benefits especially in  Verification. This is due to the fact that the language is vast and not every  team has enough time to experiment with the right usage model for the task at  hand. This is the primary motivation behind adopting a Verification Methodology  - to get more productive in less time. &lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;      &lt;span style="font-family:Times New Roman;font-size:100%;"&gt;OVM as announced in  late 2007/early 2008 is proving to be a very good choice for building such  scalable verification infrastructure as it has all the classical methodology  features plus some of the most advanced, proven verification techniques such as  Virtual sequences, factories etc. The good thing about OVM is it is open, and  there is a vibrant ecosystem building around OVM. We at CVC have an everlasting  thirst to be on top of any new verification technology. As part of Mentor’s  Questa Vanguard program, CVC has had the privilege of experiencing the power of  OVM early with a robust, easy-to-use verification platform – Questa!&lt;/span&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="text-align: justify;"&gt;      &lt;span style="font-family:Times New Roman;font-size:100%;"&gt;As with any new  technology, the initial adoption requires some ramp up time. During our early  engagements with building OVM compliant verification environments we went  through a series of learning steps. As a result of it, we at CVC recently  composed a step-by-step OVM quick start guide that we share with our customers.  In this seminar, we share an early preview of this step-by-step guide with a  simple packet de-serializer design. We walk through the following  topics:&lt;/span&gt;&lt;/p&gt; &lt;ul type="disc"&gt;&lt;li&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;SystemVerilog features for  Verification&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;OVM introduction&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;DUV - Packet de-serializer &lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;Step-by-step OVM approach with code  snippets&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;Highlights of important &lt;b&gt;Questa&lt;/b&gt;  features that helped us in the process&lt;/span&gt;  &lt;/li&gt;&lt;li&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;Results, summary and looking  forward&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;To attend this seminar: Click on:  &lt;/span&gt;&lt;a title="CVC's OVM guide" href="mailto:cvc.training@gmail.com;?subject=CVC_OVM_Questa" target="_blank"&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;&lt;u&gt;Register for CVC OVM with Questa  seminar&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;. If the above link  doesn’t work, send an email to &lt;/span&gt;&lt;a href="mailto:cvc.training@gmail.com;?subject=CVC_OVM_Questa" target="_blank"&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;&lt;u&gt;mailto:cvc.training@gmail.com;&lt;wbr&gt;?subject=CVC_OVM_Questa&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt; Please include the following details in your  email. &lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;&lt;b&gt;Name: &lt;br /&gt;Company Name: &lt;br /&gt;Official  Email ID: &lt;br /&gt;Contact Number: &lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;Venue: CVC Bangalore Office (Ground  Floor)&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;Date: &lt;b&gt;2&lt;/b&gt;&lt;sup&gt;&lt;b&gt;nd&lt;/b&gt;&lt;/sup&gt;&lt;b&gt; Aug  2008, Saturday at 15.00 (3.00 PM)&lt;/b&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family:Times New Roman;font-size:100%;"&gt;Agenda: 1 hour presentation followed by a  quick demo + Q&amp;amp;A&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-6706068459126182631?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/6706068459126182631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=6706068459126182631' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6706068459126182631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/6706068459126182631'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/07/free-seminar-on-quest-for-scalable.html' title='Free Seminar on &quot;Quest for Scalable Verification =&gt; result:Questa + OVM &quot;'/><author><name>Bagath</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp1.blogger.com/_1TrqGydPGxw/SFmrWe0R05I/AAAAAAAAAAQ/Vc45WWpnEQk/S220/bagath.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7343793379868603098.post-1030943869216723313</id><published>2008-07-18T08:27:00.000-07:00</published><updated>2008-07-18T08:29:29.737-07:00</updated><title type='text'>Bangalore, July 23rd: Free seminar on: Advanced Verification with Aldec’s Riviera-PRO - with SystemVerilog</title><content type='html'>&lt;p class="MsoTitle"&gt;&lt;span style="font-size: 18pt;"&gt;Advanced Verification with Aldec’s Riviera-PRO &lt;span style=""&gt; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="text-align: justify; text-indent: 0.5in;"&gt;Given the ever growing complexities of SoC designs, the task of verifying these SoCs is herculean indeed! A series of innovative, path breaking technologies have emerged over the last decade to address the verification challenges. Industry is seeing a culmination of these techniques in the form of new languages such as IEEE 1850-PSL, IEEE 1666 SystemC etc. Every language provides a complementary strength, and addresses specific problem. Recently, many of these separate language capabilities have been integrated into single language and are available as IEEE-1800 standard SystemVerilog (SV). SV is poised to be the choice of DV engineers for many years to come due to the overwhelming support from all tools and the greater eco-system of trainings, books and papers. &lt;/p&gt;  &lt;p style="text-align: justify; text-indent: 0.5in;"&gt;Aldec has been the primary EDA provider for various ASIC and FPGA design tasks for 24 years by now. Riviera-PRO is a proven high-performance, mixed-language simulation engine with advanced debugging tools for ASIC and FPGA design teams. Riviera-PRO supports VHDL, Verilog®, SystemVerilog, SystemC, C/C++, PSL and OVA assertions from one common design environment. Riviera-PRO enables mixed RTL debugging, long regression testing, timing simulation and electronic system level (ESL) verification.&lt;/p&gt;  &lt;p style="text-align: justify; text-indent: 0.5in;"&gt;IEEE 1800, SystemVerilog is a major extension to Verilog-2001, adding significant new features to Verilog for verification, design and synthesis. Enhancements range from simple enhancements to existing constructs, addition of new language constructs to the inclusion of a&lt;br /&gt;complete Object-Oriented paradigm features. We at CVC have been on the top of leading edge verification technologies for the past half-a-decade. We recently setup an &lt;b style=""&gt;advanced verification&lt;/b&gt; environment for a memory controller using &lt;b style=""&gt;SystemVerilog&lt;/b&gt; and Aldec’s &lt;b style=""&gt;Riviera-PRO.&lt;/b&gt; In this seminar and share that anecdote with the attendees. We walk through the following topics:&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Advanced Verification techniques&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Verification Architecture for Memory controller&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Key SystemVerilog features used in this verification with code snippets&lt;/p&gt;  &lt;p style="margin-left: 0.5in; text-align: justify; text-indent: -0.25in;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Screenshots of important &lt;b style=""&gt;Riviera-PRO&lt;/b&gt; features that helped us in the process&lt;/p&gt;  &lt;p&gt;To attend this seminar, confirm your registration by sending an email to &lt;b style=""&gt;cvc.training@noveldv.com&lt;/b&gt; , &lt;b style=""&gt;cvc.training@gmail.com&lt;/b&gt; with subject as CVC_Verif_Aldec Seminar. Please include the following details in your email. &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p&gt;&lt;b style=""&gt;Name:&lt;br /&gt;Company Name:&lt;br /&gt;Official Email ID:&lt;br /&gt;Contact Number: &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Venue: CVC Office (Ground Floor)&lt;/p&gt;  &lt;p&gt;Date: &lt;span style=""&gt; &lt;/span&gt;&lt;b style=""&gt;23&lt;sup&gt;rd&lt;/sup&gt; July 2008 at 11.00 A.M&lt;/b&gt;&lt;br /&gt;Agenda: 1 hour presentation on Advanced Verification Using Aldec followed by demo&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1030943869216723313?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1030943869216723313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1030943869216723313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1030943869216723313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1030943869216723313'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/07/bangalore-july-23rd-free-seminar-on.html' title='Bangalore, July 23rd: Free seminar on: Advanced Verification with Aldec’s Riviera-PRO - with SystemVerilog'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-1918501387005785958</id><published>2008-06-30T21:17:00.000-07:00</published><updated>2008-06-30T21:22:40.730-07:00</updated><title type='text'>Fast-Track course on Verification Using SystemVerilog - Hyderabad</title><content type='html'>&lt;p&gt;&lt;a href="http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using.html"&gt;Fast-Track course on Verification Using SystemVerilog - Hyderabad&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;u&gt;Quick facts&lt;br /&gt;&lt;/u&gt;When: 12th (or) 13th July (Sat/Sun)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cost: Rs. 4000 /-&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Contact: &lt;strong&gt;cvc.training @ gmail.com, +91-9916176014, +91-80-41495572&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s SystemVerilog?&lt;br /&gt;&lt;/u&gt;IEEE 1800, SystemVerilog is the de-facto language for Digital system Verification (and Design). Almost every ASIC team is either using it or plan on using it in the next project! It is a major extension to Verilog-2001, adding significant new features to Verilog for verification and design. Enhancements range from simple enhancements to existing constructs, addition of new language constructs to the inclusion of complete Object-Oriented paradigm features.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s a Fast-Track course?&lt;br /&gt;&lt;/u&gt;A Fast-Track process is intended to cut short detailed explanations aimed at getting to the core of the subject ASAP. CVC’s Fast-Track courses are intended for engineers with little extra time to spare, yet would like to learn the new and advanced verification techniques. In 1-day we cover the essential sub-set of SystemVerilog and enable to you develop complex testbenches using advanced techniques such as OOP, Constrained Random Verification and Coverage Driven Verification. As it is really time bound we will not delve into rationales on many aspects, instead will focus on getting you hands-on with the language.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Who should attend?&lt;/u&gt;&lt;br /&gt;Practicing Design and Verification engineers with tight project schedules are ideal attendees. DV managers will equally find it useful as they can grasp the complexity of SV in 1-day without bothering about the nitty-gritty in great detail.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s the cost?&lt;/u&gt;&lt;br /&gt;The basic cost of this course is Rs. 4,000 /- + ST (12.36 %) per attendee.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Terms &amp;amp; Conditions&lt;br /&gt;&lt;/u&gt;· In general we require that the fee is paid in 100% prior to the start of the training.&lt;br /&gt;· For large corporate with more number of attendees to account for their internal process we do allow an exception to the above rule; however we charge an additional 25% of the training cost per attendee in such cases. In case the fee is paid after the training, the payment should be made within 1 week after the training is delivered. Any additional delay shall be charged at 10% every additional day.&lt;br /&gt;· Any "offer" price mentioned in the course announcement is applicable only for individual attendees and not for corporate.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;u&gt;Cancellation Policy&lt;br /&gt;&lt;/u&gt;Course tuition is fully refundable up to one week before the class starts. Cancellations within a week (2-7 days) of the class start date will incur a 50% cancellation fee. Those who cancel fewer than 2 days prior to the class will be billed for the full amount of the tuition. A no-show will be treated as cancellation and no refund shall be given. For genuine cases of absence, we can provide a training token that the trainee can avail in one of the future training classes subject to space availability.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;How do I register for a class?&lt;br /&gt;&lt;/u&gt;To attend this class, confirm your registration by sending an email to cvc.training @ gmail.com. +91-9916176014, +91-80-41495572&lt;br /&gt;Please include the following details in your email:&lt;br /&gt;Name:&lt;/p&gt;&lt;p&gt;Company Name:&lt;/p&gt;&lt;p&gt;Official Email ID:&lt;/p&gt;&lt;p&gt;Contact Number:&lt;br /&gt;Preferred Date: 12th (or) 13th July (Saturday or Sunday)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Are there extended versions of these courses?&lt;br /&gt;&lt;/u&gt;Of-course yes! Our flagship trainings on Verification Using SystemVerilog are originally designed for 3 variants:&lt;br /&gt;· 10-day class with extensive labs and a complete project (suitable for students, jobseekers)&lt;br /&gt;· 3-day class and&lt;br /&gt;· 2-day class&lt;br /&gt;So, depending on how much time you can invest, you pick the one appropriate to you. Needless to say – the more time you invest, the better you master this amazingly powerful language.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Trainer Profile&lt;/u&gt;&lt;/p&gt;Ajeetha Kumari, Design Verification Consultant&lt;br /&gt;· Has 8+ years of experience in Verification&lt;br /&gt;· Co-authored leading books in the Verification domain.&lt;br /&gt;· Presented papers, tutorials in various conferences, publications andavenues.&lt;br /&gt;· Worked with all leading edge simulators and formal verification(Model Checking) tools.&lt;br /&gt;· Conducted workshops and trainings on PSL, SVA, SV, VMM, E, ABV, CDVand OOP for Verification&lt;br /&gt;· Holds M.S.E.E. from prestigious IIT, Madras.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1918501387005785958?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1918501387005785958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1918501387005785958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1918501387005785958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1918501387005785958'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using_30.html' title='Fast-Track course on Verification Using SystemVerilog - Hyderabad'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-338528672246634391</id><published>2008-06-23T00:51:00.000-07:00</published><updated>2008-06-30T21:50:59.519-07:00</updated><title type='text'>Fast-Track course on Verification Using SystemVerilog - Hyderabad</title><content type='html'>&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using.html"&gt;Fast-Track course on Verification Using SystemVerilog - Hyderabad&lt;br /&gt;&lt;/a&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;u&gt;Quick facts&lt;br /&gt;&lt;/u&gt;When: 13th /14th July (Sun/Mon)&lt;br /&gt;Where: Hyderabad&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Cost: Rs. 4000 /-&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Contact: &lt;strong&gt;cvc.training @ gmail.com, +91-9916176014, +91-80-41495572&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s SystemVerilog?&lt;br /&gt;&lt;/u&gt;IEEE 1800, SystemVerilog is the de-facto language for Digital system Verification (and Design). Almost every ASIC team is either using it or plan on using it in the next project! It is a major extension to Verilog-2001, adding significant new features to Verilog for verification and design. Enhancements range from simple enhancements to existing constructs, addition of new language constructs to the inclusion of complete Object-Oriented paradigm features.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s a Fast-Track course?&lt;br /&gt;&lt;/u&gt;A Fast-Track process is intended to cut short detailed explanations aimed at getting to the core of the subject ASAP. CVC’s Fast-Track courses are intended for engineers with little extra time to spare, yet would like to learn the new and advanced verification techniques. In 1-day we cover the essential sub-set of SystemVerilog and enable to you develop complex testbenches using advanced techniques such as OOP, Constrained Random Verification and Coverage Driven Verification. As it is really time bound we will not delve into rationales on many aspects, instead will focus on getting you hands-on with the language.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Who should attend?&lt;/u&gt;&lt;br /&gt;Practicing Design and Verification engineers with tight project schedules are ideal attendees. DV managers will equally find it useful as they can grasp the complexity of SV in 1-day without bothering about the nitty-gritty in great detail.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s the cost?&lt;/u&gt;&lt;br /&gt;The basic cost of this course is Rs. 4,000 /- + ST (12.36 %) per attendee.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Terms &amp;amp; Conditions&lt;br /&gt;&lt;/u&gt;· In general we require that the fee is paid in 100% prior to the start of the training.&lt;br /&gt;· For large corporate with more number of attendees to account for their internal process we do allow an exception to the above rule; however we charge an additional 25% of the training cost per attendee in such cases. In case the fee is paid after the training, the payment should be made within 1 week after the training is delivered. Any additional delay shall be charged at 10% every additional day.&lt;br /&gt;· Any "offer" price mentioned in the course announcement is applicable only for individual attendees and not for corporate.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;u&gt;Cancellation Policy&lt;br /&gt;&lt;/u&gt;Course tuition is fully refundable up to one week before the class starts. Cancellations within a week (2-7 days) of the class start date will incur a 50% cancellation fee. Those who cancel fewer than 2 days prior to the class will be billed for the full amount of the tuition. A no-show will be treated as cancellation and no refund shall be given. For genuine cases of absence, we can provide a training token that the trainee can avail in one of the future training classes subject to space availability.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;How do I register for a class?&lt;br /&gt;&lt;/u&gt;To attend this class, confirm your registration by sending an email to cvc.training@gmail.com. +91-9916176014, +91-80-41495572&lt;br /&gt;Please include the following details in your email:&lt;br /&gt;Name:&lt;/p&gt;&lt;p&gt;Company Name:&lt;/p&gt;&lt;p&gt;Official Email ID:&lt;/p&gt;&lt;p&gt;Contact Number:&lt;br /&gt;Preferred Date: 13th or 14th July (Sunday or Monday)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Are there extended versions of these courses?&lt;br /&gt;&lt;/u&gt;Of-course yes! Our flagship trainings on Verification Using SystemVerilog are originally designed for 3 variants:&lt;br /&gt;· 10-day class with extensive labs and a complete project (suitable for students, jobseekers)&lt;br /&gt;· 3-day class and&lt;br /&gt;· 2-day class&lt;br /&gt;So, depending on how much time you can invest, you pick the one appropriate to you. Needless to say – the more time you invest, the better you master this amazingly powerful language.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Trainer Profile&lt;/u&gt;&lt;/p&gt;Ajeetha Kumari, Design Verification Consultant&lt;br /&gt;· Has 8+ years of experience in Verification&lt;br /&gt;· Co-authored leading books in the Verification domain.&lt;br /&gt;· Presented papers, tutorials in various conferences, publications andavenues.&lt;br /&gt;· Worked with all leading edge simulators and formal verification(Model Checking) tools.&lt;br /&gt;· Conducted workshops and trainings on PSL, SVA, SV, VMM, E, ABV, CDVand OOP for Verification&lt;br /&gt;· Holds M.S.E.E. from prestigious IIT, Madras.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;Other Trainings:&lt;/u&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;ul&gt;&lt;li&gt;&lt;u&gt;Comprehensive Functional Verification (CFV)&lt;/u&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;           This course is a jump start, meant for entry level which is unique of its kind and it covers the aspects of Verification in one day. It provides you the best platform to start a career in Functional Verification. By attending this course you will understand the nuances of FV.&lt;br /&gt;&lt;/div&gt;&lt;u&gt;&lt;br /&gt;Languages&lt;/u&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IEEE 1800 SystemVerilog Design (SVD)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;IEEE 1800 SystemVerilog Assertions (SVA)&lt;/li&gt;&lt;li&gt;IEEE 1800 SystemVerilog for Verification (SVTB)&lt;/li&gt;&lt;li&gt;IEEE 1850 Property Specification Language (PSL)&lt;/li&gt;&lt;li&gt;IEEE 1647, e-language&lt;/li&gt;&lt;li&gt;IEEE 1364 Verilog&lt;/li&gt;&lt;li&gt;IEEE 1076 VHDL&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;u&gt; Methodology&lt;br /&gt;&lt;/u&gt;&lt;ul&gt;&lt;li&gt;IEEE 1800 - SV Based Verification Methodology Manual (VMM)&lt;/li&gt;&lt;li&gt;IEEE 1800 - SV Based Open Verification Methodology (OVM)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Assertion Based Verification (ABV)&lt;/li&gt;&lt;li&gt;Coverage Driven Verification (CDV)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;u&gt;Workshops&lt;br /&gt;&lt;/u&gt;&lt;ul&gt;&lt;li&gt;Gate Level Simulation&lt;/li&gt;&lt;li&gt;ABV beyond RTL&lt;/li&gt;&lt;li&gt;OOP Basics&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;u&gt;&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-338528672246634391?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/338528672246634391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=338528672246634391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/338528672246634391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/338528672246634391'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using_8422.html' title='Fast-Track course on Verification Using SystemVerilog - Hyderabad'/><author><name>CVC www.cvcblr.com</name><uri>http://www.blogger.com/profile/11394051247776533112</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-7343793379868603098.post-7897629627713048433</id><published>2008-06-15T06:36:00.000-07:00</published><updated>2008-06-16T21:32:15.494-07:00</updated><title type='text'>Fast-Track course on Verification Using SystemVerilog - Bangalore</title><content type='html'>&lt;p&gt;&lt;a href="http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using.html"&gt;Fast-Track course on Verification Using SystemVerilog - Bangalore&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;u&gt;Quick facts&lt;br /&gt;&lt;/u&gt;When: 19th /20th June (Thurs/Fri)&lt;br /&gt;Where: Bangalore, CVC Office (Ground Floor) (&lt;a href="http://www.noveldv.com/contactus.html"&gt;http://www.noveldv.com/contactus.html&lt;/a&gt;)&lt;/p&gt;&lt;p&gt;Cost: Rs. 4000 /-&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Contact: &lt;strong&gt;cvc.training @ gmail.com, +91-9916176014, +91-80-41495572&lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;&lt;u&gt;&lt;/u&gt;&lt;p&gt;&lt;u&gt;What’s SystemVerilog?&lt;br /&gt;&lt;/u&gt;IEEE 1800, SystemVerilog is the de-facto language for Digital system Verification (and Design). Almost every ASIC team is either using it or plan on using it in the next project! It is a major extension to Verilog-2001, adding significant new features to Verilog for verification and design. Enhancements range from simple enhancements to existing constructs, addition of new language constructs to the inclusion of complete Object-Oriented paradigm features.&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s a Fast-Track course?&lt;br /&gt;&lt;/u&gt;A Fast-Track process is intended to cut short detailed explanations aimed at getting to the core of the subject ASAP. CVC’s Fast-Track courses are intended for engineers with little extra time to spare, yet would like to learn the new and advanced verification techniques. In 1-day we cover the essential sub-set of SystemVerilog and enable to you develop complex testbenches using advanced techniques such as OOP, Constrained Random Verification and Coverage Driven Verification. As it is really time bound we will not delve into rationales on many aspects, instead will focus on getting you hands-on with the language.&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Who should attend?&lt;/u&gt;&lt;br /&gt;Practicing Design and Verification engineers with tight project schedules are ideal attendees. DV managers will equally find it useful as they can grasp the complexity of SV in 1-day without bothering about the nitty-gritty in great detail.&lt;br /&gt;&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;What’s the cost?&lt;/u&gt;&lt;br /&gt;The basic cost of this course is Rs. 4,000 /- + ST (12.36 %) per attendee.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Terms &amp;amp; Conditions&lt;br /&gt;&lt;/u&gt;· In general we require that the fee is paid in 100% prior to the start of the training.&lt;br /&gt;· For large corporate with more number of attendees to account for their internal process we do allow an exception to the above rule; however we charge an additional 25% of the training cost per attendee in such cases. In case the fee is paid after the training, the payment should be made within 1 week after the training is delivered. Any additional delay shall be charged at 10% every additional day.&lt;br /&gt;· Any "offer" price mentioned in the course announcement is applicable only for individual attendees and not for corporate.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;u&gt;Cancellation Policy&lt;br /&gt;&lt;/u&gt;Course tuition is fully refundable up to one week before the class starts. Cancellations within a week (2-7 days) of the class start date will incur a 50% cancellation fee. Those who cancel fewer than 2 days prior to the class will be billed for the full amount of the tuition. A no-show will be treated as cancellation and no refund shall be given. For genuine cases of absence, we can provide a training token that the trainee can avail in one of the future training classes subject to space availability.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Venue details&lt;br /&gt;&lt;/u&gt;CVC Office (Ground Floor) (&lt;a href="http://www.noveldv.com/contactus.html"&gt;http://www.noveldv.com/contactus.html&lt;/a&gt;)&lt;br /&gt;Date: 2 potential dates:&lt;br /&gt;Friday 20th June at 8.30 AM&lt;br /&gt;Saturday 21st June at 8.30 AM&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;How do I register for a class?&lt;br /&gt;&lt;/u&gt;To attend this class, confirm your registration by sending an email to cvc.training @ gmail.com. +91-9916176014, +91-80-41495572&lt;br /&gt;Please include the following details in your email:&lt;br /&gt;Name:&lt;/p&gt;&lt;p&gt;Company Name:&lt;/p&gt;&lt;p&gt;Official Email ID:&lt;/p&gt;&lt;p&gt;Contact Number:&lt;br /&gt;Preferred Date: 20th or 21st June (Friday or Saturday)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Are there extended versions of these courses?&lt;br /&gt;&lt;/u&gt;Of-course yes! Our flagship trainings on Verification Using SystemVerilog are originally designed for 3 variants:&lt;br /&gt;· 10-day class with extensive labs and a complete project (suitable for students, jobseekers)&lt;br /&gt;· 3-day class and&lt;br /&gt;· 2-day class&lt;br /&gt;So, depending on how much time you can invest, you pick the one appropriate to you. Needless to say – the more time you invest, the better you master this amazingly powerful language.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;Trainer Profile&lt;/u&gt;&lt;/p&gt;&lt;p&gt;Ajeetha Kumari, Design Verification Consultant&lt;br /&gt;· Has 8+ years of experience in Verification&lt;br /&gt;· Co-authored leading books in the Verification domain.&lt;br /&gt;· Presented papers, tutorials in various conferences, publications andavenues.&lt;br /&gt;· Worked with all leading edge simulators and formal verification(Model Checking) tools.&lt;br /&gt;· Conducted workshops and trainings on PSL, SVA, SV, VMM, E, ABV, CDVand OOP for Verification&lt;br /&gt;· Holds M.S.E.E. from prestigious IIT, Madras.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-7897629627713048433?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/7897629627713048433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=7897629627713048433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7897629627713048433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/7897629627713048433'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using_15.html' title='Fast-Track course on Verification Using SystemVerilog - Bangalore'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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-7343793379868603098.post-554790831232949980</id><published>2008-06-01T08:02:00.000-07:00</published><updated>2008-06-01T08:10:03.129-07:00</updated><title type='text'>Fast-Track course on Verification Using SystemVerilog - Bangalore</title><content type='html'>&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Fast-Track course on Verification Using SystemVerilog - Bangalore&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Quick facts&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;When: &lt;b&gt;6&lt;sup&gt;th&lt;/sup&gt; or 7&lt;sup&gt;th&lt;/sup&gt; June (Fri/Sat)&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Where: Bangalore, CVC Office (Ground Floor) (&lt;a href="http://www.noveldv.com/contactus.html"&gt;&lt;span style="color: blue;"&gt;http://www.noveldv.com/contactus.html&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;Cost: &lt;b&gt;Rs. 2500 /-&lt;/b&gt; onwards (See below for details)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Contact: cvc.training @ gmail.com, +91-9916176014, +91-80-41495572&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;What’s SystemVerilog?&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;IEEE 1800, SystemVerilog is the de-facto language for Digital system Verification (and Design). Almost &lt;b&gt;every ASIC team&lt;/b&gt; is either using it or plan on using it in the next project! It is a major extension to Verilog-2001, adding significant new features to Verilog for verification and design. Enhancements range from simple enhancements to existing constructs, addition of new language constructs to the inclusion of complete Object-Oriented paradigm features. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;What’s a Fast-Track course? &lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;A Fast-Track process is intended to cut short detailed explanations aimed at getting to the core of the subject ASAP. CVC’s Fast-Track courses are intended for engineers with little extra time to spare, yet would like to learn the new and advanced verification techniques. In 1-day we cover the essential sub-set of SystemVerilog and enable to you develop complex testbenches using advanced techniques such as OOP, Constrained Random Verification and Coverage Driven Verification. As it is really time bound we will not delve into rationales on many aspects, instead will focus on getting you hands-on with the language. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Who should attend?&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Practicing &lt;b&gt;Design and Verification engineers&lt;/b&gt; with tight project schedules are ideal attendees. &lt;b&gt;DV managers&lt;/b&gt; will equally find it useful as they can grasp the complexity of SV in 1-day without bothering about the nitty-gritty in great detail. &lt;br /&gt; &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;What’s the cost?&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;That is a no-brainer question, isn’t it? We understand and appreciate the cost conscious landscape of our region. That’s why we have innovative cost structure as shown below.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;The basic cost of this course is &lt;b&gt;Rs. 4,000&lt;/b&gt; /- per attendee. As a limited period offer, we are glad to announce &lt;b&gt;“The more-the-merrier”&lt;/b&gt; scheme. If you pool in more folks you get more discounts. For every other attendee that you bring along, you get Rs. 500 /- discount – for &lt;b&gt;BOTH&lt;/b&gt; the attendees (subjected to a minimum of &lt;b&gt;Rs. 2500&lt;/b&gt; /-), can it get better than this &lt;/span&gt;&lt;span style="font-size: 12pt; font-family: Wingdings;"&gt;:-) &lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; Here is a simple table showing the offer in numeric:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;No. of attendees    | Cost per attendee | Your savings (total)&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;         2                                3500                                1000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;         3                                3000                                3000&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;         4 (and above)       2500                                6000+&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Venue details&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;CVC Office (Ground Floor) (&lt;a href="http://www.noveldv.com/contactus.html"&gt;&lt;span style="color: blue;"&gt;http://www.noveldv.com/contactus.html&lt;/span&gt;&lt;/a&gt;)&lt;br /&gt;Date: 2 potential dates:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;            Friday      6&lt;sup&gt;th&lt;/sup&gt; June at 8.30 AM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;            Saturday 7&lt;sup&gt;th&lt;/sup&gt; June at 8.30 AM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;How do I register for a class?&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;To attend this class, confirm your registration by sending an email to &lt;b&gt;cvc.training @ gmail.com. +91-9916176014, +91-80-41495572&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Please include the following details in your email:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;Name:&lt;br /&gt;Company Name:&lt;br /&gt;Official Email ID:&lt;br /&gt;Contact Number:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Preferred Date:  6&lt;sup&gt;th&lt;/sup&gt; or 7&lt;sup&gt;th&lt;/sup&gt; June (Friday or Saturday)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;Are there extended versions of these courses?&lt;/span&gt;&lt;/u&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;Of-course yes! Our flagship trainings on &lt;b&gt;Verification Using SystemVerilog&lt;/b&gt; are originally designed for 3 variants:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: Symbol;"&gt;·&lt;/span&gt;&lt;span style="font-size: 7pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;              &lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;A 10-day class with extensive      labs and a complete project (suitable for students, jobseekers)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: Symbol;"&gt;·&lt;/span&gt;&lt;span style="font-size: 7pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;              &lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;A 3-day class and&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: Symbol;"&gt;·&lt;/span&gt;&lt;span style="font-size: 7pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;              &lt;/span&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;A 2-day class&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;So, depending on how much time you can invest, you pick the one appropriate to you. Needless to say – the more time you invest, the better you master this amazingly powerful language.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style=""&gt;&lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;"&gt;&lt;br /&gt;&lt;u&gt;Trainer Profile&lt;br /&gt;&lt;/u&gt;Ajeetha Kumari, Design Verification Consultant&lt;br /&gt;* Has 8+ years of experience in Verification&lt;br /&gt;* Co-authored leading books in the Verification domain.&lt;br /&gt;* Presented papers, tutorials in various conferences, publications and&lt;br /&gt;avenues.&lt;br /&gt;* Worked with all leading edge simulators and formal verification&lt;br /&gt;(Model Checking) tools.&lt;br /&gt;* Conducted workshops and trainings on PSL, SVA, SV, VMM, E, ABV, CDV&lt;br /&gt;and OOP for Verification&lt;br /&gt;* Holds M.S.E.E. from prestigious IIT, Madras.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-554790831232949980?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/554790831232949980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=554790831232949980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/554790831232949980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/554790831232949980'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/06/fast-track-course-on-verification-using.html' title='Fast-Track course on Verification Using SystemVerilog - Bangalore'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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-7343793379868603098.post-1140570651762152600</id><published>2008-05-28T08:04:00.000-07:00</published><updated>2008-05-28T08:06:47.744-07:00</updated><title type='text'>VMM is for everyone now!</title><content type='html'>One of the most awaited good news for VLSI Verification community is finally here. VMM is free, open and freely downloadable, Voila!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://www.vmmcentral.org/home.html&lt;br /&gt;&lt;br /&gt;Enjoy VMMing!&lt;br /&gt;&lt;br /&gt;Ajeetha, CVC&lt;br /&gt;www.noveldv.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7343793379868603098-1140570651762152600?l=sv-verif.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sv-verif.blogspot.com/feeds/1140570651762152600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7343793379868603098&amp;postID=1140570651762152600' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1140570651762152600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7343793379868603098/posts/default/1140570651762152600'/><link rel='alternate' type='text/html' href='http://sv-verif.blogspot.com/2008/05/vmm-is-for-everyone-now.html' title='VMM is for everyone now!'/><author><name>Ajeetha Kumari</name><uri>http://www.blogger.com/profile/10099738793915191587</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>
