RTL Design Introduction Decoder Encoder Multiplexer Tri-state Buffer

Slides:



Advertisements
Similar presentations
1 The 2-to-4 decoder is a block which decodes the 2-bit binary inputs and produces four output All but one outputs are zero One output corresponding to.
Advertisements

컴퓨터구조론 교수 채수환. 교재 Computer Systems Organization & Architecture John D. Carpinelli, 2001, Addison Wesley.
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Encoders.
Give qualifications of instructors: DAP
Princess Sumaya University
Modular Combinational Logic
Combinational Circuits
Combinational Circuits
Documentation Standards
Functions and Functional Blocks
Lab 7 : Decoders/Encoders : Slide #2 Slide #3 Slide #4 Slide #5 Slide #6 “1 of 10” Encoder “1 of 10” Encoder Connected to a SPST Keypad. Control Signal.
Henry Hexmoor1 C hapter 4 Henry Hexmoor-- SIUC Rudimentary Logic functions: Value fixing Transferring Inverting.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 9 Programmable Configurations Read Only Memory (ROM) – –a fixed array of AND gates.
Overview Part 2 – Combinational Logic
Documentation Standards Programmable Logic Devices Decoders
Combinational Logic Building Blocks
DIGITAL SYSTEMS TCE OTHER COMBINATIONAL LOGIC CIRCUITS DECODERS ENCODERS.
Digital Logic Design Lecture 19. Announcements Homework 6 due Thursday 11/6 Recitation quiz on Monday, 11/10 – Will cover material from lectures 18,19,20.
Dewan Tanvir Ahmed SITE, UofO
Lecture # 12 University of Tehran
Figure to-1 Multiplexer and Switch Analog
9/15/09 - L15 Decoders, Multiplexers Copyright Joanne DeGroat, ECE, OSU1 Decoders and Multiplexers.
Digital Logic Design Lecture # 8 University of Tehran.
Outline Decoder Encoder Mux. Decoder Accepts a value and decodes it Output corresponds to value of n inputs Consists of: Inputs (n) Outputs (2 n, numbered.
Digital Logic Design Lecture # 7 University of Tehran.
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
Encoders Three-state Outputs Multiplexers XOR gates.
Decoders.
CS1Q Computer Systems Lecture 8
Lecture # 11 University of Tehran
Combinational Design, Part 3: Functional Blocks
Digital Logic Design Lecture # 9 University of Tehran.
Logical Circuit Design Week 6,7: Logic Design of Combinational Circuits Mentor Hamiti, MSc Office ,
Digital Logic Design Lecture # 14 University of Tehran.
Outline MSI Parts as a Decoder Multiplexer Three State Buffer MSI Parts as a Multiplexer Realization of Switching Functions Using Multiplexers.
Combinational Circuits by Dr. Amin Danial Asham. References  Digital Design 5 th Edition, Morris Mano.
Magnitude Comparator Dr. Ahmed Telba.
Digital Logic Design Lecture # 15 University of Tehran.
1 EE121 John Wakerly Lecture #5 Documentation Standards Programmable Logic Devices Decoders.
1 Combinational Logic EE 208 – Logic Design Chapter 4 Sohaib Majzoub.
Digital Systems Section 11 Decoders and Encoders.
Digital Logic Design Lecture # 6 University of Tehran.
Lecture # 10 University of Tehran
How does the CPU work? CPU’s program counter (PC) register has address i of the first instruction Control circuits “fetch” the contents of the location.
CS151 Introduction to Digital Design Chapter 3: Combinational Logic Design 3-5 Combinational Functional Blocks 3-6 Rudimentary Logic Functions 3-7 Decoding.
MSI Circuits.
Chapter 3 Combinational Logic Design II
Prof. Sin-Min Lee Department of Computer Science
Multiplexers and Demultiplexers,
Combinational Circuit Design
Digital Fundamentals Floyd Chapter 6 Tenth Edition
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Decoders.
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Encoders.
Chapter 6 Functions of Combinational Logic
Combinatorial Logic Design Practices
How does the CPU work? CPU’s program counter (PC) register has address i of the first instruction Control circuits “fetch” the contents of the location.
FIGURE 4.1 Block diagram of combinational circuit
Lecture 8 Logistics Last lecture Last last lecture Today
Multiplexers Anindya IE CSE.
ECE 331 – Digital System Design
Combinational Circuits
ECE 352 Digital System Fundamentals
ECE 352 Digital System Fundamentals
Digital System Design Combinational Logic
Prof. Onur Mutlu ETH Zurich Spring March 2019
ECE 352 Digital System Fundamentals
Instructor: Alexander Stoytchev
ECE 352 Digital System Fundamentals
Presentation transcript:

RTL Design Introduction Decoder Encoder Multiplexer Tri-state Buffer Look up Table

INTRODUCTION So far all we have shown was based on gate level design. When considering functionality of elements as a base of our design, a gate level design isn’t meaningful enough. We will concentrate on functional packages from now on. This level of design referred to as RTL (Register Transfer Level) design and the components which are called RTL components are divided into combinational and sequential types RTL level component Definition Structure Cascading Configuration Verilog Application All of this certainly doesn’t mean our need for gates and transistors has been eliminated, especially when matching is needed between RTL components (glue logic)

Decoder We’ll introduce this package by examining a binary decoder 𝑦 0 1 1 𝑦 1 𝑦 0 , 𝑦 1 , 𝑦 2 & 𝑦 3 will be activated when the inputs are 00,01,10 &11 𝑦 2 𝑦 3

Decoder( cont. ) Such a package still isn’t general as such and needs to have the ability of cascading, for the user to be able to construct larger decoders through combining smaller ones. Adding an extra input for enabling/disabling the output will help us in this arena as we will show later on Problems can occur in such a design. Firstly we have used and gates (constructed of nand + inverter in CMOS) when we don’t know whether or not the user of our package really needs active-high outputs. We have also, for the same reason, used a lot of pull ups and pull downs and an excessive use of transistors The decoder shown in the last slide is known as a 2-to-4 decoder and a simple structure for it can be the following circuit To resolve the mentioned problems, we change the And gates to Nand gates and so our truth table will be changed module dcd2to4(input l0,l1,en,output [3:0]y); assign y=(en==1'b0)?4'b1111: ({l0,l1}==2'b00)?4'b1110: ({l0,l1}==2'b01)?4'b1101: ({l0,l1}==2'b10)?4'b1011: ({l0,l1}==2'b11)?4'b0111:4'b1111; endmodule en 𝒍 𝟏 𝒍 𝟎 𝒚 𝟎 𝒚 𝟏 𝒚 𝟐 𝒚 𝟑 1 - en 𝒍 𝟏 𝒍 𝟎 𝒚 𝟎 𝒚 𝟏 𝒚 𝟐 𝒚 𝟑 1 -

Decoder ( cont. ) Looking at our design so far may cause some new questions. For instance have we told our user that any signal feeds to the EN input has been used to drive 4 gates? Have we not misled the user by not using a standard method? There can be two possible ways to resolve this To document the number of gates a particular input is used to drive A preferable solution is to construct our structure by a convention that no input is used to drive more than one gate. To do this, we need to buffer the EN input through an inverter that will change these inputs’ activity level to low. The same can be done for inputs ‘a’ and ‘b’ without changing their activity level, as shown in the following figure

Decoder ( cont. ) We’ll show this fact by constructing a 3-to-8 and a 4-to-16 decoder using 2-to-4 decoders We will now show how adding the EN input has given our package the ability of cascading.

Decoder ( cont. ) Decoders can be used to realize switching functions. To do this we will need to OR outputs (relative to the corresponding minterms) of our decoder with an active-low inputs or gate Example

Error will happen when the number is not between 0 and 9 Decoder ( cont. ) Example(Seven Segment DCD) 𝐼 0 𝐼 1 𝐼 2 𝐼 3 a b c d e f g en g a d e c f b 1 2 3 4 9 8 7 6 5 error Error will happen when the number is not between 0 and 9

Encoder We talked about using a decoder to decode a coded number, obviously there has to also be a way of encoding data as well. 1 1

Encoder ( cont. ) An encoder can find so many uses. For instance consider a stage in a CPU’s working time when two interrupts are sent to it at the same time. One asking for the process of a key press event and the other pointing to a power failure. Obviously in such a situation the first need not be processed because the second interrupt indicates a very severe problem (specially in OSs like Linux). There does actually occur a time when two or more of the inputs are active, we will be using a priority encoder. In such a case the input line with the higher number is chosen to be of higher priority. This means that for instance if we choose X3 as a power failure interrupt line, no other interrupt request will ever surpass it through priority.