Difference between revisions of "CSC270 Homework 4 Solution 2011"

From dftwiki3
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 32: Line 32:
 
     return inputs[ C0 + 2*C1 ]
 
     return inputs[ C0 + 2*C1 ]
  
def decode3To8( I0, I1, I2 ):
+
def decode3To8( I2, I1, I0 ):
 
     outputs = [0, 0, 0, 0, 0, 0, 0, 0]
 
     outputs = [0, 0, 0, 0, 0, 0, 0, 0]
 
     outputs[ I0 + I1*2 + I2*4 ] = 1
 
     outputs[ I0 + I1*2 + I2*4 ] = 1
Line 39: Line 39:
 
def main():
 
def main():
 
     #--- verification of the majority voter ---                                                                                                                 
 
     #--- verification of the majority voter ---                                                                                                                 
 +
    print "Majority voter verification"
 
     print "a b c | f "
 
     print "a b c | f "
 
     print "------+---"
 
     print "------+---"
Line 46: Line 47:
 
                 f = mux4To1( 0, c, c, 1, a, b )
 
                 f = mux4To1( 0, c, c, 1, a, b )
 
                 print "%d %d %d | %d" % ( a, b, c, f )
 
                 print "%d %d %d | %d" % ( a, b, c, f )
 +
 +
    #--- verification of decoder ---                                                                                                                           
 +
    print "\n\nDecoder verification"
 +
    print "a b c | I7 I6 I5 I4 I3 I2 I1 I0"
 +
    print "------+------------------------"
 +
    for a in [0,1]:
 +
        for b in [0,1]:
 +
            for c in [0,1]:
 +
                I7, I6, I5, I4, I3, I2, I1, I0 = decode3To8( a, b, c )
 +
                print "%d %d %d | %2d %2d %2d %2d %2d %2d %2d %2d" \
 +
                    % (a, b, c,  I7, I6, I5, I4, I3, I2, I1, I0 )
  
  
 
main()
 
main()
 +
  
 
</pre></code>
 
</pre></code>
 
==Output==
 
==Output==
 
<code><pre>
 
<code><pre>
 +
Majority voter verification
 
a b c | f  
 
a b c | f  
 
------+---
 
------+---
Line 63: Line 77:
 
1 1 0 | 1
 
1 1 0 | 1
 
1 1 1 | 1
 
1 1 1 | 1
 +
 +
 +
Decoder verification
 +
a b c | I7 I6 I5 I4 I3 I2 I1 I0
 +
------+------------------------
 +
0 0 0 |  1  0  0  0  0  0  0  0
 +
0 0 1 |  0  1  0  0  0  0  0  0
 +
0 1 0 |  0  0  1  0  0  0  0  0
 +
0 1 1 |  0  0  0  1  0  0  0  0
 +
1 0 0 |  0  0  0  0  1  0  0  0
 +
1 0 1 |  0  0  0  0  0  1  0  0
 +
1 1 0 |  0  0  0  0  0  0  1  0
 +
1 1 1 |  0  0  0  0  0  0  0  1
  
 
</pre></code>
 
</pre></code>
Line 119: Line 146:
  
 
</pre></code>
 
</pre></code>
 +
 +
=RS Flip-Flops with NAND/NOR and XOR/XOR=
 +
 +
* We cannot store both 1 or 0 in the NAND/NOR.
 +
* Similarly, we cannot store 1 or 0 in the XOR/XOR. 
 +
* Some of you used the kits to verify this.  VERY GOOD IDEA!
  
 
</onlydft>
 
</onlydft>

Latest revision as of 12:16, 1 March 2011

--D. Thiebaut 10:44, 1 March 2011 (EST)



...