zoukankan      html  css  js  c++  java
  • 【转载】about slack

    About Slack

    slack is the difference b/w the REQUIRED TIME and the ARRIVAL TIME. 
    1.WHAT IS SLACK WITH RESPECT TO SETUP? 
    Ans. 
    a)Take the maximum delay values along the data path and min delay values along the clock path. 
    b)ARRIVAL TIME is always calculated along the data path. 
    c) ARRIVAL TIME =Propogation delay of the flip flop+propogation delay of the combinational logic+latency. 
    d)REQUIRED TIME is always calculated along the clock path. 
    e)REQUIRED TIME=Clock period + skew(differnce in arrival of clock b/w two flip flop)+latency-setup time of the flip flop. 
    SLACK(setup) =REQUIRED TIME - ARRIVAL TIME.

    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Slack is difference between desired arrival time and actual arrival time for a value on a signal 
    slack can be zero , negative , positive 
    if zero then the design is said to be working on critical frequency 
    if the slack is postive, then design can be impoved 
    if the slack is negative then  design fails to achieve the timings and volations will be there 
    poitive slack is what is required

     

     

    Introduction
    slack英文本身的意思是鬆弛,若setup time/hold time slack為正值,表示目前滿足setup time/hold time需求,並且還有多餘的時間,若slack為負值,表示目前已經不滿足setup time/hold time的需求,並且不足多少時間。

    要詳細知道slack怎麼算出來的之前,須先了解一些專有名詞。

    Launch Edge & Latch Edge

     slack_new00

    Launch Edge:產生data的register 1所使用的clock rising edge。

    Latch Edge:接收data的register 2所使用的clock rising edge,會delay Lauch Edge 1個clk。

     

    Setup Time & Hold Time

    slack01

    Setup Time:在clk rising edge之前,data必須穩定的最短時間,若不滿足setup time,data無法敲進register。

    Hold Time:在clk rising edge之後,data必須穩定的最短時間,若不滿足hold time,data無法敲進register。

    Setup Time與Hold Time必須同時滿足,資料才可順利敲進register。

     

    Data Arrival Time

     slack_new01

    Data Arrival Time:data實際到達register 2的input D時的時間。

    所以從Lauch Edge開始,經過Tclk1 (register 1的clock skew),再加上Tco(register 1的clock to output delay),再加上Tdata(組合邏輯本身的delay),即為Data Arrival Time。

     

    Clock Arrival Time

    slack_new02

    Clock Arrival Time:clock實際到register 2 input的時間。

    所以從Latch Edge開始,經過Tclk2(register 2的clock skew),即為Clock Arrival Time。

     

    Data Required Time (Setup)

    slack_new03

    Data Required Time (Setup):為了讓資料能敲進register,最遲須在何時能準備好資料。

    所以從Clock Arrival Time開始(Latch Edge + Tclk2) 減掉 Tsu ,在扣掉一下額外的不確定值,即為Data Required Time (Setup)。

     

    Data Required Time (Hold)

    slack_new04

    Data Required Time (Hold):為了讓資料能敲進register,資料至少需維持到何時。

    所以從Clock Arrival Time開始(Latch Edge + Tclk2)加上Th,再加上一些額外的不確定值,即為Data Required Time (Hold)。

     

    Setup Slack

     slack_new06

    講了這麼久,總算要進入主題Slack啦,先講Setup Slack,定義很簡單,只要將Data Required Time (Setup)減掉Data Arrival Time即可,也就是符合Setup Time的margin。

    上面的Timing圖看起來很複雜,事實上以Lauch Edge為首導出來的只是Data Arrival Time,之前已經講過,而以Latch Edge為首導出來的是Data Required Time,之前也講過,現在只是將所有的timing都畫在一起而已。

    若Setup Slack為正,表示Data Required Time在Data Arrival Time之後,所以一定滿足Setup Time,反之若Setup Slack為負,則表示Data Arrival Time在Data Required Time之後,所以一定無法滿足Setup Time。

     

    Hold Slack

    slack_new07

    接下來講Hold Slack,定義也很簡單,只要將Data Arrival Time減掉Data Required Time (Hold)即可,也就是符合Hold Time的margin。

    上面的timing圖比較特殊些,主要是Data Arrival Time部分,因為要找Hold Slack,所以從Next Launch Edge開始,一樣加上Tclk1 + Tco + Tdata,而從Latch Edge開始加上Tclk2時為Data Required Time (Hold),這與之前講的一樣。

    若Hold Slack為正,表示Data Arrival Time在Data Required Time之後,所以一定滿足Hold Time,反之若Hold Slack為負,則表示Data Required Time在Data Arrival Time之後,所以一定無法滿足Hold Time。

     

    Reference
    Altera Quartus II Software Design Series:Timing Analysis

  • 相关阅读:
    VC 6.0 编译器的使用帮助
    生成可执行jar文件(转)
    DataGridView填充、更新、删除(多行)Sql Express 2005数据库
    访问域服务器修改密码,报“未知的身份验证机制”的错误搞定!
    尝试用Word2007发布博客
    iBatisNet Tutorial
    Asp.net 技巧集合
    TableAdapter 无法插入或更新Access数据库
    OrcasBeta1 installed 玩一玩Silverlight
    Microsoft .NET Compact Framework 开发常见问题解答从msdn上找到。
  • 原文地址:https://www.cnblogs.com/socquan/p/3265077.html
Copyright © 2011-2022 走看看