0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

時序約束出現(xiàn)時序違例(Slack為負數(shù)),如何處理?

jf_pJlTbmA9 ? 來源:jf_pJlTbmA9 ? 作者:jf_pJlTbmA9 ? 2023-07-10 15:47 ? 次閱讀

時序約束出現(xiàn)時序違例(Slack為負數(shù)),如何處理?

答:

一. 首先指出一個誤區(qū):當(dāng)約束出現(xiàn)錯誤時,想當(dāng)然地認為是“時序約束做得不對”,所以應(yīng)該怎么去改“時序約束”,從而讓這些錯誤消失,這是一個錯誤的觀念。

二. 時序約束的作用:在于檢查“設(shè)計是否滿足時序要求”,它是用來審視自己設(shè)計的,很多情況是,要改設(shè)計代碼來滿足時序要求。

三. 當(dāng)時序約束提示有錯誤時,應(yīng)該閱讀“時序報告”,從報告中分析時序路徑(數(shù)據(jù)到達時間、時鐘到達時間和數(shù)據(jù)要求時間等),根據(jù)報告分析錯誤的原因,并根據(jù)原因來實行不同的方法。

以建立時間違例,說明具體方法如下:

1. 時序報告中,找到提示錯誤的路徑,即目的寄存器,以及源寄存器。注意,這是兩個寄存器的點。

2. 首先判斷,源寄存器的時鐘,與目的寄存器的時鐘,是否相同。如果不同,可以認為是異步時序,見步驟3;如果是相同,則看步驟4。

3. 如果是異步電路,那么處理方法如下:

A. 確認做了異步處理。對于數(shù)據(jù),則是通過異步FIFO來做異步處理;如果是控制信號,則要經(jīng)過打兩拍來處理。

B. 確認做了異步處理后,仍然會報“時序違例”的。這個時候,可以該路徑設(shè)置成set false path,不用再檢查。

4. 同步電路下,具體處理如下:

A. 查看兩個寄存器點之間,經(jīng)過了多少加法器、乘法器、除法器等。

B. 對于除法器,要特別留意,一般是1個時鐘計算不完的。那么可以 a.想辦法不用除法;b. 通過使能信號控制獲取除法器結(jié)果的時間。

C. 對于乘法器和加法器,或者其他組合電路較多的。想辦法分隔成流水線來實現(xiàn)??梢詤⒖糓DY 流水線的內(nèi)容。

5. 如果是IP核的違例,檢查是否時鐘不滿足IP核的要求。如果沒問題,就不用管。

6. 如果是ILA等在線調(diào)試工具路線的違例,則一般不用處理。

7. 如果是線延時太長的,可以嘗試打一拍處理。即A->B的線太長,可以打一拍,變成A->C->B,這樣線延時就小了。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • fifo
    +關(guān)注

    關(guān)注

    3

    文章

    388

    瀏覽量

    43683
  • 加法器
    +關(guān)注

    關(guān)注

    6

    文章

    183

    瀏覽量

    30128
  • 時序約束
    +關(guān)注

    關(guān)注

    1

    文章

    115

    瀏覽量

    13425
收藏 人收藏

    評論

    相關(guān)推薦

    VIVADO時序約束及STA基礎(chǔ)

    時序約束的目的就是告訴工具當(dāng)前的時序狀態(tài),以讓工具盡量優(yōu)化時序并給出詳細的分析報告。一般在行為仿真后、綜合前即創(chuàng)建基本的時序
    的頭像 發(fā)表于 03-11 14:39 ?9788次閱讀

    時序分析總結(jié)(以SDRAM時序約束例)

    都是以clock基準的,記住這個,算的時候就很容易了;4.基本的時序約束有:時鐘約束,IO約束,例外說明,這些都是可以通過timeques
    發(fā)表于 12-29 14:53

    ISE 時序約束

    to FF)太大。解決辦法:creattiming constraint ---exception中的path,設(shè)置FFtoFF20ns;重新編譯,時序約束正確。
    發(fā)表于 10-11 22:49

    出現(xiàn)時序違例的原因及解決辦法

      如果出現(xiàn)時序違例,我們會關(guān)注兩點:  為什么會出現(xiàn)時序違例?  如何解決?  首先我們要搞清楚時序
    發(fā)表于 01-08 17:10

    時序約束時序分析 ppt教程

    時序約束時序分析 ppt教程 本章概要:時序約束時序分析基礎(chǔ)常用
    發(fā)表于 05-17 16:08 ?0次下載

    時序約束用戶指南

    時序約束用戶指南包含以下章節(jié): ?第一章“時序約束用戶指南引言” ?第2章“時序約束的方法” ?
    發(fā)表于 11-02 10:20 ?0次下載

    FPGA時序約束方法

    FPGA時序約束方法很好地資料,兩大主流的時序約束都講了!
    發(fā)表于 12-14 14:21 ?19次下載

    FPGA中的時序約束設(shè)計

    一個好的FPGA設(shè)計一定是包含兩個層面:良好的代碼風(fēng)格和合理的約束。時序約束作為FPGA設(shè)計中不可或缺的一部分,已發(fā)揮著越來越重要的作用。毋庸置疑,時序
    發(fā)表于 11-17 07:54 ?2574次閱讀
    FPGA中的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>設(shè)計

    深入了解時序約束以及如何利用時序約束實現(xiàn)FPGA 設(shè)計的最優(yōu)結(jié)果

    作為賽靈思用戶論壇的定期訪客(見 ),我注意到新用戶往往對時序收斂以及如何使用時序約束來達到時序收斂感到困惑。幫助 FPGA設(shè)計新手實
    發(fā)表于 11-24 19:37 ?5488次閱讀
    深入了解<b class='flag-5'>時序</b><b class='flag-5'>約束</b>以及如何利用<b class='flag-5'>時序</b><b class='flag-5'>約束</b>實現(xiàn)FPGA 設(shè)計的最優(yōu)結(jié)果

    時序約束的四大步驟的具體介紹

    FPGA中的時序問題是一個比較重要的問題,時序違例,尤其喜歡在資源利用率較高、時鐘頻率較高或者是位寬較寬的情況下出現(xiàn)。建立時間和保持時間是FPGA
    的頭像 發(fā)表于 12-23 07:02 ?4361次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b>的四大步驟的具體介紹

    時序約束的步驟分析

    FPGA中的時序問題是一個比較重要的問題,時序違例,尤其喜歡在資源利用率較高、時鐘頻率較高或者是位寬較寬的情況下出現(xiàn)。建立時間和保持時間是FPGA
    的頭像 發(fā)表于 12-23 07:01 ?2156次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>約束</b>的步驟分析

    Vivado時序案例分析之解脈沖寬度違例

    BY Hemang Divyakant Parikh 有多種類型的時序違例可歸類脈沖寬度違例。 - 最大偏差違例(詳見 此處 ) - 最小
    的頭像 發(fā)表于 11-19 13:48 ?5630次閱讀
    Vivado<b class='flag-5'>時序</b>案例分析之解脈沖寬度<b class='flag-5'>違例</b>

    FPGA時序約束一如何查看具體錯誤的時序路徑

    時間裕量包括建立時間裕量和保持時間裕量(setup slack和hold slack)。從字面上理解,所謂“裕量”即富余的、多出的。什么意思呢?即保持最低要求的建立時間或保持時間所多出的時間,那么“裕量”越多,意味著時序
    發(fā)表于 08-04 17:45 ?774次閱讀

    FPGA時序約束:如何查看具體錯誤的時序路徑

    ? ? 1、時序錯誤的影響 ? ? ? 一個設(shè)計的時序報告中,design run 時序有紅色,裕量(slack
    的頭像 發(fā)表于 03-17 03:25 ?1011次閱讀

    淺談時序設(shè)計和時序約束

    ??本文主要介紹了時序設(shè)計和時序約束。
    的頭像 發(fā)表于 07-04 14:43 ?1421次閱讀