ECE 425 VLSI Circuit Design Lecture 11 Combinational
ECE 425 - VLSI Circuit Design Lecture 11 - Combinational Logic Networks Spring 2007 Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania 18042 nestorj@lafayette. edu ECE 425 Spring 2007 Lecture 11 - Comb. Networks 1
Announcements } Homework Due Mon. March 5 } Elmore Delay Problem } Reading } 3. 1 -3. 7 (3. 8 optional) } Exam 1: Wed. March 21 (rescheduled) } Talk today: Quantum Information (Hugel 100, 12 pm, free pizza!) ECE 425 Spring 2007 Lecture 11 - Comb. Networks 2
Where we are } Last Time } Body Effect } Techniques for Reducing Power Consumption } Delay in long wires } Today } Combination Logic Networks - Layout } Combinational Logic Networks - Placement & Routing ECE 425 Spring 2007 Lecture 11 - Comb. Networks 3
Combinational Logic Networks (Ch. 4) } } Layouts for logic networks Delay through networks Power consumption in networks Testing ECE 425 Spring 2007 Lecture 11 - Comb. Networks 4
Layout Methods } Goal: design cells to work together } Single-row layouts } Multiple-row layouts ECE 425 Spring 2007 Lecture 11 - Comb. Networks 5
Single-Row layouts } fix "pitch" so all cells line up } overall structure: } p-transistors } “gap” between n, p transistors use for “local” wiring } n-transistors } routing channel below and/or above cells ECE 425 Spring 2007 Lecture 11 - Comb. Networks Feedthrough P-Transistors Short wires N-Transistors Routing Channel 6
Typical routing area: channel } Nets enter channel from above or below } Nets are assigned to tracks on different layers } Horizontal tracks - metal 1 } Vertical tracks - metal 2 A C B ECE 425 Spring 2007 A Lecture 11 - Comb. Networks 7
Channel density } Max number of nets crossing any vertical line } Measure of wireability- how many horizontal tracks are needed to wire channel? } Controllable by placement of nets entering channel a c b b c a a a c b Density=2 Density=3 ECE 425 Spring 2007 c b Lecture 11 - Comb. Networks 8
Example: Full adder layout } EXOR sum function (2 EXOR gates) } AND/OR carry function (3 NAND gates) ECE 425 Spring 2007 Lecture 11 - Comb. Networks 9
Example: Full adder layout } Layout method } } Place gates in row draw wires between inputs, outputs measure channel density interchange gates to try to reduce density ECE 425 Spring 2007 Lecture 11 - Comb. Networks 10
Full adder - candidate layout Density = 5 a b x 1 x 2 n 1 n 2 n 3 n 4 s cout c ECE 425 Spring 2007 Lecture 11 - Comb. Networks 11
Full Adder - Improvement Strategies } Swap pairs of gates. } Doesn’t help here. } Exchange larger groups of cells. } Swapping order of sum and carry groups doesn’t help either. } This seems to be the placement that gives the lowest channel density. } Cell sizes are fixed, so channel height determines area. ECE 425 Spring 2007 Lecture 11 - Comb. Networks 12
Channel Routing The Left Edge Algorithm } Basic algorithm for channel routing } Assumes one horizontal segment per net } Operation: } } } Sort nets by left edge Start with first track Place nets that don't overlap in first track Go to second track Repeat until all nets placed } Demonstration: Java applet http: //foghorn. cadlab. lafayette. edu/cadapplets/Channel. Router. html ECE 425 Spring 2007 Lecture 11 - Comb. Networks 13
Vertical Constraints } Consider the case where: } A terminal “A” at the top of a column AND } A terminal “B” at the bottom of a column? } Must assign A to a horizontal track above B - a vertical constraint ECE 425 Spring 2007 Lecture 11 - Comb. Networks 14
Vertical Constraints (cont'd) } Constraint graph - maps constraint relationships ECE 425 Spring 2007 Lecture 11 - Comb. Networks 15
Vertical constraint cycles } Cycle in graph means constraint can’t be met } Fix by inserting "dogleg" ECE 425 Spring 2007 Lecture 11 - Comb. Networks 16
Maze Routing A Less-Constrained Approach } Treat routing surface as a grid } Mark endpoints of desired connection on grid } Source } Target } Lee Algorithm } Label nodes with distance from source in expanding “wavefront” } Trace back connection by following path of decreasing distance } Maze Router Applet: http: //foghorn. cadlab. lafayette. edu/cadapplets/Maze. Router. html ECE 425 Spring 2007 Lecture 11 - Comb. Networks 17
More about Maze Routing } Down side of maze routing: slow } Faster alternatives: } A* algorithm: use distance from source + estimated distance to target as cost function } Hadlock’s algorithm: use “detour number” as cost function i. e. how many grids “away” from target is a path? } Both faster in best case; same speed in worst case } Applets: http: //foghorn. cadlab. lafayette. edu/cadapplets/AStar. Router. html http: //foghorn. cadlab. lafayette. edu/cadapplets/Hadlock. Router. html ECE 425 Spring 2007 Lecture 11 - Comb. Networks 18
Comparing Routing Algorithms } Left-Edge Algorithm + + - Fast execution time, low memory requirements Useful when thinking about layout problems Constrained routing region (channel) Doesn’t expand well to multiple layers Vertical constraints complicate the problem } Lee Algorithm + + + - Unconstrained routing region (grid) Guaranteed to find a connection if one exists Easily extended for multiple layers Slow execution time, high memory requirements } Real routers use a combination of techniques ECE 425 Spring 2007 Lecture 11 - Comb. Networks 19
Review - Standard-Cell Layout } Predesigned cells with fixed pitch } Vdd, Gnd buses } Design "feedthroughs" in cells pin pullups Intra-cell wiring pulldowns Feedthrough area VDD pin VSS ECE 425 Spring 2007 Lecture 11 - Comb. Networks 20
Review - Standard-Cell Layout } Layout in multiple rows } Placement • Use an estimate of routing • Try to minimize congestion, wirelength } Routing - two-phase process • Global router - assigns nets to channels • Detailed router - make detailed connections (channel router) } Note impact of layout on delay! ECE 425 Spring 2007 Lecture 11 - Comb. Networks 21
Review - Standard Cell Layout } Placement is performed before routing } Estimate routing using a “rat’s nest” diagram ECE 425 Spring 2007 Lecture 11 - Comb. Networks 22
Coming Up } } Combinational Network Delay Power Issues Testing ASIC Design Using Logic Synthesis ECE 425 Spring 2007 Lecture 11 - Comb. Networks 23
Lab 7 - Verifying the DAC } Modify RPT cell to “mark” resistor for extraction : paint rpoly } Extract circuit & make Spice deck } On Suns: : extract all : ext 2 pspice DAC } On Linux (inside Magic): extract all exttospice cell_name shell sp 2 ps cell_name } Simulate using PSPICE and verify output for all 16 input values (0000 - 1111) ECE 425 Spring 2007 Lecture 11 - Comb. Networks 24
- Slides: 24