─── 🖊⋅🖊⋅🖊 ───

I took a class

I used to have exams in other classes where they let us make a 1-page “cheat sheet” that we could use during the exam. It’s great because making the cheat sheet helps you study in the first place, so it’s a win win. If I ever teach a class, I’m going to do that.

Also, the cheat sheet helps if you keep it in the future, because if you need a quick review of what you learned in that class, you can just skim through the sheet.

Cheatsheet

  • NMOS, PMOS, pull up and pull down
  • Standard inverter, and implementing boolean logic
  • CMOS operating regions and equations
  • Transistor sizing (resistive model, progressive sizing)
  • Sequential and combinational logic
    • Sequential: Bistable, monostable, astable
    • DRAM, DFF
    • Metastability
  • Average power
  • Pipelining
  • Critical path, Euler path, worst case delay, operating frequency
  • Pass gates, latches
    • SR Bistable latch, flip flops
    • D-latch with tristate inverters (e.g. clock controlled logic)
  • Stick diagram
  • VTC diagrams
  • Clock network
  • Parasitic capacitance, parasitic resistance
  • Physical scaling, constant voltage scaling, new scaling
  • Short channel effects: velocity saturation, mobility degradation, DIBL, drop off, punch-through, HOT carrier effect
  • Junction capacitances
  • Noise margins
  • Pseudo-NMOS
  • Adders (propagate and generate signals)
  • Switching delays, interconnect modeling
    • Average current method
    • Diff model
    • RLCG model: resistance, inductance, capacitance, conductance
    • Elmore delay
    • RC delay
    • Pi model vs T model vs distributed RC ladder network
    • Linear vs nonlinear
    • NLDM lookup tables
    • Interpolation, extrapolation
    • PVT derating
  • STA: setup, hold
  • Super buffer/ring oscillator
  • buffer insertion
  • clock gating, data gating, power gating
  • subthreshold current
  • Dynamic logic design, domino circuits
    • multiple output domino
    • dual rail domino
    • NP domino
      • Always cascade the dynamic domino stage with a static stage
    • Zipper
    • TSPC
    • Logic 1 transfer, logic 0 transfer
    • Dynamic pass transistor circuits - two phase clocking
    • Ratioless dynamic logic
    • Precharging the header transistor in the PUN controlled by signal , and then using progressive sizing
    • cascading dynamic CMOS logic
    • Charge sharing
      • Keeper transistor solution: add a weak pmos pull up device to the dynamic output, which forces a high unless there’s a strong pull down path between and GND.
      • Solution 2: extra precharge for internal nodes
  • Datapath systems
  • Power
    • probabilitiy based power
    • Switching activity
    • calculation
    • static (leakage, DC) vs dynamic (switching)

Labs:

  • Virtuoso: standard cells, 3 types of adders, compressor, MAC
  • HSPICE: interconnect modeling

Why pay for school

After returning from COVID, I remember thinking that I would go to lectures, office hours, study sessions, anything in-person studying. I was worried about taking online classes again because I never really enjoyed it beforehand, but it’s better this time around. Maybe I’m getting old.

It’s hard to balance watching lecture with a job. Each lecture is so dang long… sitting still for so long… It’s good that they’re recorded, so I skip backwards and catch what I missed.

I’m pretty good at finding resources online. So why pay for school? I was brainstorming it, and here’s what I came up with:

  • The degree from an institution: formal proof that you attended, completed, met the requirements
  • Instruction: many parts. In a way, you’re kind of paying for the instructors to pay attention to you for x weeks.
    • Professor: learning directly from someone respected and accomplished in the field. Or if it’s a teaching professor/graduate student, you’re still learning from someone who’s certifiably got the experience and knows what to teach.
    • Teaching assistants: higher availability for sitting and working through things you may be stuck on.
    • Syllabus: knowing what’s relevant to learn
  • Time + grades pressure: the grade is the quantifiable metric of your performance in the class, and you can be compared against a baseline or against other students.

Please keep in mind that everyone in class receives the same amount of information, assignments and exam problems. Therefore, think of our class as a competition, like interview processes, where you aim to top the class, no matter how challenging the class or exams are. 💬 Professor

  • Community: taking the class at the same time as others leading to discussion, collaboration, etc
  • Affiliation-based access: e.g. software licenses, journal subscriptions, etc. I love getting free stuff!

Take away all these things, and I don’t see the point in paying for the class. Time is money, and money is money. Everything is an investment in your future self. A thousand dollars today can become five thousand dollars tomorrow.

I started thinking about it because…

There are truly so many free online resources out there. MIT open courseware, GT OMSCS open courseware, random YouTube lecture series, entire course pages posted online. The most apparent barrier is, of course, motivation and discipline, but I wanted to sit down and brainstorm more reasons why I should continue forking over money.

Strategies

Carefully choose your courses, the professors based on past student reviews. Actively engage with additional class resources like extra reading, emailing over questions, office hours. Meet and work with other students in the course, and strengthen each others’ learning journey.

None of it matters if you’re going to forget the content after you finish the class. Thus, it’s paramount to take the right notes, or any sort of product that helps you easily recall and build upon the knowledge that you learned in the class.

─── 🖊⋅🖊⋅🖊 ───