ECE 1387: CAD For Digital
Circuit
Synthesis and Layout
J. Anderson
Fall 2011
Tentative Lecture Schedule
and Reading
List
- Lecture 1: Introduction and Overview
- Lecture 2: Detailed Routing (applied to FPGAs)
- Background Literature:
- C.Y. Lee, "An algorithm for path connections and its
applications," IRE Transactions on Electronic Computers,vol.
10, pp.
346-365, Sept. 1961. (PDF) (Classic paper on maze routing)
- See Section III-D of: M.A. Breuer, M. Sarrafzadeh, F.
Somenzi, "Fundamental CAD algorithms,"
IEEE Transactions on CAD,
Vol. 19, No. 12, pp. 1449-1475, December 2000 (PDF)
- J.S. Rose, S.D. Brown, "Flexibility of interconnection
structures for field-programmable gate arrays", IEEE Journal of Solid State Circuits,
Vol. 26 No. 3, pp. 277-282, March
1991. (reference only; classic paper that may help with assignment #1) (PDF)
- S.D. Brown, J.S. Rose, Z.G. Vranesic, "A detailed
router
for field-programmable gate arrays," IEEE Transactions on CAD, Vol. 11, No. 5, pp.
620-628,
May 1992. (reference only: may help with assignment #1) (PDF)
- Jordan S. Swartz, Vaughn Betz, Jonathan Rose: A Fast Routability-Driven Router for FPGAs. FPGA 1998: 140-149 (PDF).
- Lecture 3: Timing-Driven Routing
- Background Literature:
- Derivation of the closed-form Elmore delay formula for RC tree delay (source: Prof. Lei He, UCLA) (PDF)
- Ravi Nair, "A simple yet effective technique for global
wiring," IEEE Transactions on CAD,
Vol. 6, No. 2, pp. 165-172, 1987. (PDF)
- J. Rubenstein, P. Penfield, M. A. Horowitz, “Signal
delay in RC tree networks,”
IEEE Transactions on CAD,
vol. 2, no. 3, pp. 202-211, July 1983. (PDF)
- W.C. Elmore, "The transient response of damped linear
networks," Journal of Applied Physics,
Vol. 19, pp. 55-63, January
1948.
- Larry McMurchie, Carl Ebeling. "PathFinder: A
negotiation-based performance-driven router for FPGAs," ACM International
Symposium on Field Programmable Gate Arrays, pp. 111-117, 1995. (PDF)
- Lecture 4: Timing-Driven Routing (cont), Intro to Placement
- Background Literature:
- R. Fung, V. Betz, and W. Chow, "Slack Allocation and Routing to Improve FPGA Timing While Repairing Short-Path Violations," IEEE Trans. on Computer-Aided Design of Circuits and Systems, April 2008, pp. 686 - 697. (PDF)
- Moffitt, M. D., Roy, J. A., and Markov, I. L. 2008. The coming of age of (academic) global routing. In Proceedings of the 2008 international Symposium on Physical Design (Portland, Oregon, USA, April 13 - 16, 2008). ISPD '08. pp. 148-155. (PDF)
- Hadsell, R.T.; Madden, P.H., "Improved global routing through congestion estimation," Design Automation Conference, 2003. Proceedings , pp. 28-31, 2-6 June 2003 (PDF)
- Lecture 5: Placement (Analytical Techniques)
- Background Literature:
- Viswanathan, N.; Chu, C.C.-N., "FastPlace: efficient analytical
placement using cell shifting, iterative local refinement,and a hybrid
net model," Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on , vol.24, no.5, pp. 722-733, May 2005 (PDF)
- Sigl, G.; Doll, K.; Johannes, F.M.; , "Analytical placement: a linear or a quadratic objective function?," IEEE/ACM Design Automation Conference, pp.427-432, 1991. (PDF)
- K. P. Vorwerk, A. Kennings, A. Vannelli,
"Engineering
details of a stable force-directed placer", IEEE/ACM International
Conference on Computer-Aided Design, 2004, pp. 573-580. (optional:
on implementing/optimizing Eisenmann's
algorithm) (PDF)
- Natarajan Viswanathan, Gi-Joon Nam, Charles Alpert,
Paul Villarrubia, Haoxing Ren, and Chris Chu, RQL: Global Placement via
Relaxed Quadratic Spreading and Linearization IEEE/ACM Design
Automation Conference, pages 453-458, 2007. (PDF)
- Huimin Bian, Andrew C. Ling, Alexander Choong, Jianwen Zhu: Towards scalable placement for FPGAs. ACM FPGA 2010: 147-156. (PDF)
- J. M. Kleinhans, G. Sigl, F. M. Johannes, K. J.
Antreich,
"GORDIAN: VLSI placement by quadratic programming and slicing
optimization, " IEEE Transactions on
CAD, Vol. 10, No. 3, pp. 356-365, 1991. (optional:
classic paper) (PDF)
- Lecture 6: Placement (Simulated Annealing)
- Background Literature:
- S. Kirkpatrick, C.
Gellat,
M. Vecchi, "Optimization by simulated annealing," Science, 220:671-680, 1983. (PDF)
- C. Sechen, A.
Sangiovanni-Vincentelli, "The TimberWolf placement and routing
package," IEEE Journal of Solid
State Circuits, Vol. 20, No. 2, pp.
432-439, 1985.
(PDF)
- V. Betz, J. Rose,
"VPR: A new packing, placement and routing tool for FPGA research," International
Workshop on Field-Programmable Logic and Applications,
London, UK, 1997, pp. 213 - 222. (PDF)
- Chih-liang Eric Cheng, "Risa: Accurate And Efficient Placement Routability Modeling," Computer-Aided Design, 1994., IEEE/ACM International Conference on , vol., no., pp.690-695, 6-10 Nov 1994. (PDF)
- Lecture 7: Timing Analysis and Slack Allocation
- Background Literature:
- R. B. Hitchcock, G. L. Smith, D. D. Cheng, "Timing
analysis of computer hardware," IBM
Journal of Research and Development,
26(1):100-105, January 1982. (PDF)
- Jon Frankle,
"Iterative and adaptive slack allocation for performance-driven layout
and FPGA routing," ACM/IEEE Design
Automation Conference, 1992, pp. 536-542. (PDF)
- H. Youssef,
E. Shragowitz, "Timing constraints for correct performance," IEEE International Conference on
Computer-Aided Design, 1990, pp. 24-27. (PDF)
- H. Chang and S. S.
Sapatnekar, “Statistical Timing Analysis Under Spatial Correlations,” IEEE
Transactions on Computer-Aided Design of Integrated Circuits and Systems,
Vol. 24, No. 9, pp. 1467 – 1482, September 2005. (PDF)
- Lecture 8: Partitioning (Branch and Bound)
- Background Literature:
- A nice overview of branch and bound that I found on the
web
is called "Branch and Bound Algorithms - Principles and Examples", by
Jens Clausen. (PDF)
- B. Kernighan, S. Lin, "An efficient heuristic
procedure
for partitioning of electrical circuits," Bell System Technical
Journal, pp. 291-307, 1970. (classic paper). (PDF)
- A. E. Caldwell, A. B. Kahng, I. L. Markov, "Optimal
Partitioners and End-case Placers for Standard-cell Layout", IEEE
Trans. on CAD, vol. 19, no. 11, pp. 1304-1314, 2000. (PDF)
- Lecture 9: Partitioning (FM/Multi-Level with hMetis)
- Background Literature:
- C.
M. Fiduccia, R. M. Mattheyses. "A linear-time heuristic for
improving network partitions," ACM/IEEE
Design
Automation
Conference, pp 174-181, 1982. (PDF)
- G.
Karypis, R. Aggarwal, V. Kumar, S. Shekhar,
"Multilevel hypergraph partitioning: Applications in the VLSI domain," IEEE
Transactions on VLSI Systems, 07(01):69-79, March 1999. (PDF)
- A. E. Caldwell, A. B. Kahng
and I. L. Markov,
"Can Recursive Bisection Alone Produce Routable Placements?",
Proc. Design Automation Conf., Los Angeles, June
2000, pp. 693-698. (PDF)
- Lars W. Hagen, Dennis J.-H. Huang, Andrew B. Kahng: On implementation choices for iterative improvement partitioning algorithms. IEEE Trans. on CAD of Integrated Circuits and Systems 16(10): 1199-1205 (1997) (PDF)
- Lecture 10: Technology Mapping (Dynamic Programming)
- Background Literature:
- An intro to dynamic programming can be found in chapter
15 of
T.H. Cormen, C.E. Leiserson, R.L. Rivest, "Introduction To
Algorithms - Second Edition", McGraw-Hill, 2001.
- A clear overview of dynamic programming, with a few
examples, can be found in Wikipedia (here)
- A. Mishchenko, S. Chatterjee, and R. Brayton,
"Improvements to technology mapping for LUT-based FPGAs", to appear
in IEEE Transactions on CAD, 2007. (PDF)
- K. Keutzer, "DAGON: Technology Binding and Local
Optimization
by DAG Matching," ACM/IEEE Design
Automation Conference, 1987,
pp. 341-347. (PDF)
- J.H. Anderson and F. N. Najm, "Power-Aware Technology
Mapping for LUT-Based FPGAs," IEEE
International Conference on Field-Programmable Technology
(FPT), Hong Kong, 2002, pp. 211 - 218. (PDF)
- K. C. Chen, J. Cong, Y. Ding, A. B. Kahng and P.
Trajmar, "DAG-MAP: Graph
Based FPGA Technology Mapping For Delay Optimization", IEEE Design
and
Test, September 1992, pp. 7-20. (PDF)
(describes how to break an arbitrary Boolean Network into smaller
k-input functions)
- Lecture 11: Tech Mapping and Logic Synthesis
- Background Literature:
- Jason H. Anderson, Chirag Ravishankar: FPGA power reduction by guarded evaluation. FPGA 2010: 157-166 (PDF)
- A. Mishchenko, S. Cho, S. Chatterjee, and R.
Brayton, "Combinational and sequential mapping with priority cuts",
Proc. ICCAD '07, pp. 354-361. (PDF)
- Alan Mishchenko, Satrajit Chatterjee, Robert K. Brayton: DAG-aware AIG rewriting a fresh look at combinational logic synthesis. DAC 2006: 532-535 (PDF)
- Lecture 12: Special Guest Lecture TBA
|