For The RTL Schematic Provided, Perform Timing Analysis Using The Following Parameters
For The RTL Schematic Provided, Perform Timing Analysis Using The Following Parameters
Q1 For the RTL schematic provided, perform timing analysis using the following
parameters :
Note: The adder has two outputs: SUM and Cout. The propagation delay/ contamination delay
for them is different.
(a) Mark the critical path in the schematic. What is the highest clock frequency it can run at
without setup time violations? Assume there is no clock skew.
(b) Are there any hold violations in the circuit? If any, show in the figure below how you
would fix any hold violations. You should try to maintain the clock frequency as high as
possible. What is the highest clock frequency after the fixing? Assume there is no clock
skew.
Q2
Design a system following the description below to be able to operate continuously—that is,
once a computation is complete, it should be ready to accept a new input. Assume that the
system’s initial state is the IDLE state and the initial INPUT_NUMBER is 0.
Input:
Output:
System Operation:
● The system starts in the IDLE state and waits for a new INPUT_NUMBER.
● Once an input is received, the system initiates the algorithm described below.
Algorithm Description:
(a) Draw a minimum state HLSM to represent the above system.
(b) Draw the circuit representing the data-path of this system. Use RTL design.
(c) Draw the control unit and connect it to the data-path with correct labeling.
Q3. Consider C-like code provided below.
while (1) {
while (!start);
done = 0;
if (op1) result = x * 2;
else result = x;
while (x > 0) {
if (op1) result = result / 2;
else result = result + 1;
x--;
}
done = 1;
}
(a) Draw the High-Level State Machine for this code using the minimum possible states.
(b) Draw the datapath for the HLSM.
(c) Connect datapath to control and show all signals going in/out of both.
Q4. Design a lookup table with 20x8 bits for the sequence below:
● Q(1) = 1, Q(2) = 3
● For n > 2, Q(n) = Q(n-1) +2*(n % 4)
(% is the modulo operator, giving the remainder after division. e.g., 7 % 4 = 3)
● n < 20
● When A=1 and B=1, a new term is added. If A=1 and B=0, the last term is removed.
If the table is fully filled, D=1.
● All terms are stored in a memory that can hold 20 8-bit elements. Each memory element can
be accessed with the index "i"
(a) Draw the High-level State Machine to represent the behavior of this system.
(c) Draw the connections from the datapath to the controller.
(d) Draw the FSM State Diagram for the controller to this datapath.