C = not B => that does not depend on clock. Why not draw it right ? Furthermore, I believe that due to the fact that they forgot about that, they got the transition of C wrong when the clock actually applied.. which was your question.
I understand that there are two requirements for flip flop timing constraints. Setup Requirement and Hold Requirement.
I also understand that the clock speed should satisfy the following criteria: t_clk >= t_clk-to-q + t_criticalpath + t_setup.
My question is regarding the hold requirement. It says that (please refer to the image below)
Q: What is t_path? Is is the critical path, the non-critical path? In short, it just not make sense to me
t_path in this case is the minimum time from the register to the input of the next register. It is effectively the opposite of the critical path.
The goal is to ensure a transition can't reach the register until after t_hold.
Inside devices, hold is normally less of an issue. t_hold is often made slightly negative.
External interfaces can have any t_setup/t_hold as long as both are not negative. For example, the MIIM interface often has a hold time that is very long (> 1/2 clock cycle). There are DAC's with a negative setup time and very long hold time as well.
This is a quick question about the trade offs of the effect of optimization when we ask for a slow clock frequency.
I understand slow clock frequency leads to smaller circuits which is a good thing, right? BUT it puts more weight on optimizing logic utilization. What does this mean "putting more weight on optimizing logic utilization"?
This is a quick question about the trade offs of the effect of optimization when we ask for a slow clock frequency.
I understand slow clock frequency leads to smaller circuits which is a good thing, right? BUT it puts more weight on optimizing logic utilization. What does this mean "putting more weight on optimizing logic utilization"?
Not necessarily true.
The circuit built is the one that is directed from the RTL/schematic, with some optimisations based on tool settings. With a slow clock specified, it will just make it easier for the tool to meet timing. When it's fitting, it will start with a random placement, and then time it to see if it meets the spec. If it doesnt, it will try and re-route the circuit to try again. It will keep doing this until it either meets timing, or runs out of iterations.
What does this mean "putting more weight on optimizing logic utilization"?