AVLSI
ECE 474: Digital VLSI Design
Fall 2003
 
 

Announcements

  February 29, 2004.
  • Intel on campus, Thursday, March 4, 2004.
    Intel has increased it's domestic site forecast for recent graduate
    hiring and we will be on campus Thursday March 4th to conduct Open
    House Prescreen Interviews.  These prescreens will be conducted from 9
    AM to 4 PM in the Yale/Princeton rooms of the Statler Hotel and are
    for BS, MS that will be graduating in May - August 2004 and PhD that
    will be graduating in 2004.  The primary disciplines we are looking
    for are: 
    
      For BS: EE, ECE, ChE, CS (Minimum GPA 3.0)
    
      For MS and PhD: EE, ECE, ChE, CS, Mat Sci, MechE, Chemistry and
    Physics.  
    
      The prescreen will last approximately 15 to 20 minutes per student
    and are on a first come first served basis according to discipline.
    Students may have to wait a short period of time for an interview
    depending on student volume.  Students should bring a hard updated
    (including current GPA) copy of their resume to the session.
    
    Students seeking internships are welcome to stop by and drop off their
    resume.  
    
    Dress for these sessions is casual.  
    
     ** Candidates for our current domestic (US) positions must meet
    Intel's citizenship requirement.  Candidates must have the permanent
    right to work in the U.S. without any type of sponsorship.  Exceptions
    may be made for PhD candidates with critical skills in an area of
    demonstrated shortage in the US.  Although Intel does not have a
    general policy that prohibits hiring students who have not yet
    received green cards, Intel requires individuals from some countries
    (including China, Iraq, Iran, Russia, Romania, Ukraine and others) to
    have Export Licenses from the Department of Commerce prior to
    beginning employment.  Individuals from these designated countries are
    also restricted from accessing certain technology, based on Department
    of Commerce regulations.  Intel's current available Domestic positions
    are subject to Department of Commerce restrictions on exports and
    technology  and are therefore not open to individuals from countries
    that fall into these categories. **
    
    **** Additionally, Intel's International Sites are looking for MS and
    PhD students from those countries (Examples; India, China, Malaysia,
    Russia) that would be interested in opportunities to return to their
    home country.  Representatives for those sites will also be on campus
    and available for screens. ****
    
December 16, 2003.
  • Graded exams are available for pickup. Regrade request deadline is Friday, noon.
  • Sample solutions for the prelim are available.
December 15, 2003.
  • I received the following posting about job opportunities for students, in case you're interested.
December 4, 2003.
  • All regrade requests for everything graded by this week are due by Saturday. Regrade requests made after Saturday might not be completed in time for final grades, and might be ignored.
December 1, 2003.
  • Quiz 6-9. Basic ideas for the solution are provided below.
    • Quiz 6: The effect of connecting the clocks to their appropriate supply in the problem is to create a pseudo-NMOS implementation of the logic that was originally implemented using a clocked precharge PLA.
    • Quiz 7: (1) A 2MxN array contains a log(2M) to 2M decoder that is used to select the appropriate line of the memory. The bit lines are longer, since 2M cells are connected to each bit line. Implementing the same storage with 2 MxN arrays requires smaller decoders (log(M) to M), but the word lines are longer because they now span 2N bits. The bit lines are shorter, because they only cover M bits. There is the additional overhead of a MUX at the output of the two MxN arrays to select the appropriate bit from each array using the left-over bit from the address (the one that is not used by the address decoder). (2) The dummy cell is used to provide a reference for a differential read operation. Introducing the dummy cell provides a reference value that is coupled to the word lines in the same way as the bit being read, thereby providing good noise immunity when combined with a differential sense amp.
    • Quiz 8: The delays are d(0-⟩1)=tp(L/Wp); d(1-⟩0)=tn(L/Wn). The constraint is Wn+Wp=C. The problem is to minimize tp(L/Wp)+tn(L/Wn). Replacing Wn with C-Wp, taking derivatives, and setting the derivative to zero leads us to Wp/Wn=sqrt(tp/tn), which has the solution Wp=C*sqrt(tp)/(sqrt(tp)+sqrt(tn), and Wn=C*sqrt(tn)/(sqrt(tp)+sqrt(tn)).
    • Quiz 9: The H-tree layout equalizes the lengths of the connections from the root of the H-tree to its leaves due to its symmetry, and therefore hopefully reduces clock skew between different points on the chip. The problem with an H-tree layout is that the leaves might not be equally loaded because clock load is not necessarily uniformly distributed on a chip. Also, depending on the coupling capacitances and the actual layout used for the H-tree (different metal layers, etc), the RC delay along the legs of the H-tree might not be equal either even if the end-point loads are identical.
  • Prelim 2 sample solutions in pdf.


October
  November 28, 2003.
  • Sample prelim from last year available.
  • Project report is due on December 8, 5pm. The project report should be organized as follows: a floorplan of your entire design, followed by a block diagram of your design showing major signals and connections between major units (an 8-bit adder would be a "major unit," rather than a 1-bit adder). Next, describe the clocking strategy and how the combination of the major units and control execute each instruction type. This would be a good place to describe the state machine and its operation. After that describe the implementation of each major unit and the control. Describe your clock distribution strategy. Finally, document the testing strategy and show samples of your CPU functioning. The report should be 20-35 pages in length.
  • In addition, your project report must contain a discussion of the following issues (some of them simply require a sentence stating how this was achieved): (i) complexity: the use of design hierarchy, automatic PLA generation, partitioning into datapath and control to keep the design complexity manageable; (ii) manufacturability: the use of scalable CMOS design rules to ensure fabricatabiilty of the design, and the use of two-phase non-overlapping clocks; (iii) reliability: how exhaustive are your tests, what did you do to ensure that your CPU did in fact work, would it be possible to use your design in safety-critical applications; (iv) maintainability: how easy is it to modify your design if the ISA changes, did using a pla + datapath make this a simpler problem
November 25, 2003.
  • The second prelim will be in Kimball B11 during normal class time (1:25-2:40, Tuesday).
November 21, 2003.
  • Course evaluations will be on-line, and next week. Please fill out the online form.
  • To help us understand how groups worked for the labs this semester, you must fill out the following online form to evaluate your partner (fill it out multiple times, once for each partner you had). Fill this form before the second prelim. (There will be points associated with filling out this form.)
November 18, 2003.
  • If you want us to regrade your prelim, please write a note explaining why and give the prelim+note to Engin.
November 17, 2003.
  • Prelim 1 grades posted (finally!). Graded exams will be available for pickup after 1pm.
November 16, 2003.
  • I will be expecting a project report for lab5. I will post the due date for this report (it will be in December) along with guidelines for the report in a few days.
November 15, 2003. November 12, 2003.
  • Since people are having trouble with the memory interface, please check ~rajit. It contains three new files: test.sim, test.al (generated by saying prs2sim test followed by cat test.x >> test.sim), and the file test.src. Running test.src on the sim/al files shows the memory interface working. Please make sure you can reproduce this behavior before proceeding. Check the test.src file as well to see how it uses the memory interface.
  • Lab 4 due date extended to Friday, 6pm.
  • Unfortunately I am out of town this Thursday as well. David Fang will be giving the lecture in my place. It will be on transistor sizing for other gate structures.
November 10, 2003.
  • pc should be set to 0 on Reset; We will set Reset high and run the clock for 10 cycles before lowering Reset. The address from the pc is used to fetch instructions from the memory.
  • You do not have to initialize all registers on Reset.
  • Memory interface test setup. Warning. Please make sure you look at the I/O's at all times to ensure that the memory interface is not misbehaving. If there are problems, let me know.
    • There is a template test file in ~rajit/test.cast. To try it out, copy test.cast to your own directory, run prs2sim test.cast (as usual), and then: cat ~rajit/test.x >> test.sim (i.e. append the contents of ~rajit/test.x to test.sim). Finally you need a mem.in file that contains a list of integers that correspond to the contents of memory starting from address 0. Instead of using irsim, use ~rajit/irsim.u474 to start the simulation. Once this works for you, put your CPU into test.cast at the appropriate place.
    • To simulate your extracted layout, generate your sim file from your layout with the entire cpu (datapath + control) in one cell called "c". Run slashes2dots on the .sim/.al files (see lab3). Take the test.cast file as given and run prs2sim on that as well. Append test.sim to the sim file obtained from the layout, and append test.al to the .al file obtained from your layout. Finally, append ~rajit/test.x to the sim file as well and follow the procedure given above to simulate the final merged sim file.
    • Highly recommended. Make a script for each procedure so you don't have to keep typing in the sequence of commands.
  • The pc update is: on a taken branch, the pc gets updated to pc + sign extended immediate; in all other cases, it's pc + 1. (1 because instructions are 1 byte)
November 1, 2003.
  • Rajit is out of town on Tuesday; the lecture (on memory design) will be given by John Teifel.


October
  October 25, 2003.
  • Lab 4 posted. It's due on Wednesday, Nov 12. Lab4 grading will emphasize the control part, since the datapath should be re-used from lab 3 with some modifications.
  • For labs 4 and 5, we are going to adhere to the submission guidelines in a strict manner. Any group that requires us to fix their submission (for whatever reason: missing README files, incorrect .mag file submitted, group member left out by accident, etc etc etc.) will lose 10% of the points for the lab. Any CMS issues (submission size, group problems, etc etc) should be resolved AT LEAST 48 hours in advance, or the same penalty applies.
October 24, 2003.
  • Office hours for Rob on Tuesdays have been shifted to Thursdays, same time, same place.
October 22, 2003. October 20, 2003.
  • In the prelim 1 solution to the last problem, the final sentence should be "f(...)=1" then "f(...)=1".
  • Quiz 4 sample solutions posted.
  • Prelim is open notes/book
October 17, 2003.
  • Prelim 1 will cover everything we've done in lecture, including retiming.
  • Prelim 1 will be held in Kimball B11 during normal class time (1:25-2:40 on Tuesday).
October 15, 2003.
  • You can increase the stepsize in the datapath test script in order to ensure that the datapath works. Please let us know what stepsize you use by including that in a README file in your submission (if your datapath does not work with the default size).
  • A brief summary of the retiming lemma is available.
  • Given the number of students interested in attending the inauguration, class is cancelled tomorrow (Thursday) so that people can attend. Reminder: Prelim 1 is on Tuesday.
  • There seems to be some confusion about lvs-ing the datapath and the components on it. Here's a clarification based on a discussion we had a while back in class:
    • Every cell that matches a cast definition should pass lvs by itself, including all staticizer checks, except
    • The load unit and the register port connected to the busses should not have a staticizer on their output. This is because the output of multiple units will be shorted to each other (via the bus). If you did this, you will see strange errors like "weak feedback is not an inverter."
    • Once the datapath is connected, the busses will need a staticizer, because none of the load units connected to it are staticized.
  • As discussed on numerous occasions in class, an inverter (input x, output _y) followed by a pass gate (controlled with signals c and _c) corresponds to the production rules x & c -> _y- and ~x & ~_c -> _y+.
October 13, 2003. October 8, 2003.
  • For those who asked, here are the slides that Prof. Horowitz used for his talk.
October 6, 2003.
  • Engin's office hours have moved by half an hour.
October 5, 2003.
  • This Tuesday there will be a VLSI seminar titled "Biologically Inspired Electronics", by Rahul Sarpeshkar (MIT). The seminar begins at 12:00 noon in Phillips 213. For details check out the VLSI seminars page.
  • All items that you see graded on CMS are available for pickup in 314 Rhodes (lab1, quiz 1-3).
October 3, 2003.
  • Lab 3 clarification added (in red, near the end of part 3).
  • The discussion in class in the last 2 minutes about the clock timing to the latch v/s logic was not correct! Think about what was said and what the correct timing constraints are; it might help you on the quiz next week...


September
  September 30, 2003.
  • Quiz 2 can be picked up from 314 Rhodes.
  • Lab 3 posted.
September 23, 2003.
  • If you want an accurate voltage value for a node from aspice, you can use the trace command. trace tracefile nodename will print a list of time (in nanoseconds) and voltage pairs for the specified node.
September 21, 2003.
  • wellcheck will check that every well is connected to a well plug. However, it does not check that the well plug is connected to the correct power supply. Please ensure this during layout. This can be generalized to the statement that the tools will not guarantee that your layout is error-free.
  • There have been a number of questions about 8 numbers in the spice results for lab 2. There are two cases for each pseudo-NMOS gate: (i) the output is "high"; and (ii) the output is "low". Report both voltages for each gate, making 8 numbers.
  • You might get an error of the form: "PARSE ERROR: ... expecting quote" when you run cit_ext2aspice. If that happens, rename the offending extract file (to say new.ext), and then run extfix < new.ext > file.ext and use the file.ext file instead.
  • Ignore the "too few area/perim..." message from ext2sim.
September 20, 2003.
  • Clarification for lab 2: The lab says "These CAST files must ONLY contain the definitions for the functions." You can also have other functions that are used to implement the 8-bit blocks (for instance, 1-bit blocks) and instantiate these multiple times to make up the 8-bit blocks. You can place these functions in the same file, or in another file that is imported. The sentence was trying to say "don't place any instances at the top level in the CAST file."
  • Remember to submit all relevant CAST files in your electronic submission. A simple way to check your submission file is to copy it to a new directory, untar/uncompress it (tar -xzf file.tar.gz) there, and then check that all necessary files exist.
September 16, 2003.
  • If you have problems with lvs, please check the additional information about lvs that we have made available.
  • Information about CAST is available electronically.
  • Quiz 1 can be picked up from 314 RH. Grades are available electronically via the CMS system.
September 9, 2003.
  • Rob's office hours have moved as well.
  • The tar command you will need to create a submission file for electronic lab submission is:
         tar -czf file.tar.gz file1 file2 ... fileN 
    This will create file.tar.gz that you can submit using CMS.
  • Remote access instructions are here.
  • We will be using CMS for grades and online submissions, starting with lab 1. You should be able to submit your labs after today (once we have everyone's netid from quiz 1). Online documentation for CMS is available.
  • Electronic submission information has been added to lab 1. Please submit your lab electronically. You might have to wait until tomorrow so that we have added your netids to the CMS system.
  • Engin's office hours have been moved to Friday.
September 8, 2003.
  • 101 PH is not available at class time, so we'll be sticking to 219 PH. I guess people will have to bring their own chair... On a more serious note, make sure that you have something to write on for the quiz.
September 3, 2003.
  • Office hours posted.


August
  August 30, 2003.
  • Detailed schedule for the class posted, along with due dates, quiz dates, and prelim dates.
  • Find your lab partners. Labs will be in groups of 3.
  • Make sure you have an ECE account. If you do not, then sign up on the ECE accounts web site.
 
 
 
Questions? Contact Rajit Manohar
cornell logo