You are tasked to create a Data Collector Machine in Verilog as shown below. How will you approach this design?
Wednesday, March 11, 2020
Interview Question 40: Design a Data Collector Machine
Wednesday, February 12, 2020
Interview Question 39: Compute Sum of Differences.
You need to compute the Sum of Differences for the given two matrices.
Output = ABS(A00-B00) + .... + ABS(A03-B03) + ........+ ABS(A30-B30) + .... + ABS(A33-B33)
Monday, January 6, 2020
Interview Question 38: What are the issues with this logic?
This is one of the common questions asked to check your experience or awareness of CDC. (Clock Domain Crossing) Can you find at least two issues?
Monday, December 16, 2019
Interview Question 37: Swap contents of two register without having a third intermediate register
This is a favorite question of software folks. They will ask you to swap two registers using a sequential machine.
RTL designers get irritated as we can do it simply in one clock by doing the following.
always @(posedge clock) begin
A <= B;
B <= A;
end
Ask follow-up questions. You will hear something like this.
"How many clocks this operation takes is not a concern. You may take 2-3 clocks to complete this operation."
This is a hint along with the ALU block.
Monday, September 9, 2019
Interview Question 36: Design a pulse width based filter
This question is a twist on the last question. You need to create a positive edge detector but only when the input is wider than 2 clock widths.
Friday, July 5, 2019
Interview Question 35: Design a posedge detector
Design a positive edge detector module as shown below.
Monday, May 6, 2019
Interview Question 34: Synchronize reset to a slower clock domain
You are tasked to design a reset synchronizer. The reset is provided in the core clock domain which is a 100MHz clock domain. You need to create a reset for IP in another part of the design that is working at 1MHz.
A timing diagram is provided to give you an idea. It is scaled back to a ratio of 6 to fit it in the diagram.








