Tuesday, June 29, 2010

Dealing with SystemVerilog constraint solver failures – the Questa way

… Tuesday Technote on Solver Debug, Jijo PS, Srini TeamCVC www.cvcblr.com

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?).

 

# Number of fware xactn 19
# ** Fatal: [Time 0 ns] Test cfg Solver failure
#    Time: 0 ns  Scope: san_rt_top.san_rt_test_pgm_0.b1.lp.a1 File: ../
rt_test_03.sv Line: 83
# ** Note: Data structure takes 9699728 bytes of memory
#          Process time 0.03 seconds
#          $finish    : ../test/san_rt_test_03.sv(83)
#    Time: 0 ns  Iteration: 2  Instance: /san_rt_top/san_rt_test_pgm_0

 

So what next? Consult our friendly Questa SolveDebug: add vsim –solvedebug and bang you go…

It does 2 things:

  1. It prints the minimal set of conflicting constraints,
  2. Creates a stand-alone test to reproduce the failure in a crisp testcase. See below:

 

Minimal set of constraints from user-code

# ../test/san_rt_test_03.sv(82): randomize() failed due to conflicts between the following constraints:
#     ../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 > 32'h00001360); }
#     ../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 < 32'h00000032); }
# ** Fatal: [Time 0 ns] Test cfg Solver failure
#    Time: 0 ns  Scope: san_rt_top.san_rt_test_pgm_0.b1.lp.a1 File: ../test/san_rt_test_03.sv Line: 83
# ** Note: Data structure takes 9699728 bytes of memory
#          Process time 0.02 seconds
#          $finish    : ../test/san_rt_test_03.sv(83

Testcase being created by Questa (system verilog code, can be run standalone)

 

# ../test/san_rt_test_03.sv(82): randomize() failed; generating simplified testcase scenario...
# ----- begin testcase -----
# module top;
#
# class TFoo;
#     rand bit [15:0] \san_rt_test_cfg_0.no_of_fware_xactions ;
#     constraint all_constraints {
#         // ../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 < 32'h00000032); }
#         (\san_rt_test_cfg_0.no_of_fware_xactions  < 32'h00000032);
#         // ../test/san_rt_test_03.sv(62): san_rt_test_cfg_0.small_tst_cst { (san_rt_test_cfg_0.no_of_fware_xactions < 32'h000013ec); }
#         (\san_rt_test_cfg_0.no_of_fware_xactions  < 32'h000013ec);
#         // ../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 > 32'h00001360); }
#         (\san_rt_test_cfg_0.no_of_fware_xactions  > 32'h00001360);
#     }
# endclass
#
# TFoo f = new;
# int status;
#
# initial begin
#     status = f.randomize();
#     $display(status);
# end
#
# endmodule
# ----- end testcase -----
#

 

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!

 

Hats off Questa – wish it prints the vsim –solvefaildebug automatically on such failures to log file.

TeamCVC

www.cvcblr.com/blog

Friday, June 25, 2010

ISA 2009-11 India Semiconductor Market Update – useful for many

Recently Dr. M M Pallam Raju, Honorable Minister of State for Defense, Government of India,

released ISA-Frost & Sullivan 2009-11 India Semiconductor Market Update. Here are excerpts from his speech during this release:

 

To face tomorrow, the Indian semiconductor industry has to rise to meet the challenges from other Asian countries and aid in developing the ecosystem.

China and Vietnam are emerging as strong competitors in this industry. The Indian industry will have to address certain vital links in its ecosystem,

such as systems engineering, venture capital and IP protection, to become more robust.

It will also have to take measures to build up a skilled and technically trained, design-aware workforce for the future.

 

CVC is well poised to address this very challenge – both in terms of creating the workforce and delivering top-notch services

to the industry. Look at our EIC: http://www.slideshare.net/svenka3/anubhuti-engineering-incubation-centre-eic 

And all our other trainings focused on experienced folks at www.cvcblr.com/trainings

 

Not convinced yet? Give us a call +91-9620209226 or drop in at CVC @ HSR Layout, Bangalore, India, www.cvcblr.com/about_us see you here soon :-)

Monday, June 7, 2010

Pre-DAC round-up of Verification technologies

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 (www.cvcblr.com) to share our thoughts on fresh ideas/technologies on Verification that are being demo-ed at DAC-2010 (www.dac.com). 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 @ www.cvcblr.com/blog – we would love to hear them!

NextOP

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: http://www.cvcblr.com/blog/?p=147

Ben Cohen (www.systemverilog.us) recently had some good discussions about this technology based on our DVCon-2010 paper on SVA paper (contact us to get a copy: http://www.cvcblr.com/about_us) It did find some interesting bug via simulation run –> property extraction –> coverage hole –> bug! It is a little long route, but however it is an interesting approach. See details at:http://www.cvcblr.com/blog/?p=163

Make sure you visit their booth @DAC (NextOp exhibits at Booth #1442) to learn more. In a nutshell their technology is about analyzing existing RTL & 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!

Vennsa’s OnPoint

If you ask anyone in EDA/Semiconductor industry about the “elephant in the room” problem in front-end VLSI, the answer is loud-n-clear 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 http://www.vennsa.com/ ):

onpoint_screenshot

This actually fits very nicely with our Unique workshop on “Debug” (see: www.cvcblr.com/trainings) – 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!

Look at some of our earlier Tweet’s  on OnPoint at www.twitter.com/sricvc to get some more info.

I’m sure we will hear more about it in coming weeks/months.

Jasper’s ActiveDesign

One of the most charismatic EDA tools that I’ve come across with so far – that’s if they really deliver on being the “Twitter of RTL Design” expectation that has been set of this. A picture is worth more than…here you go:

image

Read more about it at: http://www.cvcblr.com/blog/?p=144

Zocalo-tech

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”,

……”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”. ……

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 (http://www.cvcblr.com/trng_profiles/CVC_LG_SVA_profile.pdf) 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: http://forum.wordreference.com/showthread.php?t=359560) 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.

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

The all new UVM (a la erstwhile OVM)

Sure you have heard of that – UVM, a sincere effort from Accellera to arrive at a “Universal” methodology from those seemingly competing OVM & 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:

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 "UVM: Charting the New Territory." This event continues the celebration of Accellera's 10 years of standards excellence.

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: http://www.aldec.com/registration/dac

Agnisys's OVM/UVM management kits

A young EDA company based in Noida, India with solid EDA background (Anupam). They have iDesignSpec & 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.

Sapient-Inc's IC management

Another  young EDA company, according to the founder - Subash, a long time chip designer/manager:

I started Sapient-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.

Breker’s Trek

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: http://www.cvcblr.com/blog/?p=148 for more details.

RealIntent’s Ascent

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.

SpringSoft

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”.

Sunday, May 30, 2010

Job openings for high-end Verification professionals

Jabeena from Mindsoft consulting posted this elsewhere, good luck!. If you need to brush up/upgrade your skills on any of those topics (including Specman), contact CVC www.cvcblr.com and/or take a look at our Trainings www.cvcblr.com/trainings



Large MNC Bangalore is looking for High end verification engineers – (Specman/System verilog based ASIC verification) for their over seas projects

If interested send your profile to jabeena@mindsoftconsulting.com/Mobile: 9538716955




Monday, May 17, 2010

Welcome the next generation Verification Methodology – UVM

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 Accellera site.

CVC (www.cvcblr.com) 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).

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

Talk to you soon on UVM!

CVC Team

www.cvcblr.com

Tuesday, May 4, 2010

CVC's EIC is better than a foreign Post-grad degree - according to attendees

Great news indeed! Praveen, one of our recent EIC attendees told us this:



I have given TOFEL & GRE and was originally planning to go abroad to do a Masters in VLSI to gain quality exposure. But having been with CVC for a while I have realized the exposure at CVC is much more than what some of my friends abroad have been experiencing. The atmosphere is terrific, they have world class tools, infrastructure and BEST trainers. Within few weeks we are able to transform industry standard specifications such as I2S, APB, AHB etc. to working RTL, TB code making many of my dreams come live!


Our EIC contents details as PDF at:
http://www.cvcblr.com/trng_profiles/CVC_EIC_profile.pdf .

Call us via 9620209226 for more information!

Wipro is hiring SystemVerilog/Specman engineers

Good news to those HVL savy folks. Wipro Bangalore is hiring good Verification engineers. We heard from 2 experienced engineers who recently attended our SystemVerilog trainings http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf (4-weeks package) been selected for the same and they joined this team. So if you are looking for a good career in ASIC Verification make sure you tidy up things, get your SystemVerilog and/or Specman skills honed up and be ready for interviews! Good luck!

If interested, send us CV via career@cvcblr.com, if it meets requirements we will forward to appropriate hiring managers.

Friday, April 30, 2010

Learn Linting well, grab RTL Designer job @QCOM Bangalore

Qualcom RTL Designer position
At CVC (www.cvcblr.com) we deliver high-end trainings to get recession affected engineers to get back to quality jobs. FOr instance if you are looking for a RTL design position you maybe interested in below job posting. Noite that LINT/CDC etc. is a MUST for such position nowadays. We at CVC deliver such trainings. Call us via 9620209226 for next LINT class from CVC. Also we deliver CDC trainings/project experience on need basis.

Job Function - Digital design and development (RTL)
- Ability to design and implement moderately defined tasks independently
- Unit level verification to meet various quality guidelines
- Lint, CDC, Synthesis, STA
Skills/Experience - 3 to 5 years of solid experience in digital front end design
- Expertise in Verilog
- Understanding of various bus protocols AHB, AXI will be added advantage
- Good documentation skills
- Previous experience with baseband MODEM design is a plus
- Ability to create unit level test plan
- Expertise in Spyglass Lint/CDC checks and waiver creation
- Expertise in Synopsys Design Compiler synthesis
- Expertise in Formal verification with Cadence LEC
- Expertise in Perl, TCL, Python languages is a big plus
- Understanding of RTL to GDS flow is desirable
- Working knowledge on timing closure is a plus

SystemVerilog engineers in demand in Bangalore

Qualcomm is hiring 4 years experience verification engineers with SystemVerilog skill. If you need to pick up relevant SystemVerilog skills, call us via 9620209226 or see www.cvcblr.com Our VSV course www.cvcblr.com/trainings/

http://bit.ly/cJMmao

Requisition # G1879622
Job Title Sr Engineer - Verification
Post Date 4/29/2010
Division Qualcomm CDMA Technology
Job Area Engineering - Hardware
Location India - Bangalore
Job Function You will be contributing to the verification effort of a complex chip, core and/or blocks. You will contribute to defining chip level verification strategies, test plans and develop all necessary tools and scripts to enable system-level testing in an automated fashion. You will drive the block/core through coverage analysis and coverage optimization until coverage goals are met / exceeded. You will verify for interactions, connectivity, bus certification etc for robust verification. You will work with the Systems/Post Si/Driver development team to leverage software development on system level verification.
Experience with verifying SoC with embedded RISC/ARM/DSP processor verification, communications/ networking ASICs is a plus. RTL design experience is also a plus. Knowledge of wireless/wired communications and protocols or graphics/video multi-media a plus. As an individual contributor, you should take lot of initiative to take the verification automation to the next level. Candidate must have good organization and time and project management skills with excellent written and oral communications skills.
Skills/Experience Minimum 4-5+ years experience in ASIC/System verification
Expertise in verifying complex designs from system as well as block level, through design flow.
Domain experience in SoC Interconnects, communications modems, multi-media, peripherals, security desired.
Strong knowledge of HVLs (VERA/e), HDLs (Verilog/VHDL/SystemVerilog), C/C++.

Saturday, April 24, 2010

A glimpse of our DVAudit – what goes on @CVC’s TDG

Many have asked us the following:

  • Is CVC a training company? I see: www.cvcblr.com/trainings
  • Do you work on “live” projects?
  • What is your TDG really doing?

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 (www.linkedin.com/in/svenka3, www.linkedin.com/in/ajeetha) and can hence know about us well.

Our honest answer to such questions is “all of the above” :-) That’s YES, we ARE proud to be a training company www.cvcblr.com/trainings – 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.

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.

DVAudit

 

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.

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..

Monday, April 19, 2010

Hiring 3-10 years exp SystemVerilog/VMM/OVM - immediate

From LinkedIn updates:

Avinash Yadlapati Need OVM/VMM/System Verilog engineers with 3-10 years exp on an urgent basis. Please send resumes to avinash.amd@gmail.com asap


It ties well with our extended SystemVerilog classes from CVC, http://www.cvcblr.com wherein several mid-career engineers rehone their skills in Verification and get placed. A recent success is with Quartics @Pune.

Hello,
I joined Quartics last Friday. Have joined VLSI group here. The first thing I saw here is "A progmatic Approach to VMM Adoption" authored by you.

The training at CVC was very helpful. Got many interview calls after adding SV to my skill set.

Sunday, April 18, 2010

Appearing for a VLSI interview at CVC? Here are some tips..

Before the Interview

Research yourself

It may sound kiddish, but researching yourself is an important part of any interview. Examining your interests, abilities, education, experience, values, and goals is the best way to prepare for the interview. Self-assessment is the best way to know your strengths and weaknesses. Be prepared to discuss concrete examples of things you have done in the past, whether on the job or in school.

Update your resume

Resume is the most important component while appearing for the interview. Your resume reflects about your skills, personality and traits. It is the replica of what you are and about what your have been till date.
If you are fresher, your project should be clearly elaborated and described in detail. There have been several instances where-in during our campus interviews from CVC we have seen resumes with no project detail at all. They stand for direct elimination as we at CVC primarily choose from that. In the project, clearly mention the implementation medium – say Verilog/VHDL/SystemVerilog, Layout (Virtuoso), Synthesis tool (Synplicity, Xilinx etc.).

Research the company

CVC looks for those who show an interest and an understanding of our business. It may assist you to become knowledgeable about the company . Researching the company meets two needs. First it allows you to evaluate whether or not you want to work here.You attitude should match with the company’s. Try to understand the expectations of the organization and then deliver accordingly.
The interview process is your chance to sell yourself. Knowing as much about the company as possible shows that you are interested in the position.

For CVC,
we highly recommend you read:
http://www.cvcblr.com

Visit the website

Try to analyse the website well and find out what it is trying to communicate. Half of the mystery will be solved through the website.

http://www.cvcblr.com
http://www.noveldv.com

Read The blog well

Most of your queries will be answered in the blog. The blog will give you a better picture about the organization.

For CVC, read:

http://www.cvcblr.com/blog
http://vlsi-india.blogspot.com
http://www.vmmcentral.org (Look for CVC contributed articles)

Read the job description carefully

Read about the position you are applying for and as to what CVC expects from you. Evaluate your qualifications, experience, and core competences, areas of strength .

Sleep well

Get a good night’s sleep the night before. This will help you to relax well while you are appearing for the interview and most important you should feel fresh and look fresh to start with a fresh job.

All the best 

Webinar on Specman's next generation debug automation with SimVision

To all Specman users, enthusiasts,
Here is some good news, CDN is conducting a free Webinar on Specman-SimVision combination on Apr 22nd. Currently it is scheduled for late evening @ 22.30 (around the IPL time frame :-) ). If there are enough interested attendees from India region, we can ask for a more convenient timing, just drop us an email via: info@cvcblr.com if interested.

Here is their Webinar info:

Specman/e Source Debug with SimVision Webinar


Are you using Cadence Incisive Specman Elite Testbench with Specview and interested in learning about SimVision?

If you’ve been using Specview with Specman/e and would like to learn all the key advantages of using the SimVision debug tool, this webinar is for you!

Date: April 22nd, 2010
Time: 10:00am PDT / 1:00pm EDT
Duration: 60 minutes

Sign Up Today! http://www.secure-register.net/cadence/q2_10_webinars_verification



The following topics will be covered in this webinar:

How digital design and verification engineers can reduce their learning curve by using SimVision as an integrated, unified debug environment for all standard HVL & HDL languages
e , SystemVerilog, Verilog, VHDL, SystemC, Verilog-AMS
Specifically, how a Specman/e user can easily migrate from the Specview debug environment to SimVision
How easy it is to visualize the extensions of objects in e code
How to customize the SimVision GUI for Specman users
Demo of SimVision debug and the key features will also be demonstrated
Learn multiple ways to set breakpoints/traces in:
Command line
Source Browser
Data Browser
Design Browser
….and many more user-friendly tips
Incisive Enterprise Simulator’s SimVision integrated debug environment supports signal-level and transaction-based flows across all IEEE-standard design, testbench, and assertion languages, in addition to concurrent visualization of the hardware, software, and analog domains. SimVision provides a unified simulation and debug environment that allows Enterprise Simulator to manage multiple simulation runs easily and to analyze both design and testbench behavior at any point in the verification process— regardless of the composition. Throughout the design and verification flow, SimVision provides hardware analysis checks, source browsing, transaction and waveform viewing, and complete code/ transaction/assertion coverage analysis. Application programming interfaces based on industry standards are available at all levels to enable user-defined checks and analysis.



Who should attend:

Specman/e users who want to learn how to use Specman/e with SimVision
Incisive Enterprise Simulator (IES) users who have or are planning to switch to 9.2 release
Customers who want to learn more about the SimVision ease of use


Sign Up Today! http://www.secure-register.net/cadence/q2_10_webinars_verification

Saturday, February 13, 2010

SystemVerilog covergroup – bins and the value set matching

During our last week Verification with SystemVerilog class (VSV: http://www.cvcblr.com/trng_profiles/CVC_LG_VSV_profile.pdf ), 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)? 

Consider:

[cpp]

bit [4:0] vec_5bits;

covergroup cg;

  cp1 : coverpoint vec_5bits {

    bins four_buckets [4] = {[0:$]};

    bins five_buckets [5] = {[0:$]};

  bins fifty_buckets [50] = {[0:$]};

}

endgroup : cg

[/cpp]

Let’s analyze the above:

four_buckets –> simple, each contains 8 values, uniform

five_buckets –> 5 buckets, first 4 will have 6 values each, 5th bucket will contain all the remaining 8 values:

              [0,1,2,3,4,5], [6,7,8,9,10,11], [12..17], [18..23], [24,25,26,27,28,29,30,31]

fifty_bukcets –> first 32 bins will have 1 value each, remaining 18 shall remain empty!!

Questa prints a nice warning about the last case as below:

VSIM 1> run 990
# ** 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.