<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                **SDC**. 全稱**Synopsys design constraints**. SDC是一個設計中至關重要的一個文件。它對電路的時序,面積,功耗進行約束,它是設計的命脈,決定了芯片是否滿足設計要求的規范。Timing工程師在release sdc時必須非常小心,一個錯誤的false path或者case constant就有可能導致整塊芯片不工作。 Timing Constraint 為使用者所給定,用來檢驗設計電路時序的準則。我們在做STA前首先要了解各種約束是做什么的。 Timing Constraint按照它們的用途,大致分為以下幾類: (1)描述芯片的工作速度,即時鐘的頻率,包括**create_clock,create_generated_clock**等 (2)描述芯片的邊界約束,包括**set_input_delay, set_output_delay**等 (3)描述芯片的一些設計違反rule(DRV),包括**set_max_fanout,set_max_capacitance, set_max_transition**等 (4)描述設計中一些特殊的路徑,包括**set_false_path,set_multicycle_path**等 (5)描述設計中一些需要禁止的timing arc,例如**set_disable_timing** 需要注意的是,設計的不同階段我們使用的sdc都有所不同(當然,有的公司比較強大,會有一套golden sdc)。比如說,綜合時由于模型的粗糙,我們會選擇過約sdc,將時鐘頻率設得更高一些;CTS之前,由于skew的不確定性,通常我們也會加大uncertainty;還有signoff tool與PR工具correlation問題,margin的設置也會不一樣。 那我們如何去合理定義一個設計的sdc呢? 這是一項非常有難度的工作,其實常用的sdc命令就以下幾條,但要準確運用他們可不容易。 **clock相關**: create_clock create_generated_clock set_clock_uncertainty set_clock_groups set_input_delay set_output_delay **系統接口相關**: set_input_transition set_load set_driving_cell **時序特例相關:** set_false_path set_multicycle_path **邏輯賦值相關:** set_case_analysis 接下來幾篇文章會分別介紹這些命令 還有一個最重要的前提條件是:我們必須要盡早有一張結構清晰的clock結構圖。而且是越早做越好。clock結構最好是讓前端設計人員給你,當然也可以通過cad軟件自己去畫一張。這邊介紹一個比較好用的綠色小軟件**TinyCad**. 簡單易學~~ ![](https://img.kancloud.cn/0b/f3/0bf345236604cf91f45ed2722fc8c238_1042x437.png) 也可以通過**Verdi**來trace電路結構,這也是很方便的,只需要讀入設計的網表就行 ![](https://img.kancloud.cn/33/13/331359a6486e60211a515b0eac7917a1_1093x800.png) 好了,今天就大致介紹一下sdc的基本概念,以后會分別介紹幾個重要的sdc命令。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看