9 views

Uploaded by Barnita Sharma

multiplexer

- DLD
- LT Teacher Computer Science Book
- DigitalLab ECCE 2008
- Ti 20180106
- Written Report
- ECE 171 Lecture Notes 10
- MPC5744P
- verilog
- Ee6301 Dlc - Model Qp 2
- CO Lab8 Task
- Katu Dvi Report-1.Docx
- Notes Unit II
- SingleChipDataAcquisitionSystemSimplifiesAnalog-to-DigitalConversion.rtf
- 2_IAY0600_2016_LABs (Lecture)
- Hardware Slides 04
- tlv2553
- Lecture1-CENG241-2014
- dflpMult
- 00287878
- Lec 3 Programmable Logic Devices

You are on page 1of 26

SHANTANU DUTT

Department of Electrical and Computer Science University of Illinois, Chicago Phone: (312) 355-1314; e-mail: dutt@eecs.uic.edu URL: http://www.eecs.uic.edu/~dutt

1

Full-Custom ASICs Semi-Custom ASICs User Programmable PLA/PAL

(layout aspect; not prog. aspect)

Muxes

FPGA

A

Out In=B Steering gate.

A When A=1, In is Steered to Out. [I.e., the T-gate conducts] Thus Out = B when A=1 A Out = AB In Out Symbolic for T-gate: A A is the control input (CI) T-gate conducts Normal CI connected to A Bubbled CI connected to A when A=1.

bubble CI normal CI

Multiplexer (MUX) Design: S I0

S S

A 2:1 MUX. I0

Out Z Out

2:1 I1

MUX

I1

S

Z S I 0 SI1

4

Z S 1 S 1 1

S Z

0 1

1 1

0 1 1 0

Z S 1 S 0 S

S Z 1 1 0 0 S Z 0 I0 1 I1

Z S 1 S 0

=S

Z S I 0 SI1 is the function

implemented by the above 2:1 MUX. Such a TT in general provides a decomposition of the final function Z into constituent functions I0 & I1

2:1 MUX : S

I1

I0 I1

2:1

MUX

S0

I0 I1 I2 I3

4:1

MUX

The same can be said about a 4:1 MUX: Input Ii is selected (Z=Ii) if S1S0 combination represents the number i in binary.

S1 S0

[If S1S0 = 00 (#0), Z = Io S1S0 = 01 (#1), Z = I1 S1S0 = 10 (#2), Z = I2 S1S0 = 11 (#3), Z = I3] S1 S0

0 0 1 1 0 1 0 1

Z

I0 I1 I2 I3

Z S1S 0 I 0 S1S 0 I1 S1S 0 I 2 S1S 0 I 3

I0

I1

2n

:1

I 2 n 1

Sn-1 S1 S0

In general for a 2n:1 MUX with control signals/inputs Sn-1 S1S0 & data inputs I0, , I 2 n 1, Z = Ii when Sn-1 S1S0 combination represents #i in binary.

8

Saw the design of a 2:1 MUX using T-gates, as well as logic gates Messy and expensive to design larger MUXes using a flat TT based approach A 4:1 MUX can be hierarchically constructed using 2:1 MUXes Idea: Divide the selection problem by bits of the select/control variables

These inputs should have different lsb or S0 values, since their sel. is based on S0. All other bits should be equal.

I0 I1

2:1

MUX

Inputs selected are those w/ the same lsb or S0 values. So further selection needs to be based on the non-lsb bits.

S0

2:1

MUX

I2 I3

These inputs should have different lsb or S0 values, since their sel. is based on S0. All other bits should be equal.

2:1

MUX

S1

MSB

I0 I1 I2 I3

4:1

MUX

S0

S0 S1

9

When S0=0, I0, I2 get selected at the 1st level, i.e., Input w/ 0 in LSB. When S0=1, I1, I3 (LSB=1) get selected at the 1st level. If S0 = 0, I0, I2, become the 0th & 1st inputs to the next level. At the next level, the I/P order # is determined by the rest of the bits of their index after stripping off the LSB. Thus I0 I0 At level 2 I2 I1 0 0 1 0 (# 0) (# 2) strip away for the 2nd level inputs.

10

I0 I2 S0=0

01

I0 From level 1 I1

strip

Level 2

Z= I0 of level 2 (I0 of level 1), S1=0. = I1 of level 2 (I2 of level1) if S1=1. Z= I0 of Level 2 (I1 of Level1) if S1=0 = I1 of level 2 (I3 of level 1) if S1=1

I1 I3

11

Level 1

strip

I0 I1

2:1

MUX

S0=1

S1

11

I0

Selected when S0 = 0

2:1

MUX

S0

I0

I1

I2

I0 I1 I2 I3 I4 I5 I6 I7

2:1

MUX

S0

I2

I1 I3 I5 4:1

MUX Z

8:1 MUX Z

I3

I4

I5

S2 S1 S0

These inputs should have different lsb or S0 values, since their sel. is based on S0 (all other remaining, i.e., unselected bit values should be the same). Similarly for other i/p pairs at 2:1 Muxes at this level.

2:1 MUX S0

I4

S2 S1

I6 I7

I6 I7

2:1

MUX

S0

Selected when S0 = 1

12

Selected when S0 = 0

I0

2:1

MUX

S0

I0

Selected when S0 = 0, S1 = 1, S2=1

I1

I0 I1 I2 I3 I4 I5 I6 I7

I2

8:1 MUX Z

2:1

MUX

S0

I2

I3

I4

I2

2:1 MUX

I6

I6

S2 S1 S0

These inputs should have different lsb or S0 values, since their sel. is based on S0 (all other remaining, i.e., unselected bit values should be the same). Similarly for other i/p pairs at 2:1 Muxes at this level.

I5

I6 I7

2:1 MUX S0

I4

S2

2:1

MUX

I6

S0

Selected when S0 = 0, S1 = 1. These i/ps should differ in S2 These inputs should have different S1 values, since their sel. is based on S1 (all other remaining, i.e., unselected bit values should be the same). Similarly for other i/p pairs at 2:1 Muxes at this level. 13

Selected when S2 = 1

I0 I4

I0 I1 I2 I3 I4 I5 I6 I7

2:1

MUX

S2

Ix

Selected when S0 = 0, S1 = 1, S2=1

I1

8:1 MUX Z

2:1

MUX

S2

Ix

I5 I2 I6

Ix

2:1 MUX

I6

Ix

S2 S1 S0

These inputs should have different lsb or S2 values, since their sel. is based on S2 (all other remaining, i.e., unselected bit values should be the same). Similarly for other i/p pairs at 2:1 Muxes at this level.

2:1 MUX S2

Ix

S1

I3 I7

2:1

MUX

Ix

S2

Selected when S2 = 1, S0 = 0. These i/ps should differ in S1 These inputs should have different S0 values, since their sel. is based on S0 (all other remaining, i.e., unselected bit values should be the same). Similarly for other i/p pairs at 2:1 Muxes at this level. 14

2:1

S0

I0

2n:1 MUX

I 2 n 1

Sn-1 S0

2:1

S0

2n-1 :1 MUX

2:1

S0

Sn-1 S1

Design Strategy:

First select inputs based on S0, using 2n-1 2:1 Muxes; 2n-1 inputs get selected on 2n-1 lines The problem now reduces to that of a 2n-1:1 Mux Continue recursively (to a 2n-2:1, 2n-3:1, ., 4:1, 2:1 Mux design problems) until the final output is designed.

15

Example:

f ( A, B, C) m(0,2,6,7)

-- Treat the data inputs I0, , I7 as possible minterms of f:

If Ii is a minterm of f, it should be connected to a 1, otherwise it should be connected to a 0.

1 0 1 0 0 0 1 1

I0 I1 I2 I3 I4 I5 I6 I7

8:1 MUX

S2 S1 S0 B C

16

A 3-variable function can always be implemented by only an 8:1 MUX. Interestingly, a 3-var. function can also always be implemented by only a 4:1 MUX (assuming vars & their complements are avail.) Example f(A,B,C) = m(0,2,6,7) Select any 2 variables, say, A,B, for the 2 control inputs In a 3-var. K-map, group together squares into 2-squares in which the other variable C varies, but A,B remains AB constant. 00 01 11 10 C Form implicants 2-square 0 1 1 1 only within 2-squares and write out the 1 1 function

ABC

A BC

AB

f ( A B )C ( A B)C ( AB ) 0 ( AB ) 1

17

Note: 0 is ANDed with an A,B combination (e.g., AB above) when the 2-square corresponding to that combination does not have any 1s, i.e., when none of the product terms obtained from the K-map in the above manner has that combination of A, B in them.

Connect either C, C , 1, 0 to the appropriate data input corresponding to the A,B combination they are ANDed with in the expression for f. Thus f ( A B )C ( A B)C ( AB ) 0 ( AB ) 1 Note that a 4:1 MUX implements the function

f ( A B ) I 0 ( A B ) I1 ( AB ) I 2 ( AB ) I 3 ;

18

C C 0 1

0 1 2 3

4:1 MUX

S1 S0 A B

A B 0 0 1 1 0 1 0 1

f

C C

0 1

Implementation possible using a 2n: 1 MUX (w/o requiring any extra gates)? Yes. Implementation possible using a 2n-1: 1 MUX (w/o requiring any extra gates) ? Yes.

19

AB CD 00

00 01 11 10

ABC D

01 11 10

AB C

1

1 1 1

A BC

D D

A B CD

1 1 0 0 0

0 1 2 3 4 5 6 7

A B

20

-- In general, a 2i : 1 MUX, where i < n-1, can be used to implement an n-var. function f(An-1, ,A0) by choosing any i variables, say, Ai-1, , A0 ( This is just an example of i variables; you can choose any i of the n variables) as the control inputs of the MUX. However, for i < n-1, extra logic gates may be required.

f ( Ai 1 Ai 2 A0 ) g0 ( An 1 , , Ai ) ( Ai 1 Ai 2 A0 ) g1 ( An 1 , , Ai ) ( Ai 1 Ai 2 A0 ) g2i 1 ( An1, , Ai )

Where gk ( An1, , Ai ) is a function of An-1,,Ai that ANDs with the kth product term of variables Ai-1, , A0 that represents the binary # k, 0 k 2i 1

21

g0(An-1,, Ai+1)

I0

2i:1 MUX

g 2i 1 ( An 1 , , Ai 1 )

I 2 i 1

Ai-1 A0

Where each gk may need extra logic gates for its implementation.

-- The trick is to choose the right i variables so that the total # of logic gates needed for the gks is minimum.

22

E.g.:

AB CD 00

00

AB C

01 11 10

1 1 1

ABD

01 11 10

1

A BC

-- For i=2 (2 control variables from A,B,C,D for a 4:1 MUX), the K-map needs to be partitioned into groups of 4-squares, such that within each 4-square the 2 control variables are constant.

23

-- Note that PIs can only be formed within each 4-square, i.e., groups

of squares in which the control vars. are constant (constant areas). -- To min. # of gates, choose the 2 control vars such that the largest-size implicants & the smallest # of them can be formed in its set const. areas. -- A study of the 1s in the above K-map tells us that this is achieved by the set of 4-squares that are the columns of the K-map, i.e., for control variables A, B. -- Then, in each constant-area, form the SOP sub-expression for all the MTs in that area, just like in a full K-Map (i.e., for all PIs in each area determine and select all EPIs in that area, cover remaining MTs in tha area by the least-cost set of the remaining PIs). -- Grouping 1s only within the constant areas (4-squares in this ex.) we get over all constant areas, i.e., all combinations of A, B, the expression:

f ( A B )( D ) ( A B)(C ) ( AB )(C ) ( AB )( 0) D

0 1 2 3

Implementation: C No logic gates needed! C (NOTE: This will not 0 always be the case)

4:1 MUX

S 1 S0

24

A B

-- If we had chosen A,C as the control variables, then the 4-squares would have looked as follows

AB CD 00

00

AB C

01 11 10

ABC D

01 11 10

1

1 1 1

A BC

A CD

-- Grouping 1s only within the 4-squares, we get 4 terms A B C D , A CD , A BC , and AB C: all are essential (within their constant areas)

25

f A B C D A CD A BC AB C

( A C )( B D ) ( A C )( D B) ( AC )( B ) ( AC )( 0)

I0

I1

0 1

I2

I3

B

D B D

B 0

2 3

4:1 MUX

S1 S0 A C

-- Thus choosing A,C as control variables, results in 2 extra gates compared to choosing A, B.

26

- DLDUploaded byMurtaza Ali
- LT Teacher Computer Science BookUploaded byraghaveshidea
- DigitalLab ECCE 2008Uploaded byjocansino4496
- Ti 20180106Uploaded by금일성
- Written ReportUploaded byejlors
- ECE 171 Lecture Notes 10Uploaded byBikshan Ghosh
- MPC5744PUploaded byJose Benavides
- verilogUploaded byIndrajeet Saravanan
- Ee6301 Dlc - Model Qp 2Uploaded byHOD EEE
- CO Lab8 TaskUploaded byBabar Rasheed
- Katu Dvi Report-1.DocxUploaded byDeevyendu Shukla
- Notes Unit IIUploaded byVivek Bhardwaj
- SingleChipDataAcquisitionSystemSimplifiesAnalog-to-DigitalConversion.rtfUploaded byDaryl Scott
- 2_IAY0600_2016_LABs (Lecture)Uploaded byEngr NasirKhan
- Hardware Slides 04Uploaded byTaqi Shah
- tlv2553Uploaded byelopezgil
- Lecture1-CENG241-2014Uploaded bymuhammad ibne amin
- dflpMultUploaded byMd Rasheed
- 00287878Uploaded byAbdul Haleem Bahadur Sufyan
- Lec 3 Programmable Logic DevicesUploaded byKhaled Omar
- nullUploaded byapi-26331790
- Digital Qb..Uploaded byntmohankmr
- Digital ElectronicsUploaded byChintha Venu
- slide8Uploaded byphani rohit
- Electronics Lab ManualUploaded bychaitanya
- 130901-1 Circuit & networks gtu 3rd sem paperUploaded byShailesh Sankdasariya
- MultiplexingUploaded byRijas Rasheed
- 6MB5515 Catalogue SheetUploaded bySalvator Fayssal
- vlsi labUploaded byMANIKANDAN
- ajsdkjasdlUploaded byAlvin Jan Yap

- Analog to Digital ConverterUploaded byBarnita Sharma
- m Math 1st Year 2011-12Uploaded byBarnita Sharma
- 64 Interview QuestionsUploaded byshivakumar N
- IT interview questionsUploaded byBarnita Sharma
- gv kUploaded byBarnita Sharma
- Matlab Code for Edge DetectionUploaded byBarnita Sharma
- Method of Real AnalysisUploaded byaaa
- DBMS KorthUploaded byAmartya Khan
- Time and WorkUploaded byBarnita Sharma
- Time and WorkUploaded byBarnita Sharma
- 1. TelemedicineUploaded byBarnita Sharma
- CDs and DVDsUploaded byBarnita Sharma
- chatargee1Uploaded byBarnita Sharma
- Loading EffectUploaded byBarnita Sharma
- Skin EffectUploaded byBarnita Sharma
- IntroductionUploaded byBarnita Sharma
- IntroductionUploaded byBarnita Sharma
- 83289838-Electronic-Code-Lock-With-User-Defined-Password-Using-8051-Micro-Controller.pdfUploaded byBarnita Sharma
- A Tutorial on VSATsUploaded byBarnita Sharma

- High Power Cavity Combiner Thpch179Uploaded byTuan Linh
- FL9x Service GuideUploaded byNand0
- Specs AC97 Audio Codec _r23Uploaded byyffig51
- 580_pdfUploaded bydarutp
- 2103335MNAAUploaded byedward4700
- DocumentUploaded byHritika Sree
- 04a Flexi EDGE BTS ConfigurationsUploaded byJuan Tioluka
- ICEpower_5197Uploaded bykltanATsg
- Compact Power Efficient Rail to Rail in Out Op Amp RonUploaded bymartiani
- Spartan-6 FPGA Configurable Logic BlockUploaded byJason Robinson
- 103 ManualUploaded byTCO
- Lecture Unit1 McaUploaded byAnilkumar Patil
- Xilinx Timing AppNoteUploaded byvasav1
- Ad 847Uploaded byapi-3825669
- Lec CSC339 4Uploaded byAdil Hashmi
- linha HP COMPAQ PRO 6300 SMALL FORM FACTOR-14269_div.pdfUploaded byredepires
- CardioMera ENGUploaded byHusti Adrian
- device-drivers.pdfUploaded by2015mdaamir2015
- Jallib Starters Guide a4 v1.00Uploaded byJulio Cezar Ferreira
- Lab 3 Clipping and Clamping Circuits 2 1112Uploaded byMei Guan
- Design Lab ReportUploaded byAmrit Chakraborty
- Solder Reflow LeadFreeUploaded byfox7878
- A Survey of Spectrum Sensing Algorithms for Cognitive Radio ApplicationsUploaded byBedadipta Bain
- GS 32CT GeophoneUploaded byAlejandro Betancur
- TransistorsUploaded bySohaib Ahmed
- 74HC_HCT193.pdfUploaded byfabioboog
- 78L08 regulatorUploaded byfernandes66
- Solve Problem in Armchair.Uploaded byr-helou
- HP Laptop Manual NEW.pdfUploaded byee1993
- Telemecanique 2007Uploaded bydanielstancu883296