1
00:00:01,565 --> 00:00:11,165
Hi, I'm Nick Chen, one of the teaching
assistants for Rob Rutenbar's VLSI CAD

2
00:00:11,165 --> 00:00:16,514
Logic to Layout course.
This is the first tutorial in a series of

3
00:00:16,514 --> 00:00:21,079
video tutorials introducing you to several
tools that you can use in this class.

4
00:00:21,080 --> 00:00:24,590
The first tool that we will introduce is
KBDD.

5
00:00:24,590 --> 00:00:30,938
Kbdd is a BDD calculator done by Professor
Randy Bryant's group at Carnegie Mellon

6
00:00:30,938 --> 00:00:35,337
University.
This tutorial has an accompanying document

7
00:00:35,337 --> 00:00:39,954
that you can refer to.
This document will be available on the

8
00:00:39,954 --> 00:00:43,998
class website.
The example that we will be going through

9
00:00:43,998 --> 00:00:47,852
today is the network repair example from
this document.

10
00:00:47,852 --> 00:00:51,821
It's displayed here on the right hand side
of the screen.

11
00:00:51,821 --> 00:00:57,397
The purpose of this video tutorial is not
to explain everything in that document,

12
00:00:57,397 --> 00:01:02,692
but to show you how you can interface with
it to, through the web interface.

13
00:01:02,692 --> 00:01:08,934
I've copied and pasted the KBDD com,
commands from the documents to this text

14
00:01:08,934 --> 00:01:12,111
file.
As you can see I removed all the KBDD

15
00:01:12,111 --> 00:01:15,578
prompts and just entered the commands as
is.

16
00:01:15,578 --> 00:01:21,406
You can enter the commands in your
favorite text editor, save it and upload

17
00:01:21,406 --> 00:01:26,090
it to the website.
Here's how you navigate to the tools

18
00:01:26,090 --> 00:01:28,756
section.
I'm showing you our class website.

19
00:01:28,756 --> 00:01:33,724
On the left-hand side of the screen you
can see the Programming Assignments tab.

20
00:01:33,724 --> 00:01:37,642
And we click on it, and it brings me to
this Programming Assignments page.

21
00:01:37,642 --> 00:01:43,162
Under the Tools section, you can find the
first tool that we've introduced, KBDD.

22
00:01:43,162 --> 00:01:47,161
If you wish you can actually click, and
see the instructions that we have for this

23
00:01:47,161 --> 00:01:50,726
particular assignment.
I'm not going to click on it now, but you

24
00:01:50,726 --> 00:01:53,817
can do it, when you try the tool out for
yourself.

25
00:01:53,818 --> 00:01:57,448
This programming assignment page will also
be populated with more programming

26
00:01:57,448 --> 00:01:59,927
assignments for the course as the course
progresses.

27
00:01:59,928 --> 00:02:04,710
What I'm going to do now is show you how
to actually submit the text file that we

28
00:02:04,710 --> 00:02:10,633
have just saved.
You select the submit button here, choose

29
00:02:10,633 --> 00:02:17,931
Output Submission and navigate to the file
that you just saved.

30
00:02:17,931 --> 00:02:25,705
Click submit and you'll be presented with
a screen that says your submission has

31
00:02:25,705 --> 00:02:32,925
been accepted and will be graded shortly.
Go back to the Programming Assignments

32
00:02:32,925 --> 00:02:39,822
page.
After a few moments, if you click View,

33
00:02:39,822 --> 00:02:48,509
you'll be able to see your results.
Here is our results.

34
00:02:49,790 --> 00:02:53,393
You can see a submission time and you can
see a raw score.

35
00:02:53,394 --> 00:02:57,950
As mentioned before in the announcement,
the raw score does not contribute towards

36
00:02:57,950 --> 00:03:00,922
your final grade for this class.
Here's the feedback.

37
00:03:00,922 --> 00:03:07,978
One thing that you may have noticed here
is that the first two lines where not

38
00:03:07,978 --> 00:03:14,955
entered in your, in your text file.
What we have here is an additional command

39
00:03:14,955 --> 00:03:19,439
that we alternately enter on our site.
Its purpose is to prevent canon scripts

40
00:03:19,439 --> 00:03:21,940
from consuming too much memory on our back
end.

41
00:03:21,940 --> 00:03:27,267
Basically, it tells and limits KBDD to how
much memory it can consume.

42
00:03:27,268 --> 00:03:30,790
You don't have to worry about this since
all the assignments for this class are

43
00:03:30,790 --> 00:03:33,000
designed to fit within the memory
constraints.

44
00:03:33,000 --> 00:03:39,176
Here, I'm going to show the results of
running your commands and the results from

45
00:03:39,176 --> 00:03:43,287
the tu, tutorial.
As you can see, both of them match.

46
00:03:43,288 --> 00:03:48,532
Here is for the output from evaluating
eval cout a and b and here's the

47
00:03:48,532 --> 00:03:54,094
accompanying output as well.
You can verify this on your own as you try

48
00:03:54,094 --> 00:03:57,509
out the two.
Now consider what happens if I

49
00:03:57,509 --> 00:04:03,802
accidentally enter something wrongly.
So for instance, on line five here,

50
00:04:03,802 --> 00:04:08,014
instead of the variable cin, I'm going to
put cind.

51
00:04:08,014 --> 00:04:11,649
Now I go back to the Programming
Assignments page, and I submit that file.

52
00:04:11,649 --> 00:04:26,167
(Clicking) Sometimes the results are not
immediately available, and you will see

53
00:04:26,167 --> 00:04:35,808
here that you have nothing here.
Just wait patiently and refresh the page.

54
00:04:35,808 --> 00:04:41,220
Here you go.
We have the same output as before except

55
00:04:41,220 --> 00:04:47,612
now on this particular line KBDD informs
us that it's not able to find the variable

56
00:04:47,612 --> 00:04:50,518
of cind.
As you can see KBDDs quite robust to the

57
00:04:50,518 --> 00:04:54,658
inputs that you can give it.
However, in the event that the two

58
00:04:54,658 --> 00:05:00,862
actually does crash from some command you
give it, you'll be able to see the KBDD

59
00:05:00,862 --> 00:05:04,180
standard error.
You can report this to us and we can

60
00:05:04,180 --> 00:05:07,170
investigate what happened, and there you
have it.

61
00:05:07,170 --> 00:05:11,643
A very short introduction of how you can
use the KBDD tool, through the class

62
00:05:11,643 --> 00:05:14,447
website.
Please let us know if you have any

63
00:05:14,447 --> 00:05:17,670
questions through the discussion forms on
our class website.

64
00:05:17,670 --> 00:05:20,153
Thank you.
