Any given timing path need to begin from a valid startpoint and end on a valid endpoint.
The following are valid startpoints:
The following are valid startpoints:
- A primary input port.
- Capturing pin of a sequential cell (D pin of a flop, a latch or synchronous reset/set pins of a reset/set flop).
- A primary output port.
- Launching pin of a sequential cell (CK pin of a flop or EN pin of a latch).
- Input to Register - Starting on a primary input port and ending on a capturing pin of a register
- Register to output - Starting on a launching pin of a flop and ending on an output port.
- Register to Register - Starting on a launching pin of a flop and ending on a capturing pin of a register
- Input to Output - Starting on a primary input port and ending on an output port.
Any valid timing path should be one of the above types.
There are several other types given by tools such as default, macro pins as startpoint and endpoint, which adds one additional startpoint type and one additional endpoint type and corresponding combinations of the timing paths. But, a macro in general can be considered as a register with many endpoints (input ports) and possibly many start points (clock pins).
"Capturing pin of a sequential cell (D pin of a flop, a latch or synchronous reset/set pins of a reset/set flop)"
ReplyDeleteThis is a valid endpoint not a start point, please correct. A valid start point would be the CK pin.
"Capturing pin of a sequential cell (D pin of a flop, a latch or synchronous reset/set pins of a reset/set flop)"
ReplyDeleteThis is a valid endpoint not a start point, please correct. A valid start point would be the CK pin.