Design Methodologies Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 The Design Problem Source: sematech97 A growing gap between design complexity and design productivity Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Design Methodology • Design process traverses iteratively between three abstractions: behavior, structure, and geometry • More and more automation for each of these steps Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Design Analysis and Verification Accounts for largest fraction of design time More efficient when done at higher levels of abstraction - selection of correct analysis level can account for multiple orders of magnitude in verification time Two major approaches: » Simulation » Verification Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Digital Data treated as Analog Signal VD D Sp Vin Vou t 5.0 Gn ,p In D n,p Out Vo ut (V) Bp 3.0 tpHL 1.0 Bn Sn –1.0 0 0.5 1 1.5 2 t (nsec) Circuit Simulation Both Time and Data treated as Analog Quantities Also complicated by presence of non-linear elements (relaxed in timing simulation) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Representing Data as Discrete Entity V 0 1 VDD 0 VM Rp t1 t t2 CL Discretizing the data using switching threshold Rn The linear switch model of the inverter Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Circuit versus Switch-Level Simulation 5.0 CIN OUT[2] Circuit 3.0 OUT[3] 1.0 –1.0 0 5 10 15 20 Switch time (nsec) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Structural Description of Accumulator entity accumulator is port ( -- definition of input and output terminals DI: in bit_vector(15 downto 0) -- a vector of 16 bit wide DO: inout bit_vector(15 downto 0); CLK: in bit ); end accumulator; architecture structure of accumulator is component reg -- definition of register ports port ( DI : in bit_vector(15 downto 0); DO : out bit_vector(15 downto 0); CLK : in bit ); end component; component add -- definition of adder ports port ( IN0 : in bit_vector(15 downto 0); IN1 : in bit_vector(15 downto 0); OUT0 : out bit_vector(15 downto 0) ); end component; -- definition of accumulator structure signal X : bit_vector(15 downto 0); begin add1 : add port map (DI, DO, X); -- defines port connectivity reg1 : reg port map (X, DO, CLK); end structure; Digital Integrated Circuits Design defined as composition of register and full-adder cells (“netlist”) Data represented as {0,1,Z} Time discretized and progresses with unit steps Description language: VHDL Other options: schematics, Verilog Design Methodologies © Prentice Hall 1995 Behavioral Description of Accumulator entity accumulator is port ( DI : in integer; DO : inout integer := 0; CLK : in bit ); end accumulator; architecture behavior of accumulator is begin process(CLK) variable X : integer := 0; -- intermediate variable begin if CLK = '1' then X < = DO + D1; DO <= X; end if; end process; end behavior; Digital Integrated Circuits Design described as set of input-output relations, regardless of chosen implementation Data described at higher abstraction level (“integer”) Design Methodologies © Prentice Hall 1995 Behavioral simulation of accumulator Discrete time Integer data (Synopsys Waves display tool) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Timing Verification Critical path Enumerates and rank orders critical timing paths No simulation needed! (Synopsys-Epic Pathmill) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Issues in Timing Verification In 4-bit adder MUX Out False Timing Paths Digital Integrated Circuits Design Methodologies bypass © Prentice Hall 1995 Implementation Methodologies Digital Circuit Implementation Approaches Semi-custom Custom Cell-Based Standard Cells Compiled Cells Digital Integrated Circuits Macro Cells Design Methodologies Array-Based Pre-diffused (Gate Arrays) Pre-wired (FPGA) © Prentice Hall 1995 Custom Design – Layout Editor Magic Layout Editor (UC Berkeley) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Symbolic Layout VDD 3 Out In 1 • Dimensionless layout entities • Only topology is important • Final layout generated by “compaction” program GND Stick diagram of inverter Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Cell-based Design (or standard cells) Rows of Cells Feedthrough Cell Digital Integrated Circuits Logic Cell Routing Channel Functional Module (RAM, multiplier, ) Design Methodologies Routing channel requirements are reduced by presence of more interconnect layers © Prentice Hall 1995 Standard Cell — Example [Brodersen92] Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Standard Cell - Example 3-input NAND cell (from Mississippi State Library) characterized for fanout of 4 and for three different technologies Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Automatic Cell Generation Random-logic layout generated by CLEO cell compiler (Digital) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Module Generators — Compiled Datapath buffer adder reg1 reg0 bus2 mux bus0 bus1 routing area feed-through bit-slice Advantages: One-dimensional placement/routing problem Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Macrocell Design Methodology Macrocell Interconnect Bus Floorplan: Defines overall topology of design, relative placement of modules, and global routes of busses, supplies, and clocks Digital Integrated Circuits Routing Channel Design Methodologies © Prentice Hall 1995 Macrocell-Based Design Example SRAM SRAM Data paths Standard cells Video-encoder chip [Brodersen92] Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Gate Array — Sea-of-gates polysilicon VD D rows of uncommitted cells metal possible contact GND In1 In 2 Uncommited Cell In3 In4 routing channel Committed Cell (4-input NOR) Out Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Sea-of-gate Primitive Cells Oxide-isolation PMOS PMOS NMOS NMOS NMOS Using oxide-isolation Digital Integrated Circuits Using gate-isolation Design Methodologies © Prentice Hall 1995 Sea-of-gates Random Logic Memory Subsystem LSI Logic LEA300K (0.6 mm CMOS) Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Prewired Arrays Categories of prewired arrays (or fieldprogrammable devices): Fuse-based (program-once) Non-volatile EPROM based RAM based Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Programmable Logic Devices PLA Digital Integrated Circuits PROM Design Methodologies PAL © Prentice Hall 1995 EPLD Block Diagram Macrocell Primary inputs Courtesy Altera Corp. Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Field-Programmable Gate Arrays Fuse-based I/O Buffers Program/Test/Diagnostics Vertical routes I/O Buffers I/O Buffers Standard-cell like floorplan Rows of logic modules Routing channels I/O Buffers Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Interconnect Programmed interconnection Input/output pin Cell Antifuse Horizontal tracks Vertical tracks Digital Integrated Circuits Programming interconnect using anti-fuses Design Methodologies © Prentice Hall 1995 Field-Programmable Gate Arrays RAM-based CLB CLB switching matrix Horizontal routing channel Interconnect point CLB CLB Vertical routing channel Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 RAM-based FPGA Basic Cell (CLB) Combinational logic Storage elements R A B/Q1/Q2 Any function of up to 4 variables C/Q1/Q2 Din R F F G CE D A B/Q1/Q2 D Q1 Any function of up to 4 variables R G C/Q1/Q2 F D G E F D Q2 CE G Clock CE Courtesy of Xilinx Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 RAM-based FPGA Xilinx XC4025 Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Taxonomy of Synthesis Tasks Structural View Behavioral View Architectural Level Logic Level Circuit Level state a b 0 (i: 1..16) :: sum = sum*z–1 + coeff[i]*In*z–1 2 1 3 Logic Synthesis Architecture Synthesis 4 fsm c * Digital Integrated Circuits Circuit Synthesis a b mem x c tp x D Design Methodologies a 2 b 2 1 c © Prentice Hall 1995 Design for Test Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Validation and Test of Manufactured Circuits Goals of Design-for-Test (DFT) Make testing of manufactured part swift and comprehensive DFT Mantra Provide controllability and observability Components of DFT strategy • Provide circuitry to enable test • Provide test patterns that guarantee reasonable coverage Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Test Classification Diagnostic test » used in chip/board debugging » defect localization “go/no go” or production test » Used in chip production Parametric test » x e [v,i] versus x e [0,1] » check parameters such as NM, Vt, tp, T Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Design for Testability N inputs N inputs Combinational K outputs Combinational K outputs Logic Logic Module Module M state regs (a) Combinational function (b) Sequential engine 2N patterns 2N+M patterns Exhaustive test is impossible or unpractical Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Problem: Controllability/Observability Combinational Circuits: controllable and observable - relatively easy to determine test patterns Sequential Circuits: State! Turn into combinational circuits or use self-test Memory: requires complex patterns Use self-test Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Test Approaches Ad-hoc testing Scan-based Test Self-Test Problem is getting harder » increasing complexity and heterogeneous combination of modules in system-on-a-chip. » Advanced packaging and assembly techniques extend problem to the board level Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Generating and Validating Test-Vectors Automatic test-pattern generation (ATPG) » for given fault, determine excitation vector (called test vector) that will propagate error to primary (observable) output » majority of available tools: combinational networks only » sequential ATPG available from academic research Fault simulation » determines test coverage of proposed test-vector set » simulates correct network in parallel with faulty networks Both require adequate models of faults in CMOS integrated circuits Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Fault Models Most Popular - “Stuck - at” model sa0 (output) 0 1 sa1 (input) Covers almost all (other) occurring faults, such as opens and shorts. Z x1 x2 Digital Integrated Circuits Design Methodologies x3 , : x1 sa1 : x1 sa0 or x2 sa0 : Z sa1 © Prentice Hall 1995 Problem with stuck-at model: CMOS open fault x1 x2 Z x1 x2 Sequential effect Needs two vectors to ensure detection! Other options: use stuck-open or stuck-short models This requires fault-simulation and analysis at the switch or transistor level - Very expensive! Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Problem with stuck-at model: CMOS short fault ‘0’ ‘0’ C D A B ‘0’ A C ‘1’ B D Digital Integrated Circuits Causes short circuit between Vdd and GND for A=C=0, B=1 Possible approach: Supply Current Measurement (IDDQ) but: not applicable for gigascale integration Design Methodologies © Prentice Hall 1995 Path Sensitization Goals: Determine input pattern that makes a fault controllable (triggers the fault, and makes its impact visible at the output nodes) Fault enabling 1 1 1 1 Fault propagation 0 sa0 1 Out 1 0 Techniques Used: D-algorithm, Podem Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Ad-hoc Test data address data test address Memory Memory select Processor Processor I/O bus I/O bus Inserting multiplexer improves testability Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Scan-based Test ScanIn Digital Integrated Circuits Combinational Logic A Register Register In ScanOut Design Methodologies Combinational Out Logic B © Prentice Hall 1995 Polarity-Hold SRL (Shift-Register Latch) System Data System Clock Scan Data Shift A Clock D C SI A Q L1 Q SO Shift B Clock B L2 SO Introduced at IBM and set as company policy Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Scan-Path Register OUT SCAN PHI2 PHI1 SCANIN SCANOUT IN LOAD Digital Integrated Circuits KEEP Design Methodologies © Prentice Hall 1995 Scan-based Test —Operation In 0 Test In1 Test ScanIn Test In2 Test Test In 3 Test Test Test ScanOut Latch Latch Latch Latch Out0 Out1 Out2 Out3 Test 1 2 N cycles scan-in Digital Integrated Circuits 1 cycle evaluation Design Methodologies N cycles scan-out © Prentice Hall 1995 Scan-Path Testing A B REG[1] REG[0] REG[2] REG[3] SCANIN + REG[4] COMPIN COMP REG[5] SCANOUT OUT Partial-Scan can be more effective for pipelined datapaths Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Boundary Scan (JTAG) Printed-circuit board Logic Scan-out si so scan path normal interconnect Scan-in Packaged IC Bonding Pad Board testing becomes as problematic as chip testing Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Self-test (Sub)-Circuit Stimulus Generator Under Response Analyzer Test Test Controller Rapidly becoming more important with increasing chip-complexity and larger modules Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Linear-Feedback Shift Register (LFSR) R R R S0 S1 S2 1 0 1 1 1 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 1 1 1 0 Pseudo-Random Pattern Generator Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 Signature Analysis In Counter R Counts transitions on single-bit stream Compression in time Digital Integrated Circuits Design Methodologies © Prentice Hall 1995 BILBO D0 B0 D1 D2 B1 ScanOut mux ScanIn R R S0 Digital Integrated Circuits R S1 B0 B1 Operation mode 1 1 Normal 0 0 1 0 0 1 Scan Pattern generation or Signature analysis Reset Design Methodologies S2 © Prentice Hall 1995 BILBO Application Digital Integrated Circuits Combinational Logic BILBO-B In ScanOut BILBO-A ScanIn Design Methodologies Combinational Out Logic © Prentice Hall 1995 Memory Self-Test data -in Memory data-out Signature FSM Under Test Analysis address & R/W control Patterns: Writing/Reading 0s, 1s, Walking 0s, 1s Galloping 0s, 1s Digital Integrated Circuits Design Methodologies © Prentice Hall 1995