Consecutive Repetition

23 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 11. We are continuing with the concurrent assertion operators. In the last lecture we saw the clock delay and clock delay range operators. And now this lecture will see consecutive reputation operator consecutive reputation operator star m star is the syntax and M means that the signal in this case signal B must be true on M consecutive clocks I just like the naming place. So, in this property we are saying that it pauses of clock if z is high starting next clock because this is an over a non Ola lapping operator. So, one should hold as one says that a being true, one clock later B should remain true for two consecutive talks.

That relationship is shown here. And it must be true on consecutive clogs, and can be greater than or equal to zero. when m is zero, it's called an empty match. And we'll see that a bit later. m can not be in finite, you do not want to, it makes actually no sense to see if signal remains high with this particular consecutive reputation operator, that it remains high forever. You could simply say a pound bond one B.

And there are other ways you can one column infinity, for example, and that's another way you can achieve that particulars back but in the case opens again. It doesn't make sense to have This tool to be in fact in finite. So here is a clear definition of what this means is equivalent to a pawn pawn one B on pawn one b, this is identical to a pawn pawn one, B star two. Here's a simple simulation log z is true at this clock is true at the very at the next clock as required by non overlapping operator. And VDM is true for two consecutive clocks and the property passes. In this case z is through neck slug is true, but b does not remain a surrogate for two consecutive globs.

And the property fails are very intuitive that that's a consecutive reputation operator. And just want to make sure that the over V understand and which which is quite intuitive Actually, that says we are looking for B to remain asserted for two clogs, then the overall reputation sequence matches at the end of the last iterative match, which makes sense because we are trying to make sure that a particular given signal remains asserted or DS or date for m number of clocks consecutively. Okay, so let's look at the consecutive repetition range operator. What this sequence says that exists through a positive cloud as one should hold. And as even says that a being true, one clock later we should be true consecutively for either two clocks, or five clocks. Let's first look at the formal definition and minimum of M consecutive clocks which is two here and maximum have n consecutive clocks, which is five years and can be greater than or equal to zero.

And just like in the clock delay range operator, n can be greater than or equal to zero or in finite, not that this m cannot be in finite. But here since this is a range operator, we have a lower limit. So then the upper limit can be finite. That's the reason for here and can be in finite. Now, let's, this seems very benign and very easy to understand. But soon I will show you right now actually, let me make a point here.

A pawn pawn one beat star to column five is equivalent to a pawn pawn one B, next clock B, or a, then B, then B and the third v fourth, and fifth, we know that this is an order. So if this condition is met two consecutive B, then the property will end. Because it's an all either it should remain a certain high for example, we should remain high for two consecutive clocks, or three or four or five consecutive talks. So obviously, since this is an R, as soon as we see B followed by B, then the property ends, the overall reputation sequence matches at the first match of the sequence that meets the required condition. Okay, so let's look at this log z is high overlapping operator a is high and B remains high for two consecutive clocks. So we have met this particular condition and the property passes is over.

He doesn't need to wait for three or four or five minutes reputation in this example z is high overlapping a is high, B is high the next the next clock here a pawn pawn one V, but it does not remain consecutively high for even two clocks and so the property fails. Now, let me ask you this question. If the property passes as soon as it sees two consecutive and if the property phase if it does not see two consecutive When will this property ever wait for three or four or five days? Think about that for a moment. We have to call in five. Why or when would this property ever read for three weeks or four weeks or five days?

Will it? Answer is no it will never wait for this. Then why do we have colon five? What's what good does it do? Why can't we just have started to I will explain to you It is the same property. But here What I'm saying is a one, Drogheda should be followed by b b should remain consecutively high for two tops or maximum five clocks, but after this one clock laters c should be high.

Now, think of one pound one one C as the ending event or what I call a qualifying event and you will soon see the significance of bomb bomb one C on five in the previous slide, as I told you five does not have much meaning because it does not have anything after that and you will soon see Wi Fi has meaning because that is what I call an ending event or a question Find the event Okay, this is equivalent there should be a upon one one C here. So, this particular a followed by b followed by C is equivalent to a, b, b, c, or what that means is if this condition is not met, then the property is going to look for three B's and then see if that is not met, then it's going to wait for four and, and so on and so forth.

And you will let me explain this with the simulation law. Here's a simulation log of this particular property that I simulated. Okay, let's start with the very first part of the law. z is high at time 38 is high time 30 as required by the early being operator B remains high for two consecutive clocks. And one drop later as required, C is high. So everything makes and the property passes.

This is straightforward. Now let's look at the next part. This is the interesting part, Z is high as high. Next glug V is high. And then next clock these highs, so two consecutive reputation of V as required by these two. But now, what the property does is the next clock because B has been high for two clocks, which meets the requirement it looks for C to be high the next clock and you may say that, hey, it's been asserted for it's been high for two clocks.

Next clock see needs to be high. It's not high. Why didn't the property fail? Because, look at this again. It says that if this condition is met, all this condition is met, there is this particular qualifying event makes the property now look for three B, because there is a good chance that if she didn't come after two years that it can come after three B's. So why would we say that the property page here, that's the reason the property does not fail, it looks for three ways again looks for C is not true.

So, it looks for four ways. Again C is not true. So, it looks for five ways. And then looks for C equal to five is the maximum conjugative reputation requirement, see through and the property passes. I will also in just a minute tell you how to read such a property. Now in this case, now this is also very important case.

Very easy to miss z as high as high B is high for two consecutive operations, but not in this case, after second b c did not arrive, but b did arrive. So the property continued from two to three to four to five. He was happening is after to neither see arrives nor be arrives. And property fails. Well the bug was that she arrived one from earlier. So, don't get daunted by this description.

Don't think that this is complicated, very soon you will understand what that means. Now, let me just repeat this particular statement a followed by B, B should remain true for minimum of two clocks, maximum of five clocks. We should have crew and PLC arrives. If you read the statement that way, then it will make it a lot more sense and I'll show you a few applications we should remain true in this range until she arrives, we remains true here for five maximum range and see arrives so everything is okay. We remains true here. We should remain true until she arrives Well guess what, we does not remain true here.

And okay, if that is the case, if C had arrived here, then the property would pass just like as I showed you the very first part of the law, but here neither the B remains true nor there is a C and the property fails. So again, B should remain true until c arrives. This is how this works. And this is the reason five I can discuss five these are important and are used as opposed to this slide where this five not consecutive reputation for five will never be exercised. In this case, you're deaf, you're definitely see that the five is utilized as in this part of the law. Okay, let's look at some applications.

So, the spec says that if tagger is we saw this example before in the clock delay range operator. So, the spec is the same if tag error is detected one clock later TRB should be asserted meaning is high and remain asserted. No glitch, it should remain asserted until m check is asserted. This is the unpeel part. This is the quality Find event but this is how you would write this assertion again as I have said before and I made a bid this first day right what is your NDC date? What is it that starts the entire operation of the assertion if data is detected until this is detected, nothing matters.

So that's why your antecedent $1 roll staggered. One clock later or you could you could have used a non overlapping operator but as I was telling you, I prefer to use overlapping and then explicitly wait for one clock. It makes it very clear that there is a one clock delay. What we're saying is if it not if but within after one clock, try it must be a certain dollar roaster bait and starting that clock, pound bomb zero start in the clock when you see dollar roasty error bait asserted deactivate should remain asserted for one clock or forever and dear which should remain asserted forever until MTech is detected. So, the consecutive repetition range operator is one of the most powerful operator you will you will use and it makes it very easy to wait for a certain signal higher low until something else occurs because there is in finite, it doesn't mean that it will wait to see that the TLB is asserted forever to the end of simulation.

It does not because as soon as rose MTech arrives, it says I'm done. And what it makes sure that until rose MTech arrived, that theater beat remain asserted. As you see in this timing diagram Tiger beat arrives one clock later rose the error rate arrives and then starting same clock because I have a bond bond zero this is my way of combining two temporal domain conditions. And like I say, Val in this case if you're going to use and and you better put parenthesis properly Otherwise Otherwise you may get wrong interpretation. So starting the same time you now wait for a consecutive hi Auntie error bit. Until and check arrives.

As soon as an check arrives. The property doesn't care if the error rate goes low or remains high. So this is how you read a consecutive range operator. It is This event that follows a consecutive range operator that makes, in my opinion, the consecutive range operator very meaningful. Let's look at one more application. This is from PCI.

Word PCI is a parallel bus, as I said earlier, compared to PCI Express, which is a serial bus. In my days, PCI was the popular bus. So my examples are geared towards the parallel bus. Here the spec says that PCI spatial cyclists PCI has many different cycles read right IO read IRI configure it can take right it also has cycle called spatial cycle. In during the spatial cycle, the device select should not be asserting meaning it should not go active load during this financial cycle. And this is a spec now you're supposed to design in a session.

He has the assertion again. Now the PCs facial cycle if you're not familiar with PCI is defined by falling frame and command equal to 0001 command is also a bar of the parallel bus. So, this Dollar fell frame and and command equal to one forms a spatial cycle and again and dissident should be meaningful until the PCs patient cycle starts, nothing matters. So, this becomes my antecedent. So what I'm saying is art is a spatial cycle starts starting the same clock device select should remain high. That means it remains the assertive and that's what we are saying here should not be asserted meaning remain D asserted.

It should not go active low so we're checking to see that device elect remains high. consecutively forever until dollar frame is asserted. The the end of a cycle is defined by dollar rose frame. So, you can clearly see again the quote unquote end and event or qualifying event makes the device select Faenza range operator with an in finite meaningful, we do not know when the second is going to end. But whenever it ends until then device Electra domain is now a very bought this is a very powerful language and that's the part I'm trying to point out here. This is an edge sensitive, it's an it's an edge sensitive event.

Why this is simply a Boolean a level sensitive event. Well guess what you can do a logical end of boats vs sensitive and level sensitive event. This makes it very powerful in many different kinds of applications. One more application, make sure now this is a very good application that you probably will be able to apply directly to your project. Make sure that the state machine does not get stuck in current state except idle. If the state machine is in idle, it can say an item forever.

But in any other state, it does not get stuck. Now what is stuck stuck can be let's say, the state doesn't change for 32 clocks or 64 clocks or whatever your design is specifying. So how do you write an assertion for this using the consecutive repetition operator? Again, here, antecedent is that if the state is idle, everything is okay. If the state is not idle, then the state machines should not get stuck. So here's the antecedent, which is pretty much the whole spec.

That's okay. If the current state is not idle and dollar stable, that means the current state remains stable remains whatever it is, for 32. Clocks consecutively, this whole remain, see the parentheses, the parentheses are outside of this entire logical end. That means for consecutively 32, clocks, make sure that the state is not idle. For example, if the state goes to idle, then we don't care and the antecedent will restart all over again. So if the state is not idle, and we stay stable in whatever the current state is, for 32 clocks, then we know that you're stuck in the current state.

And this is a very powerful feature again, what we saying is if the antecedent matches if the antecedent matches, then this property fails, because the antecedent says that Yep, you are stuck in a current state for 32 clocks. What does that mean? It implies that there's a failure. So sorry. So basically, a heart failure can be applied as a consequence. This is another powerful feature, because sometimes you don't have any condition in the consequent, you simply want to say, hey, if I see this as an antecedent, if I see this, whatever it is, I just want to declare a failure.

So that's another powerful feature and this is how this particular spec is very much common in most of the RDL. You do not want to get stuck in a given set. So here's your assertion to do the same thing. Okay, folks, this is all About the consecutive a reputation operator, I'm giving the lectures hopefully it's small enough for each operator. Thank you for attending the lecture and I will soon 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.