Let's get started. Good morning and welcome to a little bit of a delayed start of EE141 for spring 2012. So, as you may know, EE141 is all about digital integration. circuits that's basically what it's going to be all about and what I'm going to do today is kind of kind of walk you a little bit about true well this class is going to be all about there's some more seats out there right here Probably this seat might be bad.
I'm going to try to rearrange this room a little bit in terms of visibility because some of the corners are pretty bad in terms of seeing the screen. But I'll explain a little bit why this whole set up. up as the way it is in a minute so digital integrated circuits what we're going to try to do is kind of get you from the basics basically what are the building blocks to the end of the semester semester you should be able to build for me fairly complex digital circuits. That's really the goal.
Bring you all the way from what's the properties, how do you design things, what are the key things you have to look at and gradually surely we're gonna expand on it and as I said at the end of the semester you should be able to design most of a microprocessor. That's really the goal of what we're going to try to do. So as I said there's a little bit of a special setting here, this is kind of the start of an experiment.
And you're going to be part of the guinea pigs in some sense. So we're in the making of what's called the first online degree program for Berkeley. Online degree program is a program that would be fully online and that doesn't require you to be on campus.
Now this would not be for undergraduate, this would not be for normal graduate students, but it's a degree program that's in intended for people who are having a job, already working, and want to get an extra degree. So they can do this in the evening and basically augment their career, basically make forward steps in their career. Now this is an absolute first. Berkeley does not have a single online degree program. So this is something that still is making its way to all the administration.
You can imagine that there's a lot of committees this has to go to. But it's one finding its way through. So we expect actually that we're going to start this program somewhere in 2013. Nothing goes fast here. We've been working on it for years.
So this semester we're actually going to try to start capturing a set of courses as a trial. See how it works. How we actually can create high quality online courses. And as I said, this is one of the trial courses.
So anything we do here is videotaped. We capture all the material. We're going to try to capture question then what's going to happen with all that material is going to get in the hands of some people doing editing they're going to basically cut into pieces and restructure it into segments that we then going to use later on for basically creating the course material so that's why you will notice that I'm going to do the same thing rather than basically lecturing an hour and a half you will see occasionally little breaks it's a good reason for that there's been people studying studying this thing and it turns out that if you're sitting online and you look at a TV screen for an hour and a half you get really bored.
It's very hard for people to do so. So online digestion typically goes into 15 minute chunks. You look at it for 15 minutes and I've seen enough, let's wait a little bit, let's do the next segment a little bit later and things like that.
So we're going to try to segment the material a little bit in those type of segments. But anyhow, that's kind of the background. The advantages, like always, is that all this material is very easy to get. will be captured on video and as a result of that it's also going to be available to you which means that a couple days after the lecture is done the material will be available on the website for you to peruse too as well so if you miss a class occasionally or something happens no disaster the material will be there that's kind of some of the background um let me tell you a little bit about 141 and then what we're going to do what our plans are for for the semester.
And then we gonna basically, what I would like to do for the rest of the day is actually put some motivation in here. Why this is an interesting course, why should you know about digital integrated circuits, and so on and so forth. So there's one more, a couple of seats up here that might be, yeah, well this might be good as well. All right, so. I'm going to spend with some administrative material.
There's two more seats out here, good seats. If not, there's more chairs over there. I might actually do some restructuring here. All right.
I haven't said that. So as I already explained, this course is all about introduction to digital integrated circuits. So as you know, digital integrated circuits have been very successful over the last, what is it, since 1960s approximately.
So we're about 50 years in. And it's quite amazing what has happened in these last 50 years. From a couple of transistors, today, and I'll show you some of those microprocessors. latest Intel microprocessor, a couple of billion transistors on a single die, and presumably the old work, which is even more amazing. So we've gone from something quite simple to building things that are amazingly complex, amazingly fast, and doing a whole slew of different functions we couldn't have even imagined 56 years ago.
I think it was Bill Gates that says in the whole world there's only room for one. one large computer at some point in time. No, no, that was Watson, the IBM guy.
He says, I don't see any room for more than a couple of computers in the whole world. It was Bill Gates that said you never should have more than one megabyte of memory in a computer at some point in time. Anyhow, so we've gone to very complex things, and we have to understand why this is possible.
Why has it been such that we have enabled groups of designers, and not two larger groups of designers? designers to build complex things and make them work so in order to do so we have to kind of understand a little bit about first of all what are the metrics right if you design a circuit and you do is what are the type of things you measure quality with that's very important what are the specs its speed power is big reliability there's a variety of cost is not a very important one there's a bunch of things metrics that we're going to use to look at circuit so is this a vibe thing or not a viable thing so we're going to start a little bit with that think about what makes a good circuit and how you define that because cost is a very bizarre number right is it the cost to for the person who manufactures it is the cost it goes on the market it performs the same thing what does that mean performance for a microprocessor it might be in however fast you run a particular program for a gate that's a very different thing so we're going to work to that and then we'll basically gradually so to teach you basic elements we're going to start with the simplest thing like inverters and then you show you once you understand how to design inverter you probably can design everything it's just kind of extrapolation of the same thing repeating it with a certain methodology obviously you can do this rambling you do it random is never gonna work but if you basically adopt a certain methodology that helps you to in a consistent way connects things together into larger entities into larger entities the larger entities you might end up with something that actually works works okay so that's kind of what we're all about and as I said we're not only good talk about it we're also going to do it this class is going to be design intensive so I think you've taken let's see who's taking one of five of you or one of five equivalent type of lecture okay large majority who is taking class like 140 okay as well. Who's taking 130?
Who's taking 40? Hopefully everybody. Something like that, right? So I'm just checking.
150? A couple, just a couple. Okay, so that's useful to know.
Basically it's going to help me a little bit orienting towards things. But as I said, what we're going to do is in a lot of the class like 105, typically what they do is they give you a problem and you solve the problem and you do a lot of analysis or you do some simulation and in the end you get an answer, a single answer and it's very easy to grade it, it's either wrong or right. because there's only the for this type of defined problems typically there's only single answer now in reality when you do design that's never the case there's never a single answer if I tell you design me a multiplier that runs at this particular speed and this particular power level right something like that you might have five to ten different answers and they all might be good that's the nature of design is basically you have a set of specifications you have ...to meet, we define a certain design space. And within that design space, there might be different answers.
And they're all fine. So many of the things we're going to do here might not have a defined answer. As long as you kind of meet... of the things, the requirements I'm putting forward, I'm going to be happy. So that's what design is all about.
And that's true, there's a difference between what we call analysis, where you take a problem, you analyze it, and you come up with an answer, or design where you basically use creativity. to come up with things that are novel. Because obviously if my specification is really hard, which we might do in the project, then the number of answers that's going to be trivial, the number of trivial answers is going to be very few.
So you have to come up with something new that helps you to expand that design space. And again, that's what we hope that by the end of semester you basically should be able to master. So, okay, so behavior of circuits, we're going to think about...
that what do they do how they behave what are the metrics what are the key things you look at the other thing that's important is that you understand how circuit basically work that's very important because as I wrote right here if you have a billion transistor chip and one transition doesn't work that might be it your whole design might not work it's useless so for a chip to work every single transistor has to work which means that you're going to have to basically put some boundaries around it. If I basically push everything to the limits, there's a good chance something is going to fail. So you're going to have to create margins.
You have to make sure that you feel confident that what you built is going to work. So a lot of things we're basically going to talk about during the semester. So as I said, the first thing we're going to do is start with simple things.
And actually, what I'm going to do is... probably in the first three, four weeks, I'm not going to show you a single transistor. I'm going to shy away from that. Because one thing that's really crucial in design is that you have to realize is that the precise structure, there's a lot of things you can do reasoning about without knowing something of the underlying structure. For instance, if I tell you it's an inverter, an inverter has this and this properties, you don't necessarily have to know how that inverter is built you can start reasoning about putting inverters together making more complex gates and so on so forth we don't know exactly how that transistor or that inverter works if I tell you some of the properties as well as that facet you consume this much power and it has this much driving capability and so on so forth you actually can start putting complex things together so on purpose I'm gonna stay away from transistor diagrams for a little bit and then later on we're going to come back because obviously you have to figure out how do you get to those numbers initially we're just going to think large so basically think about abstractions think about how you basically can separate the useful information from the things which are details the forest from the trees very important in design if you basically go right away and see only trees you're going to get lost guaranteed so important properties that we're going to talk about for every one of those gates and it's going to be be really crucial for building things that are the four ones I already mentioned performance power dissipation cost very important right and it's been the big driver of the semiconductor industry and reliability So this is what you're going to learn overall.
It's kind of a snapshot. And depending upon how the project goes, we might emphasize certain areas more than other ones. like obviously we're going to learn about gates we're going to put gates together in what's called logic combinational logic and then you say well gee if i only have logic that's very useless that doesn't do anything i need some memory so we're going to put some sequential logic in there some registers some memory elements and then from there on you say well now i can build bigger blocks i can do multipliers i can do adders i can do whatever logic you can think of i have to think about memory larger memories i can build right register but what if I need a gigabyte of memory what should I do so larger memories I have to connect the blocks together now that sounds trivial right it's a wire wire sound very trivial but it turns out that wires actually come with some disadvantages wires are not simple lines on the schematic but actually come with some parasitics and then we're going to talk about some other things that are very important like you might have heard about clocks Your chip has a clock and has a clock speed.
Now, why is that? Why do we need clocks? And why are clocks hard? Definitely in high-performance type things.
And then the last thing that I'm going to basically try to distill throughout the whole class is methodology. As I mentioned the word already before. you can basically it's gonna be you can build one transistor and make it work quite nicely I probably can as a human I can maybe do a hundred transistors now connect them together and and come up with something that works as a human it's important possible for me to do a billion transistors I would be working on the single chip for ages and I could yeah well say I could have a thousand monkeys doing and tapping together and all and we do it might work too but it won't if you have thousand people work on the chip and they don't basically have agreements with each other of how things should connect and so on so forth and how you should structure things it's not gonna fly so you need something which called methodology methods ways of structuring design strategies in such a way that you can go from simple to very complex.
Okay? So that's kind of what we're going to talk about. And as I said, we're going to try to make sure that you get experience in this in a variety of ways. There's going to be assignments.
There's going to be projects. There's going to be some labs. Okay? all right practical information again my name is Yann Rabbi my office is in Corey Hall and fifth floor take the elevator up go to the right when you get out the elevator go to the right go in that hallway and go as far as you can before you hit a door and just before that door on the right side is my office so it's quite simple 563 quarry office hours are gonna be on Wednesdays after the lecture so 1030 till noon we're very fortunate to have two excellent TAS for this class they're sitting both in the back Ricky Muller is right there and when Lee when it's right there next sir so both of them are experienced designers they know the tools they know everything they've been making chips they know basically how these things work so the day I think once you have problems both from homeworks labs projects they're gonna be excellent helps because they have the experience so I'm very lucky about that and we haven't gotten a reader yet I'm working on that that shouldn't be taking that long okay a couple of things about other administrativa top things background information about this class is number one we're gonna have we have one discussion session and the goal of the discussion session is a variety of things it's basically your for room.
What we're going to do in the discussion is go a little bit through the material that was covered the week before. That's one thing. We might walk through the homework of the week. If there's some particular hard problems in there. It might help you to walk to some of these or give you equivalent problems.
Post some problem sets, extra problems, solve some extra problems. But overall, it's your forum to basically ask questions. If there's something that's not completely clear, that's what the discussion session is for. This will be also in Courier Hall on the fifth floor. Two labs sessions.
Let me explain a little bit about the labs right now. So the labs. Labs are not as your typical lab.
There's going to be very little hardware involved. Actually, there's no hardware involved. As I said, this class is a lot about methodology. And methodology, to execute methodology, typically going to use tools, software tools.
You couldn't do a complex design today without a slew of interesting tools that have been developed over the last 40 years or so. You might be familiar with one of them already, something called Spice. who has used SPICE?
Who has never used SPICE? Who has never heard about SPICE? Okay, have you heard about SPICE? It's not a hard, it's one of the easiest tools to learn how to use.
Well, ESN. The input language is very straightforward. Input language for SPICE was invented by in 1960 way back so at a time you can imagine computers were not very sophisticated they didn't have anything like natural language recognition and things like that the only thing you had was punched cards And you've seen this probably the way you put programs into computers way back was a card with 80 columns and a number of rows. And the way you put a program in there, you punch holes in particular places.
So you could have actually a maximum of 80 characters on a line. That was the thing, 80 columns. So every one of the columns has been basically a character so that's the way spice basically originated it was lines and every line had at most 80 characters and every line basically represents a circuit element so it's a very simple way of representing things so spice is program that actually pretty amazing as I said was originally developed in 1960s it's still in one form or another used in every single semiconductor company in the world Anybody with a circuit design will run SPICE or a very close derivative. Same solution strategies, same equations being solved.
Nothing really has changed automatically. But that's our core tool. If you take a circuit and you want to figure out what it does, and you don't know how to do it by hand, you run it in SPICE, and SPICE will give you some answer if you do the right things. So that's the core tool, but that's not sufficient. I can run with SPICE quite easily a circuit that maybe has 100 transistors.
If I start going to 1,000 transistors, it gets slow. If I get to a billion transistors, it will never go anywhere. You're never going to basically simulate a circuit with all the transistors flattened. out now you're not going to do that so it is a set of water tools that have been developed that basically allow us to analyze the circuit at higher levels or more intelligent levels timing analysis and so on and so forth so that's it so basically helping you to simulate circuits is one set of tools you Another set of tools basically allows you to map what you've got in your mind in terms of circuit diagram into something that can go to a FAB. Because that's your goal, right?
Ultimately, you want to go to somewhere in Taiwan, TSMC, or Korea, Samsung, or maybe if you're lucky, you're working for Intel, you can go to Hillsborough and get your design fabricated. Now, translating that schematic into something that's fabricatable is a fairly complex process. So what are you going to do? do as designer is come up with some artwork it's really artwork it's a collection of squares and polygons and things like that and then they're gonna take it from there and turn it ultimately into set of masks that allow them to produce circuits so layout and layout verification you want to make sure that things that you're designing is the same thing as a schematic you have in mind so making sure that those two are equivalent is another set of tools and then there's the other tools that are very convenient we're going to use only little of this in this class so well gee if I really have to design everything on transistor level that's too much work wouldn't it be nice if I can write a C program or a Java program or something high-level program push a button and says translate is in transistors for me right a compiler I like we do compilation for software wouldn't it be nice to have a hardware compiler and yes that is possible we don't you see we don't use Java particularly right now it's a language called VHDL or Verilog higher level description languages but the nice thing about this you want to describe it and you put some specs around it you push a button and the tool comes in there and basically generates you a circuit diagram and then you can use a tool to create the layout and bingo you're going to the fab so that's a lot of the process today and we're going to play with some of those tools and that's really what labs are all about because obviously in the end after in the project we want to do some complex thing things and haven't figured out yet exactly what I'm gonna do but at least we get I'm sure one thing is sure is we're gonna use tools to do so so the first labs are gonna basically make you get you familiar with those tools we're gonna play around with under the guidance of the TAS or GS eyes and then afterwards from there on I said okay now you can use them start using them to do interesting things that's the project so there's gonna be five of those approximately that we have to go to.
Now, there's only one thing. These are held in 125 Corrie. There's only one thing I would like to ask you. You can choose any one of those lab sessions. I don't care.
As long as they're somewhat balanced. Obviously, if everybody goes to the same lab session, we have a problem. But you can choose the Monday one or Thursday one, irrespective of what you've done on bears or how you basically put your information on telebears.
Pick the one that is the most convenient for you. but stick to it once you pick one stick to it don't change well this week Monday is better and Thursday that I did I now stick to it because you're gonna have to return your lap report to the TA that basically is managing a report so you want to make sure that your report doesn't get lost bingo you better basically make things easy for us okay so what else that's basically it so there's some important dates to write down oh by the way everything I'm basically having here I'm showing is already online so I'm my role is typically I'm posting the lecture notes at least two hours in advance of the lecture and since the lecture at nine o'clock means the evening before lecture note should be available on B space and they are already there for those of you who might have looked so don't worry too much about copying everything I say here it's all available on online. Nine to ten assignments, homework basically, where we get some problems.
Some of them are going to require some use of spies, other ones are just kind of think problems. One design project as I mentioned, but we're going to do it not in one shot like design me a microprocessor by four weeks from now. No, it's going to go in steps. We start with a, we're going to break it down into pieces and you're going to have multiple phases.
In the end however, some of them for some parts of the report projects you're gonna have to write a report small report the final presentation of at the end of the semester you're actually gonna have to do an oral presentation and the way we do it is make posters it's a poster session so you make a poster we walk around and you explain the poster to so it helps you a little bit in terms of communication both verbally as well as basically using paper form a report type thing these are important skills to learn because if you go leave here you're finished maybe next year you go to get a job you want to basically make a career it's important that you be able to consult your results either verbally or with a well-written report it's very important so this part of the skills I want to help you to learn I mentioned is going to be five software labs and then there's three exams write down the dates or basically make sure about dates February 17 March 20 and the final believe it or not is 7 to 10 p.m. and Monday evening and I've never had a final that's that late so it's gonna be an interesting experience but that's the way they basically did the powers that be decided it for us a couple of things about those exams they're totally open book you can bring whatever you feel like and some people show up at midterms or finals with piles of paper like like this and try to figure out in an hour and a half if they can learn and figure through all these piles of material what is important for the question that was being asked. That's obviously not the goal.
But I believe that the most important thing here is what I'm trying to go after in midterms, finals, is understanding. So we pose problems, should be able to solve them. But I don't want you to have to learn all the kind of tricks and equations and things like that. You can have that with you.
The most important thing is you understand the problem and figure out how to solve it. Okay, so by the way, just to get an idea again about composition, who's here, who's senior? Okay, so a fairly large number of seniors. Do we have any juniors?
Okay. Grad students? one grad student and that covers basically all the sending somebody is kind of sophomore no sophomore i want sophomore all right and no freshman no that's good i would get worried so good just get an idea basically of where you are overall okay so another thing about materials how to get access to materials where are we gonna have what media we're gonna use to biz communicate so I said everything is going to be taped if all the video is going to be available for you to watch for the rest I'm going to use space you probably already got some messages from me it's fairly convenient that's where class class notes will be assignments solutions to the assignments lab and project information exams many other stuff so you should be already be there all the stuff is there as I said I'm trying to minimize the amount of paper I'm going to use in this class I think that in this day and age papers should be something that's totally oblique should be gone should be totally finished everything could be done basically online the other thing we're going to do this semester for first time is that we're going to use for basically communication between students GSIs, faculty, we're actually going to use what I call a co-joined social networking age. I'm not going to do Facebook, but close to it. We're going to use a tool called Piazza.
And there's a link right here set up for 141. I know that a number of other classes have already started using this. It's a very convenient tool where you can post questions, and either GSIs or faculty or other students can answer, and you can follow the traces, and so on and so forth. Just to give you an idea about the look and feel, just have it right here.
So this is what it looks like. So you have, this is what I see in the place. But basically, you have a number of tracks, like questions about labs, assignments, projects, exams, lectures. You can post them under one of those.
labels on top and then you propose a question like there was somebody already who used it and says is there a lab tomorrow and we'll read it right away we got a couple of answers no there's no labs this week so no worries so uh it's a very effective tool and as i said that's what again don't try to jam us with email unless you have some personal question to the instructor you might use email but otherwise try to use this medium as much as possible It's a very nice archiving tool as well. So that's what we're going to use, and we'll see how it works. All right. Good. Any questions so far?
This is all straightforward, but I think I have to walk through it. It's kind of boring, but we have to do it. Otherwise, the question will happen anyhow.
Oh, okay, some important things here about the ethics of the class or what I consider ethics and things like that number one homework assignments I basically I consider this almost like a free part of your grid and I don't care if you do it yourself if you If you work with friends, if you copy it, it's your problem. What we're doing the assignments for is that you can learn the material. That you basically say this class is all about application of concepts on new problems.
So if you don't do the homeworks, you will definitely notice that your midterms and finals are not going to go very well. So as I said, you can work together on the homework, but each of you has to turn on your own solution, that's for sure. But I consider them important parts.
There's no excuse of not turning in homeworks. That's 10% of the grade. As I said, it's almost a free part of the grade.
But I definitely... would very strongly advise you to do the homework. Because I know from many, many, many years, you can actually correlate the homework grades with final grades in the class to a certain extent.
Okay? Lab reports... Again, that's fair to stay for. You get your lab.
You get to fill in certain things. They're due one week after lab session, and you give it to the TA. They're basically responsible for the lab.
Another thing, projects are also done in groups. Again, if you're going to go to industry or even in academia and you work on a project, the chances that you're going to be the only person working on that project is going to be zero. A microprocessor team today at a company like Intel, Intel is about 700 people for a single design.
So you're going to work in groups on sub-blogs and then put new blogs together. So I think it's important that you kind of learn how to work in a team. So that's why the projects are done in teams. Obviously, no late assignments.
Since we're working with online media, we post a solution to the homework almost immediately after the due time. So if you're late, it's quite simple. You just copy it from the website.
It doesn't make that much sense. So if you're late in your assignment, you basically don't get any grade for it. And then cheating, obviously, I said the only thing that basically where I'm gonna be very critical is when you have finals and midterms. That's the only thing that really has to be in personal life.
No group work in finals, no group work in midterms. That's where, so personal effort, and as I said, don't even think about cheating. grading policy as i mentioned homeworks 10 percent laps 10 percent projects 20 so that's a fairly sizable chunk of the greatest going in the projects and there is an important component because i'm very convinced that this is where you're probably going to learn the most in this whole class if they're having a problem and say gee how do i start with it what are my strategies to come to an answer it doesn't work some weird things happen how How do I deal with it? All those kind of things. Midterms, 30%.
Final, 30%. And if I've done this right, it adds up to 100%. Yes, it does.
Okay? Let's see. Some other things is textbook. It's the good old digital.
The weighted circuits, second edition. Class notes, lap readers, everything's on B space. And if I put new material out, sometimes I might bring some extra material in. I'm going to put it on B space as well.
And the tools is the same thing. Oops, forget that. Let's have a sentence.
so this is not entirely true so there's a webcast but we're not streaming life we're basically archiving them I'm gonna make them available actually this might be a little different I'm not sure exactly where I'm gonna put the video probably what I'm gonna do is collect the video segments and put them somewhere under the B space settings. Because it's a little bit different than what you used to do in the past. And we're going to have to figure out exactly what the right medium or the right distribution medium is going to be in format.
be assured everything's going to be dead is being dead and that's why a couple of other questions when you have questions any point in time i'm going to try to figure out how to capture them i have i have a microphone right here that's basically recording my voice but you ask a question that microphone is not going to pick it up very well so there's two options and i'm not sure exactly which is going to work out best i have another microphone so a question i may maybe just give you the microphone and then it's on the tape because nothing is more more useless than an answer to a question you don't know what the question was about. That's very useless. So what I'm going to try to do is either repeat the question, then it's recorded, or I'll give you a microphone.
So we'll see what works out the best. Let's make it a little bit flexible. All right. But I want to make it easy for you to ask questions. By the way, it's important that you ask questions, that you get inputs, questions, remarks, anything that basically comes, please engage, right?
This is a two-directional, bi-directional communication. It's not one-directional, I hope. Software, yeah, you will see this in the project.
Mostly the software we're going to be using is from a company called Cadence. It's very popular software. It's basically used.
There's one more seed out there, I think. It's very widely used in industry, so there's a good chance that if you get a job somewhere or you get into design at some point in time, you're going to basically use the same tools, and that's important. It's, again, a skill you're learning. all right that's almost everything i had to say about background stuff um a couple of other things um first assignment actually we're going to post this first assignment probably already over the weekend and it's a trivial assignment what I want to make sure is that some of you a lot of you have run spice before and that's great but maybe has been a little bit ago and you have to figure out how to do it again you have to set up an account and by the way i have account sheets right here so what i'm going to do is pass those around make sure each of you get one of those set up your account get running make sure you have how to how to run spies and we're going to give you a standard small circuit and the only thing you have to do is run the circuit to spice get the outputs print them out and basically tournament so there's no design involved no analysis involved it's really getting your hands on the tool and make sure that you're all set and go ready to go for the next phases of the class all right so let's do a week and a half later February 1st on 5 p.m.
by the way homeworks will always be handed out on Wednesdays and they're always going to be due the Wednesday after at 5 p.m. so you have a week time for any assignment unless towards the end of the semester I might give you two weeks for some of the assignments when the project is going okay so you can turn it in using B space if you like to do it electronically if you like to type things or type equations or whatever you do or you can scan them in can turn them in electronically or in terms of like say if you like to do my handwriting we just have to turn them in I think it is a it's in the second floor of quarry hall I think it's room 240 there's a 141 box you put it in there before 5 p.m. you're fine one exception on that projects and things like that I'm gonna require a full digital report delivery no handwritten things it's gonna be full digital reports that we're gonna go after it's gonna learn you also how to make a nice and good-looking report which is important as well as I already mentioned okay this week is almost done so no discussion sessions for sure first discussion session is gonna be next Monday it's gonna be some basic background things so we're starting on Monday with the first discussion session and the first stuff no software laps next week first software lap is going to be in week three so don't worry about laps next week we're gonna make sure you get card keys you have to make sure that all your card keys are coded for they go in and get it coded for room 215 I believe that's what the number is at somewhere in there I think I had it earlier but you have to make sure you have it coded they have the class list so you just go in there and they will basically program your card key to get access to the room and as you may notice we missed the first lecture I'm gonna make it up I haven't figured out the exact date yet but I'll let you know if you cannot make it no disaster because it's going to be taped so it's going to be available to you so I'll let you know when we're going to do the makeup lecture but I hope to do this sooner than later Okay, and I think that's it. Any questions regarding operation of the cloud? I think it's pretty straightforward.
There's nothing rocket science-y about this whole thing here. All right, cool. By the way for Piazza I can do two things and it depends on how you prefer it.
I can take the class roster as it is and enroll you all into Piazza automatically or you can enroll yourself. I think I'm probably going to do the first one. If you don't see your name let me know send me an email or something like that just gonna take the roster and put them all in there okay all right so that's it for today in terms of administration let's do some of the fence things And as always, I'm going to go a little bit from the past first. Some history is always a good thing, right?
Understanding why we are at the place we are today, how it basically has happened and things like that. And what made it happen is important. And I'm going to go from the past to the present and then I'm going to walk a little bit to the future. because some people you might have heard this thing that people say that morse law is dead right have anybody heard this before is it more law this kind of thing that business has fueled the semiconductors to for some long time now finished it's dead totally untrue today if you basically go in most of the companies that you go around that do design digital design they might run a 30 nanometer technology approximately right that's kind of state some of them 65 between 35 and 65 is where most of the companies are if you're working for a company like Intel you might do 22 nanometers exactly the latest processors which are coming out are 22 nanometer tapas science Now, I was over at Intel last Friday, and some of those designers are already doing transistor design in 10 nanometers. It's not going to happen tomorrow.
You're not going to see these products. this is about three generations ahead of where we are today and already making transistors are working they're already making memory cells are working and so on so forth so it's very clear and and there's no reason reason that the endo should be at 12 nanometers well there might be some discussion we'll come back later about the economics but there's no reason it should stop there we can make transistors at 8 nanometers we can go to 5 nanometers below that then it becomes iffy because you start looking making a transistor which is almost the size of a molecule you start getting to some physical boundaries but by then we might have some new devices or new interesting things to do so So bottom line is, we're going to keep on scaling for another 20 years. 15, 20 years, guaranteed. It's going to happen. As long as people see benefits in it, they will keep on doing it.
And there's no real physical reason why it could not happen. So we're going to keep on scaling. And that's really what the history is of everything about digital design, is scaling.
So, these are the questions that we are asking ourselves. What made digital IC design what it is today? What has changed over the years? What are the things we have been changing?
And that's why this class also is changing over time as well, because things that worked really well 10 years ago might not work anymore today, or might be coming back in popularity five years from now. It's going to change. Sometimes you have cyclical effects. And will it change in the future?
Yes, it will. the things I'm going to talk a little bit about today. So let's talk a little bit about history first.
Digital computing. Actually the first digital computer was built in in the 1800s. Well it was not really built, it was invented in 1800s. It's a person called Babbage in England who built a purely mechanical computer.
computer. Extremely clever. And instead of using transistors or anything like that, it used gears. Now you can see the picture right here. You look at that.
This is one of those gears right there. So what you notice right away on this gear is that you see the numbers? 0, 1, 2, 9. This was not a binary computer.
All computers today work with zeros and ones. Now this computer worked with a decimal system. 10 positions on any gear 10 positions that determines the numbers and then by having dividers between those gears and and how you basically combine the gears together you could do addition you could do multiplication and so on so forth it didn't need a battery The way you operate it is you crank it.
You crank on the side, and you basically put your equations in there, and then you crank it a couple of times, and out comes the result of your computation. Very clever, actually. This thing had already something which is called pipelining.
If those of you have done 150 have heard about the word pipelining. So an adder was not done in one shot, but it was done in two stages. And they overlap the two stages, which is typically what pipelining does.
So a lot of things... things he never build it really because it turns out if you looked at the cost at a point in time 25,000 mechanical components that's a very complex mechanical machine and the cost at that point in time was estimated to be about 20,000 pounds these are 1,800 pounds not today's English pounds fortunately he wrote it all down he made the plans and made him available and then 150 years later somebody really build it so if you go to the Brady Science Museum in London you will see one of those things standing there yes there's also one in the computer museum yeah it's very clever it's a very interesting machine so but the basic principles were already there so some of the principle of computing that we're going to be using these days were already available at that point in time and then nothing much happened for quite a while there's actually in the 1900s ever smaller versions of this there were calculators you could buy which were basically the same concept It was like a little coffee grinder about this size. You put basically, you moved some thumbnails around and you move some numbers around and then you crank the thing a couple of times and you could do logarithms with it.
You could do multiplication with it, a whole bunch of interesting stuff that could be done. So there were some smaller versions later on in the 1900s. Now, as I said, not much happened since then, unless in the early 1900s, there were obviously, before that, a person called Boole had come up with Boolean logic and showed...
that you could have binary 0s and 1s, and you could do manipulations on them. And you have and, and or function, all these kind of things. The first ones to really use this were quite something you wouldn't expect. What do you think would be the first application of Boolean logic that was really used in practical circumstances?
Any idea? You never can guess it. A loom.
Huh? A loom. No?
Close? It was the railroad system. They had a large problem. You have trains going on tracks.
You have to figure out that you have one train coming in this direction, train coming in this direction, that's not very good, right? They go head-on. So you have lights. Red, green, orange or something like that. How do you control those lights?
did is basically using they actually implemented a logic system based on relays like a train comes in a certain direction it basically says well I turns on a relay relay is a magnetic component of this co-op closes basically switch and using those switches i can start building logic so the first one to actually build logic but it was electrical logic not in mechanical but electrical logic was basically using for basically train systems and they did fairly elaborate things basically and or exhaust our functionality by putting some of the devices together but it's kind of primitive it's big you have to have a magnetic coil and basically when the current flows through the switch closes the current disappears as the switch opens up again. It was only Until 1930s, vacuum tubes got developed. Vacuum tubes are the first type of device that provide gain, electrical gain, electronic gain. But vacuum tubes were primarily used for radios.
That was the big goal of vacuum tubes, either amplifiers or radios. That's what you use it for. It was only until about 1930s that people started realizing that with a vacuum tube I also could actually start doing logic.
and the first application of this was late 1930s people was there were some wars happening and the most important problem that they had to be solving at that point in time was if I shoot something where will it end up you know you basically shoot something you have a parabolic equation and it adds up on some point if you know the force and you know the overall angle you can basically figure out what it ends up solving those equation was the biggest problem at that time so they built computers for it with vacuum tubes and the first computers were really ballistic computers computers built out of vacuum tubes that basically can do this type of things But then from there on, he says, if I can do this for ballistic equations, then I can use this for general purpose problems. And then some other people came along, like John von Neumann. John von Neumann discovered the complex. of an instruction set and so on so they could load instruction instruction set machine and they start building computer this is the first computer that was actually ever built I was kind of became semi commercial the ENIAC in 1946 and you can see it's a complete room and the way you program it is with wires by connecting different things together you put wires in there fairly and throwing some switches not very reliable this thing probably has a couple of thousands of vacuum tubes every vacuum tube is produced about 50 to 100 watts of heat so you can imagine these things were quite warm and had to be cooled otherwise they would break down very rapidly but the vacuum tubes typically broke down on a very regular basis but it was the first big computers IBM took it over IBM and in 1950s 1960s create a whole bunch of computers based on vacuum tube logic but it has said the problem of the price was really expensive and it produced a huge amount of heat so going forward The next breakthrough was 1948. Shockley, Bardeen, a couple of people over at Bell Labs in New Jersey, invented the transistor, the bipolar transistor it is. and you can see this is the first transistor ever made it's an amazing device it's a couple layers of p and p material so no it doesn't end no it was a pnp transistor p you put p material and material p material stacking on top of each other you need to be able to contact to it they couldn't find anything better than paper clips so you can see right there here is your connector right here paper clip bolted molded on there soldered on there and bingo you have a vertical transistor and it worked so this is a Nobel Prize this got somebody a Nobel Prize and and it was worth it obviously is something that changed the world substantially again the first transistors were used not for digital logic but for analog functionality it created the first transistor radio it was a big breakthrough from radios which were building with his vacuum tubes in there suddenly I could have a small radio you could get am and FM reception huge breakthrough companies like Texas instruments were born because of that so your dad out now that's nice but it's not very scalable right one transistor is good you can make an amplifier with it by putting a couple of those transistors together you're done but if you start doing digital you have to go one step further this is not a scalable business model yet not something that's going to create a huge industry so the next breakthrough which also got a noble price was the idea that i can actually put if i use the right processing methodology manufacturing methodology i can put a couple transistors in the same plane of silicon.
I take a piece of silicon, a wafer, and I start doing some processing steps. I actually can put multiple transistors in that same plane. It's called the integrated circuit.
discrete circuit. So two people invented it at the same time. You have Noyce at Intel and Kilby at Texas Instruments.
One of them came up with a similar idea approximately at the same time. So they are called co-inventors. Unfortunately, noise died before the Nobel Prize was given. So you cannot get a Nobel Prize when you're dead. So only Kilby basically got the Nobel Prize for the invention of noise.
the integrated circuit but the key idea is indeed that now you can take a piece of silicon and you do sub sequential steps on it I'm going to talk a little about about manufacturing later on because it's going to be important if you can start understanding how physical layout works But this is an example of one of the first circuits. This is by Motorola. It's a 1966 circuit. That does actually, it's a three-input gate implemented using bipolar transistors. So you can see the transistors, every one of those little squares here, these are all bipolar devices.
So we have six transistors in one circuit, and the rest is basically contact holes and basically wiring. So that was the first thing. 1936. 1960s bipolar digital logic and when you got is a family you could buy it a point time you could go to the store you could buy to put an end gate to put nor gate the XR gates some flip-flops and things like that discrete components and then you put them on a board and you can build more complex things now bipolar was nice it was easy to manufacture PNP and PN transistors you could actually they're nice transistors you get good gain out of it But it had a couple of problems. Number one, if you remember, I think you've seen bipolar transistor, right?
They still talk about bipolar transistors in 105? A little bit? Bipolar transistors have a disadvantage that if you make them operate, there's always going to be, any time you want to do something with it, there's current flowing through them.
And you have to bias it. You have a base, and current has to flow into that base if you want to have collector current. So what it basically meant is that a circuit built using bipolar transition typically is always going to consume a lot of power. Even if you don't do anything, there's current flowing. The second thing, so that creates heat.
And heat is, as we all know, is kind of the enemy of reliable design. So there was also problems with reliability. so bipolar transits were good but to a certain point comes 1970 1970 or 1969 actually one of the leading companies in 1960s in the graded circuit was a company called Fairchild Fairchild had a number of people really by bright people who kind of had jumped shipped first at they were at Bell apps they left Bell apps start a company called Fairchild and then in 19 In 1968, they jumped ship again and started a new company.
This is Bob Moore, Noyce, and the third one, I'm trying to find his name right now. It escapes me, but it's three people who started a company called Intel. And Intel, basically, the claim to fame of Intel is we're not going to use bipolar.
We're going to use MOS transistors. And using MOS transistors, actually, we can put a... complete processor on a single die there was something unheard of because before that ibm was building all those very fast computers mainframe computers by putting a lot of lots of bipolar chips together so it's large boards with many components together intel said no no if you use the right manufacturing strategy and if you look at the crystal ball we should be able to put more and more of this transistor together on a chip this is going to change the world dramatically so in 1971 the first microprocessor was born.
It was a very simple microprocessor. I think I have a picture here. Here it is. This is the 4004 from Intel. 2,300 transistors.
Compared to what you could do in the 60s, this is a huge number. For today, this is kind of ridiculous. It's something you kind of generate in 30 seconds. 12 millimeter squared, completely designed by hand.
This is really a piece of art. Somebody was drawing all those lines by hand. Not really spectacular in speed.
740 kilohertz. And not a most advanced technology. You could actually look at the chip.
and you could see the transistors right 10 micron is something that you almost visually can't figure out you could see the lines and the transistors but there was really a breakthrough device it's a 4-bit microprocessor so every data word everything if you want to do something more more precision you have to do some sequential steps but it was a fun thing to play around with it was hard to program I programmed one of those guys 4040 was a real pain to work with 4-bit microprocessor but at least it was microprocessor. So that's one thing. The same year another thing happens. Intel again, same company, also launched the first semiconductor memory an Ezra memory that basically so now you suddenly had memory and he had microprocessors you could start thinking about doing complex things and the rest is basically history I'm just gonna flip to some pictures here this is 2005 it's one of the pentium 4 processors that's 125 million transistors 3.8 gigahertz 90 nanometers now you can imagine a number one not a single one of those lines is drawn by hand that's one thing it's all done by computer it's very patterned and and you basically cannot see anymore what's going on this thing is getting so complex it's kind of amazing this is um 2006, suddenly Intel, it's kind of interesting to observe what happened over time.
We went from bipolar to MOS for a very good reason. The reason that our MOS was adopted, even though it's not such a good transistor as a bipolar one, is the fact that you actually can have logic happening. If you don't do anything, you don't consume any current. You don't have this base current that you need for the bipolar device.
If I put a voltage on a transistor, I can get... get a current flowing gets to equilibrium things should not consume any power anymore so the main reason went from bipolar to MOS was power and that basically held for quite a while then went on and most to CMOS we're going to talk about it around the mid 80s and again if people say hey no current anymore it's gonna be good for power and in 1990s we started running again into power problems that's why in 2005 Intel suddenly went away from a single micro processor chip to a dual core. It's purely because of power reasons. Might be unclear at this point in time I will show it later of why things like dual core quad cores and things like that were a necessity. It's something that they couldn't get around.
So dual core was very simple. They put two processors, exactly the same design. If you look at it, you have... Oops, let me get one of these other...
I need this, this. So you have one processor here and the other processor here, and they're exactly the same. By the way, this is cache.
This is cache memory. So half of your chip is memory in this case, and that's true for most of the microprocessor. Memories are the dominant component in the overall design.
This is one of the latest, 2011. This is the Xeon processor, 64-bit. 2.6 billion transistors on the die. a small die fifth 500 square millimeters so that's about this big it's a big chunk of silicon it's really amazing that they can make this thing work with this complexity and there's a whole bunch of tricks to make it work it's not the street 32 nanometer technology what you notice however is that the clock we could see two is 2.4 gigahertz it's not faster than the previous generations actually what we'll notice and we'll discuss that clock frequency has flattened out over the years for again power reasons but this is kind of the state-of-the-art and the newest things that are going to come out of the set are going to be 22 nanometers fundamentally different than this in terms of transistor structure you might have heard about this suddenly Intel has gone three-dimensional with the next generation basically using a transistor which is not your traditional flat transistor anymore but something that's a vertical device called a fin fed we will talk briefly about that later This is 22 nanometers.
This was a chip that was shown in 2009. This is a memory showing that actually you can do memory design in 22 nanometers. This is 2.9 billion transistors and you can see the memory cell here. the SRAM cell that's basically being used to design this thing.
So that's where we are today. Around 20 nanometers is really the state of the art. And it has really shown that by basically carefully roadmapping things out, planning things out, building methodologies, we actually have gone from simple concept and basically be able to build on it, build on it, build on it, build on it, build on it, such a way that we can still now design jobs even with teams which are not a million people but basically a couple hundred people.
So that's quite amazing. So kind of summarizing this, this is kind of a famous picture in the sense is that if you put all those designs that I showed you on a map here. And here you have our 4004, 1970s, early 1970s, 1,000 transistors, a couple thousand transistors approximately. Then we have the 8080, the 8086. Then comes the Pentium class devices. Then you really got to go to Itaniums, dual cores, and so on and so forth.
Now, if you plot the number of transistors on a log scale over time, you see that you get a straight line. This is what's called Moore's law. What it says is that the number of transistors we can put on a die is doubling with a certain rate and the rate that Gordon Moore predicted was about every 18 months. Basically in 1964 he made a prediction that says that given manufacturing methodology understanding of how these things are processed it should be able for us to basically double the number of transistors every 18 months and it's pretty amazing it has happened now you can say this is self-fulfilling because we said we have to double every month people will work really hard to make it happen every 18 months so that's really what the road mapping does it makes a target for people and then you're gonna make sure they make that target but it's still quitting my amazing this is about 1964 when he basically predicted it and now we're 2012 we're talking about 60 years of a sustained law so even more amazing this is Moore's law even more amazing is that he did this is the law basically says from this number of transistor chip is going to double every 18 to 24 months which basically saying that the semiconductor technology will become double its effectiveness every 18 months because it's if think about you can double the number transistors and if you can do that for the same price that means that the cost of your transistor will keep on dropping dropping dropping dropping it means that for the same cost I'm gonna get more functionality or basically I'm gonna get for the same functionality I'm gonna get it cheaper and cheaper every time around that's kind of the key economic kind of conclusion from this and we're still used to that right we expect a new device to come up every year or so I want to get a new iPhone every year that's faster there's more features it's a mindset it's something that's now so ingrained in our thinking Everything that's information technology should improve every 18 months, every two years we should have a fundamental change in this thing. An amazing factor is that Gordon did this on an extreme extrapolation.
You're scientists, you've gone through some science, right? You know how you basically can do statistics analysis and things like that. At the time that Gordon Moore was making his prediction, he had four points that he has measured. 1950. 1959, basically one transistor, and then three transistors in 1962, and about four in 1964, and so on, so forth, and five.
So he had four points. He said, okay, now this looks like a line to me. So let's extrapolate it. Bingo.
So this is the basis, and this is based on the 1959 to 1964 type of timeline. And it still holds. Now, actually, if you read his original paper...
he basically never made that prediction that it would go that far. He says, you know, I can predict that this will continue given what I know about the manufacturing process, which is based on lithography and silicon wafer processing. I can predict it's going to go until about 1975. After that, nobody knows.
But it turns out that indeed it was even more visionary than he predicted. Now, as a result of this, the things have been amazing, right? So think about it.
This happened not only for computation, but also for memory. If you basically take your little iPhone device on this or your iPad, and you can use now the 64 gigabyte of flash memory. That's huge. If you think about that memory, what you can store in there is amazing.
Basically, today we can store virtually anything you know. know, everything you need to know, can be almost stored on a single device. And again, it's a result of the fact that we've been making our memory cells smaller and smaller and smaller.
stuff together so this is again the same thing if you look at memory we've seen the same trend is basically logarithmic trend we double the amount of memory on a die every so many years now same thing had been happening with frequency as well so it was an unintended side effect You make a transistor smaller, obviously it becomes cheaper if you can do more, right? So cost is kind of cool. Frequency was a side effect.
But if you make something smaller, something, other things happen. Some other good things happen to you. The transistor gets faster.
And the reason it gets faster is for a couple of reasons. You get a shorter channel, so your carriers don't have to go that far. You get less parasitic capacitances. This capacitor is going to be determining a lot of our speed, so they get faster.
smaller too so your whole thing basically your device you can switch the device faster and that's true ft's of mos transistors the unity gain type of frequency has been increasing over and over and over and over again today we're talking about devices that basically have ft's of 250 gigahertz or 300 gigahertz today so as a result of that you can switch things faster again a basic function like an inversion becomes faster and faster and faster. Today we're sitting at approximately how much? What do you guess? What's a single inverter, 35 nanometers, how fast do you think approximately would switching speed be?
Any guess? Microseconds? Nanoseconds?
Picoseconds? What's your best guess? Nanosecond?
Think about it. Gigahertz microprocessor. You have to be faster than that, right? It actually is a couple of picoseconds. And it might go below picoseconds in some of the next generations out there.
So we're really sitting at switching speeds of the single gate in this picoseconds rate. It's really fast. Now, if you think picoseconds, then you say, wow.
gee if I have a inversion that can switch in a picosecond then a multiplier can maybe take 40 picoseconds so we should be able to do microprocess easily that are at 20 gigahertz it hasn't happened actually around the year 2002 approximately we're at four to five gigahertz and we're still at four to five gigahertz today hasn't changed anymore why was that very simple and you can see it on this curve here it actually plots it very nicely if i put a linear curve to here goes up and up and up and with the dual core processor suddenly it flattened out And the only reason for that is if you would have gone faster, your chip would melt. Very simple. The power dissipation goes to the roof. You don't want to have a laptop with a processor that consumes 500 watt. he would laptops are already hot enough and you put in your lab they would basically burn you and your chip would basically die very rapidly that was the biggest problem in the around the year 2000 that really start running into what's called the power wall and power or heat dissipation is limiting the performance of a device of today it's the biggest challenge and this is one of the things that has changed over the years So this was a prediction actually around the year 2000. It says, gee, that's when they started realizing that power was an issue.
It says, boy, we have used a lot of tricks to manage power dissipation in circuits, and as a result of that, power has been gone up, like Moore's Law. But then they realized suddenly other things started to happen that this would even accelerate. So by 2008, we should have an 18-kilowatt microprocessor. You need a little nuclear plant next to it.
your laptop basically to basically get run never happened obviously because it's nobody would buy a thing like that so they got smarter and they figured out again on how to basically either go back to linear or even better go down because one of the things that happened at the same time is we used to have desktops and in desktops big box fans long all the time you could cool it then you went to laptops a little bit trickier You still can cool it, right? Your laptop has a fan somewhere that occasionally kicks in, so you can cool it with air. Then you went to those devices. Have you ever seen a cell phone with a fan in there? It would not be.
Very practical, right? So you have to have devices now. You have to have compute power without any cooling or traditional cooling strategies.
So we were forced to think about, how can we get the power down again for these mobile processors? Things that go in. to iPads and things like that again all basically require a pot like this so we're going to talk a lot about power in the semester basically what are the techniques that we can use to get performance without blowing that power up to 18 kilowatt cleared it up go to the next one here So same thing here, not much, same picture actually. So no extra information.
Now here's another one. It's the same equation basically. Power density, actually power is not the most important thing.
It's power density. Suppose I have a chip. I have a small chip versus a large chip. Basically how you can cool it depends upon the surface area, as you can imagine, right? You have a chip that gets hot.
It radiates the heat. If I have to radiate it over a larger area, that's a lot easier to cool it out than something that's very small and basically puts it all in one area. So what really matters is power density. The power you consume. per unit area and if you look at some of the strategies actually again if we wouldn't have basically gotten smarter and think about power already around 1995 a number of the chips run and basically about the size the temperature of a hot plate hot plate basically basically put a pan on it you put some eggs in it they can boil them but if we would done anything you would have seen these things going that by 2010 the temperature on top of a chip would have been the Sun surface stop thing so again that didn't happen your chip would melt way before that so we have managed to kind of keep it flat again even though you look at some microprocessors you will see that say I take your Xeon processor the one I showed you about this big and you will while it runs you put in infrared camera on it I basically look at infrared basically tells you heat variations right you will see that some parts of that chip chip are relatively cool where there's memory memory tends to be cool where you have the processing device where you really do the computation that's going to be quite hot there you can have power densities that are typically sitting around here you can actually sustain with some cooling temperatures power density about 300 watt per square centimeter but not over the complete chip because then you use the rest of the chip to dissipate the heat out but again we're going to talk more about heat later on so that's what happens when you don't do the right thing this is from a very famous I might show you that video later on what happens when you take the cooling fin of a microprocessor and this was an AMD chip Take the cooling fin off and you start running a game on it or something like that.
After about five seconds, you see a little smoke kind of cringing up. And then suddenly it starts melting and the whole board melts and you're done. I've seen another beautiful demo of people who have a board with FPGAs. It was vertically mounted. And suddenly all the chips start falling off.
They have basically desoldered themselves. Obviously, the system didn't work anymore. Now, today, this won't happen anymore.
Again, if you basically are audacious, what you can do is take one of your smart devices, open it up, and if there's an internet, like your laptop or your desktop, and take the cooling fin of one of those Intel processors and see what happens. You won't see smoke. I can guarantee you that. What you will see is that the Intel device is going to be clever enough to say, hey, I'm getting really warm, I'm going to go slower, ultimately says i'm i'm quitting i'm not doing anything anymore for you it's too hot so it has automatic temperature control but we'll talk a lot about those other things as well but basically power performance area cost these are the type of things we're going to play around with right and as i said we're going to start with the basics and then we're going to build this into larger and larger components okay all right thanks again if you have any questions please send me email first discussion session next next Monday and we'll go from here.