30/05/2024, 13:55
pset3-2024-spring_58_1717053712071.ipynb - Colab
Spring 2024 ECE M16: PSET 3 (ver. 1.1)
Student Name: LEONARD, MICHAEL
Instructions (Please read !!!):
1. This notebook is personalized for you. Make sure you have downloaded the notebook that
was listed against your name.
2. Deadline to submit is as listed on Gradescope.
3. You can make three submission attempts. We do not count submissions detected to have
tampered with notebook cells that prevent grading (e.g. if there are more or fewer cells than
expected or there is a match of cell type). For the first attempt, the Autograder will only
perform some basic sanity checks on the basic format of your answer and return a score of 0.
It will, however, not check or provide feedback on the correctness of your answer. For example,
if the answer has to be a list of base-10 integers, then the sanity check will check whether you
indeed provided 10 a list of base-10 integers. Likewise, if the answer asks for a logic
expression, the sanity check will check whether your answer is indeed a valid logic expression
(however, it will not check whether the variable names used are correct). For the second and
third attempts, the Autograder will also report whether your answer is correct or not, but it will
not tell you what the correct answer is or why your answer is wrong.
4. If we discover a bug in the Autograder, we will compensate the impacted students with an
extra attempt only for the impacted question. For other questions unaffected by the bug, the
score the end of third attempt will be used.
5. Please do not edit, move, or delete any of the cells. You must only write in the cells provided
for your answers while adhering strictly to the format requirements. Otherwise, the Autograder
cannot grade, and even though we do not count the attempt, it will cause you needless panic.
6. Most problems/subproblems will be auto-graded, and it is critically important that you
strictly adhere to the formatting requirements for the answers. A few will be graded manually,
and there you are allowed free-form text, either plain text or in Markdown format.
7. After every problem or subproblem, we have provided a cell where you can optionally provide
a brief explanation of your solution approach. By default, we will not grade the explanation but
use it if your answer is marked wrong by the autograder or the human grader, and you request a
regrade. No regrade request will be entertained unless an explanation of how you derived your
answer is provided. The explanation cells can accept text in Markdown format.
https://colab.research.google.com/drive/1ou1VLU5PHAoq0uCKVW7TnSKGGBZOTvrN#scrollTo=Qtp5F0f2mUot&printMode=true
1/20 30/05/2024, 13:55
✓
pset3-2024-spring_58_1717053712071.ipynb - Colab
Problem 1: Sequential System Analysis [10.0 points]
Consider the following sequential circuit and answer the questions in the parts that follow. When
answering, use standard boolean logic operators ~, &, I, ^, and parentheses.
sysclk b
SO
TSQ
R
S1
TSQ
0
R
(Note: if an image doesn't show up above, please click on this link).
✓ Part 1.1: SOnext [1.5 points]
Write the boolean logic expression for SO next in terms of SO and S1.
Enter_your_answer_in_required_format
Optional Explanation:
Replace this text with your explanation.
✓ Part 1.2: S1next [1.5 points]
Write the boolean logic expression for S1 next in terms of SO and S1.
Enter_your_answer_in_required_format
Optional Explanation:
Replace this text with your explanation.
Ob Z
https://colab.research.google.com/drive/1ou1VLU5PHAoq0uCKVW7TnSKGGBZOTvrN#scrollTo=Qtp5F0f2mUot&printMode=true
2/20 30/05/2024, 13:55
✓ Part 1.3: Z [1 points]
pset3-2024-spring_58_1717053712071.ipynb - Colab
Write the boolean logic expression for Z in terms of SO and S1.
Enter_your_answer_in_required_format
Optional Explanation:
Replace this text with your explanation.
✓ Part 1.4: Isolated States [1.5 points]
An isolated state is a state with the property that if the system starts in that state on power up, it
stays there forever. Consider which of the following statements are true.
1. S0=0, S1=0 is an isolated state
2. S0=1, S1=0 is an isolated state
3. S0=1, S1=1 is an isolated state
4. S0=0, S1=1 is an isolated state
5. This system does not have an isolated state
Your answer should be a list of decimal integers corresponding to the true choices. The list must
not include any incorrect choices. The list may be empty (write it as []), have only one element
(e.g., [1]), or may have multiple elements (e.g., [1,2,3]).
Enter_your_answer_in_required_format
Optional Explanation:
Replace this text with your explanation.
✓ Part 1.5: Temporal Evolution of Z [4.5 points]
=
O we
Let the system clock sysclk have a frequency of 500 MHz, and assume that at time t
had a rising edge of the clock and that both the state bits SO and S1 were 0. What will be the
value of Z at t = 2 ns, 4 ns, 6 ns, and 8 ns respectively? Your answer should be a comma-
separated list with four elements, each of which is 0 or 1 or X (unknown), and with the first
element in the list corresponding to Z at t = 2 ns, the second to to Z at t = 4 ns, and so on. E.g.,
https://colab.research.google.com/drive/1ou1VLU5PHAoq0uCKVW7TnSKGGBZOTvrN#scrollTo=Qtp5F0f2mUot&printMode=true
3/20 30/05/2024, 13:55
pset3-2024-spring_58_1717053712071.ipynb - Colab
your answer may be [0,0,1,1] to indicate the Z=0 at t = 2 ns and 4 ns, and Z=1 at t = 6 ns and 8
ns.
Note: You must get all time instant correct in order to get credit.
Enter_your_answer_in_required_format
Optional Explanation:
Replace this text with your explanation.
✓
Problem 2: Improving System Performance [15.0 points]
In all the sub-questions below, assume that the registers being used have setup time
ts
=
11 ps, hold time th
=
9 ps, propagation delay tacq
12
=
11 ps, and no clock skew. Note
thast ps means picoseconds and equals 10 s, and GOPS means billion operations per
second and equals 109 operations/second.
✓ Part 2.1: Baseline Throughput [2.5 points]
Consider the datapath below and assume that the combination logic has a propagation delay
319 ps.
REC
Combinational Logic
REC
N
CLK
CLK
(Note: if an image doesn't show up above, please click on this link).
What is the maximum throughput of this system, i.e. the rate at which it can process data at
input X? Your answer should be a real number in units of GOPS (Giga Operations per Second).
Do not include units. Your answer should be accurate to three digits after the decimal point. E.g.,
you answer could be 15.231.
Enter_your_answer_in_required_format
https://colab.research.google.com/drive/1ou1VLU5PHAoq0uCKVW7TnSKGGBZOTvrN#scrollTo=Qtp5F0f2m Uot&printMode=true 4/20 30/05/2024, 13:55
Optional Explanation:
pset3-2024-spring_58_1717053712071.ipynb - Colab
Replace this text with your explanation.
✓ Part 2.2: Baseline Latency [2.5 points]
Continuining with the preceding, what is the input to output latency? Specifically, we are looking
for the delay between when an instance of a value of ✗ was stored at a clock edge in the input
register (on the left) and the value obtained after processing it gets stored at a later clock edge
in the output register (on the right)? Your answer should be a number in ps. Do not include units.
Enter_your_answer_in_required_format
Optional Explanation:
Replace this text with your explanation.
✓ Part 2.3: Throughput with Uniform Pipeline Stages [2.5 points]
Now say we divide the combinational logic into three equal stages, each of which has a
propagation delay of 319/3 ps.
X
Combinational
Logic
REC
Combinational
Logic
REC
Combinational
Logic
REC
N
CLK
CLK
CLK
(Note: if an image doesn't show up above, please click on this link).
CLK
What is the maximum throughput of this system, i.e. the rate at which it can process data at
input X? Your answer should be a real number in units of GOPS (Giga Operations per Second).
Do not include units. Your answer should be accurate to three digits after the decimal point. E.g.,
you answer could be 15.231.
REC
https://colab.research.google.com/drive/1ou1VLU5PHAoq0uCKVW7TnSKGGBZOTvrN#scrollTo=Qtp5F0f2mUot&printMode=true 5/20
Enter_your_answer_in_required_format
Optional Explanation: