WEBVTT

00:00.090 --> 00:05.760
So let us try to implement a muslin and we might right to, we will be implementing a forest of one.

00:05.990 --> 00:12.660
So it consists of four detained, but we have a BCT and then one control and we just select.

00:12.660 --> 00:17.820
So depending on the value that we have on and select, then we'll be choosing which input value to be

00:17.820 --> 00:21.150
saved on an output per great save select is zero zero.

00:21.420 --> 00:24.840
We will be collecting Y20 if selected zero one.

00:24.870 --> 00:31.340
We will be collecting to a if selected equals to one zero will be connecting white to see and if selected

00:31.350 --> 00:33.460
equals to one one, we will be collecting right?

00:33.910 --> 00:34.190
Right.

00:34.530 --> 00:41.020
So let it just go ahead and try to utilize first conditional signal statement, right?

00:41.040 --> 00:45.690
So in that case, how we proceed, so our output borders away, right?

00:45.690 --> 00:52.860
So this should be assigned to a right van when we have now the condition for us, the deciding condition

00:52.860 --> 00:55.290
is the different value of select that we have, right?

00:55.620 --> 01:02.420
So if selected as equals two and equals two in the we usually single equals to say and so if you have

01:02.430 --> 01:05.040
an experience with ANC, so you could clearly.

01:06.130 --> 01:10.180
Guess that single equals two years used to assign a value to a variable.

01:10.430 --> 01:13.030
That's when we want to check an expression.

01:13.030 --> 01:19.090
We used to be close to saying right, but in this year we use the signal assignment operator or variable

01:19.090 --> 01:22.330
assignment operated was saying a value to signal or a variable.

01:22.690 --> 01:27.970
And the to check whether two weeks expressions are equal or not.

01:27.970 --> 01:31.390
Okay, we just use this single equals to say so remember this thing.

01:31.720 --> 01:36.430
So select should be close to lyricism zero zero zero zero, basically and multiply it.

01:36.700 --> 01:40.120
So we will be utilizing double code and then we add zeros, right?

01:40.130 --> 01:44.620
So this is the first condition, then we need to add else right after this.

01:44.980 --> 01:53.080
We will just be adding a value of B right, and this should be the case when select is equal to the

01:53.250 --> 01:55.280
zero rate else.

01:55.330 --> 01:58.270
And we could just add C when.

01:59.740 --> 02:03.990
Select is equals to one zero, right?

02:04.400 --> 02:06.670
Else we could just add.

02:07.210 --> 02:11.230
OK, when select as equals to.

02:12.710 --> 02:14.310
You know, one, right?

02:14.820 --> 02:18.060
So this complete are all the street that we are interested in.

02:18.120 --> 02:21.750
So we just add the same column over here, right?

02:21.760 --> 02:28.230
So we won't be adding a semicolon until we cover all the conditions, right, which we did over here,

02:28.230 --> 02:30.040
Rachel, we start like this.

02:30.060 --> 02:36.990
The way should be assigned to me when we have this condition, evaluate to true right and it will be

02:36.990 --> 02:39.560
assigned to be if this condition evaluates to two.

02:39.580 --> 02:44.610
And we already know that when we consider the conditional signal assignment or a conditional signal

02:44.610 --> 02:49.370
statement in that case, OK, we will be evaluating in an order.

02:49.380 --> 02:53.220
OK, so the first expression that we specify will be evaluated first.

02:53.490 --> 02:57.720
And if that evaluates to true, we won't be checking rest of the expression, right?

02:57.750 --> 02:59.910
If that won't evaluate to true.

03:00.150 --> 03:04.560
In that case, we check the next expression again if it evaluates to true.

03:04.830 --> 03:07.470
We will be skipping the rest of the expression.

03:07.470 --> 03:10.050
If it doesn't evaluate to true, then we.

03:11.080 --> 03:16.210
Check the next expression, right, so this is how we evaluate an expression, and this basically lead

03:16.210 --> 03:21.160
to the creation of the network of a Muktsar, a chain of Lomax-Smith rate.

03:21.170 --> 03:23.440
So if you just see the code right.

03:23.710 --> 03:29.040
And if you go to an ideal schematic rates, if you go to an actual schematic.

03:31.630 --> 03:37.930
So here you could clearly notice that with the conditional signals treatment, you get a chain of osmosis

03:37.930 --> 03:38.200
rate.

03:43.470 --> 03:48.400
So here the difficulties you could see that, you know, for Marxist, but we have some extra logic

03:48.400 --> 03:54.570
benighted, right, because we are working with the standard and logic type, and we only specified

03:54.690 --> 03:56.610
the combinations with 091.

03:56.670 --> 03:57.000
OK.

03:57.630 --> 04:03.960
Dad basically lead to addition of Alachua here, as well as some extra logic, right, which we have

04:03.960 --> 04:06.570
not expected in this case, Stu.

04:06.570 --> 04:12.120
To handle this situation, we just need to specify an LS value what should be done when we have risked

04:12.120 --> 04:13.540
all that condition right to?

04:13.560 --> 04:13.820
Okay.

04:13.830 --> 04:17.970
So we just need to add what should be the value that will be assigned to a y.

04:18.200 --> 04:25.740
OK, when we do not have this condition evaluating to a right to in the rest of the cases, OK, we

04:25.740 --> 04:27.720
will simply be collecting way to a two.

04:27.990 --> 04:33.090
So let me just see our code and try to reload a schematic data with this modification.

04:33.570 --> 04:37.470
We should be getting the correct schematic as expected, right?

04:37.770 --> 04:42.570
So now if you go to a schematic now, you could see the the rest of the logic, which has been added

04:42.840 --> 04:45.390
OK and a latch is removed, right?

04:45.390 --> 04:49.380
So we have a chain of a Marxist, so this is what we refer to as a uniform axis.

04:49.770 --> 04:50.820
Now you could see the.

04:52.010 --> 04:58.520
Mucks, which is connected next to the output port, it's connected to hourly rate, so as soon as this

04:58.520 --> 05:02.120
expression evaluate to true that that is the select condition is met.

05:02.390 --> 05:08.750
We will be directly sending or connecting Y to a rate the rest of the things will not be evaluating

05:09.050 --> 05:10.570
and so on and so forth, right?

05:10.790 --> 05:16.760
So this is how the ideal schematic will look when we work with the conditional signals statement right

05:17.060 --> 05:17.260
now.

05:17.270 --> 05:22.670
Similar thing if you try to implement with the selected signal statement.

05:22.700 --> 05:23.030
OK.

05:23.360 --> 05:27.470
So the different spin rate will just be commenting this old statement, right?

05:27.500 --> 05:32.750
So just select all the statement and here you have an option to command multiple lines, right?

05:34.310 --> 05:41.130
So let us try to understand now how we work with then the selected signal Steedman, right?

05:41.130 --> 05:42.740
So we proceed like this a bit.

05:43.130 --> 05:44.990
OK, then we add conditions.

05:44.990 --> 05:49.130
So for us, the condition is the different value of a select that we have.

05:49.470 --> 05:52.030
OK, then we need to add select right.

05:52.040 --> 05:59.120
So this is the typical form and that we have to wait and select and in you knew you need to specify

05:59.300 --> 06:00.030
the condition.

06:00.030 --> 06:01.970
Great was that distant, OK?

06:01.970 --> 06:05.390
We specify the different values for Y, depending on the condition.

06:05.390 --> 06:06.660
So Y will be close to.

06:07.310 --> 06:07.670
OK.

06:07.820 --> 06:12.430
This should be done when I select value zero zero, right?

06:12.440 --> 06:14.780
So this represents our first condition now.

06:14.960 --> 06:18.590
We still have the conditions to be specified, right?

06:18.590 --> 06:24.350
So we could not use the semicolon because semicolon will mark an end of all the expression, right?

06:24.350 --> 06:26.310
So we'll just be utilizing comma.

06:26.330 --> 06:29.420
This is how we distinguish between the different expression, right?

06:29.420 --> 06:30.590
So y will be closed.

06:30.590 --> 06:35.510
We when we have a value of zero zero, it will be close to B when we have.

06:35.630 --> 06:38.450
OK, then we have a value of zero one.

06:38.870 --> 06:45.770
Then again, we add a comma, OK, because we still have some condition to be specified right when we

06:45.770 --> 06:48.250
have one zero will be connecting it to C.

06:48.260 --> 06:53.000
And finally, we will be connecting it to D when we have one word, right?

06:53.000 --> 06:56.660
So the rest of the condition similar to what we did over here.

06:56.730 --> 06:56.940
Right.

06:56.960 --> 07:02.690
So as we basically include all this which are not declared over here, right?

07:02.690 --> 07:09.350
In this case, what we could do is we could just add it will be close to zero when we have at this rate

07:09.350 --> 07:11.960
because we do not have something isalso here.

07:11.960 --> 07:17.360
So we could just add either so either basically represent the condition that we have not specified over

07:17.360 --> 07:17.600
here.

07:17.810 --> 07:23.750
OK, so anything other than that, if occur, then we should be connected to a Z, right?

07:23.750 --> 07:28.640
So this is how you specify the selected signal C, right?

07:28.640 --> 07:34.130
So now we'll go ahead and try to invoke the ideal schematic that we have, right?

07:34.130 --> 07:37.580
So we just need to reload our elaborated design.

07:38.000 --> 07:44.500
And if everything goes fine, you could actually see parallel marks been created over here, right?

07:44.510 --> 07:50.820
So you could see we have a forest one, which is then higher order that is created right there.

07:50.840 --> 07:56.240
And depending on the value that we have now, you could clearly see all the values will be evaluated

07:56.240 --> 08:00.160
at a SEMA instance, Rachel, if our value is one zero.

08:00.170 --> 08:00.590
So.

08:01.740 --> 08:08.880
We will be immediately sending the sea to an outbreak, so this won't be evaluated in a priority, right?

08:09.300 --> 08:15.840
So this is the fundamental difference that we have between conditional signal's treatment and the selected

08:15.840 --> 08:16.870
signal Steedman, right?

08:16.930 --> 08:22.280
So both of them after us and this is a very give us scene that you won't be finding any difference,

08:22.290 --> 08:22.560
OK?

08:22.800 --> 08:28.530
Now remember, the performance depends purely on the primitives that we walk.

08:28.970 --> 08:35.910
And that finally goes to an FPGA, a tool to demonstrate whether we actually have any performance difference

08:35.910 --> 08:37.050
between this two method.

08:37.260 --> 08:42.870
What we could do is we could just compare the synthesis schematic that we get in both the cases, right?

08:43.140 --> 08:48.300
So here we have our synthesis complete for our second case that is selected signals statement we go

08:48.300 --> 08:49.290
to open.

08:49.440 --> 08:56.130
This is to say OK, and we'll just be analyzing the schematic that we have for this cool, right?

08:56.430 --> 09:00.480
So if you go to the synthesis there, you have a schematic tap, right?

09:00.480 --> 09:02.730
So this represents our technology schematic.

09:03.000 --> 09:04.650
Now here, if you could observe.

09:04.660 --> 09:12.170
So we have series of Iber, which are binary rate for each boat so far be we have a neighbor for you.

09:12.180 --> 09:17.670
Also, we have a neighbor full for all the input we have a neighbor to select is off so stupid.

09:17.670 --> 09:18.810
So we have to either.

09:19.170 --> 09:22.470
Then we have one LG G6, which has been invoked, right?

09:22.480 --> 09:27.450
And then we have an outbreak to do that, the seeds of primitives that have been invoked for our call.

09:27.790 --> 09:29.880
Now what are we going to do is we will just be.

09:31.000 --> 09:37.420
Commenting this selected signal, Steve Schmidt, and we will be on commending our condition and signals

09:37.420 --> 09:40.990
treatment right now after this modification will see our goal.

09:41.320 --> 09:42.220
And once.

09:44.130 --> 09:50.700
Are wholly successful U.S. rate that could be analyzed by observing the source code name data, if you

09:50.910 --> 09:55.290
perform any modification to a code, you would clearly see it automatically get an asterisk.

09:55.290 --> 09:58.140
Saying that basically mean we have some unsafe changes.

09:58.440 --> 10:00.000
So just press control A..

10:00.330 --> 10:06.540
So all the changes will be so great to see with the changes being saved as stick will be automatically

10:06.540 --> 10:06.830
removed.

10:06.840 --> 10:09.660
Now we proceed to again perform a synthesis, right?

10:09.690 --> 10:16.560
You also get an output out of dates, synthesis we did as soon as you perform a modification to a great.

10:16.830 --> 10:23.170
So once you perform synthesis again, we could clearly notice whether we have any differences in an

10:23.190 --> 10:29.820
synthesized schematic because that represent the technology schematic, which will be finally going

10:29.820 --> 10:31.020
on to an FPGA, right?

10:31.020 --> 10:34.080
So we'll just wait for synthesis to complete.

10:34.330 --> 10:35.910
OK, so synthesis is complete.

10:35.910 --> 10:42.300
It will just be opening our synthesis design and going to a schematic fabric to this will automatically

10:42.300 --> 10:49.910
open the technology schematic right now here, if you observe right, still who you have with six IWBF

10:49.920 --> 10:54.700
which have been added, then you have an elitist six which is added and then we have an all.

10:55.230 --> 10:55.430
Right?

10:55.680 --> 10:59.040
So in both the cases, you get an exact same schematic.

10:59.070 --> 10:59.430
OK.

10:59.800 --> 11:05.050
And I will be finally going to an FPGA so you won't be finding any differences in a performance will

11:05.050 --> 11:05.520
get both.

11:05.850 --> 11:07.820
The method will give the same performance.

11:07.840 --> 11:10.620
Only difference is the way they evaluate an expression.

11:10.690 --> 11:10.950
Right?

11:11.430 --> 11:12.570
So remember this thing.

11:12.570 --> 11:18.780
And in most of the cases, whenever you have a multiple expression that we want to connect to an output

11:18.780 --> 11:22.980
code, the easiest way is to prefer working with the behavioral modeling style.

11:22.980 --> 11:26.030
And that is what we going to understand next.

11:26.190 --> 11:32.340
So same thing that we have the over here with the conditional signal statement and the selected signal

11:32.340 --> 11:36.960
statement could be achieved with easily with the behavioral modeling state, right?

11:37.140 --> 11:43.440
So in most of the cases, whenever you are in a situation where you want to assign the multiple expression

11:43.440 --> 11:48.780
to an output or we are ready whenever you have said certain complex logic like this.

11:48.810 --> 11:49.170
OK.

11:50.160 --> 11:56.820
We prefer to use our behavioral modeling style or dataflow modeling, stay late, so remember this fact

11:57.090 --> 12:02.640
we will be preferring to use a dataflow modeling sale only when we replace our system with the basic

12:02.640 --> 12:03.000
logic.

12:03.120 --> 12:10.320
In fact, we discussed some of an operator such as Automatic Hall Rotation Shift Operator, but whenever

12:10.320 --> 12:15.780
we are in a situation to implement that kind of block prefer to go with the behavioral modeling states

12:15.780 --> 12:20.690
the same thing you could at you easily with the behavioral modeling stay.
