Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chap 6. Memory and Programmable Devices 1 6.1 Memory & Programmable Logic Device Definitions Memory – a collection of cells capable of storing binary information – memory contains electronic circuits for storing & retrieving info Digital computer – consist of three major units • Processing unit (registers + combinational logic) • Memory unit • I/O unit 2 6.1 Memory & Programmable Logic Device Definitions two types of memories – RAM (Random-Access Memory) • can perform both read & write operation – ROM (Read-Only Memory) • can perform only the read operation (cannot write) • the existing information cannot be altered • a programmable logic device (PLD) (programming: a H/W procedure that specifies the bits that are inserted into the H/W configuration of the device) Programmable Logic Device (PLD) – ROM, PLA, PAL, CPLD, & FPGA – IC with internal logic gates (connected by a programmable process) • initial state: all the fuses are intact • programming by blowing those fuses along the paths 3 6.2 Random-Access Memory (RAM) – memory cells can be accessed for information transfer to (or from) any desired random location – with access taking the same time regardless of the location random-access memory (cf) serial memory: magnetic disk, tape – word : binary information in groups of bits in a memory unit – byte : a group of 8 bits 4 6.2 Random-Access Memory (RAM) – configuration: • data input and output lines, address selection lines, & control lines – k address lines: specify the particular word • address range: 0 to 2k-1 • 2k = m (m: total number of words) 5 6.2 Random-Access Memory (RAM) (ex) a memory unit with 1K words of 16 bits each • • • • 1024 x 2 bytes = 2K bytes decimal address: 0 ~ 1023 address: 10 bits data (word): 16 bits 6 6.2 Random-Access Memory (RAM) Steps of Write Operation 1) Apply the binary address to the address lines 2) Apply the data bits to the data input lines 3) Activate the Write input Steps of Read Operation 1) Apply the binary address to the address lines 2) Activate the Read input – control lines • read & write • memory select (or chip select) & operation (read/write) Enable 단자 7 6.2 Random-Access Memory (RAM) Timing Waveforms – operation of the memory unit is controlled by an external device (CPU) – CPU is usually synchronized with its own clock pulses (memory doesn't employ internal clock pulses) – Access time of a memory read operation • the maximum time from the application of the address to the appearance of the data at the Data Output – Write cycle time • the maximum time from the application of the address to the completion to store a word – CPU must provide the memory control signals to synchronize its internal clocked operations with read/write operations of the memory 8 6.2 Random-Access Memory (RAM) Ex) a CPU with a clock frequency of 50MHz a period of 20ns for one clock pulse with a 65ns access time & a 75ns write cycle time Addr.가 확정된 후에 Unspecified value Control input(R/W)이 deactivate후 잠시 addr.과 data line이 stable하도록 A possible change in value Bus에 데이터 선적 Register로 이동 9 6.2 Random-Access Memory (RAM) Properties of Memory – Static RAM (SRAM) • consist of internal latches that store the binary information • easier to use, shorter read and write cycles • No refresh is required – Dynamic RAM (DRAM) • • • • store information in the form of electric charges capacitors are provided inside the chip by MOS transistors the capacitors must be periodically recharged by refreshing reduced power consumption, larger storage capacity – Volatile • lose stored information when power is turned off (ex) RAM (static or dynamic) (cf) non-volatile (ex) magnetic disk, ROM, Flash Memory etc. 10 6.3 RAM Integrated Circuits Internal Structure – a RAM chip of m words & n bits per word consists of m x n binary storage cells, and decoders static RAM cell SR latch – Select = 0, the stored content is held & C=0 & C'=0 Select = 1, the stored content is determined by B & B', – C is the stored value & C' is its complement 11 6.3 RAM Integrated Circuits RAM Bit Slice Model Read occurs regardless of the value of Read/Write 12 6.3 RAM Integrated Circuits 16 x 1 RAM Chip 4 address inputs for the 16 one-bit words Signals Data Input, Data Output, Read/Write, Chip Select 4-to-16 line decoder 3-state buffer 13 6.3 RAM Integrated Circuits Three-state Buffer – have three distinct states • logic-0, logic-1, high-impedance (Hi-Z) state • Hi-Z state: open circuit, (the output appears to be disconnected) – ENABLE input (EN) Three-state Buffer 14 6.3 RAM Integrated Circuits – Form a multiplexed output line Conflict! • truth table (in shaded area) is a 2-way multiplexer with S • EN중 하나만 activate – Decoder와 연결하여 N-to-1 MUX의 기능 구현 15 6.3 RAM Integrated Circuits Problems – Size of Decoder: k*2k • 2k : the number of AND – Access time and write cycle time: can be too long Coincident Selection – A decoder with k inputs & 2k outputs requires 2k AND gates with k inputs per gate – employ 2 decoders to reduce the total number of gates Coincident Selection' – use 2 k/2-input decoders instead of 1 k-input decoder • one controls the word select lines, • the other controls the bit select lines two dimensional matrix selection scheme Row select & Column select 16 6.3 RAM Integrated Circuits 16 x 1 RAM chip 4 RAM bit slice of 4 bits each (total 16 RAM cells) two 2-to-4 line decoders one for 2 MSBs one for 2 LSBs A3 A2 A1 A 0 1 0 0 1 17 6.3 RAM Integrated Circuits Cf) 8 x 2 RAM chip : 8 words of 2 bits each • 3 address bits – two are handled by the row decoder – column decoder has only one address bit & produces 2 column select lines 18 6.3 RAM Integrated Circuits Ex) 32K x 8 RAM (= 215 x 8) – a total of 256K bits (= 218) – square root of 256K is 29 • first 9 bits fed to the row decoder • remaining 6 bits to the column decoder – without coincident selection, the single decoder has 15 inputs & 32,768 outputs – with coincident selection, one 9-to-512 decoder and one 6-to-64 line decoder Shorter access (write) time 19 Dynamic RAM ICs Switch 역할 B C B 1 C 0 Write Write 1 Write 0 Read Read 1 Read 0 Destructive read 20 Dynamic RAM ICs 21 Dynamic RAM ICs 22 Dynamic RAM ICs During the read operation, All values in the addressed row are restored 23 6.4 Array of RAM ICs – if required memory size is larger than the capacity of one chip, combine a number of chips in an array – capacity of memory • the number of words & the number of bits per word • When CS=0, the chip is not selected, and all its data outpus are in the high-impedance state. 64K x 8 RAM chip – 16 address lines, 8 input & 8 output lines – CS (chip select), R/W' inputs 24 6.4 Array of RAM ICs Expanding the number of words – Construct 256K x 8 RAM four 64K x 8 RAM chips • requires 18-bit address lines • 2 MSBs are applied to a 2 x 4 decoder, • 4 outputs are applied to the CS inputs of the four chips 0 1 xxxx…xxxx Lines 0-15 25 6.4 Array of RAM ICs Expanding the number of address bits – Form a 64K x 16 memory • 16 data input & output lines are split between the two chips 26 6.5 Programmable Logic Technologies Five programmable logic devides (PLDs) – ROM, PLA, PAL, CPLD, & FPGA Programming technologies – fuse • oldest of the programming technologies • each of programmable points consists of a connection, formed by a fuse • 2 connection states, CLOSED & OPEN – mask programming • Connections are made or not made in the metal layers serving as conductor in the chip • by semiconductor manufacturer • May be too costly – antifuse • the opposite of a fuse • The material separating the two conductor is melted – static RAM bit • drive the gate of an MOS transistor at the programming point • Electrically programming – Easy but require power supply 27 6.5 Programmable Logic Technologies Applications of programming technologies – control connections – implement logic by building lookup tables • input: address inputs for reading the SRAM • output: stored truth values for the addressed word – control transistor switching 28 6.6 Read-Only Memory – a memory device in which permanent binary info is stored – once a pattern is established, it stays even when power is off – consist of k address inputs and n data outputs – input: address for the memory; – output: data bits of the stored word, selected by the address • no data input lines ! – k address input lines are needed to specify 2k words 29 6.6 Read-Only Memory Ex) 32 x 8 ROM • the unit consists of 32 words of 8 bits each • 5 x 32 decoder (5 input lines) • the internal binary storage of a ROM is specified by a truth table 30 6.6 Read-Only Memory Ex) the contents of a 32 x 8 ROM programming the ROM according to the truth table 31 6.6 Read-Only Memory Combinational Circuit Implementation – a decoder generates the 2k minterms of the k input variables – inserting OR gates to sum the minterms of Boolean functions can generate any desired combinational circuit – ROM essentially includes both decoder & OR gates – ROM outputs can be programmed to represent the Boolean functions in a combinational circuit – ROM may be considered as a comb circuit with (8) outputs, each is a function of the (5) input variables A7(I4,I3,I2,I1,I0) = m(0,2,3,...,29) – widely used to implement complex combinational circuits directly 32 6.6 Read-Only Memory Types of ROMs – – – – mask programming (ROM) fuse (Programmable ROM, PROM) erasable floating gate technology (EPROM) electrically erasable technology (EEPROM, E2PROM) 33 6.6 Read-Only Memory Ex 6.1 Design a comb circuit using a ROM • accepts a 3-bit number • Then, generates an output binary number equal to the square of the input number • 3 inputs & 6 outputs but B0 = A0; B1 = 1; only need 4 outputs ROM must be 8 x 4 34 Programmable Logic Device Programmable Logic Device – An integrated circuit with an array of gates that are connected by programmable fuses – The gates in a PLD are divided into AND array & OR array to provide and AND-OR sum of products implementation 35 Programmable Logic Device PROM – a fixed AND array constructed as a decoder & programmable connections for the output OR gates – implements Boolean functions in sum-of-minterms form PAL – a programmable connection AND array & a fixed OR array – AND gates are programmed to provide the product terms, which are logically summed in each OR gate PLA – most flexible PLD – both AND & OR arrays can be programmed – product term in the AND array may be shared by any OR gate provide the required sum of products implementation to 36 6.7 Programmable Logic Array (PLA) PLA is similar to the PROM in concept – But, the PLA doesn't provide full decoding of the variables & doesn't generate all the minterms – Decoder is replaced by an array of AND gates • to generate any product term of the input variables – Product terms are then connected to OR gates to provide the sum of products 37 6.7 Programmable Logic Array (PLA) Ex) internal logic of a PLA with 3 inputs & 2 outputs - Output of OR gates goes to an XOR gate X0 = X X1 = X’ F1 = AB' + AC + A'BC' F2' = AC + BC programmable 38 6.7 Programmable Logic Array (PLA) the fuse map of a PLA in a tabular form; – consists of 3 sections • list of the product terms • the required paths between inputs & AND gates • the path between the AND & OR gates – a careful investigation must be undertaken to reduce the number of distinct product terms • Because PLA has a finite number of AND gates – So, simplify each Boolean function to a minimum number of terms 39 6.7 Programmable Logic Array (PLA) Ex 6.2 Implement the following functions with a PLA F1(A,B,C) = m(0,1,2,4); F2(A,B,C) = m(0,5,6,7) 1) true & complement of the functions are simplified in sum of products 2) select a combination that gives a minimum number of product terms F1 = (AB +AC +BC)'; F2 = AB + AC + A'B'C' 40 6.7 Programmable Logic Array (PLA) PLA의 크기를 결정하는 인자 – Input 수: n, output 수: m, product term 수: k • • • • • n개의 buffer-inverter gates k개의 AND gates m개의 OR gates m개의 XOR gates fuze(programmed link)의 개수: 2n x k + k x m + m – n에 대해서 linear하게 증가 – Cf) ROM에서의 fuze의 개수: 2n x m 41 6.8 Programmable Array Logic (PAL) – PLD with a fixed OR array & programmable AND array – easier to program • only AND gates are programmable – not flexible as the PLA – Product terms cannot be shared – logic configuration of a commercial PAL • 8 inputs & 8 outputs 42 6.8 Programmable Array Logic (PAL) – 4 section in the unit, • each composed of a 3-wide AND-OR array – 3 programmable AND gates in each section – F/Fs are often included in a PAL device • outputs of F/F are fed back through a buffer-inverter gate – sequential circuits – in designing with a PAL, • the Boolean functions must be simplified to fit into each section • a product term cannot be shared • number of product terms in each section is fixed – may be necessary to use 2 sections to implement 1 function 43 6.8 Programmable Array Logic (PAL) (Ex) W(A,B,C,D) = m(2,12,13); X(A,B,C,D) = m(7,8,9,10,11,12,13,14,15) Y(A,B,C,D) = m(0,2,3,4,5,6,7,8,10,11,15) Z(A,B,C,D) = m(1,2,8,12,13) After simplification W= ABC' + A'B'CD'; X = A + BCD; Y = A'B + CD + B'D'; Z = ABC' + A'B'CD' + AC'D' + A'B'C'D = W + AC'D' + A'B'C'D; 44 6.8 Programmable Array Logic (PAL) - PAL programmable table W = ABC' + A'B'CD'; X = A + BCD; Y = A'B + CD + B'D'; Z = ABC' + A'B'CD' + AC'D' + A'B'C'D = W + AC'D' + A'B'C'D; 45 6.9 VLSI Programmable Logic Devices 3 ways of designing VLSI circuits – Full custom design • An entire design of chip is performed to the smallest detail of the layout • For dense, fast ICs that are likely to be sold in sizable quantities • Very expensive – Standard cell design • Large part of the design have been performed ahead of time • Pre-designed parts are connected to form the IC design • Give lower density & lower performance than full custom design – Gate array • A pattern of gates fabricated in silicon that is repeated thousand times, so that the entire chip contains identical gates • Arrays of 1,000 to 1,000,000 of gates can be fabricated within a single IC • Design specify how the gates are interconnected & the interconnections are routed • Economical, can be highly automated with CAD 46 6.9 VLSI Programmable Logic Devices CPLDs & FPGAs – CPLD: Complex Programmable Logic Devices – FPGA: Field Programmable Gate Array – Properties 1. Substantial amounts of uncommitted combinational logic 2. Pre-implemented flip-flops 3. Programmable interconnections between the combinational logic, flip-flops, and the chip input/outputs – the devices differ significantly from vender to vender 47 6.9 VLSI Programmable Logic Devices Altera MAX 7000 CPLDs – 16 identical logic array blocks 48 6.9 VLSI Programmable Logic Devices Xilinx XC4000 FPGA – Array of configurable logic blocks (CLBs) 49