ECE 474 is the introductory digital VLSI course at Cornell. Students in this class have had no prior exposure to VLSI design, and have varied backgrounds (CS, ECE/devices, ECE/circuits, ECE/architecture). The course is designed for advanced juniors and seniors, although it usually also has a few first year graduate students enrolled.
Catalog entry. Introduction to digital VLSI design. Topics include basic transistor physics, switching networks and transistors, combinational and sequential logic, latches, clocking strategies, domino logic, PLAs, memories, physical design, floorplanning, CMOS scaling, performance and power considerations, etc. Lecture and homework topics will emphasize disciplined design, and include CMOS logic, layout, and timing; computer-aided design and analysis tools; and electrical and performance considerations. Students will tape out a small project that will be tested in the following semester.
Fall 2001 Projects. All projects were fabricated in AMI's 0.5 micron process (run T21R) available through MOSIS. The project dimensions are 5000 by 5000 lambda, with lambda=0.3 micron. The stuff in the corner (poly/m1/m2 sandwich) and the large patches of poly were added to satisfy the CMP rules for this process. The pad frame we used allows a layout area of 3600 by 3600 lambda for the project.
Design tools:
magic
for VLSI layout (version 7.1)
irsim
for digital simulation (version 9.4.1+local mods)
peg
for fsm generation
mpla
with our own tiles for PLA generation
CAST
(local) for circuit description
prs2sim
(local) to simulate circuit description with irsim
lvs
(local) for physical layout validation
aspice
(local) for circuit simulation
wellcheck
(local) to check every well is plugged
Single major reason why a chip did not work: use of edge-triggered flip-flops (without extensive spice-level simulation) instead of two-phase non-overlapping clocking in spite of strong advice to the contrary. :-) They won't do that again. :-)