Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] Hold doesn't depend on Time period of clock

Status
Not open for further replies.

skrishneogg

Newbie level 5
Joined
Oct 5, 2015
Messages
9
Helped
7
Reputation
14
Reaction score
6
Trophy points
3
Activity points
88
Delay of C_x = t_combi_min, t_combi_max
Delay of buffer X = t_min, t_max
Time taken for clock to propagate from clock port to CP pin of FF_launch = Launch latency = Latency_launch
Time taken for clock to propagate from clock port to CP pin of FF_capture = Capture latency = Latency_capture
Flat OCV effect delay of cell = t_ocv


Let us take this circuit as an example.

X-X------X|----------X-------[FF_launch]----------(Cx)-----(Cx)
(common)|--| |
|--| |
|---------X-------X-------[FF_capture]-------|


Latency_launch_max = 4*t_max + 4*t_ocv; Latency_lauch_min = 4*t_min - 4*t_ocv
Latency_capture_max = 5*t_max + 5*t_ocv; Latency_lauch_min = 5*t_min - 5*t_ocv
t_data_max = 2*t_combi_max; t_data_min = 2*t_combi_min

Setup analysis (worst case, pessimistic)
1. Capture clock arriving much earlier than the launch clock
2. Maximum Combinational cell delay / data delay

Required time = T_clock + Latency_capture_min - t_setup
Arrival time = Latency_launch_max + t_data_max

setup_slack_extreme_pessimistic = T_clock - t_data_max - t_setup - [Latency_launch_max - Latency_capture_min] = Required time - Arrival time

Focus your attention on the first three X cells; they are common to both Launch and Capture paths; they cannot behave slow to launch path and fast to capture path!
Even if we are extremely pessimistic, we cannot rule out this common path pessimism.

==> Let us remove the pessimism involved with the common path.

cppr = Common Path Pessimism Removal = 3*t_max + 3*t_ocv - [ 3*t_min - 3*t_ocv] = 3*[t_max - t_min + 2*t_ocv]

setup_slack_pessimistic = T - t_data_max - t_setup - [Latency_launch_max - Latency_capture_min] + cppr

Hold analysis (worst case, pessimistic)
If we assume there is no setup violation. If data has to be captured by the FF_capture, the data has to be available till Required time. In this the worst case is that,
1. Capture path is slow and launch is fast
2. Combinational delay is minimum
Note: there is no dependency of time period of clock.

Required time = Latency_capture_max + t_hold
Arrival time = Latency_launch_min + t_combi_min

hold_slack_extreme_pessimistic = Required time - Arrival time + ccpr


Uncertainty

Uncertainty is always taken care in the Required time.
Required time setup with uncertainty = T + Latency_capture_min - t_setup - t_uncertain
Required time hold with uncertainty = Latency_capture_max + t_hold + t_uncertain


Hence, hold violation cannot be fixed by changing the frequency.


"limits like fear are just an illusion"
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top