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

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

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

FPGA的時(shí)序input delay約束

潘文明 ? 來源:明德?lián)P吳老師 ? 作者:明德?lián)P吳老師 ? 2022-07-25 15:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文章探討一下FPGA的時(shí)序input delay約束,本文章內(nèi)容,來源于明德?lián)P時(shí)序約束專題課視頻。

《FPGA時(shí)序約束分享01_約束四大步驟》概括性地介紹 了時(shí)序約束的四個(gè)步驟,對(duì)時(shí)序約束進(jìn)行了分類,并得到了一個(gè)分類表。

《FPGA時(shí)序約束分享02_時(shí)鐘約束》詳細(xì)介紹了關(guān)于時(shí)鐘的約束,根據(jù)時(shí)鐘來源可以分成輸入時(shí)鐘約束、PLL等衍生時(shí)鐘約束和自己分頻的時(shí)鐘約束等三種類型。這三種類型的約束方法均有所不同,讀者需要掌握區(qū)分方法。

本文,筆者將詳細(xì)介紹輸入延時(shí)(input delay)的概念、場(chǎng)景分類、約束參數(shù)獲取方法以及約束方法。

大家好,歡迎大家收看明德?lián)P推出的至簡(jiǎn)設(shè)計(jì)法系列視頻教程。本節(jié)課我們繼續(xù)時(shí)序約束的第三個(gè)步驟,output delay 的一個(gè)設(shè)置。我是本人視頻主講潘老師。來講這個(gè)視頻這個(gè)步驟之前呢,我們來看一下我們的提供的步驟。這個(gè)圖片啊,我們第三大步驟就是output delay 的。那我們這個(gè)步驟呢要看的時(shí)候要看三種情況啊,一種是系統(tǒng)同步的情況,一種是源同步的情況。而源同步呢我們又分SDR和DDR這兩種啊,所以歸納起來我們有三種情況。這三種情況呢就會(huì)有不同的設(shè)置。我們這次需要參考的資料呢,仍然是我們這個(gè)PDF文檔啊,我們提供給大家一個(gè)PDF文檔。好,我們看一下啊標(biāo)題啊,我們這次課程我們呢會(huì)講這幾個(gè)步驟啊,第一個(gè)輸出原始的概念。第二個(gè)就是我們用兩種的測(cè)量方法去得到我們的時(shí)序參數(shù),然后去來進(jìn)行進(jìn)行約束。之后呢,我們看第三種呢就是我們的不同情況啊,第一個(gè)是系統(tǒng)同步,第二個(gè)是源同步。而源同步呢我們就分成SDR和DDR這兩種啊。

第1節(jié):輸出延時(shí)概念

目標(biāo):讓FPGA調(diào)整時(shí)序,使時(shí)序滿足下游器件要求。max用于考慮建立時(shí)間:跟著正數(shù),表示數(shù)據(jù)在時(shí)鐘采樣沿之前就到達(dá)。公式:最大板級(jí)延時(shí)+TSUmin用于考慮保持時(shí)間:后面負(fù)數(shù),表示數(shù)據(jù)在時(shí)鐘采樣沿之后還保持了一段時(shí)間 。公式:最小板級(jí)延時(shí)-TH假如板級(jí)延時(shí)為0,則max就是下游器件的“TSU”;min則是下游器件的“-Th”。

好,我們看第一個(gè)輸出延時(shí)的概念。首先我們?cè)O(shè)置輸出延時(shí),為什么要輸出延時(shí)呢?我們目標(biāo)是讓了為了讓fpga調(diào)整它自己的輸出的時(shí)序,使我們輸出的時(shí)序滿足下游器件的一個(gè)要求。這樣子呢我們下游器件呢就能夠正確的采集我們的時(shí)序了啊,所以目標(biāo)是這樣子。大家記住目標(biāo)是為了下游器件正確的采集,因此要保證自己輸出的是正確的啊,所以我們要自己去調(diào)整。那么我們同樣的就是告訴fpga,我們下游器件的要求是什么啊,我們告訴我們fpga下游期間要求是什么啊,我們就根據(jù)知道這個(gè)要求,我來自己調(diào)整這個(gè)時(shí)序的。這就是我們這個(gè)輸出延時(shí)這個(gè)目標(biāo)。啊,記住fpga是輸出啊,到這個(gè)下線是輸入。好,我們的這個(gè)呃輸出延時(shí)同樣有兩個(gè)參數(shù),一個(gè)是max,一個(gè)是min的,一個(gè)是最大,一個(gè)是最小的延時(shí),最大的延時(shí)。干嘛用呢?你可以用于這樣考慮,是用于考慮建立時(shí)間用的啊,他們一般是跟著正數(shù)啊,正數(shù)表示數(shù)據(jù)在時(shí)鐘采樣沿之前就到達(dá)了啊,我們公式呢這個(gè)值怎么來的,這種最大板延時(shí)加上這個(gè)TSU啊,TSU就是建立時(shí)間。誰(shuí)的建立時(shí)間呢,是下游器件的建立時(shí)間啊,也就是說我的板的延時(shí)加上你下游期間他要求的鑒定時(shí)間就是我這個(gè)max 啊。而這min呢是什么?最小是用于考慮保持時(shí)間,誰(shuí)的保持時(shí)間是下游期間保持時(shí)間啊,后面跟著負(fù)數(shù)表示數(shù)據(jù)在使用采樣沿之后還保持了一段時(shí)間啊,是這樣意思,而我們的公式是怎么樣呢?是最小的板級(jí)延時(shí)啊,就是延時(shí)減去TH啊,這個(gè)就保持時(shí)間。這個(gè)參數(shù)從哪里來呢?從下游器件這個(gè)要求里來啊,比如說我的板子延時(shí)在電路板子上延時(shí)減去你的這個(gè)要求,保持時(shí)間就是我的一個(gè)啊最min的一個(gè)最小延時(shí)就注意一般這個(gè)值是比較小,而這比較大一減去就成了負(fù)數(shù)了啊。例如啊例如我們板子延時(shí)是零啊,板子假如說一個(gè)很理想的情況下,就是我現(xiàn)在一直沒一點(diǎn)延遲都沒有,反正延遲為零,這也是很常見的一種情況啊,反正也是為零。而就是下游期間的這個(gè)TSU啊,這個(gè)就是下游期間的建立時(shí)間要求。而這個(gè)面呢則是下游器件的。保持時(shí)間這個(gè)負(fù)號(hào)啊,負(fù)點(diǎn)擊TH這也是。就是這個(gè)時(shí)候呢,這個(gè)最小的是一個(gè)負(fù)數(shù)啊是個(gè)負(fù)數(shù)。這就是我們的輸入延時(shí)概念。在這個(gè)里面要記住的是公式啊,最大板的延時(shí)加上你的鑒定時(shí)間要求,就是我的max 啊,最小板的延時(shí)減去TH就是你保持時(shí)間,,就是我的最小時(shí)間要求。

第2節(jié):約束語(yǔ)句

第3節(jié):輸出延時(shí)的目的

第4節(jié):參數(shù)獲取的兩種方法

好,第二個(gè)我們看一下兩種測(cè)量方法。對(duì)于。我們的output delay 呢也有兩種的一個(gè)測(cè)量方式。

4.1 下游器件的參數(shù)(推薦)

第一種呢是根據(jù)下游器件的參數(shù)啊,也就是說我們呃從下游器件它一定有數(shù)據(jù)手冊(cè)。它的數(shù)據(jù)手冊(cè)一定會(huì)告訴你這個(gè)建立時(shí)間和保持時(shí)間的要求。我們從在建立時(shí)間保時(shí)間里面得到它參數(shù)之后呢,就可以進(jìn)行設(shè)置了啊,就約束了。

4.2 示波器測(cè)量

第二種方法是用吸波器測(cè)量我們下游器件的一個(gè)輸入端口啊,去看到得到它的時(shí)序信息。得到什么時(shí)序信息呢?是得到它的一個(gè)啊,比如說它延時(shí)這種信息啊,但這種呢我們一般呢不常用。我們推薦的是利用這一種方法,這要求我們呢這個(gè)硬件呢就做的規(guī)范啊,這個(gè)很好一些啊,不要說延時(shí)來抖來抖去啊這種情況。所以一般我們之前講了也講下游器件這種參數(shù)的一個(gè)方式。

第5節(jié):各應(yīng)用場(chǎng)景下的約束方法

好,我們看一下啊,我們分不同情況來討論一下這種情呃怎么約束的問題啊。

5.1 系統(tǒng)同步

poYBAGLeSCWAQJrCAAGE9X2lx9o225.png

好,第三,我們就根據(jù)不同情況呢,我們要進(jìn)行配置的第一種呢叫系統(tǒng)同步。系統(tǒng)同步呢上節(jié)課已經(jīng)講過,就是fpga和下游器件呢都是共用一個(gè)時(shí)鐘的啊一個(gè)時(shí)鐘。我們可以認(rèn)為這個(gè)時(shí)鐘的延時(shí)是等于零的啊等于零的。好,而他fpga把這數(shù)據(jù)送出來啊,它是有一定的延時(shí)啊,送上給這個(gè)下游器件。那下游器件這里面它有自己的一個(gè)建立時(shí)間保持性要求。我們從數(shù)據(jù)手冊(cè)手冊(cè)里面會(huì)得到它這樣的參數(shù)不到它建時(shí)間是2萬秒,它的這個(gè)TH就是1納秒的,它的鑒定時(shí)間保持性要求。而這里呢就是可能我這個(gè)延時(shí)啊符合我的一個(gè)抖動(dòng)的情況啊。延時(shí)這里我們通過一個(gè)呃測(cè)量啊,或者說計(jì)算方式可以得到。比如說它的方式是哎不是它抖動(dòng)最大是0.5,有時(shí)候是0.3,最小是0.3。ok那你這樣得到之后呢,下一步呢我們就知道它進(jìn)行配置了。比如說它最大延時(shí)什么呀,就是我的最大的板級(jí)延時(shí),加上我的建立時(shí)間要求就是2加上0.5,就是我的最大的一個(gè)延時(shí)。啊,而最小的是什么呢?這是我最小的0.3,這也是減去我的保持時(shí)間要求啊,就是這個(gè)1納秒,那是0.3減去一,那就負(fù)的0.7,這個(gè)是這個(gè)要求啊。我們?cè)谶@PDF130頁(yè)呢也有講述這個(gè)過程的概念啊,請(qǐng)大家可以看一下啊,我們看到這約束方式。第一個(gè)是生成時(shí)鐘呢啊這個(gè)肯定是要有的,每個(gè)端口進(jìn)來都有個(gè)時(shí)鐘。然后呢,我們會(huì)告訴他這個(gè)時(shí)鐘啊,這個(gè)時(shí)鐘它的最大延時(shí)是多少呢?是2.5啊,它的對(duì)象是這個(gè)DOUT,就是這個(gè)DOUT。而它最小延時(shí)的是-0.7。好,這是系統(tǒng)同步的情況。系統(tǒng)同步就是時(shí)鐘呢是共用一個(gè)的是fpga跟下游器件共用一個(gè)的。

5.2 源同步SDR

好,接下來我們看一下源同步,就是說它的fpga送數(shù)據(jù)的同時(shí),也送時(shí)鐘給下一個(gè)模塊啊,時(shí)鐘和數(shù)據(jù)一起送的。其中我們要跟SDR和DDR。SDR是指邊沿上升沿去采樣,SDR是指上升點(diǎn)和下降點(diǎn)都去采樣。

pYYBAGLeSCaAIqq5AAH4ALmKZKI338.png

因此我們先看一下SDR是吧?SDR就是上沿進(jìn)行采樣的方式。啊,同樣的方式呢,我們同樣呢也能得到它的一個(gè)結(jié)果。它跟是跟系統(tǒng)同步是一樣的啊,它它的方法也是一樣的,它也是通過查數(shù)據(jù)手冊(cè)得到我的鑒定時(shí)間,它保持的要求也能知道我的這個(gè)延時(shí)的抖動(dòng)是多少啊。比如說我們測(cè)量之后得到抖動(dòng)是多少,得到最大抖動(dòng)和最小抖動(dòng)之后呢,我就能配置啊。這公式也講了啊,最大的是指我的延時(shí)最大加上我的建立時(shí)間要求啊,而最小是指我的延遲最小減去我的這個(gè)呃保持時(shí)間要求,就是我的最小

5.3源同步-DDR(查手冊(cè)方法)

poYBAGLeSCeAUdmJAAM9xUPpVmc501.png

然后DDR呢,DDR是指上升沿下降沿都是同步,都是都采樣的。因此呢它是這樣子采樣啊,這邊和這邊都會(huì)采樣哈,都會(huì)采樣。我們可以通過一個(gè)方式是吧?例如說我們?nèi)ゲ檫@個(gè)手冊(cè)啊,我們通過同樣可以查手冊(cè)得到他這個(gè)要求。比如說他會(huì)要求你這個(gè)建立時(shí)間多少,保持時(shí)間多少,而這邊的建立時(shí)間多少,保時(shí)間多少。例如說我們這里有個(gè)例子啊,比如說他的商業(yè)鑒定時(shí)間要求是0.7。比如說這個(gè)是0.7,這個(gè)是0.3,這個(gè)是0.6和這是0.4啊。因此呢我們就要對(duì)它進(jìn)行配置約束啊,outlay啊我們可以看到時(shí)鐘生生成啊生成一個(gè)時(shí)鐘。好了,我們看一下它最大的一個(gè)延時(shí)就是啊零點(diǎn)7。對(duì)于它來講最大是0.7,最小是什么呢?啊,0減去0.3。我們這時(shí)候把那個(gè)板子驗(yàn)收啊,就考慮為零了啊。0減去0.3。而在這個(gè)時(shí)刻呢,我們是最大的是0.6,最小是零減去0.4,那就是。負(fù)的0.4啊,注意的是我們這個(gè)for下降沿的時(shí)候,要加上這個(gè)clock for啊加I杠ADD delay。好,加上這句話啊,這個(gè)是我們那個(gè)正確的方式。其中這個(gè)啊這個(gè)比如說這個(gè)可能是不一定要的啊,這個(gè)中間這個(gè)不一樣。我們這最主要在講的是這個(gè)后面這個(gè)四個(gè)部分,前面部分還是跟我們的時(shí)鐘的方式是一樣的。比如說我們?cè)谇懊鏁r(shí)鐘進(jìn)來,還有這個(gè)我們就要這個(gè)后面。假如說我們配置output delay 哈,再加上后面這四句話的啊。這是我們DDR的一個(gè)方式。

好了,有的同學(xué)說我們的input delay 有個(gè)什么叫邊緣呢?也叫叫中心對(duì)齊的。為什么我們這里就沒有了啊,因?yàn)榇蠹抑牢覀僫nput delay 那個(gè)是靠測(cè)量的方式去得到的啊,而我們這個(gè)呢是查數(shù)據(jù)手冊(cè)的方式,查數(shù)據(jù)手冊(cè)。那么他的邊緣這個(gè)點(diǎn)的時(shí)候,他就不不可能會(huì)抖動(dòng)的啊不可能會(huì)抖動(dòng)的。他一定會(huì)建立。你在下降沿的時(shí)候呢,你在之前會(huì)穩(wěn)定,穩(wěn)定多久,之后會(huì)穩(wěn)定多久,因此他一定是這么穩(wěn)這樣一個(gè)情況的啊,他會(huì)把這個(gè)實(shí)際參數(shù)要求給你啊,所以我們沒有什么邊緣對(duì)齊和中心對(duì)齊的一個(gè)情況。啊,我們從查數(shù)據(jù)手冊(cè)就會(huì)查到這幾個(gè)參數(shù),然后進(jìn)行配置就可以了啊。還有一點(diǎn)就是對(duì)于我們的板級(jí)延時(shí)的一般情況下呢,如果我們硬件做的好的板,這件事是不需要考慮的。也就是說我們的output delay 一般呢就是設(shè)置它的鑒定時(shí)間啊,就是從手冊(cè)里面得到它鑒定時(shí)間和保質(zhì)時(shí)間這兩個(gè)參數(shù)。然后根據(jù)它公式直接就是配置就可以了啊,所以它output delay 的方式相對(duì)比較簡(jiǎn)單。

第6節(jié):總結(jié)與建議

好,我們總結(jié)一下,我們還是按照根據(jù)根據(jù)我們的經(jīng)驗(yàn),就是按照前面的順序去索引,找到對(duì)應(yīng)的情況,按要求進(jìn)行約束啊。比如說我現(xiàn)在這個(gè)端口是屬于上面三種情況中的哪一種,如果是哪一種,你就按照那一種進(jìn)行配置啊進(jìn)行約束就可以了。

啊,第二個(gè)就是我們還是跟前面input delay 的時(shí)候強(qiáng)調(diào)過的input delay 、output delay就是告訴工具我現(xiàn)在的實(shí)際情況。比如說我告訴我fpga下游期間的情況是要求是什么啊,直接把這個(gè)結(jié)果告訴fpga就行了。你不用管fpga他怎么移啊,他要移多少,你都不用管,你就告訴他現(xiàn)實(shí)的情況啊。然后fpga他自動(dòng)會(huì)計(jì)算,最后決定我要偏移多少時(shí)序。然后后面有個(gè)相似的,就是假如說我們有一個(gè)叫offset in /out這種東西啊,就是告訴你之前你偏移多少哈,偏移多少啊,從而滿足時(shí)序這個(gè)這樣子的,我們就要自己去計(jì)算這個(gè)這一步呢就是不需要計(jì)算了。啊,這就是我們的output delay 一個(gè)配置方式啊,相對(duì)比較簡(jiǎn)單。好,本次視頻講這里,謝謝。

審核編輯:湯梓紅

聲明:本文內(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)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1645

    文章

    22026

    瀏覽量

    617630
  • 延時(shí)
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    25882
  • 時(shí)序約束
    +關(guān)注

    關(guān)注

    1

    文章

    118

    瀏覽量

    13669
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    FPGA的IO約束如何使用

    ??set_input_delay屬于時(shí)序約束中的IO約束,我之前的時(shí)序約束教程中,有一篇關(guān)于s
    發(fā)表于 09-06 09:22 ?2423次閱讀

    FPGA的IO口時(shí)序約束分析

      在高速系統(tǒng)中FPGA時(shí)序約束不止包括內(nèi)部時(shí)鐘約束,還應(yīng)包括完整的IO時(shí)序約束
    發(fā)表于 09-27 09:56 ?2034次閱讀

    FPGA時(shí)序約束之衍生時(shí)鐘約束和時(shí)鐘分組約束

    FPGA設(shè)計(jì)中,時(shí)序約束對(duì)于電路性能和可靠性非常重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束
    發(fā)表于 06-12 17:29 ?3401次閱讀

    FPGA I/O口時(shí)序約束講解

    前面講解了時(shí)序約束的理論知識(shí)FPGA時(shí)序約束理論篇,本章講解時(shí)序
    發(fā)表于 08-14 18:22 ?2253次閱讀
    <b class='flag-5'>FPGA</b> I/O口<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>講解

    FPGA靜態(tài)時(shí)序分析——IO口時(shí)序Input Delay /output Delay

    FPGA靜態(tài)時(shí)序分析——IO口時(shí)序Input Delay /output Delay)1.1概
    發(fā)表于 04-25 15:42

    華為內(nèi)部經(jīng)典FPGA時(shí)序資料---FPGA input delay約束的方法

    FPGA input delay約束的方法該視頻拋棄復(fù)雜的理論,按照工程實(shí)際情況,分析各種情況,只要選擇正確情況然后約束即可。mdy-edu
    發(fā)表于 03-04 14:55

    FPGA時(shí)序約束方法

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

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

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

    FPGA時(shí)序約束分析余量

    FPGA在與外部器件打交道時(shí),端口如果為輸入則與input delay約束相關(guān),如果最為輸出則output delay,這兩種
    發(fā)表于 11-10 10:06 ?4852次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>分析余量

    時(shí)序約束中如何精確找到匹配的template?

    時(shí)序約束中的? set_input_delay/set_output_delay?約束一直是一個(gè)難點(diǎn),無論是概念、
    的頭像 發(fā)表于 04-10 09:38 ?2252次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>中如何精確找到匹配的template?

    Vivado中如何做set_input_delay約束

    在STA中,要分析上游器件和FPGA之間的時(shí)序關(guān)系就得指定input delay。
    的頭像 發(fā)表于 02-19 19:32 ?3889次閱讀
    Vivado中如何做set_<b class='flag-5'>input_delay</b><b class='flag-5'>約束</b>

    Vivado中如何做set_input_delay約束

    在STA中,要分析上游器件和FPGA之間的時(shí)序關(guān)系就得指定input delay
    的頭像 發(fā)表于 02-16 16:21 ?4369次閱讀
    Vivado中如何做set_<b class='flag-5'>input_delay</b><b class='flag-5'>約束</b>

    FPGA設(shè)計(jì)之時(shí)序約束

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

    詳解FPGA時(shí)序input delay約束

    本文章探討一下FPGA時(shí)序input delay約束,本文章內(nèi)容,來源于配置的明德?lián)P時(shí)序
    發(fā)表于 05-11 10:07 ?4573次閱讀
    詳解<b class='flag-5'>FPGA</b>的<b class='flag-5'>時(shí)序</b><b class='flag-5'>input</b> <b class='flag-5'>delay</b><b class='flag-5'>約束</b>

    時(shí)序約束的相關(guān)知識(shí)(二)

    設(shè)置 Input-to-Reg 時(shí)序路徑的約束時(shí),不僅需要?jiǎng)?chuàng)建時(shí)鐘模型,還需要設(shè)置輸入延時(shí) (input delay)。設(shè)置
    的頭像 發(fā)表于 03-31 16:39 ?2691次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的相關(guān)知識(shí)(二)

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品