I've seen conflicting descriptions and conflicting implementations of D Flip Flops, when it comes to how the Flip Flop behaves when its input value changes at the same time the clock rises.
[CLK] [IN] [OUT] 0 1 0 1 0 0
[CLK] [IN] [OUT] 0 1 0 1 0 1
In other words, Implementation #2 will always store the value that [IN] had during the first half of the clock cycle, but Implementation #1 will pick up the value of [IN] on clock rise.
Which implementation is correct, or standard?
If I buy myself the most widespread Flip Flop model in a store, how is it likely to behave?
The following implementation (in Digital) behaves like Implementation #2.
However, it behaves differently from how Digital's built-in D-Flip-Flop component behaves (it behaves according to Implementation #1).
Would you say that either implementation is correct or better?
Which implementation am I more likely to find in actual hardware?