DOC PREVIEW
U of I CS 231 - Lecture notes

This preview shows page 1-2-23-24 out of 24 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 24 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

September 22, 2003 Decoders 1Decoders• Next, we’ll look at some commonly used circuits: decoders and multiplexers.– These serve as examples of the circuit analysis and design techniques from yesterday.– They can be used to implement arbitrary functions.– We are introduced to abstraction and modularity as hardware design principles.• Throughout the semester, we’ll often use decoders and multiplexers as building blocks in designing more complex hardware.September 22, 2003 Decoders 2What is a decoder• In older days, the (good) printers used be like typewriters:– To print “A”, a wheel turned, brought the “A” key up, which then was struck on the paper.• Letters are encoded as 8 bit codes inside the computer.– When the particular combination of bits that encodes “A” is detected, we want to activate the output line corresponding to A– (Not actually how the wheels worked)• How to do this “detection” : decoder• General idea: given a k bit input, – Detect which of the 2^k combinations is represented– Produce 2^k outputs, only one of which is “1”.September 22, 2003 Decoders 3What a decoder does• A n-to-2ndecoder takes an n-bit input and produces 2noutputs. The n inputs represent a binary number that determines which of the 2noutputs is uniquely true.• A 2-to-4 decoder operates according to the following truth table.– The 2-bit input is called S1S0, and the four outputs are Q0-Q3.– If the input is the binary number i, then output Qi is uniquely true.• For instance, if the input S1 S0 = 10 (decimal 2), then output Q2 is true, and Q0, Q1, Q3 are all false.• This circuit “decodes” a binary number into a “one-of-four” code.S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1September 22, 2003 Decoders 4How can you build a 2-to-4 decoder?• Follow the design procedures from last time! We have a truth table, so we can write equations for each of the four outputs (Q0-Q3), based on the two inputs (S0-S1).• In this case there’s not much to be simplified. Here are the equations:S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1Q0 = S1’ S0’Q1 = S1’ S0Q2 = S1 S0’Q3 = S1 S0September 22, 2003 Decoders 5A picture of a 2-to-4 decoderS1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1September 22, 2003 Decoders 6Enable inputs• Many devices have an additional enable input, which is used to “activate” or “deactivate” the device.• For a decoder,– EN=1 activates the decoder, so it behaves as specified earlier. Exactly one of the outputs will be 1.– EN=0 “deactivates” the decoder. By convention, that means all of the decoder’s outputs are 0.• We can include this additional input in the decoder’s truth table:EN S1 S0 Q0 Q1 Q2 Q30 0 0 0 0 0 00 0 1 0 0 0 00 1 0 0 0 0 00 1 1 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1September 22, 2003 Decoders 7An aside: abbreviated truth tables• In this table, note that whenever EN=0, the outputs are always 0, regardless of inputs S1 and S0.• We can abbreviate the table by writing x’s in the input columns for S1 and S0. EN S1S0Q0 Q1Q2Q30 0 0 0 0 0 00 0 1 0 0 0 00 1 0 0 0 0 00 1 1 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1EN S1S0Q0 Q1Q2Q30 x x 0 0 0 01 0 0 1 0 0 01 0 1 0 1 0 01 1 0 0 0 1 01 1 1 0 0 0 1September 22, 2003 Decoders 8• Decoders are common enough that we want to encapsulate them and treat them as an individual entity. • Block diagrams for 2-to-4 decoders are shown here. The names of the inputs and outputs, not their order, is what matters.• A decoder block provides abstraction:– You can use the decoder as long as you know its truth table or equations, without knowing exactly what’s inside.– It makes diagrams simpler by hiding the internal circuitry.– It simplifies hardware reuse. You don’t have to keep rebuilding the decoder from scratch every time you need it.• These blocks are like functions in programming!Blocks and abstractionQ0 = S1’ S0’Q1 = S1’ S0Q2 = S1 S0’Q3 = S1 S0September 22, 2003 Decoders 9A 3-to-8 decoder• Larger decoders are similar. Here is a 3-to-8 decoder.– The block symbol is on the right.– A truth table (without EN) is below.– Output equations are at the bottom right.• Again, only one output is true for any input combination.S2S1S0Q0 Q1 Q2 Q3 Q4 Q5 Q6Q70 0 0 1 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 00 1 0 0 0 1 0 0 0 0 00 1 1 0 0 0 1 0 0 0 01 0 0 0 0 0 0 1 0 0 01 0 1 0 0 0 0 0 1 0 01 1 0 0 0 0 0 0 0 1 01 1 1 0 0 0 0 0 0 0 1Q0 = S2’ S1’ S0’Q1 = S2’ S1’ S0Q2 = S2’ S1 S0’Q3 = S2’ S1 S0Q4 = S2 S1’ S0’Q5 = S2 S1’ S0Q6 = S2 S1 S0’Q7 = S2 S1 S0September 22, 2003 Decoders 10So what good is a decoder?• Do the truth table and equations look familiar?• Decoders are sometimes called minterm generators.– For each of the input combinations, exactly one output is true.– Each output equation contains all of the input variables.– These properties hold for all sizes of decoders.• This means that you can implement arbitrary functions with decoders. If you have a sum of minterms equation for a function, you can easily use a decoder (a minterm generator) to implement that function.S1 S0 Q0 Q1 Q2 Q30 0 1 0 0 00 1 0 1 0 01 0 0 0 1 01 1 0 0 0 1Q0 = S1’ S0’Q1 = S1’ S0Q2 = S1 S0’Q3 = S1 S0September 22, 2003 Decoders 11Design example: addition• Let’s make a circuit that adds three 1-bit inputs X, Y and Z.• We will need two bits to represent the total; let’s call them C and S, for “carry” and “sum.” Note that C and S are two separate functions of the same inputs X, Y and Z.• Here are a truth table and sum-of-minterms equations for C and S.X YZCS0 0 0000 0 1010 1 0010 1 1 101 0 0011 0 1 101 1 0 101 1 1 1 11 + 1 + 1 = 110 + 1 + 1 = 10C(X,Y,Z) = Sm(3,5,6,7)S(X,Y,Z) = Sm(1,2,4,7)September 22, 2003 Decoders 12• Here, two 3-to-8 decoders implement C and S as sums of minterms.• The “+5V” symbol (“5 volts”) is how you represent a …


View Full Document

U of I CS 231 - Lecture notes

Documents in this Course
Counters

Counters

23 pages

Latches

Latches

22 pages

Lecture

Lecture

33 pages

Lecture

Lecture

16 pages

Lecture

Lecture

4 pages

Datapaths

Datapaths

30 pages

Lecture

Lecture

6 pages

Registers

Registers

17 pages

Datapaths

Datapaths

28 pages

Decoders

Decoders

20 pages

Load more
Download Lecture notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?