Non-consecutive Repetition, Non-consecutive GoTo

20 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$39.95
List Price:  $149.95
You save:  $110
₹1,480
List Price:  ₹9,995
You save:  ₹8,515
€36.72
List Price:  €137.82
You save:  €101.10
£31.44
List Price:  £118.03
You save:  £86.58
CA$54.39
List Price:  CA$204.16
You save:  CA$149.77
A$59.61
List Price:  A$223.77
You save:  A$164.15
S$53.77
List Price:  S$201.83
You save:  S$148.06
HK$311.71
List Price:  HK$1,170
You save:  HK$858.29
CHF 36.31
List Price:  CHF 136.30
You save:  CHF 99.99
NOK kr429.08
List Price:  NOK kr1,610.56
You save:  NOK kr1,181.47
DKK kr274.24
List Price:  DKK kr1,029.34
You save:  DKK kr755.10
NZ$65.12
List Price:  NZ$244.43
You save:  NZ$179.31
د.إ146.73
List Price:  د.إ550.76
You save:  د.إ404.03
৳4,677.80
List Price:  ৳17,557.85
You save:  ৳12,880.05
RM187.26
List Price:  RM702.89
You save:  RM515.62
₦58,726.50
List Price:  ₦220,426.50
You save:  ₦161,700
₨11,069.72
List Price:  ₨41,549.55
You save:  ₨30,479.83
฿1,448.10
List Price:  ฿5,435.38
You save:  ฿3,987.27
₺1,288.12
List Price:  ₺4,834.89
You save:  ₺3,546.77
B$203.92
List Price:  B$765.43
You save:  B$561.50
R722.07
List Price:  R2,710.25
You save:  R1,988.18
Лв71.86
List Price:  Лв269.73
You save:  Лв197.87
₩54,107.88
List Price:  ₩203,090.78
You save:  ₩148,982.90
₪147.99
List Price:  ₪555.49
You save:  ₪407.50
₱2,305.73
List Price:  ₱8,654.43
You save:  ₱6,348.70
¥6,219.21
List Price:  ¥23,343.46
You save:  ¥17,124.25
MX$663.51
List Price:  MX$2,490.45
You save:  MX$1,826.94
QR144.93
List Price:  QR544
You save:  QR399.07
P541.27
List Price:  P2,031.63
You save:  P1,490.35
KSh5,233.45
List Price:  KSh19,643.45
You save:  KSh14,410
E£1,874.05
List Price:  E£7,034.15
You save:  E£5,160.10
ብር2,288.33
List Price:  ብር8,589.13
You save:  ብር6,300.80
Kz33,854.30
List Price:  Kz127,070.17
You save:  Kz93,215.87
CLP$35,735.18
List Price:  CLP$134,129.93
You save:  CLP$98,394.75
CN¥288.56
List Price:  CN¥1,083.11
You save:  CN¥794.55
RD$2,327.95
List Price:  RD$8,737.85
You save:  RD$6,409.89
DA5,368.23
List Price:  DA20,149.35
You save:  DA14,781.11
FJ$89.01
List Price:  FJ$334.11
You save:  FJ$245.10
Q310.36
List Price:  Q1,164.94
You save:  Q854.57
GY$8,357.53
List Price:  GY$31,369.50
You save:  GY$23,011.97
ISK kr5,524.68
List Price:  ISK kr20,736.58
You save:  ISK kr15,211.90
DH395.67
List Price:  DH1,485.15
You save:  DH1,089.48
L703.19
List Price:  L2,639.39
You save:  L1,936.19
ден2,259.20
List Price:  ден8,479.80
You save:  ден6,220.59
MOP$321.03
List Price:  MOP$1,204.99
You save:  MOP$883.95
N$727.07
List Price:  N$2,729.04
You save:  N$2,001.96
C$1,468.16
List Price:  C$5,510.66
You save:  C$4,042.50
रु5,325.62
List Price:  रु19,989.41
You save:  रु14,663.79
S/148.41
List Price:  S/557.05
You save:  S/408.64
K155.02
List Price:  K581.88
You save:  K426.85
SAR149.81
List Price:  SAR562.31
You save:  SAR412.50
ZK1,014.37
List Price:  ZK3,807.41
You save:  ZK2,793.03
L182.81
List Price:  L686.20
You save:  L503.38
Kč907.58
List Price:  Kč3,406.56
You save:  Kč2,498.98
Ft14,227.57
List Price:  Ft53,402.36
You save:  Ft39,174.79
SEK kr428.14
List Price:  SEK kr1,607.01
You save:  SEK kr1,178.86
ARS$35,425.66
List Price:  ARS$132,968.16
You save:  ARS$97,542.50
Bs276.01
List Price:  Bs1,036.01
You save:  Bs759.99
COP$152,096.36
List Price:  COP$570,884.85
You save:  COP$418,788.49
₡20,444.36
List Price:  ₡76,736.73
You save:  ₡56,292.37
L983.98
List Price:  L3,693.32
You save:  L2,709.33
₲299,307.64
List Price:  ₲1,123,433.84
You save:  ₲824,126.19
$U1,539.62
List Price:  $U5,778.89
You save:  $U4,239.27
zł156.62
List Price:  zł587.88
You save:  zł431.25
Subscription
$149.95
$39.95
per week
Payment Plan
$149.96
$39.95
per week
4 payments
Already have an account? Log In

Transcript

Hello and welcome to lecture number 11. Continuing with the concurrent assertion operators, in the previous lecture, we saw consecutive reputation operator and in this lecture we will see non consecutive reputation as well as non consecutive go to operators. So, in the previous one we say consecutive means a given signal M with a star here should remain consecutively higher low, but there are many times when we know or we do not know for that matter that signal m should remain or should become high, non consecutively, m number of times. Let's look at the formal definition first. This means that the signal B must be true or not M clocks not necessarily consecutive, that is there can be a delay of one or more clocks between one measure the operand and the next successive match successively is important here and no match quickly in between. And let's look at some low points to solidify the concept.

Now again just like in non range operators, m cannot be in finite, which again if you think about it does not quite make sense. So, let's look at what this means, at pauses of clock a implies that starting next clock, we should remain we should be true anytime after one clock, do not confuse this non overlapping operator which means lb lb one Do not think that after a we must arrive one clock later and then it should arrive anytime after that this is very important and this is where many people get confused. So, again a one clock later we should be true non consecutively twice whenever, what that means is one clock later, which is a non overlapping we can be the first time we can be true can be anytime after one clock, there can be 100 clocks here and once it is true, one clock later or just one clock later or any number of clocks later be can be true.

Okay, so let's look at the simulation log file. So, again this this repeats that note that the first occurrence of B does not necessarily have to happen Exactly one clock after a. Okay, so B is not true, exactly one clock later is true two clocks later, then again, it's true after four clocks non consecutive, and then the property passes here. So, he here's the simulation log file is true. Well, in this case B is for one proc later, it doesn't have to be but it is true. And then a few plots later be true again and the property will pass.

In this case, B is a is true, B is not dropped on top, but it can be true any number of blocks after a is true. And then again, it is true a few blocks later in this case one block later. And when this happens, the property passes. Now, let me ask you this question. Will this property ever fail? Think about it.

No, it will never fail. Because what we're doing is we're waiting for one way to be true that the very first be Macomb may not come to the end of the simulation property won't fail, unless it's a strong property or let's say the first becomes the second B may not come until the end, it may not fail it may be incomplete. So, my point is, is when you write a property Be very careful. So, having such a property fail if you write in simply what I have done here it will not fail. So, let's look at the next slide. Which again just like in consecutive reputation operator, it is is lb lb one c one clock c makes all the difference.

This is the qualifying or an event as I call it So, what this means is that the signal B must be true on n non consecutive clocks just like we saw in the previous slide and C needs to match after any number of clocks after at least one clock after the match of B. So may read a little confusing but let's look at the diagrams as true to clocks later bees true which is fine. A few clouds later another bee arrives which is what is required and is fine. Now see this he says one clock later see should arrive or she does see does not arrive one clock. That's also ok. It is the same thing here one clock later non overlapping we should arrive.

This one clock does not mean strictly one clock later B should arrive like we see here. We can arrive any number of clocks after a and then any number of clocks. After the first v second can arrive, and any number of clubs after the last B, because there is equal to C Canada, C does not necessarily have to arrive one clock later it can, but it doesn't necessarily. So as you can see here, C needs to match anytime after the last match of B and B should not match in between, in between the last measure B and the last match and the match of C. If B let's say arrives here again on this clock, this property will fake. So let's look at the simulation law arrives at time five v arrives at time 25 o'clock later, the second v arrives as required by equal to two and then a few calls later see arrives and this matches the property and the property passes in the previous example as to when this property ever fail, in this case property can fail.

Let's look at how he arrives, one calculator B arrives it can be any number of clocks, B arrives again. But now, once we have arrived two times, we must see a see any number of clots after the last occurrence of P. So what's happening here is we are waiting for C after the second occurrence of B, it arrives here, time 175 but before it arrives, B arrives again. And like I just told you, if b arrives here, then the property fail property will fail right there. So because a third we arrived, property fails, right and this is why this operator With a qualifying event becomes very useful. I want to see a signal remain true or false for that matter, or m number of times and then after that I want to see another event occur anytime after that, but once the signal has arrived and number of times it should not arrive again and plus one number of times until my so called end unit arrives.

Let's look at so we just saw the non range operator. Now let's look at the range non consecutive operator. Here's the property and M colon and Bond. Bond bond one c means the property matches over an interval interval of clocks provided a true As you hear, on the first clock take and see through on the last clock, take and there are at least two an at most five not necessarily consecutive clocks strictly in between the first and the last measure of B. So that's another way to read this property. And again M has to be greater than or equal to zero.

And, n can be greater than or equal to zero or in finite. Let's look at this log. As you can see, Ace through one clock later bass through again we can be true any number of clocks after is true. And minimum number of times b needs to be true. Non consecutively is too severe. So twice c arrives anytime after two beers and the property passes.

Again, just Like in consecutive. My question is When will you wait for five? Here's the explanation. After a is true B arrives, first we arrives and in this case consecutively which is fine. consecutive is a subset of non consecutive B arrives. Now what the property is going to do is after a second be just like here is going to look for SQL two one is going to look for SQL two one summit.

That is no SQL two one so now is going to wait for the third v. After third we again is going to look for SQL two one there is no sequel to one eight ways for fourth B, it was for fifth B and after fifth B, it must have received c equal to one after 234 it may or may not receive c equal to one, but after five because five is the limit here. It must get to see a few number of crops or right after the last week is detected. But again in the, in the previous example, let's say after the fifth V, before c arrives, if that is a sixth B, the property will fail right there. And that's what I'm showing in this particular example is B, B is true twice there is no C. look further there is no C, no portfolio, there is no c look for five.

Now, after five you must get c equal to one but before c equal to one comes B again becomes true the sixth time Okay, and these are real simulation logs. So simulators basically have proven what the LRM says, and here the property will fail. So again, the qualifying event is important. Again, you can read this as a face through B needs to be true, non consecutively, twice, or five times and TLC arrives. Let's look at an example and application. If non verse read of length eight is asserted that the ready act must be asserted eight times you have, you're going to read eight or a non verse read of eight numbers, meaning that eight data is not going to come consecutively.

It's an on burst, but you do need to get a radio and only with the radio the data is meaningful, so radio must be asserted eight times and ready done must be asserted anytime after the last read, and that there are no more radio x between the last Radio Shack and return. This is pretty much identical to what we saw in the previous Slide. So here's the property, I have purposely parameterised it with a formal call length, what we are saying is at pauses of claw number three, again the antecedent is carefully selected, because here if non birth read of atheists asserted length ages asserted, which is antecedent, everything starts with this particular condition. So, if numbers radius asserted, then starting next clock read act must be a certain number of times here length, I'm when I set the property I brought in actual of eight.

So, the redact must be asserted eight times should be found high, that can be latencies. So, it's non consecutive but After the eight read egg, I must get read done anytime after the eight read EQ. Just like we saw in the previous example if I get a nine to read egg the property will fail. Now, so so this was non consecutive operator, there is also an operator called nonconsecutive go to reputation operator, non consecutive operator, non consecutive operator and non consecutive go to operator there are three kinds of operators here. So, what is go to me what we have seen in the previous example is now let's just look at the property without the so called qualifying event. So, here the syntax is carefully no there is this arrow okay in the non consecutive we had an equal to sign So here there's an arrow it means that the signal B must be true on M clocks not necessarily consecutive.

And and that can be a delay of one or more clocks between one measure of the operand and the next successive message and no mess trickly in between and and must be greater than or equal to zero and cannot be finite. If you read this definition carefully, it is identical to the definition of be equal to many non consecutive operator and you will I will, you may scratch your head and say, why do you need a separate operator if it is identical to the equal to this operator nonconsecutive with equal to sign here. Let's Let's continue here. here's here's your two non consecutive plots identical to what we Just saw in the previous slides, here's your simulation log, if A is true, b can be true anytime, after a is true, second b can be true or must be true anytime after the first week and the property will pass and so on and so forth.

If you look at this slide, and I encourage you to go back and look at the slide with the equal to sign here meaning conjugate non transitive operator, without the word goto in it, you will see that he is identical this whole thing is identical. So, as I just say it says, There is no qualifying event here. There is no an event here. After we go to operator two in this example, there's no difference between this example and the one with the quarter two. It's the quarter Find event that differentiates between the non consecutive and non consecutive goto construct. So let's put a qualifying event here.

This means that the signal B must be true on two non consecutive clocks and C must be true exactly one clock after the last iterative measure of V. This is the difference when we had an equal to sign here. Bound bound once he meant that after the last iterative non consecutive manager B, C can come anytime after the last p go to means c must come exactly one clock or two or whatever you put here after the last iterative match of B. That's the difference. That's pretty much it. There is no other difference between non consecutive or non consecutive go to So, here again I have shown a beacon array, first beacon array anytime after a second beacon arrived anytime after first B, but C must arrive. However number of however many number of blocks you have put here, it must arrive exactly that many number of clubs after the last beat.

And here's the simulation log a arrives B arrives, secondary arrives and exactly one clock as required by Pong Pong one here, C arrives and it passes. Here again it arrives some clocks later B arrives. Another few clocks later again v arrives as required by do a number here. But exactly one clock later c does not arrive. The property is right there. See it is one clock later.

That's a bug in that design. So basically that's the difference to repeat non consecutive one on one c means C can arrive any number of clocks after the last p in the go to C must arrive as many number of clocks specified here after the last p. So, here Here is the example with equal to, Here is Example we go to and side by side you can see from 25 to 9525 to 95 everything is the same. But, after the 12345 B's see can arrive anytime after the last week in equal to non consecutive operator. But in the go to CMS that I one clock later which doesn't in the property face right there. So, the simulation log in Identical between these two I created a test bench so that the simulation log looks identical. In this case the property passes in this case the property fails.

That's it. That's pretty much the difference between non consecutive and non consecutive go to. Okay, I'm trying to keep the lectures short. So we have seen non consecutive and non consecutive goto operator. Thanks for attending the lecture and I'll soon see you in the next lectures.

Sign Up

Share

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.