Hello and welcome to lecture number 13. We have been covering many concurrent assertion operators. So let's continue with the same thought process. In this lecture, we will cover and or intersect operators. Let's look at the end operator. Some of these could be quite intuitive.
For an end, both sides can be sequences, and an end is considered to pass. If this is important, both sequences start at the same time. And both must match because it's an end. And obviously, the endpoint of each sequence can be different. So here, in this particular example, both sequences must start at the same time and when the longer sequence because we let's say we wait for sequence one, and we need to make sure sequence six On matches, we also need to make sure sequence two matches. And sequence two can be longer or sequence one can be longer for that matter, as long as they both start at the same time.
And they both match as they do here, at this clock, for example, this sequence complete sequence two is a longer sequence, it completed this clock, and it passes it could have completed here or here as well. And in either of those cases, the sequence will be considered to pass. And because it's an end, the end time is the end time of either of the sequences, but obviously, whichever matches last, because we need to wait for both sequences to end to see that they both remain true at the quote unquote same time when they start at the same time. Let's take some examples. So here's a very simple property. property.
And as says that at pauses of clock if z is true, then ABCD should hold ABCD says that AB and CD should hold, it's an end of two sequences, AB sequences that a must be followed by v v then find clubs, but c c d says that C to growth later D and to cross later he must follow. So, this is a very simple property. And if you look at this timing diagram, Z is true at this clock. And as the requirement says both the sequences A, B and C, D must start at the same time. So, a is high and C is high that both sequences a high and C high. Both sequences will start at the same time, which is good.
Then, let's look at a B A and then 1234 or the fifth clock we arrived, which is exactly what we want and then C followed by two clocks later D and two clocks later er Ives. So that also matches our requirement of CD and both the sequences mediatic environments, and hence the property passes at the end of the lot longer sequence. Let's look at this example, this timing diagram, both NC are high the same time the Z's high nodes is NCR need to be higher at the same time is z not because of the requirement of the end property but because of the overlapping operator that is here. So a and CD CD essentially To meet this requirement of CD, but he doesn't arrive for five blocks. And hence it will fail at the end of the longer sequence because we wait for the long sequence.
And if it doesn't match, it doesn't meet his requirement then the end will fail. Is there a rather intuitive this is just to point out that you don't you can do and have expressions also in addition to end of sequences, and this is a very simple property z implies that a equal to equal to B or C equal to equal to D. And obviously, in this law similar to log you can see, and again this is an overlapping operator. So, z is one and b are the same c idea the same property process and here and b are not the same property, face and yes end are not the same. So, property face So one one more thing you can do and of expressions and of sequences. And you can also do end of sequence or expressions or a combination of the two. So that's very useful where you can have a sequence, you want to end it with an expression.
Now let's look at intersect. Now intersect is sort of an, but it has a requirement that just like in both sequences must start at the same time. Both sequences must match if complete in their entirety, but and the length of the two matching sequences must be the same. So in other words, you can also say, Are you the operator requires that both the sequences and At the same time, so, here they started the same time and the must end at the same time in and operator that was not the requirement intersect they just as a name implies they must intersect that means they must start at the same time and at the same time and they both must match the requirement. So, as you can see if the sequences and at the same time, the property will pass if not if the end some different times and the property will say.
So, that's the difference between main difference between and then interesting. So, here, basically I'm showing the difference here, four intersect the end at the same time, and there must have the start at the same time and there must end at the same time. If not, after, after the end time. If the end time is different, it will fade while in and distorted the same time but even if the end time is different, of sequence two for example, property will still pass as long as sequence one and sequence two are true basically matches the our property requirements. So that's basically the difference between the two. Then that is the OR operator.
As the name suggests, either of the two sequences matches or are true, then the auto breaker will pass. So here, you will have sequence one and sequence two. If sequence one matches then right data property will pass and complete and will not care for sequence two. And the reason I'm showing this a sequence to sequence one is shorter than sequence to save sequence one ends here again, the property will pass at this clock. And it will not care for or it will not continue to check for sequence two. In the end operator obviously, if sequence one matches it's true.
We will Do you need to look for sequence to complete and be true because it's in it. So let's look at some examples is the same, exactly the same example as for end, but here I'm using R. So let's say z arrives, and then air a starts at the same time because of the overlapping operator. And now it waits for B to come within five blocks, but b doesn't arrive, there is no B here, but see. Now this is an important thing. CRI one clock after a and then it matches his requirement C, D and E. But this Robert II will take the and this is again rehashing overlapping versus non overlapping. And I want to make sure we don't confuse that with the audience.
Intersect operator. So the reason it fails here is that when z was through ABR CDE board the sequence meaning A and C must occur at the same time as z, because of the overlapping operator. And we see that C did not start the same is z. So you wonder it matches its property, the the entire property or S phase. And this is another example z arrives, and then arrives and shot enough beer is five blocks later. And c also starts at the same time I see because of the overlapping.
It also matches its requirements. So, as you notice, we arise five blocks later, but since CD matches this requirement, the property will pass right here and then it won't care. For whether we arrived or not, and again, you can have autofit expressions here also is the same thing only that I have replaced and with all. So, here well equal to b is equal to d things will pass easily is not equal to b and c d c is not equal to E. So, they all have both sides of the order are not true it will fail here is not equal to b but c is equal to D So, the property will pass and then similarly here, similar situation. So, it's R and n intersect are very intuitive operators as I call them. They can both work on sequences or they can they can all work on sequences are expressions or a combination of the two.
This is a very simple application That, as simple as it is, it's very useful. Property burst length restrict says that advantage of clock, disable, if reset, burst length of two implies that write length can be one, or three, or seven, or 15. So here as you can see, it's an order of expressions. And then you assert the property. So it's a very simple application, but, so the simpler applications if you pay attention, I will be very useful in your project. This is a very short lecture, and we have looked at end or an intersect operators.
Thank you for attending the lecture, and I'll see you soon in the next lecture.