一、前言
? ? ? ? 在之前的文章中我們分別介紹了組合電路的時(shí)序,時(shí)序電路的時(shí)序和時(shí)鐘的時(shí)序問題,我們也對于時(shí)序分析,時(shí)序約束和時(shí)序收斂幾個(gè)基本概念進(jìn)行了區(qū)分,在這篇文章中,我們將介紹時(shí)序約束相關(guān)的最后一部分基本概念,帶領(lǐng)大家了解什么是時(shí)序路徑。
二、常用術(shù)語
????????時(shí)序分析中的常用術(shù)語:
- 源時(shí)鐘(Source Clock/Launch Clock,也稱為發(fā)起時(shí)鐘)
- 目的時(shí)鐘(Destination Clock/Capture Clock,也稱為捕獲時(shí)鐘)
- 發(fā)起沿(launch edge,源時(shí)鐘產(chǎn)生數(shù)據(jù)的有效時(shí)鐘沿)
- 捕獲沿(capture edge,目的時(shí)鐘捕獲數(shù)據(jù)的有效時(shí)鐘沿)
- 發(fā)起沿通常在0ns,捕獲沿通常在下一個(gè)發(fā)起沿,發(fā)起沿和捕獲沿通常相差一個(gè)時(shí)鐘周期。
?三、時(shí)序路徑
? ? ? ? 時(shí)序路徑指的是信號可以繼續(xù)穿過,不必等待其他觸發(fā)條件的路徑。沿著時(shí)序路徑,信號僅僅在通過電路元器件時(shí)有延遲。
1、起點(diǎn)和終點(diǎn)
? ? ? ? 信號時(shí)序開始的點(diǎn)稱為起點(diǎn)。因此,對于給定電路,所有輸入都可以作為起點(diǎn)。信號必須被定時(shí)的點(diǎn)稱為終點(diǎn)。因此,所有輸出都可以作為終點(diǎn)。
? ? ? ? 在寄存器中,輸入D必須等待時(shí)鐘觸發(fā)的到達(dá)。所以,直到D到達(dá)才能完成的過渡過程現(xiàn)在必須等待?,F(xiàn)在進(jìn)一步傳遞信號的時(shí)序?qū)⑷Q于時(shí)鐘的達(dá)到時(shí)間。此處D應(yīng)檢查是否滿足建立時(shí)間和保持時(shí)間。因此,時(shí)序路徑在此結(jié)束。所以,寄存器也可以作為終點(diǎn)。
? ? ? ? 類似地,寄存器也可以作為起點(diǎn)。信號將從寄存器地Q引腳開始,然后向前傳遞。嚴(yán)格來說,時(shí)序從時(shí)鐘源開始,然后到達(dá)觸發(fā)器地clock引腳,接著進(jìn)入觸發(fā)器的Q引腳,然后繼續(xù)向前。所以,嚴(yán)格來說,寄存器不是真正的起點(diǎn)。但是,大部分實(shí)際使用中,我們還是把寄存器稱之為起點(diǎn),但是在實(shí)際分析中,路徑追蹤是從時(shí)鐘源開始的。
2、一條普通時(shí)序路徑的三要素
1.1 源時(shí)鐘路徑
????????從源時(shí)鐘的源節(jié)點(diǎn)(通常是FPGA的時(shí)鐘輸入引腳)到源寄存器的時(shí)鐘端口的路徑。當(dāng)時(shí)序路徑的起點(diǎn)是FPGA輸入端口時(shí),該時(shí)序路徑是沒有源時(shí)鐘路徑的。
1.2 數(shù)據(jù)路徑
????????從時(shí)序路徑的起點(diǎn)到時(shí)序路徑的終點(diǎn)之間的數(shù)據(jù)傳播路徑。時(shí)序路徑的起點(diǎn)可以是源寄存器的時(shí)鐘端口或FPGA的輸入端口,時(shí)序路徑的終點(diǎn)可以是目的寄存器的輸入端口或FPGA的輸出端口。
1.3 目的時(shí)鐘路徑????????
????????從目的時(shí)鐘的源節(jié)點(diǎn)(通常是FPGA的時(shí)鐘輸入引腳)到目的寄存器的時(shí)鐘端口的路徑。當(dāng)時(shí)序路徑的終點(diǎn)是FPGA的輸出端口時(shí),該時(shí)序路徑是沒有目的時(shí)鐘路徑的。
3、FPGA中常見的4種時(shí)序路徑
?????????一般來說,F(xiàn)PGA中的時(shí)序路徑可以分化成4種不同的類型
(1)第一類時(shí)序路徑(紅色):從device A的時(shí)鐘到FPGA的第一級寄存器的輸入端口。
(2)第二類時(shí)序路徑(藍(lán)色):兩個(gè)同步元件之間的路徑(rega到regb)
(3)第三類時(shí)序路徑(黃色):最后一級寄存器到device B數(shù)據(jù)端口的路徑
(4)第四類時(shí)序路徑(綠色):端口到端口的路徑(dinb到doutb)
2.1 引腳到寄存器(從FPGA的輸入端口到目的寄存器的數(shù)據(jù)輸入端口)
- 數(shù)據(jù)由Board clock發(fā)起并在FPGA外部產(chǎn)生;
- 數(shù)據(jù)經(jīng)過Input Delay的延遲后到達(dá)FPGA的輸入端口;
- 數(shù)據(jù)經(jīng)過FPGA的Internal Delay后到達(dá)由目的時(shí)鐘驅(qū)動的目的寄存器
- 這種路徑是沒有源時(shí)鐘路徑的,用戶需要約束Input Delay和時(shí)鐘來告知時(shí)序引擎必要信息,時(shí)序引擎才能正確的分析這種路徑。
2.2 寄存器到寄存器(從源寄存器的時(shí)鐘端口到目的寄存器的數(shù)據(jù)輸入端口)
- 數(shù)據(jù)由源時(shí)鐘發(fā)起并在FPGA內(nèi)部產(chǎn)生;
- 數(shù)據(jù)經(jīng)過Data Path Delay后到達(dá)由目的時(shí)鐘驅(qū)動的目的寄存器;
- 這種時(shí)序路徑是最常見的,用戶需要約束源時(shí)鐘和目的時(shí)鐘告知時(shí)序引擎必要的信息,時(shí)序引擎才能正確的分析這種時(shí)序路徑。
2.3 寄存器到引腳(從源寄存器的時(shí)鐘端口到FPGA的輸出端口)?
- 數(shù)據(jù)由源時(shí)鐘發(fā)起并在FPGA內(nèi)部產(chǎn)生;
- 數(shù)據(jù)經(jīng)過Internal Delay后到達(dá)輸出端口;
- 數(shù)據(jù)經(jīng)過Output Delay后被Board Clock捕獲到;
- 這種路徑是沒有目的時(shí)鐘路徑的,用戶需要約束Output Delay和時(shí)鐘來告知時(shí)序引擎必要信息,時(shí)序引擎才能正確的分析這種路徑。
2.4 引腳到引腳(從FPGA的輸入端口到FPGA的輸出端口)
- 數(shù)據(jù)橫穿FPGA,沒有經(jīng)過任何觸發(fā)器,這種路徑也叫in-to-out path,約束輸入和輸出延時(shí)的參考時(shí)鐘可以使用虛擬時(shí)鐘。
- 這種路徑中只有數(shù)據(jù)路徑,用戶需要約束Input Delay和Output Delay,告知時(shí)序引擎必要的信息,時(shí)序引擎才能正確的分析這種時(shí)序路徑。
文章來源:http://www.zghlxwxcb.cn/news/detail-702837.html
四、總結(jié)
? ? ? ? 在本文中,我們主要介紹了時(shí)序分析過程中時(shí)序路徑的基本概念,分別介紹了FPGA中常見的4種時(shí)序路徑:(1)引腳到寄存器(從FPGA的輸入端口到目的寄存器的數(shù)據(jù)輸入端口)(2)寄存器到寄存器(從源寄存器的時(shí)鐘端口到目的寄存器的數(shù)據(jù)輸入端口)(3)寄存器到引腳(從源寄存器的時(shí)鐘端口到FPGA的輸出端口)?(4)引腳到引腳(從FPGA的輸入端口到FPGA的輸出端口)。這部分的內(nèi)容是我們進(jìn)行后續(xù)時(shí)序分析及時(shí)序約束的重要基礎(chǔ)。文章來源地址http://www.zghlxwxcb.cn/news/detail-702837.html
到了這里,關(guān)于FPGA時(shí)序分析與約束(5)——時(shí)序路徑的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!