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

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

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

約束異步時(shí)鐘的方法

Xilinx賽靈思官微 ? 來源:djl ? 作者:賽靈思 ? 2019-07-29 18:05 ? 次閱讀

對于異步時(shí)鐘有四種方法進(jìn)行約束。本文介紹了每種方法的優(yōu)缺點(diǎn):

1、set_false_path

這是最原始的方法,在時(shí)序分析設(shè)計(jì)早期比較流行。

這種方法有兩個缺點(diǎn):
a.兩個方向都需要約束:clock1->clock2 以及 clock2->clock1
b.該路徑?jīng)]有時(shí)序要求,因此理論上路徑延遲完全依賴于所使用的工具。而且這兩種路徑可能導(dǎo)向不同的節(jié)點(diǎn),因?yàn)槲覀儧]有辦法規(guī)范它們來滿足任何具體的要求。

2、set_clock_groups

該方法已被引入 SDC 中,與方法 1 相比有以下三個主要優(yōu)點(diǎn):

a.只需要指定源時(shí)鐘與目的時(shí)鐘,盡量減少 XDC/SDC 文件的長度
b.與set_false_path方法相同,這里的路徑也沒有時(shí)序要求。但是它考慮到了信號完整性方面的問題,而set_false_path方法并沒有
c.在基于 FPGA 設(shè)計(jì)領(lǐng)域,可以說這是不重要的,因?yàn)樵谠O(shè)計(jì) FPGA 器件時(shí)信號完整性方面已經(jīng)被考慮到了
d.這種方法帶點(diǎn)哲學(xué)思辯的方法論
e.當(dāng)我們使用set_false_path方法時(shí),只是指定了這條路徑是錯誤的,但是并沒有明確的解釋路徑錯誤的原因
f.拿異步時(shí)鐘來舉例,在實(shí)際情況下,路徑并不是錯誤,所以時(shí)鐘信號會通過這條路徑,set_false_path則可作為一種機(jī)制來告知工具,時(shí)鐘信號不約束走這條路徑。

在set_clock_groups這種方法中,我們指定了準(zhǔn)確的原因,即為什么每個時(shí)鐘信號組是不同的。實(shí)際上它們不能進(jìn)行時(shí)序約束的原因完全是由你的意圖決定的。因此這也可以作為一個注意事項(xiàng),可以更加容易理解具體約束設(shè)計(jì)的原因。

通常情況下方法 2 要優(yōu)于方法 1,主要是因?yàn)橐陨系?b 和 c 因素,其次 a 因素也是比較重要的。

3、set_multicycle_path

大約在21世紀(jì)中期的時(shí)候,設(shè)計(jì)者開始從set_false_path方法轉(zhuǎn)向set_multicycle_path方法。方法 1 和方法 2 并沒有約束一個路徑 —— 每條路徑的延遲是任意的。這種方法提供了跨越某個節(jié)點(diǎn)的路徑的延遲上限規(guī)定。

4、set_max_delay

這種方法的效果與方法 3 相同。Vivado工具里面有‘-datapath_only’選項(xiàng),這讓設(shè)計(jì)者操作起來更簡單,不用擔(dān)心時(shí)鐘偏移情況的發(fā)生。同時(shí)與set_multicycle_path方法相比,set_max_delay方法更能表現(xiàn)出設(shè)計(jì)者的意圖。

如果你想選一種方法,我建議的順序是:4>2>3>1,有時(shí)我更傾向于選擇方法 2。

舉個例子,如果我正在進(jìn)行一個局部的模塊設(shè)計(jì),這個模塊還可以用于其他不同的應(yīng)用,而且我不清楚這個部分會在什么外部設(shè)備或者器件上實(shí)現(xiàn)。這種情況下我也不確定max_delay值具體是多少合適,那么處于安全起見我會選擇方法2而不是方法4。

如果使用 Xilinx 提供的工具,我們可以借助 Vivado 來設(shè)置時(shí)鐘周期,在這個例子中我會根據(jù)時(shí)鐘周期來設(shè)置具體的延遲,因此我可能更希望采用方法 4。

然而,根據(jù)個人的選擇/需求/熟悉程度,不同的人可能有不同的選擇。

關(guān)于作者:Sanjay Churiwala

賽靈思公司工具與方法學(xué)應(yīng)用專家,1993年畢業(yè)于印度理工學(xué)院電子工程專業(yè),一直從事 VLSIEDA 相關(guān)領(lǐng)域的工作。2011年加入賽靈思公司,專攻庫特性描述與建模,HDL,仿真與綜合,靜態(tài)時(shí)序分析以及跨時(shí)鐘域(CDC)與同步相關(guān)內(nèi)容。

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

    關(guān)注

    32

    文章

    1794

    瀏覽量

    131085
  • 約束
    +關(guān)注

    關(guān)注

    0

    文章

    82

    瀏覽量

    12699
  • 異步時(shí)鐘
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    9399
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA時(shí)序案例分析之時(shí)鐘周期約束

    時(shí)鐘周期約束,顧名思義,就是我們對時(shí)鐘的周期進(jìn)行約束,這個約束是我們用的最多的約束了,也是最重要
    的頭像 發(fā)表于 11-19 11:44 ?5575次閱讀
    FPGA時(shí)序案例分析之<b class='flag-5'>時(shí)鐘</b>周期<b class='flag-5'>約束</b>

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

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

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

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

    時(shí)序約束時(shí)鐘約束

    vivado默認(rèn)計(jì)算所有時(shí)鐘之間的路徑,通過set_clock_groups命令可禁止在所標(biāo)識的時(shí)鐘組之間以及一個時(shí)鐘組內(nèi)的時(shí)鐘進(jìn)行時(shí)序分析。 1.
    發(fā)表于 09-21 12:40

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

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

    同步和異步時(shí)鐘之間是如何聯(lián)系_如何正確的約束時(shí)鐘

    現(xiàn)在的硬件設(shè)計(jì)中,大量的時(shí)鐘之間彼此相互連接是很典型的現(xiàn)象。為了保證Vivado優(yōu)化到關(guān)鍵路徑,我們必須要理解時(shí)鐘之間是如何相互作用,也就是同步和異步時(shí)鐘之間是如何聯(lián)系。 同步
    的頭像 發(fā)表于 05-12 10:15 ?2w次閱讀

    硬件設(shè)計(jì)中教你如何正確的約束時(shí)鐘

    ”列可以容易的辨別出同步時(shí)鐘。下面是3個場景,你需要使用合適的時(shí)鐘約束處理異步時(shí)鐘之間的關(guān)系。1. 如果
    的頭像 發(fā)表于 07-15 15:35 ?6385次閱讀

    時(shí)鐘域的同步時(shí)序設(shè)計(jì)和幾種處理異步時(shí)鐘域接口的方法

    外部輸入的信號與本地時(shí)鐘異步的。在SoC設(shè)計(jì)中,可能同時(shí)存在幾個時(shí)鐘域,信號的輸出驅(qū)動和輸入采樣在不同的時(shí)鐘節(jié)拍下進(jìn)行,可能會出現(xiàn)一些不穩(wěn)定的現(xiàn)象。本文分析了在跨
    的頭像 發(fā)表于 07-24 09:52 ?4298次閱讀
    多<b class='flag-5'>時(shí)鐘</b>域的同步時(shí)序設(shè)計(jì)和幾種處理<b class='flag-5'>異步</b><b class='flag-5'>時(shí)鐘</b>域接口的<b class='flag-5'>方法</b>

    簡述FPGA時(shí)鐘約束時(shí)鐘余量超差解決方法

    在設(shè)計(jì)FPGA項(xiàng)目的時(shí)候,對時(shí)鐘進(jìn)行約束,但是因?yàn)樗惴ɑ蛘哂布脑?,都使?b class='flag-5'>時(shí)鐘約束出現(xiàn)超差現(xiàn)象,接下來主要就是解決時(shí)鐘超差問題,主要
    的頭像 發(fā)表于 10-11 14:52 ?3398次閱讀
    簡述FPGA<b class='flag-5'>時(shí)鐘</b><b class='flag-5'>約束</b><b class='flag-5'>時(shí)鐘</b>余量超差解決<b class='flag-5'>方法</b>

    時(shí)鐘周期約束詳細(xì)介紹

    時(shí)鐘周期約束:?時(shí)鐘周期約束,顧名思義,就是我們對時(shí)鐘的周期進(jìn)行約束,這個
    的頭像 發(fā)表于 08-05 12:50 ?3656次閱讀

    詳解數(shù)字設(shè)計(jì)中的時(shí)鐘約束

    ; ·行波時(shí)鐘; ·雙沿時(shí)鐘; ·Design Compiler中的時(shí)鐘約束。 ·補(bǔ)充:時(shí)鐘分配策略 1、同步電路與
    的頭像 發(fā)表于 01-28 07:53 ?2802次閱讀
    詳解數(shù)字設(shè)計(jì)中的<b class='flag-5'>時(shí)鐘</b>與<b class='flag-5'>約束</b>

    同步時(shí)鐘異步時(shí)鐘詳解

    當(dāng)觸發(fā)器輸入端的數(shù)據(jù)和觸發(fā)器的時(shí)鐘不相關(guān)時(shí),很容易導(dǎo)致電路時(shí)序約束不滿足。本章主要解決模塊間可導(dǎo)致時(shí)序 violation 的異步問題。
    的頭像 發(fā)表于 03-28 13:46 ?1.1w次閱讀
    同步<b class='flag-5'>時(shí)鐘</b>和<b class='flag-5'>異步</b><b class='flag-5'>時(shí)鐘</b>詳解

    時(shí)序約束---多時(shí)鐘介紹

    當(dāng)設(shè)計(jì)存在多個時(shí)鐘時(shí),根據(jù)時(shí)鐘的相位和頻率關(guān)系,分為同步時(shí)鐘異步時(shí)鐘,這兩類要分別討論其約束
    的頭像 發(fā)表于 04-06 14:34 ?1135次閱讀
    時(shí)序<b class='flag-5'>約束</b>---多<b class='flag-5'>時(shí)鐘</b>介紹

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

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

    異步電路中的時(shí)鐘同步處理方法

    異步電路中的時(shí)鐘同步處理方法? 時(shí)鐘同步在異步電路中是至關(guān)重要的,它確保了電路中的各個部件在正確的時(shí)間進(jìn)行操作,從而使系統(tǒng)能夠正常工作。在本
    的頭像 發(fā)表于 01-16 14:42 ?979次閱讀