Performance Implications and Coverage Methodology

SystemVerilog Assertions and Functional Coverage From Scratch Performance Implications and Coverage Methodology
8 minutes
Share the link to this page
You need to have access to the item to view this lesson.
One-time Fee
List Price:  $149.95
You save:  $110
List Price:  ₹9,995
You save:  ₹8,515
List Price:  €138.22
You save:  €101.39
List Price:  £117.69
You save:  £86.33
List Price:  CA$205
You save:  CA$150.38
List Price:  A$226.10
You save:  A$165.86
List Price:  S$202.44
You save:  S$148.51
List Price:  HK$1,170.98
You save:  HK$859.01
CHF 36.57
List Price:  CHF 137.29
You save:  CHF 100.71
NOK kr422.78
List Price:  NOK kr1,586.89
You save:  NOK kr1,164.11
DKK kr274.91
List Price:  DKK kr1,031.86
You save:  DKK kr756.95
List Price:  NZ$244.95
You save:  NZ$179.69
List Price:  د.إ550.76
You save:  د.إ404.03
List Price:  ৳17,568.19
You save:  ৳12,887.63
List Price:  RM705.43
You save:  RM517.49
List Price:  ₦219,121.76
You save:  ₦160,742.87
List Price:  ₨41,665.63
You save:  ₨30,564.99
List Price:  ฿5,486.92
You save:  ฿4,025.08
List Price:  ₺4,830.33
You save:  ₺3,543.42
List Price:  B$774.80
You save:  B$568.38
List Price:  R2,761.99
You save:  R2,026.14
List Price:  Лв270.20
You save:  Лв198.21
List Price:  ₩204,936.66
You save:  ₩150,337
List Price:  ₪548.70
You save:  ₪402.51
List Price:  ₱8,727.76
You save:  ₱6,402.49
List Price:  ¥23,533.90
You save:  ¥17,263.95
List Price:  MX$2,504.13
You save:  MX$1,836.97
List Price:  QR546.15
You save:  QR400.64
List Price:  P2,034.93
You save:  P1,492.78
List Price:  KSh19,545.24
You save:  KSh14,337.95
List Price:  E£7,066.37
You save:  E£5,183.73
List Price:  ብር8,605.70
You save:  ብር6,312.95
List Price:  Kz127,211.43
You save:  Kz93,319.49
List Price:  CLP$135,949.16
You save:  CLP$99,729.30
List Price:  CN¥1,066.21
You save:  CN¥782.15
List Price:  RD$8,820.01
You save:  RD$6,470.17
List Price:  DA20,161.67
You save:  DA14,790.16
List Price:  FJ$340.03
You save:  FJ$249.44
List Price:  Q1,163.43
You save:  Q853.46
List Price:  GY$31,335.65
You save:  GY$22,987.14
ISK kr5,521.09
List Price:  ISK kr20,723.09
You save:  ISK kr15,202
List Price:  DH1,493.97
You save:  DH1,095.94
List Price:  L2,657.05
You save:  L1,949.15
List Price:  ден8,512.61
You save:  ден6,244.66
List Price:  MOP$1,205.29
You save:  MOP$884.17
List Price:  N$2,752.65
You save:  N$2,019.28
List Price:  C$5,512.51
You save:  C$4,043.85
List Price:  रु19,917.99
You save:  रु14,611.39
List Price:  S/559.92
You save:  S/410.75
List Price:  K582.06
You save:  K426.98
List Price:  SAR562.28
You save:  SAR412.47
List Price:  ZK3,997.46
You save:  ZK2,932.45
List Price:  L687.70
You save:  L504.48
List Price:  Kč3,405.72
You save:  Kč2,498.36
List Price:  Ft53,045.85
You save:  Ft38,913.26
SEK kr426.20
List Price:  SEK kr1,599.72
You save:  SEK kr1,173.52
List Price:  ARS$133,531.97
You save:  ARS$97,956.09
List Price:  Bs1,034.94
You save:  Bs759.21
List Price:  COP$579,518.37
You save:  COP$425,121.85
List Price:  ₡76,788.33
You save:  ₡56,330.22
List Price:  L3,701.25
You save:  L2,715.16
List Price:  ₲1,126,542.82
You save:  ₲826,406.87
List Price:  $U5,763.95
You save:  $U4,228.31
List Price:  zł587.85
You save:  zł431.23
per week
Payment Plan
per week
4 payments
Already have an account? Log In


Hello and welcome to lecture number eight. In this lecture let us discuss a bit on performance implications of when bought and how you should cover. So, the first question is what you should cover you need to be very careful on how you create a PowerPoint and the bids. For example, let's say you have a 32 bit address bus like we, I've mostly shown you for bid address versus in the previous lectures, but more than likely will have a 32 bit address as well. You do not want to cover many cover meaning your test match does not need to create to raise to 32 different addresses to make sure that the address process covered because it's a good chance that if address zero is covered, it is one is covered. But what is important is for example, the by word the word aligned addresses are covered starting And addresses are covered, page crossing addresses are covered.

Those are the things that your test page needs to exercise. But if you try to cover the entire 32 bit address was first of all, you will not have enough simulation time for sure your test bench will be totally redundant and absolutely waste of time all over. So just be absolutely careful on you understand what you should cover. For example, another example is let's say you have a counter, there is no need to go to the entire count or the counter range. What is important is for example, only the roll over counter values. Whenever the counter goes from all ones or zeros, you may have a bug or the counter may not act accordingly and that's what you want to cover.

That's what you want to make sure that your test bench exercises. Another example let's say you have to KD FIFO you're not going to Right to each of the entry of the took a five four and read from each of the entry of the two care FIFO to make sure that the FIFO works, you will randomly write and read from a few locations and if that work then was important to cover for example, for something like a FIFO is you want to make sure that you have exercise your test might have driven condition such that five four does become full. And then see what how the design reacts when the five four is full. For example, when you try to write to a five for that is full what happens or greater conditions said that the fiber is empty. Okay, and here 544 for example, cross with five foot push, like I just said, you know, you cross the two that means you have to make sure that your test bench not only drove conditions to make the FIFO full, but when the FIFO was full, it also tried to push another item To the FIFO.

Now, that's where you may have a bug and similarly cross five four empty with FIFO read and this is where the the cross coverage comes into picture that we saw in the previous lectures. So, not only what you should cover is important, you also need to understand when you should cover So, for example, let's say you want to disable the coverage during reset simple as simple can get there is no point in trying to cover things during reset. All these have performance implications. The second thing is for example, you have a test mode signal. Now, try to cover the test mode signal only when you are in test mode, which is basically in j tech tap controller. If the TMA signal is asserted, then only the remaining boundary scan in our SMS signals have us or are important.

So cover only when the TMS is asserted. And then I will show you in the next slide also you can make effective use of coverage methods such as START STOP sample started this particular condition stop at this particular condition and sample in between, as I will show you the very next slide. So, overall unit to be very careful because if you end up creating hundreds of thousands of bins and PowerPoints, too many issues with that one is your coverage report will be so huge. You would not know what you're looking for. And the second thing is your simulation will drag if you're trying to cover so many things. And again, it is at this point knowing what you should cover is where the illegal means.

Ignore beans, cross beans, transition Beans, beans have interesting All these features that we discuss come into picture because that's how you narrow down or pare down the number of bins and the car points. And one more point, which is we haven't covered symbolic assertions in this course, because that's outside the scope of the course. But like I said in the very first lecture, so several other sessions have a keyword called cover and that cover will help you cover very low level temporal domain conditions. That means Have you exercise this temporal domain condition. So all those temporal domain conditions transitions that you cover with the SVR cover, you do not want to repeat those and put those into the cover group score points and for example, transition cover, think of transition cover in the functional coverage more as a transaction level transition coverage. While the transitions that take place in the system where log assertions were removed, At signal level, this is just but one differentiation you can keep in mind.

So here's an example of when you can have, you can start stop and sample, a particular color group, for example. So here I have a core group call RG. It has two core points, and I've instantiated RG and the instance name is Maya underscore RG. And what I'm saying is always a positive request. Start sampling or start covering start collecting information for this cover group. At the borders of grind, stop gathering this particular information stop collecting the coverage information.

And anytime in between in between started strong at every positive clock. That's my sampling is I go ahead and sample the color group RG and tell me whether I've exercised the core points. note one thing here that in all the previous lectures, we covered group RG, I always showed you at pauses of clock, for example, or some sampling edge. Here, there is no sampling edge. If you as I said in the very first lecture, if you have a gold cover group without a sampling edge, then you have to explicitly sample it from a procedural block. And that's what I'm showing here.

Since there is no sampling edge, I'm going to tell it that always add pauses of claw sample, do the evaluation of this code points, so to say, but do that only between the start and stop and points. So that's all folks are very simple lecture. Very straightforward, but very important for you to keep in mind when you design your coverage. Apply. Thank you for attending and I'll see you in the next lecture.

Sign Up


Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.