<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

時序約束怎么用?時序約束到底是要干嘛?

冬至子 ? 來源:玩兒轉FPGA ? 作者:胡建東 ? 2023-06-28 15:10 ? 次閱讀

很多小伙伴開始學習時序約束的時候第一個疑惑就是標題,有的人可能會疑惑很久。不明白時序約束是什么作用,更不明白怎么用。

FPGA內部結構=LUT+觸發器+走線+嵌入式模塊(RAM,乘法器等)。下圖大致描述了它的抽象結構。

圖片

以上公式告訴我們:信號是通過走線和各個模塊產生連接。然后信號通過走線必然有延遲,有人認為電信是光速走線延時應該很短,可以忽略(全局時鐘線的延時在時序緊張的情況下是不可忽略的),然而走線延遲可能超過你的想像。

1.電信號在走線槽里面傳播并不是光速,走線上有分布電感和地平面有分布電容,二者值越大,對電容充電時間越長,走線延遲越長,這寫參數自然由工藝和封裝來決定,和我們設計無關,但是卻對我們的設計方法產生重大影響,傳輸模型如下:

圖片

2.除了傳輸線模型的延時以外,走線本身會經過很多類似路由器的結構去改變走線方向,在資源緊張的情況下可能會走過多個路由,這也就是為什么FPGA內部走線會很繞的原因,經過多級路由的走線延時會大大增加,在時序報告里面也可以看到的走線延遲=傳輸線延遲+路由延遲。

3.如果設計里面組合邏輯很多那么信號就會經過多個LUT,這也會產生延遲,在時序報告里面可以看見組合邏輯延遲和邏輯級數這2個選項。

綜合以上3點,FPGA內部延時不可忽略!并且常常達到ns級!。

圖片

上圖為實際生成的數字電路模型,從中看出

圖片

根據上圖公式,tnet和tlogic一旦增加,最小時鐘周期就會增加,也就意味著系統可以跑的最高頻率會下降。

那么編譯器怎么知道哪個是你的時鐘,你的主時鐘需要跑多少MHZ呢?如果編譯器設計高了,會編譯時間增長甚至報錯,低了會導致實際上板產生競爭冒險,從而導致錯誤。所以為了避免以上問題,我們需要高速編譯器這個時鐘到底要多快,還有,相位關系,占空比。這樣編譯器才能根據我們的需求去對比延時所算出來會不會競爭冒險。所有的時序約束都是要告訴編譯器,我的時鐘和數據要滿足怎樣的關系,然后交給編譯器去計算最糟糕的情況下能不能滿足條件,還差多少ns就會不滿足條件。

所以,為了告訴編譯器時鐘參數就有了

create_clock -name clk -period 10 [get_ports sysclk],這句xdc命令告訴編譯器,時鐘clk,從sysclk(get ports 后面攝取的是頂層要分配引腳的物理引腳,get pins后面攝取的是生成的某個寄存器或者器件的引腳,get nets攝取的是里面生成的某根線)這個引腳輸入,時鐘周期是10ns,由于相位和占空比未聲明,所以初相位為0,占空比為50%。如下圖:

圖片

如果想調節初相位90°和占空比25%:

create_clock -name devclk -period 10 -waveform {2.5 5} [get_ports sysclk]

這里-waveform {2.5 5}代表第一個跳變沿在第2.5ns處產生,第二個跳變沿在5ns處產生從而形成下圖的時鐘,這樣就可以把所有的相位和占空比關系都描述清除。

圖片

編譯器會根據時鐘sysclk的周期和相位,在整個sysclk時鐘域,計算延遲后對比sysclk和對應寄存器的數據端口進行對比,看是否滿會產生競爭冒險,不滿足的地方會報告出來。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式系統
    +關注

    關注

    40

    文章

    3450

    瀏覽量

    128458
  • 乘法器
    +關注

    關注

    8

    文章

    194

    瀏覽量

    36677
  • 觸發器
    +關注

    關注

    14

    文章

    1915

    瀏覽量

    60664
  • LUT
    LUT
    +關注

    關注

    0

    文章

    49

    瀏覽量

    12431
  • FPGA系統
    +關注

    關注

    0

    文章

    10

    瀏覽量

    7009
收藏 人收藏

    評論

    相關推薦

    VIVADO時序約束及STA基礎

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

    FPGA的IO口時序約束分析

      在高速系統中FPGA時序約束不止包括內部時鐘約束,還應包括完整的IO時序約束時序例外
    發表于 09-27 09:56 ?1518次閱讀

    FPGA時序約束之衍生時鐘約束和時鐘分組約束

    在FPGA設計中,時序約束對于電路性能和可靠性非常重要。在上一篇的文章中,已經詳細介紹了FPGA時序約束的主時鐘約束。
    發表于 06-12 17:29 ?1662次閱讀

    FPGA I/O口時序約束講解

    前面講解了時序約束的理論知識FPGA時序約束理論篇,本章講解時序約束實際使用。
    發表于 08-14 18:22 ?1062次閱讀
    FPGA I/O口<b class='flag-5'>時序</b><b class='flag-5'>約束</b>講解

    請教時序約束的方法

    我是一個FPGA初學者,關于時序約束一直不是很明白,時序約束有什么呢?我只會全局時鐘的時序
    發表于 07-04 09:45

    時序約束資料包

    好的時序是設計出來的,不是約束出來的時序就是一種關系,這種關系的基本概念有哪些?這種關系需要約束嗎?各自的詳細情況有哪些?約束的方法有哪些?
    發表于 08-01 16:45

    時序約束時序分析 ppt教程

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

    時序約束用戶指南

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

    FPGA時序約束方法

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

    時序約束資料包】培訓課程Timing VIVADO

    好的時序是設計出來的,不是約束出來的 時序就是一種關系,這種關系的基本概念有哪些? 這種關系需要約束嗎? 各自的詳細情況有哪些? 約束的方法
    發表于 08-06 15:08 ?449次閱讀

    FPGA設計之時序約束

    上一篇《FPGA時序約束分享01_約束四大步驟》一文中,介紹了時序約束的四大步驟。
    發表于 03-18 10:29 ?1427次閱讀
    FPGA設計之<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    FPGA的時序input delay約束

    本文章探討一下FPGA的時序input delay約束,本文章內容,來源于明德揚時序約束專題課視頻。
    的頭像 發表于 07-25 15:37 ?2592次閱讀
    FPGA的<b class='flag-5'>時序</b>input delay<b class='flag-5'>約束</b>

    如何在Vivado中添加時序約束

    前面幾篇文章已經詳細介紹了FPGA時序約束基礎知識以及常用的時序約束命令,相信大家已經基本掌握了時序約束
    的頭像 發表于 06-23 17:44 ?1576次閱讀
    如何在Vivado中添加<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    如何在Vivado中添加時序約束呢?

    今天介紹一下,如何在Vivado中添加時序約束,Vivado添加約束的方法有3種:xdc文件、時序約束向導(Constraints Wiza
    的頭像 發表于 06-26 15:21 ?2558次閱讀
    如何在Vivado中添加<b class='flag-5'>時序</b><b class='flag-5'>約束</b>呢?

    淺談時序設計和時序約束

    ??本文主要介紹了時序設計和時序約束。
    的頭像 發表于 07-04 14:43 ?929次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>