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

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

3天內不再提示

時序約束實操

XL FPGA技術交流 ? 來源:XL FPGA技術交流 ? 作者:XL FPGA技術交流 ? 2024-04-28 18:36 ? 次閱讀

易靈思提供了相關時序約束的PPT,內容非常全面,但是我們還是發(fā)現(xiàn)很多客戶在使用Efinity時,時序約束存在很多問題。

添加約束

添加約束的目的是為了告訴FPGA你的設計指標及運行情況。在上面的生成約束之后,在Resultàxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復制到別的指定目錄或者新建自己的SDC文件添加到工程)。

c5883582-0365-11ef-b759-92fbcf53809c.png

編譯完成之后可以查看時序報告,也可以通過routingàxx.timing.rpt來查看路徑詳細延時信息,如果想查看更可以通過指令來打印或者通過print_critical_path來控制打印的路徑數(shù)量 。

時鐘約束

(1)通過IO輸入的gclk。

如下圖,因為時鐘是通過外部IO輸入的,所以FPGA并不知道這個時鐘頻率是多少。打開.pt.sdc可以看到提供相關約束參考。

c5a60440-0365-11ef-b759-92fbcf53809c.png

我們只需要補充相關的時鐘周期即可以使用。

c5dc2ec6-0365-11ef-b759-92fbcf53809c.png

比如,我們要約束adc_clk_in為100M:

create_clock-period10.000[get_ports{adc_clk_in}]

(2)PLL的輸出的時鐘約束。

因為PLL的輸入輸出頻率都是設置好的,所以軟件可以檢測到。如下圖,輸入輸出時鐘頻率都是30MHz.

c5ef31ec-0365-11ef-b759-92fbcf53809c.png

在pt.sdc文件中會提供相應的約束 。

create_clock -period 33.3333 pll_inst1_CLKOUT0

在時鐘約束完成之后,可以查看Routing -->.timing.rpt文件中所有的時鐘是否都進行了完整的約束 。

c6117f9a-0365-11ef-b759-92fbcf53809c.png

IO約束

首先我們要了解易靈思的架構是core和interface分開的,相對于core,interface內部的GPIO,LVDS,JTAG及其它都是外設。所以所有針對于input_delay和outpu_delay的約束都是針對于interface的。至于FPGA對于我們平時理解的外設,比如FPGA外部連接一片AD/DA,這種是沒有辦法約束的。

c63cd6e0-0365-11ef-b759-92fbcf53809c.png

在pt.sdc文件中可以看到關于set_input_delay和set_output_delay的約束??梢钥吹接行┘s束是已經屏蔽,那是因為添加的IO沒有打開寄存器。

c6646bba-0365-11ef-b759-92fbcf53809c.png

如下圖,易靈思建議把所有IO都添加上IO寄存器

c6823da2-0365-11ef-b759-92fbcf53809c.png

有的客戶會有疑問,clock的PIN Name是什么?其實就是與core內連接的寄存器用什么時鐘,interface中就用什么時鐘。

c699bf86-0365-11ef-b759-92fbcf53809c.png

(3)跨時鐘域約束

在保證程序上對跨時鐘域做了處理之后,約束上要對跨時鐘進行約束 。跨時鐘約束的語法是set_clock_groups或者set_false_path,關于用于網上很多,可以自行查找。

set_clock_groups -asynchronous -group {jtag_inst1_TCK jtag_inst1_DRCK}

在所有時鐘約束完成之后要保證時序報告的slack都為正值。

c6b776c0-0365-11ef-b759-92fbcf53809c.png

編譯完成之后可以查看時序報告,也可以通過routingàxx.timing.rpt來查看路徑詳細延時信息

如果時序上還有違例,在result--> Routing-->timing.rpt文件中查看具體的路徑。根據(jù)路徑來解決具體的時序問題。

c6d31506-0365-11ef-b759-92fbcf53809c.png

如果想查看更可以通過指令來打印或者通過print_critical_path來控制打印的路徑數(shù)量 。

c6f496cc-0365-11ef-b759-92fbcf53809c.png

也可以通過report_timing來報告具體的時序路徑及數(shù)量。

c71631ba-0365-11ef-b759-92fbcf53809c.png

先打開Tcl CommandConsole,如果Show/Hide Tcl commandConsole是灰色的,要先點擊Load Place and Route Data加載布局和布線的數(shù)據(jù)。

c7318776-0365-11ef-b759-92fbcf53809c.png

打開Tcl commandconsolel,使用report_timing命令來查看需要的路徑。

c7515286-0365-11ef-b759-92fbcf53809c.png

具體report_timing的用法,請參考EfinityTiming Closure UserGuide.pdf。

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

    關注

    1625

    文章

    21620

    瀏覽量

    601238
  • pll
    pll
    +關注

    關注

    6

    文章

    774

    瀏覽量

    135007
  • 時鐘
    +關注

    關注

    10

    文章

    1714

    瀏覽量

    131274
  • 時序約束
    +關注

    關注

    1

    文章

    115

    瀏覽量

    13403
收藏 人收藏

    評論

    相關推薦

    常用時序約束使用說明-v1

    為了防止約束失敗,我們在Tcl輸入框中驗證,沒有告警或者錯誤說明約束的寫法是正確的set_max_delay 5.00 -from [get_cells key2_detect_inst/state
    的頭像 發(fā)表于 11-01 11:06 ?108次閱讀

    文檔】在智能硬件的大模型語音交互流程中接入RAG知識庫

    就不講太多了,這里用CSK6大模型開發(fā)板接入自建的空調產品手冊知識庫演示接入過程,只要對照文檔步驟就可以完成操作。操作過程中遇到問題,也可以參考后半部分的排錯流程來定位和解決問題。
    發(fā)表于 09-29 17:12

    深度解析FPGA中的時序約束

    建立時間和保持時間是FPGA時序約束中兩個最基本的概念,同樣在芯片電路時序分析中也存在。
    的頭像 發(fā)表于 08-06 11:40 ?520次閱讀
    深度解析FPGA中的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>

    啟明智顯Model3A芯片方案7寸高清觸摸屏:開箱、設置與全攻略指南

    一、背景本指南將詳細介紹啟明智顯的Model3A芯片方案下的7寸高清觸摸屏ZX7D00CM21S的開箱步驟、基礎設置以及應用。無論您是電子愛好者、開發(fā)者還是工程師,這份指南都能助您快速上手并
    的頭像 發(fā)表于 07-01 16:09 ?933次閱讀
    啟明智顯Model3A芯片方案7寸高清觸摸屏:開箱、設置與<b class='flag-5'>實</b><b class='flag-5'>操</b>全攻略指南

    FPGA 高級設計:時序分析和收斂

    Static Timing Analysis,簡稱 STA。它可以簡單的定義為:設計者提出一些特定的時序要求(或者說是添加特定的時序約束),套用特定的時序模型,針對特定的電路進行分析。
    發(fā)表于 06-17 17:07

    Xilinx FPGA編程技巧之常用時序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧之常用時序約束詳解,話不多說,上貨。 基本的約束方法 為了保證成功的設計,所有路徑的時序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑以及
    發(fā)表于 05-06 15:51

    FPGA工程的時序約束實踐案例

    詳細的原時鐘時序、數(shù)據(jù)路徑時序、目標時鐘時序的各延遲數(shù)據(jù)如下圖所示。值得注意的是數(shù)據(jù)路徑信息,其中包括Tco延遲和布線延遲,各級累加之后得到總的延遲時間。
    發(fā)表于 04-29 10:39 ?631次閱讀
    FPGA工程的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>實踐案例

    Xilinx FPGA的約束設置基礎

    LOC約束是FPGA設計中最基本的布局約束和綜合約束,能夠定義基本設計單元在FPGA芯片中的位置,可實現(xiàn)絕對定位、范圍定位以及區(qū)域定位。
    發(fā)表于 04-26 17:05 ?1053次閱讀
    Xilinx FPGA的<b class='flag-5'>約束</b>設置基礎

    Xilinx FPGA編程技巧之常用時序約束詳解

    今天給大俠帶來Xilinx FPGA編程技巧之常用時序約束詳解,話不多說,上貨。 基本的約束方法為了保證成功的設計,所有路徑的時序要求必須能夠讓執(zhí)行工具獲取。最普遍的三種路徑以及
    發(fā)表于 04-12 17:39

    FPGA物理約束之布局約束

    在進行布局約束前,通常會對現(xiàn)有設計進行設計實現(xiàn)(Implementation)編譯。在完成第一次設計實現(xiàn)編譯后,工程設計通常會不斷更新迭代,此時對于設計中一些固定不變的邏輯,設計者希望它們的編譯結果
    的頭像 發(fā)表于 01-02 14:13 ?1338次閱讀
    FPGA物理<b class='flag-5'>約束</b>之布局<b class='flag-5'>約束</b>

    【堅果派】JS開源庫適配OpenHarmony系列——第一期

    由于OpenHarmony應用是基于ArkTS開發(fā),而ArkTS是在保持TypeScript(簡稱TS)基礎語法風格的基礎上,對TS的動態(tài)類型特性施加更嚴格的約束,引入靜態(tài)類型。因此在開發(fā)OpenHarmony三方庫時,建議首選在成熟的JS/TS開源三方庫上開發(fā)。
    的頭像 發(fā)表于 12-26 10:48 ?1014次閱讀
    【堅果派】JS開源庫適配OpenHarmony系列——第一期<b class='flag-5'>實</b><b class='flag-5'>操</b>

    電源時序規(guī)格:電源導通時的時序工作

    電源時序規(guī)格:電源導通時的時序工作
    的頭像 發(fā)表于 12-08 18:21 ?765次閱讀
    電源<b class='flag-5'>時序</b>規(guī)格:電源導通時的<b class='flag-5'>時序</b>工作

    Scaling Law大模型設計案例

    縱軸是"Bits for words", 這也是交叉熵的一個單位。在計算交叉熵時,如果使用以 2 為底的對數(shù),交叉熵的單位就是 "bits per word",與信息論中的比特(bit)概念相符。所以這個值越低,說明模型的性能越好。
    的頭像 發(fā)表于 11-22 16:08 ?722次閱讀
    Scaling Law大模型設計<b class='flag-5'>實</b><b class='flag-5'>操</b>案例

    物理約束實踐:I/O約束

    I/O約束(I/O Constraints)包括I/O標準(I/OStandard)約束和I/O位置(I/O location)約束。
    的頭像 發(fā)表于 11-18 16:42 ?1013次閱讀
    物理<b class='flag-5'>約束</b>實踐:I/O<b class='flag-5'>約束</b>

    FPGA時序約束--基礎理論篇

    FPGA開發(fā)過程中,離不開時序約束,那么時序約束是什么?簡單點說,F(xiàn)PGA芯片中的邏輯電路,從輸入到輸出所需要的時間,這個時間必須在設定的時鐘周期內完成,更詳細一點,即需要滿足建立和保
    發(fā)表于 11-15 17:41