Computing Systems

Computing Systems

EECS 151/251A Homework 1 Due Friday, January 26th, 2018 Problem 1: Computing Systems A wide range of computing systems are currently in production. Consider the following devices when answering the questions below: a laptop, a digital watch, a scientific calculator, a supercomputer, and a smartphone. (a) Sketch a curve showing computational performance of all these systems as a function of their cost. Put performance on the y-axis (arbitrary units), and cost on the x-axis (dollar estimate). (b) Similarly, show a curve that relates computational performance to system power con- sumption, with performance on the y-axis (arbitrary units), and power consumption on the x-axis (watt estimate). In the case of the smartphone, ignore the power consumption of the radio. (a) Performance (IPS)! 1.E+16! Supercomputer! 1.E+14! 1.E+12! Laptop! 1.E+10! 1.E+08! Smartphone! 1.E+06! 1.E+04! 1.E+02! Scientific Calculator! Digital Watch! 1.E+00! 1.E+00! 1.E+01! 1.E+02! 1.E+03! 1.E+04! 1.E+05! 1.E+06! 1.E+07! 1.E+08! 1.E+09! Cost ($)! (b) Performance (IPS)! 1.E+16! Supercomputer! 1.E+14! 1.E+12! Laptop! 1.E+10! 1.E+08! Smartphone! 1.E+06! 1.E+04! Scientific Calculator! 1.E+02! Digital Watch! 1.E+00! 1.E-08! 1.E-06! 1.E-04! 1.E-02! 1.E+00! 1.E+02! 1.E+04! 1.E+06! Power Consumption (W)! EECS 151/251A Homework 1 2 Problem 2: Logic Consider the circuit below. All inputs (P , Q, D0, D1, D2, and D3) must be tied to 0 or 1. D0 Q P D1 Q F P D2 Q P D3 Q P (It might help to simplify this circuit, as you would with the kind of powerful diagramming tool I do not have.) (a) What must D0, D1, D2, D3 be such that F = P ⊕ Q? (b) Can any arbitrary 2 input logic function of signals P and Q be realized using the above architecture? Explain. (a) D0 = D3 = 0 D1 = D2 = 1 (b) Yes, the circuit is essentially equivalent to a 4-input MUX, where one of D0, D1, D2, and D3 is selected based on the values of the P and Q inputs. Each possible state of P and Q will select one of D0 through D3, and so by choosing the D0 through D3 values, we can implement any desired single-output truth table (logic function) of the P and Q inputs. Problem 3: Logical Gates You work for Sldgly, a start-up in San Francisco that uses the sludge found in the Bart transit system to perform logic functions. They call this device a Sludge Gate; every Sludge Gate requires a supply and ground, has input signals X and Y , and produces an output signal Z. EECS 151/251A Homework 1 3 Here is the behavior of the Sludge Gate with a 5 V supply: • 0 < Z < 5V • If X and Y have less than 2 V at the input for 5 microseconds or more, then Z is greater than 4 V • When either or both of X and Y have more than 3.5 V for at least 5 microseconds, then Z is less than 1 V The exact voltage at Z is unpredictable and varies from Sludge Gate to Sludge Gate. (a) Propose a simple topology using Sludge Gates to invert an input signal, S. (b) For the inverter in (a) draw a very simple voltage transfer curve, making sure to label key voltages on both axes. (c) What Boolean function of X and Y does the Sludge Gate implement? (a) Either of: (b) EECS 151/251A Homework 1 4 (c) NOR gate: Z = (X + Y ) EECS 151/251A Homework 1 5 Problem 4: Structural Verilog Write modules using structural Verilog which implement the circuit drawn below. You will need multiple module statements to preserve the hierarchy as drawn. majority3 a b m c top a x[0] b m x[1] majority3 c x[2] out a y[0] b m y[1] majority3 c y[2] EECS 151/251A Homework 1 6 Solution: module majority3( input a, input b, input c, outputm ); wire and0_out, and1_out, and2_out; // verilog primatives have no explicit port connection, // and the output is first and (and0_out, a, c); and (and1_out, b, a); and (and2_out, c, b); or (m, and0_out, and1_out, and2_out); endmodule module top( input[2:0] x, input[2:0] y, output out ); wire maj0_out, maj1_out; // instantiate the modules- note the explicit port connection majority3 maj0 (.a(x[0]), .b(x[1]), .c(x[2]), .m(maj0_out)); majority3 maj1 (.a(y[0]), .b(y[1]), .c(y[2]), .m(maj1_out)); and (out, maj0_out, maj1_out); endmodule Problem 5: Behavioral Verilog For the logic circuit shown below, write the equivalent behavioral Verilog module which takes A and B as inputs, and gives X as output. EECS 151/251A Homework 1 7 Solution: module problem5( inputA, inputB, outputX ); assignX=~(~(~(A|~B)|(A&B))&(A|B)); endmodule Note: You still receive full credit if wrote the HDL code for the simplified logic expression: X = ((A + B) + A · B) · (A + B) =) X = A · B + A · B + A · B Or they simplified the expression complete: A:B + A:B + A:B = A:B + A:B + A:B + A:B = A(B + B) + B(A + A) = A(1) + B(1) = A + B.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    7 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us