99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

時(shí)序約束連載04~隨路時(shí)鐘

jf_pJlTbmA9 ? 來源:明德?lián)PFPGA科教 ? 作者:明德?lián)PFPGA科教 ? 2023-07-11 17:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文講一下隨路時(shí)鐘,什么是隨路的時(shí)鐘呢?

第1節(jié) 隨路時(shí)鐘的概念

如圖1是一個(gè)SDRAM接口時(shí)序圖,大家如果做外部接口,使用過各種芯片,一般也能看到類似這樣接口時(shí)序圖。CLK是時(shí)鐘信號(hào),INPUT代表輸入SDRAM的各種信號(hào),OUTPUT表示SDRAM輸出的各種信號(hào)線。其實(shí)芯片接口就是一些寄存器,既然是寄存器,那么這些寄存器想要穩(wěn)定寄存數(shù)據(jù),就會(huì)對(duì)數(shù)據(jù)信號(hào)有建立時(shí)間和保持時(shí)間相關(guān)的要求。

100572377-308714-tu1sdramjiekoushixutu.png

圖1 SDRAM接口時(shí)序圖

如圖1所示,在CLK的上升沿時(shí),要求INPUT必須提前tCS到達(dá),并且延遲tCH,所以該接口寄存器的建立時(shí)間為tCS,保持時(shí)間為tCH,最后通過數(shù)據(jù)手冊(cè)可以獲取這些參數(shù)對(duì)應(yīng)數(shù)值。那么在設(shè)計(jì)時(shí)序時(shí)就要考慮建立時(shí)間和保持時(shí)間對(duì)數(shù)據(jù)的影響,即INPUT要在時(shí)鐘上升沿的建立時(shí)間之前穩(wěn)定,并且在上升沿之后最少穩(wěn)定保持時(shí)間對(duì)應(yīng)的時(shí)間。這是SDRAM的一個(gè)接口時(shí)序要求,也與多數(shù)的芯片接口時(shí)序類似。

這是芯片接口需要滿足的時(shí)序要求,那我們?cè)谧鰧?shí)際項(xiàng)目的時(shí)候,如何去滿足這個(gè)下游器件的時(shí)序要求呢?

第2節(jié) 實(shí)際應(yīng)用中,如何做到滿足

2.1建立時(shí)間、保持時(shí)間的影響因素
那在設(shè)計(jì)當(dāng)中如何做才能滿足這個(gè)時(shí)序要求,首先分析一下影響建立時(shí)間和保持時(shí)間的因素有哪些呢?

其實(shí)影響建立時(shí)間、保持時(shí)間的因素是很多的,例如說FPGA內(nèi)部的寄存器傳輸延時(shí)、寄存器到管腳的延時(shí)和PCB板上的走線延時(shí)等等,這些延時(shí)最終都會(huì)影響時(shí)鐘與數(shù)據(jù)的關(guān)系,從而就會(huì)影響到下游器件的輸入數(shù)據(jù)到底能不能滿足芯片接口時(shí)序的建立時(shí)間和保持時(shí)間要求了。

2.1.1 理想波形
如圖2是一個(gè)理想的波形,信號(hào)a的波形在時(shí)鐘的上升沿發(fā)生變化,在第2個(gè)時(shí)鐘上升沿到達(dá)時(shí),信號(hào)a從低電平變?yōu)楦唠娖?,在?個(gè)時(shí)鐘上升沿到達(dá)時(shí),信號(hào)a由高電平變?yōu)榈碗娖?。在兩次變化過程中,沒有任何延遲。能夠在時(shí)鐘變化時(shí)立即發(fā)生相應(yīng)的變化,這種理想的波形,它的數(shù)據(jù)會(huì)立即到達(dá)下一個(gè)寄存器,會(huì)發(fā)現(xiàn)時(shí)鐘上升沿之前的時(shí)間周期就是時(shí)鐘周期T,而且在時(shí)鐘上升沿之后穩(wěn)定的時(shí)間是0。由此,很明顯理想觀點(diǎn)是不滿足保持時(shí)間要求的。

100572377-308715-tu2lixiangdeshixutu.png

圖2 理想的時(shí)序圖

2.1.2 帶有寄存器延時(shí)、寄存器到管腳延時(shí)的波形
如果信號(hào)a在傳輸時(shí)經(jīng)過寄存器延時(shí)、寄存器到FPGA管腳的傳輸延遲Tco后,那么可能看到FPGA管腳上出來的信號(hào)相位關(guān)系就變成如圖3所示。

100572377-308716-tu3yinrujicunqiyanchihejicunqidaoguanjiaoyanshi.png

圖3 引入寄存器延遲和寄存器到管腳延時(shí)

clk是時(shí)鐘,信號(hào)a可能對(duì)時(shí)鐘會(huì)有一定的延時(shí)。由圖3中可以看到,信號(hào)a會(huì)在時(shí)鐘的第2個(gè)上升沿之后的一段時(shí)間才發(fā)生變化,這是由于寄存器延時(shí)造成的。在時(shí)鐘上升沿第3個(gè)去采樣時(shí)候,才發(fā)現(xiàn)信號(hào)a會(huì)提前時(shí)鐘周期T-Tco這么長的時(shí)間變?yōu)榉€(wěn)定。上升沿之后保持了Tco,有時(shí)候延時(shí)多久就保持多久,對(duì)不對(duì)?

2.1.3 加上走線或其他延時(shí)(Tpcb)
實(shí)際波形如下:

100572377-308717-shijiboxing.png

增加延遲,信號(hào)可能會(huì)相對(duì)時(shí)鐘往后延遲,在時(shí)鐘上升沿之前的時(shí)間會(huì)保持多久?在時(shí)鐘2時(shí)信號(hào)a變高,經(jīng)過寄存器延時(shí)(tco)之后,在經(jīng)過走線延遲等等,信號(hào)傳遞時(shí)鐘3,因此時(shí)鐘上升沿前的時(shí)間為(T-tco-tpcb),上升沿后保持的時(shí)間為(tco+tpcb)。那這是正常的延時(shí)情況。

那么只要滿足T-tco-tpcb這個(gè)延時(shí)大于建立時(shí)間要求,并且tco+tpcb這個(gè)延時(shí)大于保持時(shí)間要求。那電路就是正常的,那如何才能做到這一點(diǎn)呢?但時(shí)鐘周期,PCB走線延遲一般都是固定的,對(duì)于特定的FPGA芯片,寄存器延遲也是固定的,只有信號(hào)從寄存器傳輸?shù)叫酒苣_的延遲可以改變。

第3節(jié) 兩種有效解決方法

3.1 添加時(shí)序約束,設(shè)置輸出延時(shí)set_output_delay
有兩種做法,一種是添加時(shí)序約束,Set output delay。這個(gè)約束會(huì)告訴綜合軟件下游器件的建立要求是多少和PCB走線延遲是多少,由于時(shí)鐘周期和PCB走線延遲是固定的,對(duì)于特定的器件,寄存器延時(shí)也是固定的,根據(jù)T-TCO-TPCB,綜合軟件就會(huì)通過調(diào)整寄存器到管角的延時(shí),這個(gè)延時(shí)放大或放小,從而使下游器件能采集到這個(gè)數(shù)據(jù),滿足下游器件的建立時(shí)間和保持性要求。

3.2 添加隨路時(shí)鐘
另一種方式添加隨路時(shí)鐘,什么是隨路時(shí)鐘再看一下。

100572377-308718-suilushizhong.png

如上圖所示,信號(hào)a是在clk時(shí)鐘域產(chǎn)生的信號(hào)。Sdram_clk是與clk同源、頻率相同、相位不同的時(shí)鐘信號(hào)。當(dāng)sdram_clk 輸出作為sdram的工作時(shí)鐘,通過調(diào)整sdram_clk的相位就能調(diào)整時(shí)序,從而滿足建立時(shí)間和保持時(shí)間的要求。假如這是CLK,用PLL產(chǎn)生一個(gè)SDRAM的CLK,這兩個(gè)CLK的使用頻率是一樣的。比如說一開始有個(gè)150M的FPGA時(shí)鐘clk ,F(xiàn)PGA的時(shí)鐘clk通過PLL產(chǎn)生一個(gè)相位有一定偏差的150M時(shí)鐘sdram_clk。可以看到clk上升沿的時(shí)候,隔了很久,sdram_clk的上升沿才出現(xiàn),而這兩個(gè)時(shí)鐘的時(shí)鐘頻率一樣、相位不一樣。

那么sdram_clk如何產(chǎn)生呢?可以通過PLL來產(chǎn)生,PLL可以保證頻率相同、相位偏移量,所以該系統(tǒng)的結(jié)構(gòu)如圖:

100572377-308719-xitongjiegou.png

第一個(gè)時(shí)鐘clk可能就給Sdram接口模塊作為系統(tǒng)時(shí)鐘,sdram_clk直接就給SDRAM芯片作為數(shù)據(jù)采集的時(shí)鐘了,那這樣就有什么后果呢?

由于信號(hào)a是在clk時(shí)鐘產(chǎn)生的,使得信號(hào)a是相對(duì)于時(shí)鐘clk有一定的延時(shí)的。sdram_clk相對(duì)時(shí)鐘clk有一定延時(shí),有一定項(xiàng)目偏差。只要調(diào)整sdram_clk相位,就可以使得信號(hào)a在時(shí)鐘sdram_clk的上升沿滿足建立時(shí)間和保持時(shí)間的要求。比如可以調(diào)整sdram_clk,讓sdram_clk上升沿剛好在信號(hào)a變化的中間。也就是說項(xiàng)目開始可以通過調(diào)節(jié)鎖相環(huán)PLL的sdram_clk相位,使得下游芯片使用sdram_clk的上升沿去采集信號(hào)a時(shí),能夠同時(shí)滿足建立時(shí)間和保持時(shí)間要求。只要調(diào)整好,那么這個(gè)系統(tǒng)就可以正常工作。

Sdram_clk就是隨路時(shí)鐘,隨時(shí)鐘把數(shù)據(jù)一起送到下游芯片。通過調(diào)整Sdram_clk相位,讓接口信號(hào)和時(shí)鐘滿足下游接口芯片的建立時(shí)間和保持時(shí)間要求,這就是隨路時(shí)鐘的方法。

第4節(jié) 兩種方法優(yōu)缺點(diǎn)及取舍

4.1 第一種方法優(yōu)缺點(diǎn)
那這種方法有什么優(yōu)缺點(diǎn),如何取舍,第一點(diǎn)就是常規(guī)做法,就是一個(gè)時(shí)序約束的做法。產(chǎn)生兩個(gè)時(shí)鐘,但調(diào)試還是比較麻煩的。并且有一點(diǎn)就是我們用的時(shí)間,對(duì)不對(duì)?它是有時(shí)間有限度的,因?yàn)檎{(diào)整是TCO,它一定是有限度的,就是任意調(diào)都可以是吧?比如說是調(diào)不了的,這時(shí)候就需要用Sdram_clk隨路時(shí)鐘的方法去做了。

4.2 第二種方法優(yōu)缺點(diǎn)
隨路時(shí)鐘調(diào)試起來簡單,PLL設(shè)置簡單,出錯(cuò)可能性小。不斷的調(diào)整相位,總能找到一個(gè)點(diǎn)讓時(shí)序滿足。但是也明顯的,需要有個(gè)PLL來產(chǎn)生這個(gè)時(shí)鐘,會(huì)消耗鎖相環(huán)硬件資源。如果使用這種方法,就不用設(shè)置output delay之類的約束,直接用調(diào)整相位方式找到同時(shí)滿足建立時(shí)間和保持時(shí)間要求的點(diǎn)就ok 了,所以隨路時(shí)鐘這種方法很多項(xiàng)目都喜歡用。

第5節(jié) 接收方向

SDRAM是TX(輸出)方向的,輸入方向是同樣的道理。比如說千兆網(wǎng)模塊就是接收數(shù)據(jù)的,如下圖所示。

100572377-308720-jieshoushuju.png

它有個(gè)時(shí)鐘rx_clk,假設(shè)信號(hào)a為輸入數(shù)據(jù),時(shí)鐘信號(hào)與數(shù)據(jù)a對(duì)齊。這個(gè)時(shí)候如果我直接用rx_clk去采集信號(hào)a,可能就就不滿足了寄存器的建立時(shí)間和保持時(shí)間了,那怎么辦呢?以下兩種方法:此時(shí)就可以時(shí)鐘信號(hào),

5.1 方法1
設(shè)置輸入延時(shí)set_input_delay。FPGA根據(jù)時(shí)序情況,增加寄存器延時(shí)、時(shí)鐘延時(shí)等,從而滿足FPGA本身的建立時(shí)間和保持時(shí)間要求。比如說set input delay,F(xiàn)PGA 根據(jù)調(diào)整,去增加寄存器延時(shí)等方式,來滿足自身建立時(shí)間和保持要求。

5.2 方法2
另一種方式也可以跟SDRAM一樣,用rx clk通過鎖相環(huán)生成一個(gè)與rx_clk頻率相同,相位不同的pll_clk作為千兆網(wǎng)接口模塊的時(shí)鐘信號(hào)。用pll_clk去采集信號(hào)a的數(shù)據(jù),這樣不斷調(diào)整pll_clk相位,使得pll_clk時(shí)鐘上升沿位于信號(hào)a中間,此時(shí)就可能滿足寄存器建立時(shí)間和保持時(shí)間要求了。這個(gè)時(shí)候就不用設(shè)input delay 了,就不用設(shè)時(shí)序約束了,這個(gè)時(shí)候就ok 了。所以這種方法特別是做接口調(diào)試的時(shí)候特別有用。像千兆網(wǎng)、SDRAM、DDR2這種東西,全部都可以用這種方式去做。

100572377-308721-suoxianghuanpll.png

要注意的是由于這種方式,使用了一個(gè)鎖相環(huán)PLL的,鎖相環(huán)PLL對(duì)其輸入時(shí)鐘是有要求的,要求輸入的時(shí)鐘必須來自于FPGA芯片的時(shí)鐘管腳,否則綜合軟件會(huì)報(bào)錯(cuò),這是唯一的要求。

審核編輯:湯梓紅

聲明:本文內(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

    文章

    22033

    瀏覽量

    617734
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5433

    瀏覽量

    124250
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1895

    瀏覽量

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

    關(guān)注

    1

    文章

    118

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    FPGA主時(shí)鐘約束詳解 Vivado添加時(shí)序約束方法

    在FPGA設(shè)計(jì)中,時(shí)序約束的設(shè)置對(duì)于電路性能和可靠性都至關(guān)重要。在上一篇的文章中,已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束的基礎(chǔ)知識(shí)。
    發(fā)表于 06-06 18:27 ?1.2w次閱讀
    FPGA主<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>約束</b>詳解 Vivado添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>方法

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

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

    FPGA時(shí)鐘周期約束講解

    時(shí)鐘周期約束是用于對(duì)時(shí)鐘周期的約束,屬于時(shí)序約束中最重要的
    發(fā)表于 08-14 18:25 ?1167次閱讀

    關(guān)于FPGA時(shí)序約束的一點(diǎn)總結(jié)

    )。方法2調(diào)試起來簡單,PLL設(shè)置簡單,出錯(cuò)可能性小。通過不斷調(diào)整相位,最終肯定可以正確通信。缺點(diǎn)也明顯,接口一多,每個(gè)都要做時(shí)鐘就浪費(fèi)了。最近一直在做時(shí)序
    發(fā)表于 09-13 21:58

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

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

    FPGA開發(fā)之時(shí)序約束(周期約束

    時(shí)序約束可以使得布線的成功率的提高,減少ISE布局布線時(shí)間。這時(shí)候用到的全局約束就有周期約束和偏移約束。周期
    發(fā)表于 02-09 02:56 ?818次閱讀

    添加時(shí)序約束的技巧分析

    。 在添加全局時(shí)序約束時(shí),需要根據(jù)時(shí)鐘頻率劃分不同的時(shí)鐘域,添加各自的周期約束;然后對(duì)輸入輸出端口信號(hào)添加偏移
    發(fā)表于 11-25 09:14 ?2818次閱讀

    xilinx時(shí)序分析及約束

    詳細(xì)講解了xilinx的時(shí)序約束實(shí)現(xiàn)方法和意義。包括:初級(jí)時(shí)鐘,衍生時(shí)鐘,異步時(shí)終域,多時(shí)終周期的講解
    發(fā)表于 01-25 09:53 ?6次下載

    如何使用時(shí)序約束向?qū)?/a>

    了解時(shí)序約束向?qū)绾斡糜凇巴耆?b class='flag-5'>約束您的設(shè)計(jì)。 該向?qū)ё裱璘ltraFast設(shè)計(jì)方法,定義您的時(shí)鐘,時(shí)鐘交互,最后是您的輸入和輸出
    的頭像 發(fā)表于 11-29 06:47 ?3249次閱讀
    如何使用<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>向?qū)? />    </a>
</div>                              <div   id=

    約束、時(shí)序分析的概念

    很多人詢問關(guān)于約束、時(shí)序分析的問題,比如:如何設(shè)置setup,hold時(shí)間?如何使用全局時(shí)鐘和第二全局時(shí)鐘(長線資源)?如何進(jìn)行分組約束?如
    的頭像 發(fā)表于 05-29 10:06 ?1124次閱讀
    <b class='flag-5'>約束</b>、<b class='flag-5'>時(shí)序</b>分析的概念

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

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

    時(shí)序約束連載03~約束步驟總結(jié)

    本小節(jié)對(duì)時(shí)序約束做最終的總結(jié)
    的頭像 發(fā)表于 07-11 17:18 ?882次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b><b class='flag-5'>連載</b>03~<b class='flag-5'>約束</b>步驟總結(jié)

    時(shí)序約束連載02~時(shí)序例外

    本文繼續(xù)講解時(shí)序約束的第四大步驟——時(shí)序例外
    的頭像 發(fā)表于 07-11 17:17 ?994次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b><b class='flag-5'>連載</b>02~<b class='flag-5'>時(shí)序</b>例外

    FPGA時(shí)序約束之設(shè)置時(shí)鐘

    Vivado中時(shí)序分析工具默認(rèn)會(huì)分析設(shè)計(jì)中所有時(shí)鐘相關(guān)的時(shí)序路徑,除非時(shí)序約束中設(shè)置了時(shí)鐘組或f
    的頭像 發(fā)表于 04-23 09:50 ?406次閱讀
    FPGA<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>之設(shè)置<b class='flag-5'>時(shí)鐘</b>組