Introduction to Linux - Full
1:23:10
Introduction to Linux - Part 4
12:38
Introduction to Linux - Part 3
19:35
Introduction to Linux - Part 2
32:23
Introduction to Linux - Part 1
19:22
SoC 101 - Lecture 7b: The Kernel
11:21
SoC 101 - Lecture 5e: Memory
11:11
Пікірлер
@sibasissahu2616
@sibasissahu2616 15 сағат бұрын
For 1kB of data you would need 32 kb of tag space not 32kB. There is a typo there
@cutiebunny1113
@cutiebunny1113 7 күн бұрын
There is no Israel please educate yourself Dr Adam
@vlsi_learner
@vlsi_learner 17 күн бұрын
hi Professor, do you have practice or Lab or homework materials to share? i feel the lecture pace is too fast.
@vlsi_learner
@vlsi_learner 18 күн бұрын
(1) Introduction to Digital Electronic Circuits 83-308 (2) Digital Integrated Circuits (VLSI) 83-313 (3) Digital VLSI Design (DVD) 83-612 (4) SoC 101 83-953 Hi Professor, i listed your course available online. is it the correct learning order?
@AdiTeman
@AdiTeman 18 күн бұрын
Hi, Yes, this is probably the best order. Thanks for pointing this out. I have a few comments/addendums: 1) SoC101 is probably independent. It could be watched first or in the middle or whatever. 2) The Digital Electronic Circuits lectures are only in Hebrew. I don't teach the course anymore (for many years) and so haven't taken the opportunity to update the course and record it in English. That said, all the content (slides, handouts) are in English and they are quite self explanatory. 3) There is a lot more content, beyond my core courses. At the EnICS Labs website (enicslabs.com/education/ ) there are several categories of lectures, including short courses and tutorials. These are mainly complementary to the core courses and really worth checking out. Thanks again, Adi
@marioalvarado3347
@marioalvarado3347 22 күн бұрын
Thanks for the lectures. The playlist is very informative. How would you go about designing a programmable logic controller aka PLC?
@mehdis.7404
@mehdis.7404 22 күн бұрын
Comprehensive course, thanks!
@kamilziemian995
@kamilziemian995 22 күн бұрын
I'm not afraid to ask this question now! 😀
@AdiTeman
@AdiTeman 18 күн бұрын
Perfect!
@shehreyarzahoor370
@shehreyarzahoor370 28 күн бұрын
Hi, I am working on my project which is "Low powered RISCV NPU", I would like to know that how do we operate multiplier MAC's in Parallel. I know we use SIMD architecture but what's the upper threshold to the number of MAC's and by which instructions we use these buffers? Also I would like to have your advisory for my project. Please, provide me with your email so that we can talk their. Thank You
@mvrajesh1
@mvrajesh1 29 күн бұрын
Thank you sir
@AdiTeman
@AdiTeman 18 күн бұрын
Welcome
@nantes9807
@nantes9807 Ай бұрын
Sir, Usually, tcq is greater or smaller that tsetup & thold ?
@AdiTeman
@AdiTeman Ай бұрын
Hi, Actually, in many ways tcq is independent of tsetup and thold and so there is no answer to your question. In Lecture 7 of my VLSI course, I explain how to construct a general flip flop standard cell and how to calculate these parameters for it, which could remove some of the mystery around this. See this lecture: kzbin.info/www/bejne/j37UY2iYjJKNa8k In any case, each of these parameters is heavily dependent on the circuit design of the underlying block and the values can vary a lot. For the flip flop I show in that lecture, tcq is very short and thold is negative, while tsetup is quite substantial. For other implementations or other circuits (e.g., SRAMs) these relations can be totally different. In addition, process variations (corners) can change the relations between these parameters.
@danirlrabinak
@danirlrabinak Ай бұрын
בהסבר על D-Flip Flop בדקה 04:59 אתה אומר שאם אין reset אז q מקבל 1. הוא לא אמור לקבל את d?
@AdiTeman
@AdiTeman Ай бұрын
כן, בוודאי שמה שכתבת מדוייק. פליטת פה בהסבר. תודה על תשומת הלב.
@danirlrabinak
@danirlrabinak Ай бұрын
@@AdiTeman תודה על ההרצאות המונגשות והמעניינות.
@MrNanoEnergy
@MrNanoEnergy Ай бұрын
Texas Instruments manufactures chips. I work at their new fab in Sherman TX
@AdiTeman
@AdiTeman Ай бұрын
Yes, thank you for pointing that out. Indeed, TI does do some manufacturing in-house, and used to (several decades ago) fabricate all their chips in-house. That said, they are not one of the mainstream foundries that fabless companies usually tape out in, and for sure not making advanced nodes in their fabs, but rather specialty "More than Moore" technologies and older, very mature nodes. The reason I put them in the chip design category (and didn't point them out as a foundry) is that TI still has a large chip design operation that tapes out in advanced nodes using external foundries, such as TSMC.
@deevam9756
@deevam9756 Ай бұрын
May i know what is the purpose of clock signals are present on nand gates and inverters side ways in asynchronous and synchronous settable/resettable flipflops ??
@AdiTeman
@AdiTeman Ай бұрын
Yes, of course. These cells have a feedback path (they are basically a bi-stable cross coupled inverter). When we try to overwrite the state inside, we drive a different signal in, but the feedback is resisting this. Therefore, we get a ratioed operation. Since we want this to work flawlessly, the tri-state breaks the feedback loop and ensures that the driven value is not contested and will for sure be written successfully.
@liamvervecken3231
@liamvervecken3231 Ай бұрын
Great course, thanks for putting in the effort! The real-world example and including some typical struggles at the end was a nice touch.
@AdiTeman
@AdiTeman Ай бұрын
Thanks for the kind words!
@thomasmakryniotis2331
@thomasmakryniotis2331 Ай бұрын
What are the advantages/disadvantages of using dynamic decoders over static?
@AdiTeman
@AdiTeman 18 күн бұрын
Just like dynamic logic (you can find explanations in the Digital Electronic Circuits course enicslabs.com/academic-courses/introduction-to-digital-electronic-circuits/ - videos only in Hebrew, but slides in English) a digital decoder can be much faster than CMOS and can be realized with fewer transistors. However, it comes at extra power consumption and more risky implementation.
@עידן-ב8ש
@עידן-ב8ש Ай бұрын
בשער XOR ב GDI אני חושב שיש חוסר דיוק. אם מחברים את שער NOT בממתח הפוך, השער לא יהיה בקיטעון. הוא פשוט ימשוך חלש. תקן אותי אם אני טועה. השער כן תקין, כי איפה שיש 0 ו 1 חלשים מהNOT, יגיעו 0 ו1 חזקים בהתאמה מה JTAG.
@cutepriyanshi29
@cutepriyanshi29 Ай бұрын
These lectures are by far the best I came across. I could totally relate to title "afraid to ask". Thank you for the material and insights. Super work!
@AdiTeman
@AdiTeman 18 күн бұрын
Thanks! That was 100% my point of making this course (and I personally really love it!)
@SudhirPatel46
@SudhirPatel46 Ай бұрын
Hi @AdiTeman I've been watching your videos for quite sometime and I really enjoy watching them. I've learned a lot. I aspire to be a Design Engineer. I would really be greatful if you make a video on roadmap for being a Digital Design Engineer. Also I've been using SystemC for my work and I often get confused about should I go for Verilog or systemC?? Please I would like to hear your thoughts on this.
@rogerfederer6456
@rogerfederer6456 2 ай бұрын
why do you say synthesis is iterative? do we have to run it multipletimes on the same file?
@AdiTeman
@AdiTeman Ай бұрын
Hi, Actually, the entire physical design flow is iterative. It is actually iterative in more than one way. The first way of looking at it is that you run each of the steps many times with different parameters and each time you look at the results, analyze them, modify parameters and/or the design and re-run. Another level of iteration is the algorithms themselves, which usually have some optimization flows within that incrementally improve the result until the constraints are met, no improvements are made or a certain amount of time/effort has elapsed. I hope that answers your question.
@rogerfederer6456
@rogerfederer6456 2 ай бұрын
just curious, why your reset is named rst_ (why the underscore at the end). does it indicate reset to the tool ?
@AdiTeman
@AdiTeman Ай бұрын
Hi. No, the tool doesn't "understand" the name of the signal. To the tool, it is just a string. On the other hand, we try to name our signals with meaning and this is one of those examples. In this case, because of the underscore, we can guess or implicitly understand that our reset is active low. In other words, the reset is asserted by pulling rst_ to ground. if we called it "rst" and not "rst_", we could assume that it is active high (i.e., reset is asserted by pulling it to VDD). Other ways you could name an "active low" signal are with an exclamation point (though this is not good practice for computer languages), the word "bar" (e.g., rst_bar), or the letter "b" (e.g., "reset_b" or "resetB"). But, again, these are just strings. You need your code to implement the active low behavior.
@investorEngineer
@investorEngineer 2 ай бұрын
Very well delivered!!!
@AdiTeman
@AdiTeman Ай бұрын
Thank you kindly!
@AnandBharti
@AnandBharti 2 ай бұрын
Very deep understanding and explained nicely. Impressive.
@AdiTeman
@AdiTeman Ай бұрын
Many thanks!
@shinyskystar
@shinyskystar 2 ай бұрын
Hello Sir, I hope you are doing well! Sir your videos in chip designing is so perfect and they are unique on KZbin! after watching your videos I get interest to do an internship in your lab! Could you provide me an unpaid internship? Sir! They only thing that I want is to boost my chip designing skills!!! Thank you sir for this videos! Sir please provide your email! i will contact you
@AdiTeman
@AdiTeman 2 ай бұрын
Hi @shinyskystar, I would be happy to receive your CV though I cannot promise anything. You can reach me at [email protected] Adi
@shinyskystar
@shinyskystar 2 ай бұрын
@@AdiTeman Ok Sir Thanks a lot
@kandalaambarish4341
@kandalaambarish4341 2 ай бұрын
can you given an example or threads, like you mentioned for process, each tab in a browser is a process. And can there be user and kernel process?
@AdiTeman
@AdiTeman 2 ай бұрын
Errata: At time @23:51 the number of MACs should be 10,275 for an 89% reduction and not as stated. Thanks @FritzKissa for noticing this mistake.
@lalit6001
@lalit6001 2 ай бұрын
Can anyone help me understanding Body Effect intuitively without using equations?
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, The easiest thing in my opinion is just to remember the following: "Negative Body Biasing raises VT". For an NMOS, that means that if I put a negative voltage on the bulk, my VT is higher. For a PMOS, the opposite - if the NWELL is biased higher than VDD, the |VT| of the PMOS becomes higher (i.e., the VT becomes more negative). To understand in general, physicists have many ways of explaining things that are all different ways of looking at them. One thing you could try is that there is a certain amount of voltage you need to apply to the gate in order to invert the channel. If I put a negative voltage on the body, I need to apply more voltage on the gate to bring the channel to the same voltage. This can be supported by the two capacitor drawing I show many times in the slides, where the gate-to-channel capacitor is what we want to control the channel, but the channel-to-body (or channel-to-others) capacitance is "fighting" with the gate voltage. If we apply a negative body voltage (on an NMOS), we are effectively increasing the gate-to-body cap and making it harder to invert the channel. Hope that helps...
@FritzKissa
@FritzKissa 2 ай бұрын
At 24 minute mark I don't understand where the MAC count of 16,675 comes from. You have 3 pcs of 3x3 kernels, that move (convolve) 5x5 times; 3x3x3x5x5=675 MAC in the group convolution part and then 128 pcs of 1x1x3 kernels that move 5x5 times; 128x1x1x5x5 = 9,600 MAC in the pointwise part, i.e. the total MAC is 10,275. Can you check this?
@AdiTeman
@AdiTeman 2 ай бұрын
Hi @FritzKissa - You are 100% correct. I don't know where this error came from. I am pinning a comment with the correction. Thanks!
@umarnadeem4074
@umarnadeem4074 2 ай бұрын
can you recomend some textbook for this course as well?
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, Actually, that is not an easy thing. I don't know of any comprehensive textbook that provides everything I cover in this course. That said, there are many books and other material that you can find that together will provide everything. What my main suggestion is, is to look at the list of references at the end of each lecture. I have tried to put the main sources that I relied on (other than my own experience and knowledge), so for each lecture, some relevant text book may be available.
@qeq167
@qeq167 2 ай бұрын
I can't believe this course is free , Thank you very much Lecture 1 is one of the best introduction to a course i have ever took
@AdiTeman
@AdiTeman 2 ай бұрын
Thank you for the appreciation. I have a lot more content available on KZbin for free, which you can access through my channel or see in a more convenient layout on the EnICS Labs website enicslabs.com/education/ I'd love to hear more feedback and I hope to find time to create more content over the summer.
@Editzzor109
@Editzzor109 2 ай бұрын
can we do cell padding for pin density
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, Yes, indeed you can pad cells and that will reduce the pin density. Of course, this comes at the cost of extra area, but it could be useful to apply to certain hierarchies. I guess this is the same as applying a lower target utilization, though going at it from "a different direction". As a side note, cell padding is usually used for things like leaving space to put decaps next to flip flops and clock buffers to improve the dI/dt drop near the toggling clocks. But it could be used as you suggested, as well.
@menakaa6405
@menakaa6405 2 ай бұрын
could you please say what is timing model?
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, A timing model is a simplification of how to calculate the delay (and a few other things) through a digital gate. This is fully covered in Lecture 3 of this series. Specifically, I suggest you watch this video: kzbin.info/www/bejne/l5ynZZ95ZcmYg80
@haziqiqbalhussain
@haziqiqbalhussain 2 ай бұрын
Hey Professor. How can we identify intuitively (without tools) which net is aggressor and which is victim? Does it depend on frequency or any other parameters?
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, So, my intuitive, straightforward answer is that if two nets are routed close to each other for a substantial distance, then there is a good chance that an SI issue will occur. But it's very hard to actually see this without a tool, since you have lots (...millions... billions...) of nets with different segments and so forth. Which is a victim and which is aggressor. Well, first of all, they can "trade places". In other words, one of them can be the aggressor to the other for a certain timing path and can be the victim for a different timing path. But usually, the victim will be the one that is weakly driven, which can be seen as a slow transition on the net. You can look at DRVs - max capacitance and max transition (and max fanout) reports to find high potential candidates for SI problems. But really, just use the tool...
@shauryachandra2323
@shauryachandra2323 2 ай бұрын
I have been following these lectures and absolutely love them. It would be great if you can please record a video series of using the Cadence tools to perform FPR and CTS on a small design in real time, maybe a live stream if possible so as to get some hands on approach.
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, Thank you so much for the kind words. Indeed, I do not provide any hands on/live material at this time. This is due to commercial restrictions - both of the CAD/EDA tools and of the IP that is used (standard cell libraries). In the future, I may get permission from the two sides and work on providing such material, but this is also really dependent on my time (both to go through the bureaucracy and then to actually go and make the recordings...). And as you can probably see from the amount of material I have uploaded lately, time is something I don't have a lot of. Who knows, maybe things will settle down and I'll find the time (though I have been promising my wife that "I will have more time next month" for about 15 years :).
@shauryachandra2323
@shauryachandra2323 2 ай бұрын
@@AdiTeman Thank you for the detailed response and for the incredible content you’ve already provided. I completely understand the constraints around commercial restrictions and time commitments. Your lectures have been immensely valuable, and I genuinely appreciate the effort you put into them. I have completed the DVD lecture series and I am going to start with your SoC playlist soon. If you ever do get the chance to navigate the bureaucracy and find the time, a hands-on series would be fantastic. Meanwhile, I’ll continue learning from your existing materials and look forward to any new content you can share. It would be great if you could suggest some online courses or any other references in your knowledge that could help gain this hands on experience before I actually enter the industry. And I hope you manage to find that elusive free time soon :) Thanks again, and best wishes! Regards!
@АндрейРадченко-н1ф
@АндрейРадченко-н1ф 3 ай бұрын
Thanks a lot for this video, Adi! I am more of an experienced Digital Design Engineer myself, so I know 90% of this stuff already. But for beginners this course is very valuable, Linux concepts are explained very clearly and with good examples. I only wish I had something like this course when I first started working with VLSI CAD tools and Linux. My path would have been so much easier! I will now watch other lectures on your channel for sure
@AdiTeman
@AdiTeman 3 ай бұрын
Great to hear! Please give me feedback on my other videos and I'm open to suggestions for more material (though, who knows when I'll find time to record more :)
@purplesky2402
@purplesky2402 3 ай бұрын
What is eda tool?
@AdiTeman
@AdiTeman 3 ай бұрын
EDA stands for Electronic Design Automation. This is the general name of the programs used to design chips. We also call them CAD (computer-aided design) tools, but CAD is used in other fields, whereas EDA is usually used for hardware design utilities. I suggest watching my other courses to learn all about this field. You can find my material at enicslabs.com/education/
@VuThanhNinh
@VuThanhNinh 3 ай бұрын
Thank you sir, your explanation is very easy to understand
@AdiTeman
@AdiTeman 3 ай бұрын
You are most welcome
@thangdaoviet419
@thangdaoviet419 3 ай бұрын
how to get the slide?
@AdiTeman
@AdiTeman 3 ай бұрын
All of the slides are available on the EnICS Labs website. The webpage for this course is at: enicslabs.com/academic-courses/dvd-english/
@thangdaoviet419
@thangdaoviet419 3 ай бұрын
@@AdiTeman thanks for your reply but I cant find the direct link to download it, can you please provide it?
@AdiTeman
@AdiTeman 3 ай бұрын
@@thangdaoviet419 No problem. There is a button on the right panel of each lecture that says "Lecture X Slides". For this specific lecture, the link is: www.dropbox.com/scl/fi/d5sqn83htkyifkbed7nfu/Lecture-3-Synthesis-Part-1.pdf?rlkey=e0jfxerycb03brp3feq3q265t&dl=0
@thangdaoviet419
@thangdaoviet419 3 ай бұрын
@@AdiTeman thank you very much, have a nice day ^^
@slimjimjimslim5923
@slimjimjimslim5923 3 ай бұрын
I been working in VLSI for 7 years. And I still come back to your videos to refresh or relearn something! A heck lot faster than reading my Neil Weste textbook too lol
@AdiTeman
@AdiTeman 3 ай бұрын
Thank you! That's what makes me motivated to provide more material (hopefully, I will have time to make some more videos later this year).
@slimjimjimslim5923
@slimjimjimslim5923 3 ай бұрын
Thank you so much professor for putting this online for free. There are many university in USA that only cover parts of VLSI but nothing as clear and complete as your lectures. Some focus more on architecture, other more on circuit design. I found myself lacking in some areas when I entered industry 7 years ago. I get very good but also very segmented focusing just some circuit design, timing calculation and analysis but to become a good VLSI, we also need breadth. And that doesn't happen naturally by staying in one place. Your classes are helpful in gaining that breath. : - )
@AdiTeman
@AdiTeman 3 ай бұрын
You are so welcome. That is what they are there for! Hopefully I will find time to prepare more videos later this year. I have a long queue of lectures waiting to be recorded - I just have to find the free time to get around to it.
@Kiladikannadiga123
@Kiladikannadiga123 3 ай бұрын
Sir after i learning this 73 videos.can i have learned and apply for vlsi designer jobs
@AdiTeman
@AdiTeman 3 ай бұрын
Well, I don't know if just watching the videos is enough, but it is a good start!
@AdiTeman
@AdiTeman 3 ай бұрын
Errata: At time @9:54 there shouldn't be a "dx" in the expression for current. Thanks to @arghya.7098 for pointing this out.
@arghya.7098
@arghya.7098 3 ай бұрын
At 9:54, shouldn't the expression for drift current be: I_d = −v(x)⋅Q(x)⋅W since current is velocity times charge, and the charge is proportional to the width of the channel. I don't understand why the infinitesimal channel length dx is included. Can you please clarify this point?
@AdiTeman
@AdiTeman 3 ай бұрын
Yes, you are right. There is an "extra" dx there. Thank you for pointing this out (it "magically" disappeared on the next slide ;)
@arghya.7098
@arghya.7098 3 ай бұрын
@@AdiTeman Thank you for the clarification, Professor. I really enjoyed the lecture and appreciate your guidance on this point.
@jaeyupchung
@jaeyupchung 3 ай бұрын
lifesaver
@AdiTeman
@AdiTeman 3 ай бұрын
Thanks!
@sapandeepsandhu4410
@sapandeepsandhu4410 3 ай бұрын
GRT GET NEW STUFF
@mdomarfaruque493
@mdomarfaruque493 3 ай бұрын
Hello Sir,could you please provide relevant lab work?It would be great
@AdiTeman
@AdiTeman 3 ай бұрын
Hi, Sorry that I haven't provided it as of yet. I may be updating the course recordings soon (a lot has changed since 2020...) and maybe then I could add some labs.
@VIKRAMANDEVARAJ-wq4mf
@VIKRAMANDEVARAJ-wq4mf 3 ай бұрын
Hii sir, Thank you for the playlist Is there any particular tool where I can start my pratical knowledge. There skywater 130 I use windows I can't use it. What type of tools should you recommend
@AdiTeman
@AdiTeman 3 ай бұрын
Hi. Tough question. These things mostly run on Linux and aren't too friendly for home computers. But you can start by buying a starter FPGA and programming it. The FPGAs come with a tool suite that runs on Windows and you can learn a ton from it (and FPGA design is a very popular and required skill on its own). Try starter kits from Xilinx or Altera.
@haziqiqbalhussain
@haziqiqbalhussain 3 ай бұрын
I think Din and Dout and TX and RX are mistakenly swapped at 10:15. And if not, it would great if you explain the naming convention
@AdiTeman
@AdiTeman 3 ай бұрын
Hi Haziq, Indeed, this is a really bad naming convention, but I didn't invent it. Maybe I should have changed it, because it's so upside down, but I kept what was in a reference that I based it on. You can see in the bottom figure that the usage of DIN/DOUT is the same (pay attention that the PAD is connecting outside the chip, while the ports are connected to the chip core). I can try to give a makeshift explanation, but really, it is going to be a bad one, because if I were to design these I/Os, I would label the pins in the opposite way. Here it goes - "we are looking at the I/O from the perspective of the other chip, so its outputs are connected to DOUT and its inputs to DIN. Where the other chip is receiving is the RX I/O and where it is transmitting is the TX one". So after we got that horrible explanation out of the way, I will say that these things just depend on whatever the vendor who developed the circuit decided to call it. So you have to read the manual (good luck ;) and adhere to it.
@haziqiqbalhussain
@haziqiqbalhussain 3 ай бұрын
@@AdiTeman well the explanation isn't that horrible. And by not changing it, you saved the students from future confusion. Thanks!
@haziqiqbalhussain
@haziqiqbalhussain 3 ай бұрын
Man whoever came up with this is a genius. Thank you Dr. Teman. Could you please confirm one thing. Connectivity matrix saves us from calculating each quadratic wirelength and differentiating them partially in order to arrive at A matrix, right?
@AdiTeman
@AdiTeman 2 ай бұрын
Hi, I guess you could look at it this way, but I think it is more straightforward than that. The solution to the optimization problem is to differentiate the entire system. This is a set of equations that you can collect into matrix notation. The connectivity matrix is basically the outcome of writing down all equations and collecting them together. But the "observation" is that this matrix has features that "are intuitive" and "make sense" and represent the connectivity of the netlist and therefore it's just straightforward to write it down. Note that there is some amazing work by University of Texas (David Pann), where they use deep learning inspired optimization to solve the placement problem ("DreamPlace"). I highly suggest looking into this, because it's really really beautiful.
@omersayag8909
@omersayag8909 3 ай бұрын
איפה אפשר להוריד את המצגת? בקישור שמופיע יש רק את הרצאות הוידאו ללא המצגת
@AdiTeman
@AdiTeman 3 ай бұрын
בקישור יש כפתור ליד כל הרצאה עם קישור למצגת.