2-FF Synchronizer: Construction and Labeling
Signals crossing clock domains risk violating setup and hold times, leading to metastability in the receiving domain. The standard two-stage synchronizer safely transitions asynchronous signals into a synchronous clock domain by providing a full clock period for metastable states to resolve.
Construct a two-stage synchronizer using D flip-flops. Route the asynchronous input async_in through two series-connected flip-flops clocked by clk. Connect the output of the first flip-flop to the meta_out port to explicitly identify the node susceptible to metastability. Connect the output of the second flip-flop to sync_out to provide the safe, resolved signal for downstream synchronous logic.
Constraints
- Use exactly two D flip-flops.
- Connect
async_inonly to the data input of the first flip-flop. - Drive the clock pins of both flip-flops with the
clkinput. - Do not connect any synchronous logic to the
meta_outnode. - Route the final synchronized signal from the second flip-flop to the
sync_outport.
Topics
Solve this problem
Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.
This problem is part of Codiode Pro. The statement above is free to read.
The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.