Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Managing Complexity in Designing Digital Systems: Datapath, Control Unit, and Implementati, Study notes of Digital Systems Design

A section of lecture notes for a university course on complex system design in digital systems. It covers dealing with complexity, datapath and control unit design, and implementation issues such as plds, rom, and vlsi design. The notes include outlines, explanations, and diagrams of various components and circuits.

Typology: Study notes

Pre 2010

Uploaded on 08/19/2009

koofers-user-2wy
koofers-user-2wy ๐Ÿ‡บ๐Ÿ‡ธ

10 documents

1 / 27

Toggle sidebar

Related documents


Partial preview of the text

Download Managing Complexity in Designing Digital Systems: Datapath, Control Unit, and Implementati and more Study notes Digital Systems Design in PDF only on Docsity! CEG 360/560; EE 451/651 Digital System Design Dr. Travis Doom, Associate Professor Department of Computer Science and Engineering Wright State University Section III: Complex system design CEG 360/560 - EE 451/651 Section III - 2 Outline Dealing with Complexity Data unit (Datapath) design โ€“ Registers โ€“ RTL language โ€“ Datapath Construction Control unit (Controller) design โ€“ ASM Charts Implementation issues โ€“ PLDs โ€“ ROM โ€“ VLSI Design CEG 360/560 - EE 451/651 Section III - 3 Dealing with Complexity Practical synchronous sequential circuits are too complex to design at the flip-flop level. โ€“ A simple 8-bit CPU capable of storing only four values (in four GPRs) has at least 4 x 8 = 32 1-bit state devices! โ€“ If the CPU had only 8 inputs it would still require a 232 by 28 truth table to represent the device. Each of these billion or so entries would have to contain a 32-bit next state. Storing 240 32-bit entries would require 4 TB! K (kilo) 210 1024 M (mega) 220 1048576 G (giga) 230 1.07 x 109 T (tera) 240 1.10 x 1012 โ€“ Simplification would require a 40-variable K-map! How do we manage complex design? CEG 360/560 - EE 451/651 Section III - 4 Complex System Design Practical sequential designs, like combinational designs, require a hierarchical approach โ€“ Use well defined building blocks Complex blocks made of simpler blocks (hierarchy) Examples: Registers, counters Associate a high-level of behavior with those blocks (abstraction) โ€“ Design methodologies based on abstractions can more easily encompass complexity โ€“ Common function blocks: registers and counters ORDER a sequence of high-level behaviors that (when executed in the proper order) solves the overall problem โ€“ Like computer programming! CEG 360/560 - EE 451/651 Section III - 5 Decomposing a Design: Control and Data Complex designs are generally broken down into to high-level abstractions. โ€“ The datapath is home to one or more datapath components that provide higher-level functionality (viewable at the register transfer level) โ€“ The control unit controls the sequence in which the datapath functions are performed in order to perform the system task Control Unit Datapath Control Signals Status Signals Control Outputs Data Inputs Control Inputs Data Outputs CEG 360/560 - EE 451/651 Section III - 6 Outline Dealing with Complexity Data unit (Datapath) design โ€“ Registers โ€“ RTL language โ€“ Datapath Construction Control unit (Controller) design โ€“ ASM Charts Implementation issues โ€“ PLDs โ€“ ROM โ€“ VLSI Design CEG 360/560 - EE 451/651 Section III - 13 Octal Tri-state Register/Latch CLK OE 74LS374 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q C OE 74LS373 1D 2D 3D 4D 5D 6D 7D 8D 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q 1Q 2Q 8Q D Q D Q D Q 1D 2D 8D /OE CLK 74LS374 CEG 360/560 - EE 451/651 Section III - 14 Shift Register Applications State Registers โ€“ Shift registers are often used as the state register in a sequential device. Usually, the next state is determined by shifting right and inserting a primary input or output into the next position โ€“ Very effective for finite memory machines Serial Interconnection of Systems โ€“ keep interconnection cost low with serial interconnect Bit Serial Operations โ€“ Bit serial operations can be performed quickly through device iteration โ€“ Iteration (a purely combinational approach) is expensive (in terms of # of transistors, chip area, power, etc). โ€“ A sequential approach allows the reuse of combinational functional units throughout the multi-cycle operation CEG 360/560 - EE 451/651 Section III - 15 Shift Register Applications SDATA Parallel- to-serial converter Parallel Data from A-to-D converter Serial-to- parallel converter Parallel Data to D-to-A converter Control Circuits CLOCK /SYNC Transmitter Control Circuits Receiver CLOCK - 1 bit per clock tick = 2.048 MHz /SYNC - synchronization of start of โ€œframeโ€ SDATA - serial data stream DIGITAL TELEPHONY CEG 360/560 - EE 451/651 Section III - 16 Shift Register Applications ...7 6 5 0 > x7 x6 x5 x0 ...7 6 5 0 > y7 y6 y5 y0 ...7 6 5 0 > FA Cout S Cin A BD Q CLK CLR CLK CLEAR_C z7 z6 z5 z0... CTL Sequential Implementation of: Z[7..0] = X[7..0] + Y[7..0] V CEG 360/560 - EE 451/651 Section III - 17 Counters Counters are registers with extra functions Clocked sequential circuit with single-cycle state diagram โ€“ Modulo-m counter = divide-by-m counter Most Common: n-bit binary counter, where m = 2n n flip-flops, counts 0 โ€ฆ 2n-1 S3 S2 S1 Sm 111 110 101 100 011 010 001 000 CEG 360/560 - EE 451/651 Section III - 18 Counting Common output codes for mod-8 and decimal counters State Binary BCD Gray Excess-3 Ring Twisted-tail 0 000 0000 000 0011 00000001 0000 1 001 0001 001 0100 00000010 0001 2 010 0010 011 0101 00000100 0011 3 011 0011 010 0110 00001000 0111 4 100 0100 110 0111 00010000 1111 5 101 0101 111 1000 00100000 1110 6 110 0110 101 1001 01000000 1100 7 111 0111 100 1010 10000000 1000 8 1000 1011 9 1001 1100 CEG 360/560 - EE 451/651 Section III - 19 Asynchronous/Ripple Counter Q Q T Q Q T Q Q T Q Q T CLK Q0 Q1 Q2 Q3 1 bit divide-by-2 2 bit divide-by-4 3 bit divide-by-8 4 bit divide-by-16 Uses Minimal Logic! Tpd = n x Tpd,tff Setup = Tsetup,tff CEG 360/560 - EE 451/651 Section III - 20 Synchronous Counters All clock inputs connected to common CLK signal โ€“ So all flip-flop outputs change simultaneously tCQ after CLK Synchronous Counters are/have โ€“ Faster โ€“ More Complex Logic (more โ€œexpensiveโ€) โ€“ Most Frequently Used Type of Counter Two types of synchronous counters โ€“ Serial โ€“ Parallel Easy to combine iteratively to build bigger counters โ€“ Combined counters have serial aspects. If the devices are parallel, then the overall device is โ€œmixed modeโ€. CEG 360/560 - EE 451/651 Section III - 21 Synchronous Serial Counter Flip-flops enabled when all lower flip- flops = 1. Enable propagates serially โ€” limits speed Requires (n-1) ฮ” t < TCLK All outputs change simultaneously tCQ after CLK >T QEN CLK CNTEN Q0 Q1 Q2 Q3 QEN >T QEN >T QEN >TEquation? Delay? ฮ” t ฮ” t ฮ” t Tpd = Tpd,tff Tsetup = (n-1)ฮ”t + Tsetup,tff CEG 360/560 - EE 451/651 Section III - 28 Modulo-11 Counter [0,1,2, โ€ฆ, 10, 0, 1, ...] >CLK CLR LD ENP ENT A B C D QA QB QC QD RCO 74X163 CLOCK +5 V Q0 Q1 Q2 Q3 When Count=10 Clear Decode Count 1x1x (10โ€ฆ15) Q3 โ€ข Q1 CEG 360/560 - EE 451/651 Section III - 29 Cascaded 74163s for 8-bit Counter Up to Modulo-256 >CLK CLR LD ENP ENT A B C D QA QB QC QD RCO 74X163 >CLK CLR LD ENP ENT A B C D QA QB QC QD RCO 74X163 CLOCK /RESET /LOAD CNTEN D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 RCO8 CEG 360/560 - EE 451/651 Section III - 30 4-bit, 8-state Johnson Counter Also known as โ€“ twisted-ring counter โ€“ Moebius counter 2n states with n flip-flops โ€“ NOT self-correcting RIN A B C D LIN S0 S1 CLR CLK +5 V R 74X194 CLOCK QA QB QC QD Wired as a shift-left shift register Q0 Q1 Q2 Q3 /RESET 74X04 CEG 360/560 - EE 451/651 Section III - 31 Design Decomposition A digital system is a sequential circuit with specified behavior. โ€“ A microprocessor is a digital system. Specifying large digital systems with state tables may be exceptionally difficult, due to the number of states involved. โ€“ As in computer programming, most digital systems are designed using a modular, hierarchical approach. โ€“ The system is partitioned into modular subsystems. Each subsystem performs a well defined function with specified interface. โ€“ Interconnection the various subsystems though data and control signals results in a digital system. CEG 360/560 - EE 451/651 Section III - 32 Design Decomposition Most digital systems are partitioned into two top-level modules: โ€“ Data Unit (or Datapath): performs data-processing operations. โ€“ Control Unit: determines the sequence of these operations. Datapaths are sequential systems. โ€“ the system state is defined by the contents of the registers. โ€“ the functionality is the set of defined operations that can be performed on the contents of the registers. โ€“ Elementary operations are usually, but not always, performed in parallel on a string of bits in one clock tick. A microoperation is an elementary operation performed on data stored in the datapath. They fall into four general categories: โ€“ Transfer microoperations: transfer binary data from one register (or data input/memory) to another. โ€“ Arithmetic microoperations: perform arithmetic on data in registers. โ€“ Logic microoperations: perform bit manipulations on data in registers. โ€“ Shift microoperations: shift data in registers. CEG 360/560 - EE 451/651 Section III - 33 Register-Transfer Level Design An approach to specify, analyze, and design systems too complex to use the state-table based approaches commonly utilized in โ€œsimpleโ€ designs. The Register-Transfer Level (RTL) approach is characterized by: โ€“ A digital system is viewed as divided into a data subsystem and a control subsystem. โ€“ The state of the data subsystem consists of the contents of the registers. โ€“ The function of the system is performed as a sequence of register transfers. โ€“ A register transfer is a transformation performed on the datum while the datum is transferred from one register to another. โ€“ The sequence of register transfers is controlled by the control subsystem. The operation of the device can be designed as a sequence of register transfers can be designed using state diagrams, ASM charts, etc. โ€“ Each transfer must correspond to a sequence of microoperations. โ€“ The control unit implements the RTL design through microoperations. CEG 360/560 - EE 451/651 Section III - 34 RTL Languages (1) The notation for register transfers are sufficiently complete to describe any digital system at the register-transfer level. โ€“ known as register-transfer languages. Registers are denoted by uppercase letters (sometimes followed by numbers) that indicate the function of the register โ€“ e.g. R0, R1, AR, PC, MAR, et al. โ€“ The individual bits can be denoted using parenthesis and bit numbers or labels e.g. R0(0), R0(7:0), PC(L), PC(H) Data transfer is denoted in symbolic form by the means of the replacement operator โ†. โ€“ e.g. R2 โ† R1 CEG 360/560 - EE 451/651 Section III - 35 RTL Languages (2) Normally we want a given transfer to occur not for every clock pulse, but only for specific values of the control signals. โ€“ RTL conditional statements: e.g. If (K1 = 1) Then (R2 โ† R1) โ€“ Control function notation (Colon, :) e.g. K1: R2 โ† R1 All RTL statements occur in response to a clock tick. A comma is used to separate two or more register transfers that are executed at the same time. A semi-colon is used for an instruction with different control โ€“ e.g. Brake: R2 โ† R1, R4 โ† R3; not(Brake): R1 โ† R2 CEG 360/560 - EE 451/651 Section III - 36 RTL Languages (3) Register to Memory Transfers are denoted using square brackets surrounding the memory address. โ€“ e.g. DR โ† M[AR] (Read operation) โ€“ e.g. M[AR] โ† SR (Write operation) CEG 360/560 - EE 451/651 Section III - 43 Outline Dealing with Complexity Data unit (Datapath) design โ€“ Registers โ€“ RTL language โ€“ Datapath Construction Control unit (Controller) design โ€“ ASM Charts Implementation issues โ€“ PLDs โ€“ ROM โ€“ VLSI Design CEG 360/560 - EE 451/651 Section III - 44 Interaction between Data and Control Units Control Signals - signals that activate data-processing functions. โ€“ To activate a sequence of such operations, the control unit sends the proper sequence of control signals to the datapath. Status Signals - signals that describe aspects of the state of the datapath. โ€“ The control unit uses these signals in determining the specific sequence of operations to be performed. Other Signals - allow the control unit and datapath to interact with other parts of the system, such as memory and input-output logic. Control Unit Datapath Control Signals Status Signals Control Outputs Data Inputs Control Inputs Data Outputs CEG 360/560 - EE 451/651 Section III - 45 The Control Unit The control unit generates the signals for sequencing the operations in the datapath โ€“ A sequential circuit with states that dictate the control signals for the system โ€“ Using status conditions and control inputs, the sequential control unit determines the next state in which additional microoperations are activated. Hardwired Control โ€“ The control unit is implemented to provide a particular digital function Microprogrammed Control โ€“ LATER! CEG 360/560 - EE 451/651 Section III - 46 Control Unit Design Control unit Next State StartOverflow = PS 00 01 10 11 RTL IDLE IDLE IDLE S1 S1 S1 S2 S2 S2 S2 Rx โ† max (A, B) S2 S3 S3 S3 S3 Ry โ† min (A, B) S3 S4 S4 S4 S4 Ry โ† Ry >> 1 S4 S5 S5 S5 S5 Rt โ† Rx >> 3 S5 S6 S6 S6 S6 Rt โ† Rx โ€“ Rt S6 S7 ERR S7 ERR Rt โ† Ry + Rt S7 S8 S8 S8 s8 Rc โ† max (Rx, Rt) S8 IDLE IDLE IDLE IDLE C โ† Rc; Done โ† 1 ERR IDLE IDLE IDLE IDLE ERR โ† 1Start Overflow Done LDx โ€ฆ CEG 360/560 - EE 451/651 Section III - 47 ASM for Control Control unit โ€ฆ Rx โ† max (A, B) Ry โ† min (A, B) Ry โ† Ry >> 1 Rt โ† Rx >> 3 Rt โ† Rx โ€“ Rt Rt โ† Ry + Rt Rc โ† max (Rx, Rt) C โ† Rc; DONE โ† 1 โ€ฆ Rx โ† max (A,B) Ry โ† max (A,B) Ry โ† Ry >> 1 Rt โ† Rx >> 3 . . . LDRx, MXC1=0, MC2=0, MXF=1 LDRy, MXC1=0 MC2=0, MXF=0 LDRy, MXS=0, SR1,3 = 0 LDRt, MXS=1, SR1,3 = 1 . . . CEG 360/560 - EE 451/651 Section III - 48 Algorithmic State Machines Algorithmic State Machine (ASM) Chart โ€“ Special flowchart used to define digital hardware algorithms โ€“ Describes a sequence of events โ€“ Determines the actions which occur in the states in response to the clock pulse in response to changes in the inputs ASM Charts contain three basic elements: โ€“ State boxes Rectangles, labeled with the state name and assignment, containing a register operation and/or the names of Moore outputs asserted in that state. โ€“ Decision boxes Diamonds containing a conditional input expression and exits 1 and 0. โ€“ Conditional output boxes Ovals containing Mealy outputs asserted for the conditions leading to the box. CEG 360/560 - EE 451/651 Section III - 49 ASM elements Moore output list state name state code state entry path state exit path State box condition condition Decision box 0 1 0 1 OR condition false exit path condition true exit path conditional output list from decision-box exit path exit path Conditional (Mealy) output box CEG 360/560 - EE 451/651 Section III - 50 ASM Timing Each state box has a corresponding โ€œASM Blockโ€ that includes all decision and conditional output boxes reached from that state โ€“ Each ASM Block has exactly one state box, all paths leaving the ASM Block lead directly to a different state box. The current state box represents the current state. The current inputs decide a path through the decision boxes. โ€“ Unlike state diagrams, ambiguity is easily avoided in ASM charts. โ€“ Conditional outputs along the path occur immediately in response to changes in the inputs values. The next state box is not entered until a clock tick occurs. โ€“ The Moore outputs in the state box and any conditional (Mealy) outputs in the new ASM Block are asserted immediately. ASM boxes may also include Register Transfer directives! โ€“ Any changes (conditional or otherwise) to a sequential device wait until the next positive clock edge. CEG 360/560 - EE 451/651 Section III - 51 ASM Example: 4-bit binary counter Z1,Z0 STATE = Q1 Q0 00 01 10 11 A B C D Z0 Z1 Z=3 STATE = Q1 Q0 00 01 10 11 A B C D Z=1 Z=2 -or- Z=0 CEG 360/560 - EE 451/651 Section III - 58 Example: 1โ€™s Counter Q1Q0 INPUT Q1*Q0* 00 (XY) 10 00 (XY)โ€™(X+Y) 01 00 (XY)โ€™(X+Y)โ€™ 00 01 (XY) 11 01 (XY)โ€™(X+Y) 10 01 (XY)โ€™(X+Y)โ€™ 01 10 (XY) 00 10 (XY)โ€™(X+Y) 11 10 (XY)โ€™(X+Y)โ€™ 10 11 (XY) 01 11 (XY)โ€™(X+Y) 00 11 (XY)โ€™(X+Y)โ€™ 11 Q1* = Q1โ€™Q0โ€™(XY) + Q1โ€™Q0(XY) + Q1โ€™Q0(XY)โ€™(X+Y) + Q1Q0โ€™(XY)โ€™(X+Y) + Q1Q0โ€™(XY)โ€™(X+Y)โ€™ + Q1Q0(XY)โ€™(X+Y)โ€™ Q2* = Q1โ€™Q0โ€™(XY)โ€™(X+Y) + Q1โ€™Q0(XY) + Q1โ€™Q0(XY)โ€™(X+Y)โ€™ + Q1Q0โ€™(XY)โ€™(X+Y) + Q1Q0(XY) + Q1Q0(XY)โ€™(X+Y)โ€™ + CEG 360/560 - EE 451/651 Section III - 59 Outline Dealing with Complexity Data unit (Datapath) design โ€“ Registers โ€“ RTL language โ€“ Datapath Construction Control unit (Controller) design โ€“ ASM Charts Implementation issues โ€“ PLDs โ€“ ROM โ€“ VLSI Design CEG 360/560 - EE 451/651 Section III - 60 Programmable Logic Definitions Digital integrated circuit (MSI, LSI, VLSI) โ€“ manufactured as a standard off-the-shelf component โ€“ containing โ€œregularโ€ array of logic gates and flip-flops โ€“ whose logic functions are determined by the application design engineer and implemented locally Many types of programmable logic โ€“ sometimes generically called PLDs (Programmable Logic Devices) โ€“ PAL or PLD โ€“ PROM โ€“ FPGA output input Combinational PLD CEG 360/560 - EE 451/651 Section III - 61 Programmable Logic Definitions PLA โ€“ Programmable Logic Array โ€“ first PLDs โ€“ simple programmable AND/OR array โ€“ programmed by โ€œblowing fusesโ€ by hand or by mask CEG 360/560 - EE 451/651 Section III - 62 PAL โ€“ Programmable Array Logic โ€“ similar to a PLA, but the OR- array is fixed โ€“ most commonly used PLD โ€“ may include input/output flip- flops GAL โ€“ Generic Array Logic โ€“ can be configured to emulate the AND/OR, flip-flop, and output structure of a variety of combinational and sequential PAL devices Programmable Logic CEG 360/560 - EE 451/651 Section III - 63 Read-Only Memory (ROM) A combinational circuit with n inputs and b outputs: 2n x b ROM Address inputs A(n-1, ... , 0) n b Data outputs D(b-1, ... , 0) Programmable โŽฏ values determined by user Nonvolatile โŽฏ contents retained without power Uniform (Random) Access โŽฏ delay is uniform for all addresses CEG 360/560 - EE 451/651 Section III - 64 Read-Only Memory (ROM) Two views: โ€“ ROM stores 2n words of b bits each, or โ€“ ROM stores an n-input, b-output truth table Example: A1 A0 D3 D2 D1 D0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 Stores 4 4-bit words, or stores 4 functions of 2 input variables b = 4n = 2 CEG 360/560 - EE 451/651 Section III - 65 Using ROMs for Combinational Logic A 3-input, 4-output combinational logic function: Function: 2-to-4 Decoder with Polarity Control A2 = Polarity (0 = active Low, 1= active High) A1, A0 = I1, I0 (2-bit input ) D3...D0 = Y3...Y0 (4-bit decoded output) Inputs Outputs A2 A1 A0 D3 D2 D1 D0 0 0 0 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 8 ร— 4 ROM A0 D0 A1 D1 A2 D2 D3 Y0 I1 POL Y1 Y2 Y3 I0 CEG 360/560 - EE 451/651 Section III - 66 Internal Structure of 4ร—4 Diode ROM D0 D1 D2 D3 2 to 4 Decoder A1 A0 Bit Lines /w0 /w1 /w2 /w3 Diode 1 No Diode 0 0101 0001 1000 1111 1 of n Word Lines R0R1R2R3 +5 V Why use diodes? Why not replace them with wires? CEG 360/560 - EE 451/651 Section III - 73 Consider a 64 x 1 ROM Very tall, narrow chip (BAD) Even worse for larger chips! How can we make it more square? This Decoder needs 64 6-input gates! +5 V 6-to-64 Decoder /w0 /w1 /w63 A5 A0 โ€ขโ€ข โ€ข 64 x 1 Diode Array D0 CEG 360/560 - EE 451/651 Section III - 74 64 x 1 ROM with 2-Dimensional Decoding Almost square chip! 3 to 8 Decoder /w0 /w1 /w7 +5 V 0 7 8 to 1 mux A5 A3 A2 A0 D0 โ€ข โ€ข โ€ข โ€ข โ€ข โ€ข Decoder and mux = 8 3-input gates + 8 4-input gates 8 x 8 Diode Array CEG 360/560 - EE 451/651 Section III - 75 64K x 8 ROM with 2-D Decoding 9 to 512 Decoder A A 9 7 512 512 ร— 128 128 to 1 Mux โ€ข โ€ขโ€ข โ€ข โ€ข โ€ข D0 D1 D7 512 ร— 128 512 ร— 128 512 ร— 1024 Array 128 to 1 Mux 128 to 1 Mux 128 128 128 Is this a square chip? 2-D Decoding / Coincident selection 64k x 8 = 216 * 23 = 219 square root (219) ~= 29 CEG 360/560 - EE 451/651 Section III - 76 Internal 2n x b ROM Control Structure Row decoder Power on Storage array Column multiplexer A0 A1 Am-1 Am Am+1 An-1 /CS /OE Db-1 Db-2 D0 Power on Power on CEG 360/560 - EE 451/651 Section III - 77 Programmable Logic Advantages โ€“ Design flexibility โ€“ Better design automation โ€“ Higher density, fewer packages (compared to SSI-MSI) โ€“ Less expensive โ€“ Lower power โ€“ Higher performance Programming Technologies โ€“ Interconnections usually made by pass transistors controlled by memory bits of some type: โ€“ Antifuse - permanent connections made electrically โ€“ EPROM - charged floating gate, UV erasable โ€“ EEPROM - charged floating gate, electrically erasable โ€“ Flash Memory - charged floating gate, electrically erasable โ€“ Programmed using CAD - Hardware Description Languages CEG 360/560 - EE 451/651 Section III - 78 Modern (VLSI) Design The VLSI chips that are used in most modern designs come in three varieties: โ€“ Custom Approach: VLSI chips, or some of their parts, are designed by hand. Full Custom Vs. Standard Cell - Using standard cell designs (same height, variable width) and routing channels simplifies the design process Highest Density, Highest Manufacturing Cost โ€“ Semicustom Approach: The VLSI chips employ gate arrays and technology mapping. Gate array: a partially prefabricated IC that incorporates a large number of identical gates (usually 3-input NAND or NOR gates) that are laid out in a regular two-dimensional array. Technology mapping: The process of designing a logic function as a network of available devices. Lower Density (10-25% more gates than an equivalent custom design). Inexpensive: Requires only metal deposition (define interconnections), economy of scale. CEG 360/560 - EE 451/651 Section III - 79 Modern (VLSI) Design The VLSI chips that are used in most modern designs come in three varieties: โ€“ VLSI PLDs Field Programmable Gate Arrays (FPGAs) A VLSI modules that can be programmed to implement a digital system consisting of tens of thousands of gates. LSI PLDs implement two-level combinational and sequential networks, FPGAs allow the realization of multilevel networks and complex systems on a single chip! Highly reprogrammable! Low cost May produce slower network May require a larger silicon area
Docsity logo



Copyright ยฉ 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved