AVLSI
ECE 474: Digital VLSI Design
Fall 2003
 
 

Lab 5: Pads and Testing

Due: November 25, 11:50pm [Tuesday]
  The goal of this lab is to connect the u474 CPU to I/O pins, and test your design.

Reminder: All layout in this class will use the magic technology file SCN3ME_SUBM.30, which can be specified on the command line by saying: magic -T SCN3ME_SUBM.30. You might want to alias magic to magic -T SCN3ME_SUBM.30 in your .cshrc.

Make sure you read the ENTIRE lab before starting.

Pads
 
  • The file lab5.tgz contains a template for the layout for this lab. The top-level mag file is called MyFrame.mag. Spend some time looking at the layout. Each pad has some metal1 on it, which you should label p[0]...p[39] (cell id p0 should have label p[0], etc).
  • An InPad has a couple of inverters that connect the piece of metal1 painted on top of the pad to a signal that is made available on the other end of cell (toward the chip interior); an OutPad is similar, except the signal is taken from the chip interior and driven toward the output. These are the signals you will have to connect to. You also have VddPad and GNDPad, both of which are different because they connect the piece of metal1 on them to an entire ring of metal3 passing through all the pads. This means that you can connect to Vdd/GND anywhere on the exterior.
The layout part of this lab is straightforward. Place your lab4 layout within the pad frame, and connect the 40 I/O's from lab4 to the appropriate signal in each pad, so that the pad labels p[0]...p[39] correspond to (they will not be the same signal, except for Vdd/GND) the labels you had in lab4. After this is done, you should be able to test your chip using exactly the same setup as in lab4. Since this part is so simple, we do not expect CAST files for your entire chip; however, we do expect CAST files for the lab4 part of your design. Do not change the pad layout in any way.

Use the sizing ideas to improve the performance of your design. In particular, we expect to see some clock inverters used to drive the clock signal on-chip. Also, make sure that the outputs of the PLA are staticized.

Testing. We expect a thorough test of your chip. Apart from systematic testing, we also want to see some random testing. For instance, initialize your memory with random values and make sure your chip does "the right thing." (You can assume that unspecified opcodes will not be in the memory.)

README. In addition to the usual information, the README file must also contain a description of the # of cycles it takes your processor to execute an instruction (each instruction type might be different). If your processor overlaps instruction executions, then mention that as well. For instance, you could say "load: 3 cycles + the # of cycles Mdone is high". The file must also contain your cycle time. If your clock is not balanced (i.e. each phase has a different size), please provide your clock and stepsize definition.

Evaluation criteria. You will be graded on

  • Correctness of your design (this is basically the lab4 part of the grade)
  • Thoroughness of testing
  • Clock design (have you optimized the delay from the clock arriving at the pad to the on-chip clock that is connected to latches/precharges on-chip)
  • Quality of layout: this primarily refers to floorplanning
  • Quality of your design: how efficient is your design in terms of the cycle time, number of cycles to execute an instruction, complexity of your control logic, datapath complexity, etc.


Submitting your Lab
  For the written part, we expect a one page submission. There will be a box placed in 314 Rhodes where you can submit the written part. We expect one submission per group. The first page is the cover sheet and it must contain:
  • The lab number and the names of the group members and their CSL login ids.
  • A picture of the complete layout for your processor.
  • Cycle time estimate for your processor.
  • The dimensions of the bounding rectangle for your layout in lambda are unnecessary for this lab, since everyone's layout will be 5000x5000 lambda.

Electronic Submission. Use the CMS system to submit your files electronically. Create a .tar.gz file and submit that file. Make sure that the file contains a plain text README file that documents your submission. As in Lab 1, make sure that the .tar.gz file ONLY contains the files that you wrote; do not include any file that is generated by a tool (e.g., no .ext files, no .trace files, etc etc). Instructions on testing the lab should be contained in the README.

 
 
 
Questions? Contact Rajit Manohar
cornell logo