Topics • • • • Buses and networks-on-chips. Networks-on-chips. Data paths. Subsystems as IP. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Bus-based systems • A bus is a common connection: box1 box2 box3 ctrl data Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Bus circuits • • • Cannot support full connectivity between all data path elements—must choose number of transfers per cycle allowed. A bus circuit is a specialized multiplexer circuit. Two major choices: pseudo-nMOS, precharged. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Pseudo-nMOS bus circuit Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Precharged bus circuit Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Three-state bus Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Asynchronous timing constraints • Must satisfy setup, hold times. adrs Setup time Modern VLSI Design 4e: Chapter 6 Hold time Copyright 2008 Wayne Wolf Bus system design • Requirements: – Imposed by the other side of the system. • Constraints: – Imposed by this side of the system. requirements a b constraints Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Views of the bus • Hardware: D Q a D Q b Combinational logic Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Views of bus system, cont’d. • Timing diagram: x y x D Q a Modern VLSI Design 4e: Chapter 6 D Q y b Combinational logic Copyright 2008 Wayne Wolf Bus protocols • Basic transaction: – four-cycle handshake. a b Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Handshake machine • Each side is an FSM (possibly asynchronous): Go 0 a ack Modern VLSI Design 4e: Chapter 6 enq enq 1 0 ack b 1 ack Copyright 2008 Wayne Wolf Basic protocols • Handshake transmits data: Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Box 1 logic Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Box 2 logic Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Bus timing t1 = tc1 - td1 >= tr td1 = d stable t2 = tack1 - tc1 >= th td2 = d not stable tc1 = c rises tc2 = c falls tack1 = ack rises t3 = tc2 - tack1 >= th Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Busses and systems • Microprocessor systems often have several busses running at different rates: CPU mem High-speed I/O Modern VLSI Design 4e: Chapter 6 bridge Low-speed Copyright 2008 Wayne Wolf Basic signals in a bus Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Bus characteristics • Physical – Connector size, etc. • Electrical – Voltages, currents, timing. • Protocol – Sequence of events. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Advanced transactions • Multi-cycle transfers: – Several values on one handshake. – May use implicit addressing. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf PCI bus • • Used for box-level system interconnect. Two versions: – 33 MHz. – 66 MHz. • Supports advanced transactions. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf PCI bus read Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Multi-rate systems • Logic blocks running at different clock rates may communicate: – Multi-chip. – Single-chip. » Slow bus connects to fast logic. Modern VLSI Design 4e: Chapter 6 Logic 1 Logic 2 100 MHz 33 MHz Copyright 2008 Wayne Wolf Metastability • Registers capturing transitioning signals may take an arbitrarily long time to settle. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Resynchronization • Use cascaded registers to minimize the chance of using a metastable value. d D Q D Q dout f Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Networks-on-chips • NoC is an on-chip interconnection network. – Bus is simplest case. – Many NoCs have multiple stages. • Packet-based NoCs: – Nodes connected by links. – Packet may be divided into flits (flits are always of equal size, packets may not be). Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Bus electrical model core i Length 1 Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Bus delay • Major components of delay: – Drivers. – Bus backbone. – Sink capacitive loads. • Delay formula: Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Crossbar • • Crossbar allows any combination of connections. Allows arbitrary multicasting. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Switch-based crossbar Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Mux-based crossbar 2-to-1 mux cell Modern VLSI Design 4e: Chapter 6 Mux tree Copyright 2008 Wayne Wolf Crossbar delay • Switch-based crossbar dominated by buffered transmission line: • Multiplexer-based crossbar delay: Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Network comparison Modern VLSI Design 4e: Chapter 6 Type Delay Bus O(N2) Switch-based crossbar O(sqrt(N)) Mux-based crossbar O(log N) Copyright 2008 Wayne Wolf Data paths • A data path is a logical and a physical structure: – bitwise logical organization; – bitwise physical design. • • Datapath often has ALU, registers, some other function units. Data is generally passed via busses. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Data path logical organization constant shifter Register file carry out ALU op memory addresses Modern VLSI Design 4e: Chapter 6 Shift control Copyright 2008 Wayne Wolf Register file porting • • • Register file is an SRAM. Additional ports add area, increase access time. But additional ports also reduce number of cycles required for an operation. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Operand fetch from register file 1 port 2 ports 3 ports First Firstcycle cycle + Third cycle First cycle Second cycle Second cycle First cycle Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Register file tradeoffs • • • SRAM delay grows approximately linearly in number of ports. Driver area grows considerably with added ports. At least two ports makes sense for data path through put. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Data path clocking • Major signals: f1 f2 – precharge s f1 – adrs s f2 – data v f2 Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Data path timing s f1 s f2 s f1 shifter Register file s f1 s f2 s f1 f1 s f2 Modern VLSI Design 4e: Chapter 6 f2 s f1 Copyright 2008 Wayne Wolf Typical data path structure Slice includes one bit of function units, connected by busses: registers Modern VLSI Design 4e: Chapter 6 shift ALU bus Copyright 2008 Wayne Wolf Bit-slice structure • • • Many arithmetic and logical functions can be defined recursively on bits of word. A bit-slice is a one-bit (or n-bit) segment of an operation of minimum size to ensure regularity. Regular logical structure allows regular physical structure. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Abutting and pitch-matching • • Cells in bit-slice may be abutted together—requires matching positions on terminals. Pitch-matching is designing cells to ensure that pins are at proper positions for abutting. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Modern VLSI Design 4e: Chapter 6 ALU shifter latch mux constant Register file latch mux Data path floorplan Copyright 2008 Wayne Wolf Data path color plan control VDD result cell Shifter input Register file VSS Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Subsystems as IP • Standards for subsystems are more complex: – More variations. – More parameters. • • Open Core Protocol (OCP) defines socket for plug-and-play operation. SPIRIT defines standard documentation for subsystem IP. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Wishbone standard • Basic unit is master-slave interface. – Defines handshake. • • Interface defines CLK, ADRS, DATA, WE, STB, ACK, CYC, RST. Three types of bus transfers: single read/write, block read/write, read/modify/write. Modern VLSI Design 4e: Chapter 6 Copyright 2008 Wayne Wolf Functional verification • • • Particularly important for soft IP, but performed even for hard IP. input Compare design vectors module against known good design. QIP metric standard defines verification standards. Modern VLSI Design 4e: Chapter 6 golden reference IP module Copyright 2008 Wayne Wolf
© Copyright 2026 Paperzz