一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

Vivado時(shí)序問題分析

FPGA通信小白成長(zhǎng)之路 ? 來(lái)源:FPGA通信小白成長(zhǎng)之路 ? 2024-01-05 10:18 ? 次閱讀

某年某月某日...

有些時(shí)候在寫完代碼之后呢,Vivado時(shí)序報(bào)紅,Timing一欄有很多時(shí)序問題。

這種時(shí)候我們往往會(huì)想,明明用的時(shí)鐘頻率不算高,整個(gè)片子的資源用的也不算特別多,為什么會(huì)有這么多時(shí)序問題呢?

先說(shuō)結(jié)論:

代碼習(xí)慣不好,代碼風(fēng)格太差。

時(shí)序問題,很明顯,是跟時(shí)鐘息息相關(guān)的,對(duì)于某一個(gè)操作時(shí)鐘,一旦其頻率確定,其對(duì)于路徑之間的最小時(shí)間要求也隨之確定。

在寫完代碼后,隨著資源使用的確定,布局布線的深入,則某些信號(hào)之間的路徑延遲也隨之確定,由于FPGA芯片中各個(gè)資源的原始布局都是確定的,那么對(duì)于資源的選取則至關(guān)重要,合理的資源選取將決定時(shí)序的優(yōu)劣。

資源選取來(lái)源于哪里呢,最直觀的就是代碼。

下面分情況說(shuō)明:

1,report methodology

在綜合后,就可以report methodology,查看時(shí)鐘存在的隱患,爭(zhēng)取在設(shè)計(jì)前期就解決問題。

2,時(shí)鐘約束

約束好主時(shí)鐘對(duì)應(yīng)的周期,管腳,除了特殊情況需要進(jìn)行過約束外,一般管腳的時(shí)鐘頻率是多少就約多少。

3,跨時(shí)鐘處理

對(duì)于跨時(shí)鐘域的復(fù)位信號(hào)、單bit信號(hào)、多bit信號(hào)、數(shù)組等,使用xpm原語(yǔ)進(jìn)行處理,或者用目標(biāo)時(shí)鐘信號(hào)打幾拍

4,抓信號(hào)別跨時(shí)鐘

抓取信號(hào)時(shí),除了set up debug外,使用ila時(shí),別跨時(shí)鐘抓信號(hào)

5,Ram設(shè)置

Ram的設(shè)置中,最好勾選含有register的選項(xiàng),有助于時(shí)序優(yōu)化,ram避免直接級(jí)聯(lián),同時(shí)例化多個(gè)相同ram時(shí)對(duì)于ram輸入作防優(yōu)化處理

6,流水寄存器

一個(gè)信號(hào)用于多個(gè)狀態(tài)的控制,或者狀態(tài)機(jī)中,控制較為復(fù)雜,一個(gè)信號(hào)位寬較大,反復(fù)使用,也最好多使用幾級(jí)寄存器進(jìn)行流水,也就是常說(shuō)的,沒事多打兩拍

7,Set false path

在使用Set false path時(shí),不到萬(wàn)不得已,不對(duì)兩個(gè)時(shí)鐘域的信號(hào)進(jìn)行整個(gè)Set false,而是只對(duì)單個(gè)信號(hào)進(jìn)行set false,哪里冒出來(lái)了,就對(duì)哪里進(jìn)行set false。

這樣就可以防止某些確實(shí)存在的時(shí)序問題、需要改代碼來(lái)解決的時(shí)序問題被隱藏,以免在調(diào)試的

后期,引起各種莫名其妙的問題,且不知道怎么去查。

8,set_max_delay

善于使用set_max_delay、set_min_delay、set_multicycle_p。

9,重定時(shí)(retiming)

感興趣可去了解。

因此,在時(shí)序報(bào)紅,也就是有時(shí)序問題時(shí),需要從時(shí)序問題的本質(zhì)出發(fā),即是什么導(dǎo)致了時(shí)序問題。比如,RAM直接級(jí)聯(lián),判斷條件過于復(fù)雜,跨時(shí)鐘處理不合理,狀態(tài)機(jī)過于復(fù)雜,信號(hào)位寬太大,相同信號(hào)驅(qū)動(dòng)模塊過多等。

另外,應(yīng)盡可能少用時(shí)序例外約束,同時(shí)在使用時(shí)序例外約束時(shí)要使約束對(duì)象足夠準(zhǔn)確,這樣一方面可以避免因?yàn)閷?duì)象不匹配導(dǎo)致過多約束或遺漏約束的情形,另一方面也能有效縮短編譯時(shí)間。

總之,代碼風(fēng)格在很大程度上決定了時(shí)序性能的好壞,決定了所寫模塊能達(dá)到的時(shí)鐘頻率上限。實(shí)現(xiàn)同樣的功能,有些人寫的代碼處理時(shí)鐘可以到100多MHz,而有些人可以到400多MHz。

審核編輯:湯梓紅

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

    關(guān)注

    5

    文章

    395

    瀏覽量

    37722
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4880

    瀏覽量

    70025
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    825

    瀏覽量

    67932

原文標(biāo)題:Vivado-時(shí)序問題隨筆-1

文章出處:【微信號(hào):FPGA通信小白成長(zhǎng)之路,微信公眾號(hào):FPGA通信小白成長(zhǎng)之路】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    如何在Vitis中把設(shè)置信息傳遞到底層的Vivado

    在Vitis完成這個(gè)過程的底層,實(shí)際調(diào)用的是Vivado。Vitis會(huì)指定默認(rèn)的Vivado策略來(lái)執(zhí)行綜合和實(shí)現(xiàn)的步驟。當(dāng)默認(rèn)的Vivado策略無(wú)法達(dá)到預(yù)期的時(shí)序要求時(shí),我們需要在
    發(fā)表于 08-02 08:03 ?1467次閱讀
    如何在Vitis中把設(shè)置信息傳遞到底層的<b class='flag-5'>Vivado</b>

    一文詳解Vivado時(shí)序約束

    Vivado時(shí)序約束是保存在xdc文件中,添加或創(chuàng)建設(shè)計(jì)的工程源文件后,需要?jiǎng)?chuàng)建xdc文件設(shè)置時(shí)序約束。時(shí)序約束文件可以直接創(chuàng)建或添加已存在的約束文件,創(chuàng)建約束文件有兩種方式:Con
    的頭像 發(fā)表于 03-24 09:44 ?1721次閱讀
    一文詳解<b class='flag-5'>Vivado</b><b class='flag-5'>時(shí)序</b>約束

    vivado時(shí)序分析與約束優(yōu)化

    轉(zhuǎn)自:VIVADO時(shí)序分析練習(xí)時(shí)序分析在FPGA設(shè)計(jì)中是分析工程很重要的手段,
    發(fā)表于 08-22 11:45

    可以在Vivado時(shí)序分析器工具中指定溫度和電壓值來(lái)估算設(shè)計(jì)時(shí)序嗎?

    嗨,我們正在嘗試使用Vivado工具鏈?zhǔn)謩?dòng)路由FPGA,并想知道應(yīng)該使用什么工具來(lái)手動(dòng)路由Virtex 7 FPGA。還可以在Vivado時(shí)序分析器工具中指定溫度和電壓值來(lái)估算設(shè)計(jì)
    發(fā)表于 10-25 15:20

    vivado時(shí)序分析相關(guān)的用戶指南嗎?

    嗨,您能告訴我與vivado時(shí)序分析相關(guān)的用戶指南嗎?謝謝
    發(fā)表于 03-16 08:14

    時(shí)序約束與時(shí)序分析 ppt教程

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

    Vivado中的靜態(tài)時(shí)序分析工具Timing Report的使用與規(guī)范

    過程必須以滿足XDC中的約束為目標(biāo)來(lái)進(jìn)行。那么: 如何驗(yàn)證實(shí)現(xiàn)后的設(shè)計(jì)有沒有滿足時(shí)序要求? 如何在開始布局布線前判斷某些約束有沒有成功設(shè)置? 如何驗(yàn)證約束的優(yōu)先級(jí)? 這些都需要用到Vivado中的靜態(tài)時(shí)序
    發(fā)表于 11-17 18:03 ?3.8w次閱讀
    <b class='flag-5'>Vivado</b>中的靜態(tài)<b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>工具Timing Report的使用與規(guī)范

    時(shí)序約束資料包】培訓(xùn)課程Timing VIVADO

    維持嗎? 1、Vivado基本操作流程 2、時(shí)序基本概念 3、時(shí)序基本約束和流程 4、Baselining時(shí)序約束 5、CDC時(shí)序約束 6、
    發(fā)表于 08-06 15:08 ?620次閱讀

    關(guān)于Vivado時(shí)序分析介紹以及應(yīng)用

    時(shí)序分析在FPGA設(shè)計(jì)中是分析工程很重要的手段,時(shí)序分析的原理和相關(guān)的公式小編在這里不再介紹,這篇文章是小編在練習(xí)
    發(fā)表于 09-15 16:38 ?7376次閱讀
    關(guān)于<b class='flag-5'>Vivado</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>分析</b>介紹以及應(yīng)用

    Vivado進(jìn)行時(shí)序約束的兩種方式

    上面我們講的都是xdc文件的方式進(jìn)行時(shí)序約束,Vivado中還提供了兩種圖形界面的方式,幫我們進(jìn)行時(shí)序約束:時(shí)序約束編輯器(Edit Timing Constraints )和
    的頭像 發(fā)表于 03-08 17:17 ?2w次閱讀
    <b class='flag-5'>Vivado</b>進(jìn)行<b class='flag-5'>時(shí)序</b>約束的兩種方式

    Vivado時(shí)序案例分析之解脈沖寬度違例

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

    如何讀懂Vivado時(shí)序報(bào)告

    FPGA開發(fā)過程中,vivado和quartus等開發(fā)軟件都會(huì)提供時(shí)序報(bào)告,以方便開發(fā)者判斷自己的工程時(shí)序是否滿足時(shí)序要求。
    的頭像 發(fā)表于 06-23 17:44 ?1713次閱讀
    如何讀懂<b class='flag-5'>Vivado</b><b class='flag-5'>時(shí)序</b>報(bào)告

    如何在Vivado中添加時(shí)序約束呢?

    今天介紹一下,如何在Vivado中添加時(shí)序約束,Vivado添加約束的方法有3種:xdc文件、時(shí)序約束向?qū)В–onstraints Wizard)、
    的頭像 發(fā)表于 06-26 15:21 ?4949次閱讀
    如何在<b class='flag-5'>Vivado</b>中添加<b class='flag-5'>時(shí)序</b>約束呢?

    如何讀懂FPGA開發(fā)過程中的Vivado時(shí)序報(bào)告?

    FPGA開發(fā)過程中,vivado和quartus等開發(fā)軟件都會(huì)提供時(shí)序報(bào)告,以方便開發(fā)者判斷自己的工程時(shí)序是否滿足時(shí)序要求。
    發(fā)表于 06-26 15:29 ?1432次閱讀
    如何讀懂FPGA開發(fā)過程中的<b class='flag-5'>Vivado</b><b class='flag-5'>時(shí)序</b>報(bào)告?