P ROGRAMMABLE L OGIC D EVICES, T HRESHOLD L OGIC Unit-4

Embed Size (px)

Text of P ROGRAMMABLE L OGIC D EVICES, T HRESHOLD L OGIC Unit-4

  • Slide 1
  • P ROGRAMMABLE L OGIC D EVICES, T HRESHOLD L OGIC Unit-4
  • Slide 2
  • T OPICS : Basic PLDs- ROM, PROM, PLA and PLD Realization of Switching Functions using PLDs Threshold Logic: Capabilities of Threshold gate Synthesis of threshold functions Multi gate Synthesis
  • Slide 3
  • I NTRODUCTION A programmable Logic Device is an integrated circuit with internal logic gates that are connected through electronic fuses. Programming the device involves the blowing of fuses along the paths that must be disconnected so as to obtain a particular configuration. The word programming here refers to a hardware procedure that specifies the internal configuration of the device.
  • Slide 4
  • I NTRODUCTION The gates in a PLD are divided into an AND array and an OR array that are connected together to provide an AND-OR sum of product implementation. The initial state of a PLD has all the fuses intact. Programming the device involves the blowing of internal fuses to achieve a desired logic function.
  • Slide 5
  • ROM VS. PLA/PAL (a) Programmable read-only memory (PROM) Inputs Fixed AND array (decoder) Programmable OR array Outputs Programmable Connections (b) Programmable array logic (PAL) device Inputs Programmable AND array Fixed OR array Outputs Programmable Connections (c) Programmable logic array (PLA) device Inputs Programmable OR array Outputs Programmable Connections Programmable Connections Programmable AND array
  • Slide 6
  • R EAD -O NLY M EMORY ROM
  • Slide 7
  • 7 ABCD A BCD ABCD ABCD ABCD ABCD ABCD A BCD A BCD A BCD A BCD A BCD A B CD A B CD A B C D A B C D F 1 F 3 F 2 A B C D S2S2 S1S1 S0S0 S3S3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4:16 dec Enb Decoder Produces minterms ORs Produce SOPs
  • Slide 8
  • ROM D7 D6 D5 D4 D3 D2 D1 D0 A2 A1 A0 A B C F0 F1F2 F3 X X X X X X X X X X ROM A decoder A set of programmable ORs
  • Slide 9
  • G ENERAL L OGIC I MPLEMENTATION Given a 2 k xn ROM, we can implement ANY combinational circuit with at most k inputs and at most n outputs. k-to-2 k decoder will generate all 2 k possible minterms Each of the OR gates must implement a m() Each m() can be programmed
  • Slide 10
  • E XAMPLE Find a ROM-based circuit implementation for: f(a,b,c) = ab + abc g(a,b,c) = abc + ab + bc h(a,b,c) = ab + c Solution: Express f(), g(), and h() in m() format (use truth tables) Program the ROM based on the 3 m()s
  • Slide 11
  • E XAMPLE There are 3 inputs and 3 outputs, thus we need a 8x3 ROM block. f = m(0, 1, 7) g = m(0, 3, 6, 7) h = m(0, 1, 3, 5, 7) 3-to-8 decoder 0123456701234567 a b c f g h
  • Slide 12
  • ROM AS A M EMORY Read Only Memories (ROM) or Programmable Read Only Memories (PROM) have: N input lines, M output lines, and 2 N decoded minterms. Can be viewed as a memory with the inputs as addresses of data.
  • Slide 13
  • (M EMORIES ) Volatile: Random Access Memory (RAM): SRAM "static" DRAM "dynamic" Non-Volatile: Read Only Memory (ROM): Mask ROM "mask programmable" EPROM "electrically programmable" EEPROM electrically erasable electrically programmable" FLASH memory - similar to EEPROM with programmer integrated on chip
  • Slide 14
  • ROM AS M EMORY 01101 10000 21001 30010 40000 51000 60011 70100 Address 34 8x4 ROM D0 D1 D2 D3 D4 D5 D6 D7 A2 A1 A0 A2A2 A1A1 A0A0 F3 F2F1 F0 X X X X X X X X X X Example: For input (A 2,A 1,A 0 ) = 011, output is (F 0,F 1,F 2,F 3 ) = 0010. What are functions F 3, F 2, F 1 and F 0 in terms of (A 2, A 1, A 0 )? A[2:0]F[3:0]
  • Slide 15
  • P ROGRAMMABLE L OGIC PAL, PLA
  • Slide 16
  • 16 PLA S Programmable Logic Array Pre-fabricated building block of many AND/OR gates (or NOR, NAND) "Personalized" by making/ breaking connections among the gates. General purpose logic building blocks.
  • Slide 17
  • 17 PLA
  • Slide 18
  • 18 PLA
  • Slide 19
  • 19 PLA A 32 PLA with 4 product terms.
  • Slide 20
  • 20 D ESIGN FOR PLA: E XAMPLE Implement the following functions using PLA F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A Personality Matrix 1 = asserted in term 0 = negated in term - = does not participate Input Side: 1 = term connected to output 0 = no connection to output Output Side: OutputsInputsProduct term Reuse of terms A 1 - 1 - 1 B 1 0 - 0 - C - 1 0 0 - F 0 0 0 0 1 1 F 1 1 0 1 0 0 F 2 1 0 0 1 0 F 3 0 1 0 0 1 A B B C A C B C A
  • Slide 21
  • 21 E XAMPLE : C ONTINUED F0 = A + B' C' F1 = A C' + A B F2 = B' C' + A B F3 = B' C + A Personality Matrix
  • Slide 22
  • C ONSTANTS Sometimes a PLA output must be programmed to be a constant 1 or a constant 0. P1 is always 1 because its product line is connected to no inputs and is therefore always pulled HIGH; this constant-1 term drives the O1 output. No product term drives the O2 output, which is therefore always 0. Another method of obtaining a constant-0 output is shown for O3.
  • Slide 23
  • PAL S Programmable Array Logic a fixed OR array.
  • Slide 24
  • PAL inputs 1 st output section 2 nd output section 3 rd output section 4 th output section Only functions with at most four products can be implemented
  • Slide 25
  • PAL W = ABC + CD X = ABC + ACD + ACD + BCD Y = ACD + ACD + ABD x x x
  • Slide 26
  • END of Unit-4 (Part-1)
  • Slide 27
  • T HRESHOLD L OGIC SHOLD L OGIC U NIT -4(P ART -2) (STLD A UTONOMOUS )
  • Slide 28
  • Logic design of sw functions constructed of electronic gates different type of switching element : threshold element. Threshold element can be considered as a generalization of the conventional gates. A large class of sw fn. can be realized by a single threshold element through lots of combinations of weights and threshold. Threshold function : A fn f(x 1, x 2,, x n ) is defined as a threshold fn iff there exists a set of weights {w 1, w 2,, w n } and a threshold T such that f(x 1, x 2,, x n ) = 1, iff f(x 1, x 2,, x n ) = 0, iff,where T and weights w i s are real number, x i s are binary inputs, and each weight w i is associated with a particular input var x i. A straightforward approach to identify a threshold fn is to derive from the truth table, a set of 2 n linear simultaneous inequalities and to solve them. w 1 w i w n T x 1 x i x n f
  • Slide 29
  • Eg) f(x 1, x 2, x 3 ) = (0,1,3) 0 T w 3 T w 2 < T w 2 +w 3 T w 1 < T w 1 +w 3 < T w 1 +w 2 < T w 1 +w 2 +w 3 < T 1101000011010000 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Inequality( )f x 1 x 2 x 3 w 3 >w 2 w 3 >w 1 w 3 >w 1 +w 3 w 1
  • Theorem: all threshold functions are unate. Proof: let f(x 1, x 2,, x n ) be a non unate fn. Suppose it is a threshold fn then there should be some x i such that f is neither positive or negative in x i. Since f ins non unate, there exist some input combination, say (a 1, a 2,, a n ) such that f(a 1, a 2,, a i-1, 0, a i+1,, a n ) = 1 f(a 1, a 2,, a i-1, 1, a i+1,, a n ) = 0 and some input combination say (b 1, b 2,, b n ) such that f(b 1, b 2,, b i-1, 0, b i+1,, b n ) = 0 f(b 1, b 2,, b i-1, 1, b i+1,, b n ) = 1 W i 0 contradiction
  • Slide 32
  • Theorem: Not all unate function are a threshold fn. Proof) We need to give one example, consider f(x 1, x 2, x 3, x 4 ) = (3,7,11,12,13,14,15) = x 1 x 2 +x 3 x 4 unate fn f(1,1,0,0)=1 w 1 +w 2 T f(1,0,1,0)=0 w 1 +w 3 < T f(0,0,1,1)=1 w 3 +w 4 T f(0,1,0,1)=0 w 2 +w 4 < T contradiction!! The given fn is not a threshold fn. Consider that fn f(x 1, x 2,, x n ) is realized by V 1 = {w 1, w 2,, w n ; T} whose inputs are x 1, x 2,, x n. If one of input, say x j, is complemented, the function can be realizable by a single threshold element having a weight-threshold vector. V 2 = {w 1, w 2,, -w j,, w n ; T-w j } whose inputs are x 1, x 2,, -x j,, x n. 01 00 10110100 x 1 x 2 x 3 x 4 1 1 1 1111 10 11 w 1 +w 2 >w 1 +w 3 w 2 >w 3 w 3 +w 4 >w 2 +w 4 w 3 >w 2 w 1 w j w n T x 1 x j x n f w 1 -w j w n T-w j x 1 x j x n g
  • Slide 33
  • We have to prove that f and g are identical fn. Case 1: x j =0 (x j =1) left side (f)right side (g) 0 1 0 1 Case 1: x j =1 (x j =0) left side (f)right side (g) 1 1 Therefore, f and g are identical.
  • Slide 34
  • If a function is realizable by a single threshold element (i.e. threshold function) then by an appropriate selection of complemented and uncomplemented input variables, it is realizable by an threshold element whose weight have any desired sign distribution. Let a threshold fn f(x 1, x 2,, x n ) be positive in var x i and the weight-threshold vector V= {w 1, w 2,, w n ; T},since f is positive in var x i, there exists a set of values a 1, a 2,, a i-1, a i+1,, a n for inputs x 1, x 2,, x i-1, x i+1,, x n such that f(a 1, a 2,, a i-1, 1, a i+1,, a n ) = 1 and f(a 1, a 2,, a i-1, 0, a i+1,, a n ) = 0 Hence, w 1 a 1 +w 2 a 2 + + w i-1 a i-1 +w i +w i+1 a i+1 + +w n a n T and w 1 a 1 +w 2 a 2 + + w i-1 a i-1 +w i+1 a i+1 + +w n a n < T w i >0 The weight w i associated with a threshold function which is positive in var x i, is positive. The weights associated with a threshold function which is a positive in all its vars, are all positive. If a function f(x 1, x 2,, x n ) is threshold fn with V 1 = {w 1, w 2,, w n ; T}, is the complement f (x