WEBVTT

00:00.060 --> 00:05.560
We discuss test bench for a while when we are discussing about the fundamentals of aviation.

00:05.850 --> 00:13.620
Now we'll spend some time discussing about the things that are specifically important when you write

00:13.620 --> 00:13.890
this.

00:14.230 --> 00:21.300
OK, so this is the money that will be using as a reference for which will be writing the various disciplines

00:21.600 --> 00:23.270
and building up off of it.

00:23.460 --> 00:28.660
OK, so what the school is doing is it takes to input for vector time.

00:28.910 --> 00:34.950
OK, so that basically means it is it will only be working on one entity.

00:35.270 --> 00:43.020
OK, I'll say it and then I'll also I'll say OK, and we have utilized our operator to perform an activity.

00:43.380 --> 00:49.980
And finally we have a result onto the first thing that we do is to include all the libraries that we

00:49.980 --> 00:52.040
have in our design and test.

00:52.150 --> 00:57.880
OK, so this is the code for which we are writing a test which so this becomes Dudi or designing the

00:57.880 --> 00:58.190
test.

00:58.200 --> 01:04.050
OK, so first important thing that you will be doing is you can create a new source if you want.

01:04.350 --> 01:04.780
OK.

01:04.860 --> 01:06.290
Specifically a simulation.

01:06.300 --> 01:11.600
So, so you can just start writing it as in school just after you finish your architecture.

01:11.820 --> 01:19.770
So any behavioral is a point where we have finished our duty so that we can leave some blank spaces

01:19.770 --> 01:21.900
and we can start writing the speech.

01:22.530 --> 01:30.870
So first thing that we always do while we start writing the test is to include all the libraries that

01:30.870 --> 01:33.560
are presented, the design and the test, OK?

01:33.810 --> 01:35.640
So you'll be noticing that those are the two.

01:37.070 --> 01:45.400
Header files or and header libraries are we can see the eight years that we have included for developing

01:45.410 --> 01:45.830
a design.

01:45.860 --> 01:51.140
So without thought much, what we'll do is we'll just copy this to Steve Wynn and we'll just be sitting

01:51.140 --> 01:51.560
with you.

01:51.760 --> 01:57.710
OK, so there may be a scenario that you are working on only to cooperation and standard and logic.

01:58.220 --> 02:02.210
So there may be multiple files or libraries that you require.

02:02.240 --> 02:08.480
OK, so first important thing that you'll always be doing is while you write it as venture code is to

02:08.480 --> 02:14.860
include all the libraries that you have using the duty inside the dustbin.

02:15.230 --> 02:17.710
OK, so this is the first thing that will be doing.

02:17.810 --> 02:19.640
Then we proceed with an entity.

02:19.850 --> 02:23.930
OK, we'll just give a name to an entity that it just name and TV.

02:25.580 --> 02:33.290
It's and then we learn and see that the neme that you give to a this bench should not be matching to

02:33.290 --> 02:34.620
design and testing it.

02:34.670 --> 02:40.510
And usually what we do is, for example, we have used the name for our deal to stop.

02:40.730 --> 02:45.830
So we'll just use stop DB as the name for our test bench.

02:45.890 --> 02:53.000
And again, this becomes once you get that habit of writing tests like this, you can easily recognize

02:53.000 --> 02:55.690
this test in school for a specific model.

02:55.930 --> 03:02.790
OK, the second important point is the entity or the test.

03:02.830 --> 03:05.050
Ventracor do not have any iReports.

03:05.660 --> 03:08.780
So this is the second important point to remember.

03:08.950 --> 03:11.990
OK, in fact what we'll do is we'll just be.

03:13.520 --> 03:19.040
Noting down all the checkpoints that we are discussing, so later on, you will not be finding any problem

03:19.040 --> 03:20.180
in remembering the steps.

03:20.720 --> 03:22.670
So the first point is you.

03:23.750 --> 03:24.770
All the.

03:26.070 --> 03:27.180
Library's.

03:28.820 --> 03:29.600
Preysing.

03:31.020 --> 03:34.830
In the debate, this is the first step.

03:35.070 --> 03:37.920
OK, the second step is to.

03:39.580 --> 03:40.300
Do not.

03:41.250 --> 03:45.510
And any both to dispense.

03:46.150 --> 03:46.540
OK.

03:48.660 --> 03:51.010
And then we proceed with an architecture.

03:51.480 --> 04:03.510
So architecture and the name that will be giving is top DB2, off top TV is OK then will begin and finally

04:03.510 --> 04:04.500
we'll just take.

04:05.700 --> 04:06.730
Our architecture.

04:06.780 --> 04:14.790
OK, so the name that we have in place to now here, since we do not have any in reports, will be declaring

04:14.790 --> 04:22.980
an equal signal of same size with the size that we have for opposing the deal will be finding inside

04:23.040 --> 04:23.400
duty.

04:23.430 --> 04:33.150
We have A B and why three put an open book and we also have a direction and who we need to exactly choose

04:33.150 --> 04:36.150
to type that we have used to do.

04:36.580 --> 04:45.380
So the type should be better and less correct for A and B of size for it and for why it should be vector

04:45.480 --> 04:46.010
of size.

04:46.130 --> 04:46.670
All right.

04:46.950 --> 04:53.430
So we'll prosit and signal we declare between architecture and the connection, we'll just signal A

04:53.460 --> 04:54.720
and B, right.

04:56.110 --> 05:04.410
Then signal do not have any direction, so that underscore vector, then we are stranded on this cold

05:04.420 --> 05:05.050
logic.

05:06.920 --> 05:10.370
It should be of size for bitrate, so three down to zero.

05:10.940 --> 05:11.670
OK.

05:13.160 --> 05:14.810
Then the next step is.

05:17.320 --> 05:19.990
To declare a signal for violence.

05:20.290 --> 05:23.010
OK, so why that vector again?

05:24.570 --> 05:33.630
And three down to see, OK, again, remember that the size and type are exactly equivalent to the size

05:33.930 --> 05:37.980
and type that we have used for an input and output inside.

05:38.640 --> 05:44.790
OK, so here the third check point should be that you use C.

05:45.760 --> 05:51.490
DeLay for input and output.

05:53.050 --> 05:55.740
Pulled equivalent signals.

05:55.810 --> 06:03.110
OK, so whatever signal that you use for input and hope to the issue will have the same data, OK,

06:03.530 --> 06:11.680
and the next step is the signal which represent an input put in a duty should be initialized to someone

06:12.280 --> 06:17.250
here and B, represent or equivalent signal for an important input.

06:17.480 --> 06:22.230
So we'll just be using a variable assignment operator and will be initializing.

06:22.270 --> 06:30.490
OK, so this is multi bit, but so we'll be using a double code that just initialize it to see.

06:34.590 --> 06:41.560
So this is an important step, that is whenever you have declared all the signals for all the input

06:42.380 --> 06:43.910
that you have entitled is a.

06:45.180 --> 06:51.520
Select all the input and signal representing an input put and then initialize them to someone.

06:51.550 --> 06:56.530
So usually we initialize them to zero or it may vary depending on the requirements.

06:57.820 --> 07:01.000
So this completes our fourth step, which is.

07:02.700 --> 07:03.720
Initializing.

07:08.350 --> 07:09.010
Input.

07:10.490 --> 07:13.250
Signal a signal representing.

07:14.420 --> 07:17.780
Input to seed or.

07:19.050 --> 07:22.160
User specific value.

07:22.500 --> 07:28.860
OK, so or any other specific answer, we'll just mention any other specific value.

07:29.070 --> 07:30.150
Now, this is mandated.

07:30.480 --> 07:34.290
You cannot just left and put signals blank.

07:36.940 --> 07:43.310
But again, for an output signal representing our output, they should not be initialized to anyone.

07:43.340 --> 07:45.290
So you keep them as OK.

07:45.590 --> 07:50.330
So this completes our Fewster, then we perform the mapping of a signal.

07:51.320 --> 07:56.930
To deal with this basically signify that we'll be connecting our signal to the respective input around

07:56.980 --> 07:57.610
purported.

07:58.880 --> 08:04.610
In the same day, so we start with an insurgency, so they just start an instance named Stephen.

08:05.980 --> 08:08.560
OK, so this is purely a user defined name.

08:08.970 --> 08:13.930
OK, so to distinguish between the different instances, if you have a multiple instance, so to have

08:13.930 --> 08:18.710
a clear distinction between that, we provide a specific name for that instance.

08:18.730 --> 08:26.380
So here we have used the even as an instance name for the component that we are using.

08:26.440 --> 08:27.580
OK, so.

08:28.670 --> 08:31.460
You'll be noticing that we have that report.

08:31.880 --> 08:37.250
OK, so be an invite, so we'll start and the module name is stop, right.

08:37.260 --> 08:42.190
So here will be just mentioning top automatic language, Gqiba.

08:42.530 --> 08:50.580
And then we want E should be connected to any V should be connected to be and why should be connected

08:50.580 --> 08:50.750
to.

08:51.080 --> 08:53.780
OK, so this is an explicit way of connecting a book.

08:54.180 --> 09:00.140
Now here you will be finding an error because we are using a component without including the component

09:00.140 --> 09:01.500
inside an architecture.

09:01.520 --> 09:01.850
Right.

09:04.660 --> 09:06.880
So including a component is very simple.

09:06.940 --> 09:12.760
OK, so we already know that between an architecture and begin, we can declare three or four things.

09:12.760 --> 09:18.210
So we can either declare the component, we can declare the signal, we can declare enumerated due to.

09:18.630 --> 09:20.820
So you can also declare a memory inventory.

09:21.130 --> 09:26.140
So we just copy from the name of identity or name of our duty.

09:26.170 --> 09:29.380
So from top to and then we'll just copy this.

09:29.590 --> 09:31.840
OK, we'll add a keyword component.

09:32.910 --> 09:38.850
And then we'll just be whatever we have coffee, and since we have started a company, we just changed

09:38.850 --> 09:39.430
our company.

09:39.720 --> 09:41.640
So this is the easiest way to.

09:42.950 --> 09:51.790
I guess you just go ahead, start copying from the name of your entity or you and then capitaland and

09:51.790 --> 09:53.320
finally you are a company.

09:53.380 --> 09:58.150
OK, so this is how you declare a company and then you'll be finding immediately the right.

09:59.110 --> 10:00.760
So no duty.

10:02.250 --> 10:09.180
The signal that the president inside our are connected to the design and one important check here is

10:09.180 --> 10:13.000
you'll be finding that now here we have see.

10:13.650 --> 10:17.360
So for that reason, you'll be finally be able to see on this single source.

10:18.180 --> 10:25.640
So if you just say, well, OK, now you'll be noticing that there will be two suits and the top DB

10:25.650 --> 10:32.010
will automatically become our model and we have the duty as a doctor.

10:32.340 --> 10:32.470
OK.

10:32.580 --> 10:39.240
So when you see that hierarchy, that basically means you have correctly follow all the checkpoint that

10:39.240 --> 10:41.740
you have discussed Tuesday night.

10:42.210 --> 10:47.490
Now, what we'll do is we'll try to understand various views of.

10:49.650 --> 10:57.890
Applying a stimulus to do so, you have an idea how you can generate or stimulate.
