PowerPoint PresentationTopicsEquality Comparators8-bit Magnitude ComparatorOther conditionsAddersFull-adder circuitRipple adder74x283 4-bit adderSlide 10Ripple carry between groupsLook-ahead carry between groupsSubtractionFull subtractor = full adder, almostMultipliersFull-adder arrayFaster carry chainRead-Only MemoriesWhy “ROM”?Logic-in-ROM example4x4 multiplier exampleInternal ROM structureTwo-dimensional decodingLarger example, 32Kx8 ROMToday’s ROMsEEPROMs, Flash PROMsTypical commercial EEPROMsEEPROM programmingMicroprocessor EPROM applicationROM control and I/O signalsNext timeEE365Adv. Digital Circuit DesignClarkson UniversityLecture #9Math UnitsROMsTopics•Comparators•Adders•Multipliers•ROMsRissacher EE365Lect #9Equality Comparators•1-bit comparator•4-bit comparatorEQ_LRissacher EE365Lect #98-bit Magnitude ComparatorRissacher EE365Lect #9Other conditionsRissacher EE365Lect #9Adders•Basic building block is “full adder”–1-bit-wide adder, produces sum and carry outputs•Truth table:X Y Cin S Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1Rissacher EE365Lect #9Full-adder circuitRissacher EE365Lect #9Ripple adder•Speed limited by carry chain•Faster adders eliminate or limit carry chain–2-level AND-OR logic ==> 2n product terms–3 or 4 levels of logic, carry look-aheadRissacher EE365Lect #974x2834-bit adder•Uses carry look-ahead internallyRissacher EE365Lect #9“generate”“propagate”“half sum”carry-in from previous stageRissacher EE365Lect #9Ripple carry between groupsRissacher EE365Lect #9Look-ahead carry between groupsRissacher EE365Lect #9•Subtraction is the same as addition of the two’s complement.•The two’s complement is the bit-by-bit complement plus 1.•Therefore, X – Y = X + Y + 1 .–Complement Y inputs to adder, set Cin to 1.–For a borrow, set Cin to 0.SubtractionRissacher EE365Lect #9Full subtractor = full adder, almostRissacher EE365Lect #9Multipliers•8x8 multiplierRissacher EE365Lect #9Full-adder arrayRissacher EE365Lect #9Faster carry chainRissacher EE365Lect #9Read-Only MemoriesRissacher EE365Lect #9Why “ROM”?•Program storage–Boot ROM for personal computers–Complete application storage for embedded systems.•Actually, a ROM is a combinational circuit, basically a truth-table lookup.–Can perform any combinational logic function–Address inputs = function inputs–Data outputs = function outputsRissacher EE365Lect #9Logic-in-ROM exampleRissacher EE365Lect #94x4 multiplier exampleRissacher EE365Lect #9Internal ROM structurePDP-11 boot ROM(64 words, 1024 diodes)Rissacher EE365Lect #9Two-dimensional decoding?Rissacher EE365Lect #9Larger example, 32Kx8 ROMRissacher EE365Lect #9Today’s ROMs•256K bytes, 1M byte, or larger•Use MOS transistorsRissacher EE365Lect #9EEPROMs, Flash PROMs•Programmable and erasable using floating-gate MOS transistorsRissacher EE365Lect #9Typical commercial EEPROMsRissacher EE365Lect #9EEPROM programming•Apply a higher voltage to force bit change–E.g., VPP = 12 V–On-chip high-voltage “charge pump” in newer chips•Erase bits–Byte-byte–Entire chip (“flash”)–One block (typically 32K - 66K bytes) at a time•Programming and erasing are a lot slower than reading (milliseconds vs. 10’s of nanoseconds)Rissacher EE365Lect #9Microprocessor EPROM applicationRissacher EE365Lect #9ROM control and I/O signalsRissacher EE365Lect #9Next time•Latches•Flip Flops•ClockingRissacher EE365Lect
View Full Document