RM新时代网站-首页

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

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

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

深度解析FPGA中的時(shí)序約束

FPGA研究院 ? 來(lái)源:網(wǎng)絡(luò)交換FPGA ? 2024-08-06 11:40 ? 次閱讀

基本概念

建立時(shí)間和保持時(shí)間是FPGA時(shí)序約束中兩個(gè)最基本的概念,同樣在芯片電路時(shí)序分析中也存在。

電路中的建立時(shí)間和保持時(shí)間其實(shí)跟生活中的紅綠燈很像,建立時(shí)間是指在綠燈(clk的上升沿)亮起之前行人或者車(chē)輛(data數(shù)據(jù))在路口提前等待的時(shí)間(只允許綠燈亮起的一剎那在路口的車(chē)輛才允許通行),而保持時(shí)間,則是綠燈亮起后必須保持的時(shí)間,這樣行人或者數(shù)據(jù)才能夠通過(guò)這個(gè)十字路口,否則hold時(shí)間就不滿(mǎn)足。

同時(shí),紅綠燈默認(rèn)都是周期性的(clk也是周期性的),車(chē)輛不允許在兩個(gè)相鄰的紅綠燈之間通過(guò)的時(shí)間超過(guò)一個(gè)clk的周期(組合邏輯時(shí)延不能過(guò)大)。

建立時(shí)間(Tsu) :是指在時(shí)鐘沿到來(lái)之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時(shí)間,如果建立的時(shí)間不滿(mǎn)足要求,在時(shí)鐘上升沿,寄存器將不能正確采到數(shù)據(jù)值。如下圖(左)所示:

保持時(shí)間(Th) :是指在時(shí)鐘上升沿后數(shù)據(jù)保持穩(wěn)定的時(shí)間,如果保持時(shí)間不滿(mǎn)足要求那么數(shù)據(jù)同樣也不能被正確采集到。保持時(shí)間示意圖如下圖(右)所示:

wKgZomaxm5GANLAYAABAJke55n8483.jpg

如圖1.3,這是一個(gè)FPGA輸入數(shù)據(jù)的模型,輸入端口到第一個(gè)寄存器之間的路徑需要進(jìn)行時(shí)序約束。

一般我們需要告知FPGA輸入輸出接口的最大最小延遲,使EDA工具在進(jìn)行布局布線(xiàn)時(shí)能夠盡可能的優(yōu)化輸入端口到第一級(jí)寄存器之間的延遲,使FPGA中時(shí)鐘的上升沿能夠正確采集到輸入的數(shù)據(jù)。

sdc約束中,輸入延時(shí)是從上游器件發(fā)出數(shù)據(jù)到FPGA輸入端口的延時(shí)時(shí)間。如圖,1.4所示,輸入接口時(shí)序清楚反應(yīng)了FPGA在接收數(shù)據(jù)時(shí)應(yīng)滿(mǎn)足的建立和保持時(shí)間要求。

wKgaomaxm5GAUpoDAABjTsKSpK4975.jpg

wKgZomaxm5GAQidHAACEmgj7EDY903.jpg

說(shuō)明:

OSC :系統(tǒng)時(shí)鐘

ASSP.CLk :外部器件寄存器的時(shí)鐘

ASSP.Q :外部器件數(shù)據(jù)輸出

FPGA.D :FPGA數(shù)據(jù)輸入

FPGA.CLK :FPGA內(nèi)部寄存器的時(shí)鐘

Tclk1 :系統(tǒng)時(shí)鐘到外部器件之間的延時(shí)

Tclk2 :系統(tǒng)時(shí)鐘到FPGA之間的延時(shí)

Tco :數(shù)據(jù)經(jīng)過(guò)外部器件寄存器輸出后相對(duì)于ASSP.CLK的偏移

Tpcb :數(shù)據(jù)在pcb電路板上的延時(shí)

FTsu :FPGA上寄存器的建立時(shí)間要求

FTh :FPGA上寄存器的保持時(shí)間要求

setup slack :建立時(shí)間余量,必須大于等于0才能滿(mǎn)足建立時(shí)間的時(shí)序要求

hold slack :保持時(shí)間余量,必須大于等于0才能滿(mǎn)足保持時(shí)間的時(shí)序要求

T: 系統(tǒng)時(shí)鐘頻率

wKgaomaxm5GAU8y_AAC-nVqtaIQ768.jpg

wKgZomaxm5KABiyBAAC42eafN0M696.jpg

c. 輸出延時(shí)即為FPGA輸出數(shù)據(jù)后到達(dá)外部器件的延時(shí)時(shí)間。如1.7所示,為FPGA和外部器件接口時(shí)序圖。

wKgZomaxm5KAEYw8AACBJP8myGY340.jpg

wKgaomaxm5KAdgiJAACy6XObabg657.jpg

wKgZomaxm5GAURgnAABOSBdjxqs087.jpg

系統(tǒng)同步和源同步接口

系統(tǒng)同步中數(shù)據(jù)發(fā)送器和數(shù)據(jù)接收器在同一時(shí)鐘源下同步工作,發(fā)送器和接收器之間只傳遞數(shù)據(jù),數(shù)據(jù)的時(shí)序關(guān)系以系統(tǒng)時(shí)鐘作為參考。

所謂源同步接口是指發(fā)送器和接收器之間傳送數(shù)據(jù)時(shí)同時(shí)傳一個(gè)和數(shù)據(jù)保持特定相位關(guān)系的時(shí)鐘,接收器就可以根據(jù)這個(gè)時(shí)鐘的相位來(lái)準(zhǔn)確采集相應(yīng)的數(shù)據(jù)。如圖所示,分別是系統(tǒng)同步和源同步接口示例圖。

wKgaomaxm5KAdBVSAABOihKSxro655.jpg

在系統(tǒng)同步接口中,系統(tǒng)時(shí)鐘到發(fā)送器和接收器之間的時(shí)延很難確定,所以接收器比較難確定時(shí)鐘和數(shù)據(jù)之間的相位關(guān)系,采集到的數(shù)據(jù)很難保證正確。

所以系統(tǒng)時(shí)鐘只適用于低速時(shí)鐘低速數(shù)據(jù)的收發(fā)。而源同步接口的好處就在于可以以較高的頻率高速收發(fā)數(shù)據(jù),數(shù)據(jù)和時(shí)鐘由發(fā)送器同步給出,在電路板上數(shù)據(jù)和時(shí)鐘布線(xiàn)等長(zhǎng),時(shí)延相等,接收器接收到的數(shù)據(jù)和時(shí)鐘的相位關(guān)系基本保持不變。

所以對(duì)于源同步接口的時(shí)序約束也較為簡(jiǎn)單,我們只需要告訴FPGA上游芯片發(fā)送端口數(shù)據(jù)和時(shí)鐘的相對(duì)關(guān)系,F(xiàn)PGA布局布線(xiàn)時(shí)就會(huì)調(diào)整時(shí)鐘和數(shù)據(jù)的布線(xiàn)長(zhǎng)度,使接收數(shù)據(jù)時(shí)滿(mǎn)足時(shí)序要求。

GMII的數(shù)據(jù)收發(fā)就是一個(gè)典型的源同步接口。MAC接收數(shù)據(jù)的時(shí)鐘Rx_clk和數(shù)據(jù)Rxd由上游PHY同步給出;MAC發(fā)送數(shù)據(jù)時(shí)發(fā)送時(shí)鐘Gtx_clk和數(shù)據(jù)Txd也是同步給到PHY,所以我們對(duì)于GMII接口的時(shí)序約束就可以按照源同步接口的方法。

wKgZomaxm5GAAaN3AAFWqMu9Jik045.jpg

SOC系統(tǒng)的時(shí)序接口及約束

若系統(tǒng)外部PHY芯片的型號(hào)是RTL8211EG,其芯片手冊(cè)中給出了PHY接口處的時(shí)序,如圖所示:

wKgaomaxm5GAbJSBAAG_uzJiffw832.jpg

RTL8211EG芯片GMII接口時(shí)序關(guān)系

對(duì)于輸入時(shí)鐘的約束

wKgaomaxm5GARrjPAABcbfs9bjA130.jpg

時(shí)鐘輸入接口約束

GMII接口的Rx_clk時(shí)鐘是125MHZ,頻率較高。這時(shí)由外部器件進(jìn)入FPGA內(nèi)部的時(shí)鐘可能不穩(wěn)定,采集Rxd數(shù)據(jù)時(shí)會(huì)有影響,這時(shí)我們應(yīng)先對(duì)輸入的時(shí)鐘進(jìn)行約束。

如果不加PLL,即直接時(shí)鐘模式,一般不改變時(shí)鐘特性直接進(jìn)行數(shù)據(jù)采集,這通常適用于低速輸入且中心對(duì)齊的單速率源同步接口;如果在輸入端加一個(gè)PLL,即采用PLL時(shí)鐘模式,PLL可對(duì)時(shí)鐘與數(shù)據(jù)的關(guān)系進(jìn)行精確調(diào)整,適用于高速輸入的中心對(duì)齊和邊沿對(duì)齊的源同步接口。因此,使用PLL時(shí)鐘對(duì)調(diào)整FPGA的接口時(shí)序有很大幫助。

由圖1.4中輸入時(shí)序接口可以看出Tco即為時(shí)鐘上升沿與數(shù)據(jù)的偏移,則RTL8211EG中MAC接收端口Tco(max) =T-tR/2-tGSUT=8-0.5-2.5=5ns,最小Tco(min)=tGHTT+ tR/2=1ns,

故相對(duì)于Rx_clk的輸入最大最小延時(shí)

input delay max = Tco(max) =5ns

input delay min = Tco(min) =1ns

以上的約束的輸入延時(shí)是相對(duì)于輸入時(shí)鐘Rx_clk的約束,在sdc約束中我們還可以設(shè)置一個(gè)虛擬時(shí)鐘(可以假設(shè)是上游器件寄存器的驅(qū)動(dòng)時(shí)鐘,用于計(jì)算源器件的啟動(dòng)沿),源同步接口輸入數(shù)據(jù)以這個(gè)虛擬時(shí)鐘為參考輸入FPGA,所以當(dāng)我們聲明輸入延時(shí)時(shí)就可以以這個(gè)虛擬時(shí)鐘作為啟動(dòng)時(shí)鐘。使用虛擬時(shí)鐘約束輸入延時(shí)的好處是可以是約束更加方便、更加精確。

輸入約束的時(shí)延值可以理解為有效數(shù)據(jù)沿相對(duì)于時(shí)鐘的偏移,如果時(shí)延值為正說(shuō)明數(shù)據(jù)相對(duì)于時(shí)鐘向后偏移,時(shí)延為負(fù)說(shuō)明數(shù)據(jù)相對(duì)于時(shí)鐘向前偏移。根據(jù)上面描述輸入數(shù)據(jù)相對(duì)于輸入時(shí)鐘Rx_clk的最大最小延時(shí)分別為1ns和5ns,下面我們計(jì)算輸入數(shù)據(jù)相對(duì)于虛擬時(shí)鐘vir_clk的延時(shí)值。

取Rx_clk的上升下降時(shí)間分別為0、4ns(周期8ns),取數(shù)據(jù)時(shí)延Tco的平均值3ns為vir_clk相對(duì)于Rx_clk的偏移,即vir_clk的上升下降時(shí)間分別為3、7ns。

根據(jù)下圖所示,當(dāng)Tco取1ns時(shí),Rxd有效時(shí)相對(duì)于Rx_clk上升沿偏移1ns,相對(duì)于vir_clk上升沿偏移-2ns;當(dāng)Tco取5ns時(shí),Rxd有效時(shí)相對(duì)于Rx_clk上升沿偏移5ns,相對(duì)于vir_clk偏移2ns。

wKgaomaxm5KANdUcAAAN_SQd1Uk916.jpg

Tco取最小值時(shí)Rxd相對(duì)于vir_clk關(guān)系圖

wKgZomaxm5KAGiu5AAAN-l-zBAY988.jpg

Tco取最大值時(shí)Rxd相對(duì)于vir_clk關(guān)系圖

根據(jù)上述描述,我們以虛擬時(shí)鐘vir_clk為參考時(shí)鐘,約束如下:

wKgaomaxm5KARUUtAAEYLu8aXr0376.jpg

sdc中的輸入延時(shí)約束

當(dāng)然,我們也可以用Rx_clk作為參考來(lái)約束輸入延時(shí),但是quartus在布局布線(xiàn)時(shí),以輸入時(shí)鐘為參考的約束不夠精確,有時(shí)仍會(huì)出現(xiàn)時(shí)序錯(cuò)誤。

對(duì)于GMII發(fā)送數(shù)據(jù)約束時(shí),由于發(fā)送時(shí)鐘和發(fā)送數(shù)據(jù)布線(xiàn)時(shí)延可忽略,故FPGA發(fā)送端口和PHY接收端口數(shù)據(jù)時(shí)鐘相位關(guān)系相似。結(jié)合圖1.4中發(fā)送接口時(shí)序和RTL8211EG的圖表可以看出:

FTco(max)+tGSUR+tR/2=Tclk,F(xiàn)Tco(min)=tGHTR+ tR/2

故有

output delay max=Tclk- FTco(max)=tGSUR+tR/2=2.5ns

output delay min=- FTco(min)= -(tGHTR+tR/2)=-0.5ns

wKgaomaxm5GAX-HFAAA7iaSyqcI763.jpg

SDR接口輸出約束含義

所以,在sdc中我們?nèi)缦录s束輸出接口:

wKgaomaxm5GADsWEAAAPlaaIA6Q850.jpg

在上面的輸出約束中,我們可以理解為:

根據(jù)outputdelay中max/-min的定義,源同步接口中輸出最大最小延時(shí)為輸出時(shí)鐘上升沿到達(dá)之前最大與最小的數(shù)據(jù)有效窗口。如圖所示,用于建立時(shí)間分析的set output delay –max的值為正數(shù)2.5ns,表示數(shù)據(jù)窗口在Gtx_clk上升沿之前2.5ns時(shí)間內(nèi)有效,

而用于保持時(shí)間分析的 -min之后跟著負(fù)數(shù)-0.5ns,表示數(shù)據(jù)在Gtx_clk上升沿之后0.5ns內(nèi)有效,即相對(duì)于Gtx_clk輸出數(shù)據(jù)有效窗口為-0.5ns到2.5ns,這個(gè)范圍大于等于PHY芯片手冊(cè)中給出的Txd相對(duì)于Gtx_clk的窗口范圍時(shí),才能滿(mǎn)足PHY芯片采集Txd時(shí)的時(shí)序要求。

Quartus的邏輯分區(qū)約束

既然是FPGA和外部接口的時(shí)序問(wèn)題,也就是輸入輸出的寄存Rxd/Txd的寄存器到外部器件寄存器的時(shí)序問(wèn)題。

wKgZomaxm5GAfbj0AAAcY3sixFQ003.jpg

GMII接收數(shù)據(jù)路徑分析

Tpcb是外部PCB板上數(shù)據(jù)的延時(shí),Tdata_i是數(shù)據(jù)的輸入延時(shí),Gmii_rx_interface相當(dāng)于Rxd進(jìn)入FPGA后的第一個(gè)寄存器模塊(可以專(zhuān)門(mén)寫(xiě)一個(gè)接口模塊,將Rxd數(shù)據(jù)打一拍,用于接收數(shù)據(jù))。

如果Gmii_rx_interface距離接口Rxd較遠(yuǎn),Tdata_i的路徑較長(zhǎng),布局布線(xiàn)時(shí)Rxd的八根線(xiàn)時(shí)延相差可能就比較大,所以我們應(yīng)讓這個(gè)模塊放在距離Rxd接口較近的地方。

Quartus軟件中有一個(gè)LogicLock(物理分區(qū))功能,把Gmii_rx_interface模塊建立成一個(gè)LogicLock分區(qū)但并不對(duì)分區(qū)位置和大小進(jìn)行固定,然后重新編譯工程。

布局布線(xiàn)后就可以在chipplaner工具中看到這個(gè)分區(qū)的位置,如下圖所示(放大可以看清),Gmii_rx_interface模塊距離Rxd接口位置很遠(yuǎn),布局布線(xiàn)時(shí),輸入信號(hào)要繞很長(zhǎng)一段距離才會(huì)到達(dá)輸入的寄存器,資源占用很多時(shí),Rxd的8根數(shù)據(jù)線(xiàn)長(zhǎng)度不一,很容易造成時(shí)序問(wèn)題。

wKgZomaxm5GADLXhAAH2Haw0fJk040.jpg

未固定分區(qū)位置時(shí)布局布線(xiàn)結(jié)果

把Gmii_rx_interface模塊分區(qū)移動(dòng)到Rxd接口附近進(jìn)行固定然后重新編譯工程,布局布線(xiàn)后該邏輯分區(qū)就會(huì)在Rxd接口附近,從而保證輸入數(shù)據(jù)接口進(jìn)入FPGA的第一個(gè)寄存器的時(shí)延在一定范圍內(nèi),保證時(shí)序要求。

wKgZomaxm5GAVrlhAAFxn4YXM8I108.jpg

采用LogicLock后,GMII寄存器接口位置

內(nèi)部寄存器到寄存器時(shí)序問(wèn)題

wKgaomaxm5GAL6iPAAD851h-FF4008.jpg

wKgZomaxm5GAArVmAADlJ7PyNsg291.jpg

寄存器到寄存器之間建立和保持時(shí)間時(shí)序要求

在FPGA的設(shè)計(jì)中除了應(yīng)該考慮到輸入輸出接口的時(shí)序,還應(yīng)該考慮到內(nèi)部寄存器到寄存器的時(shí)序問(wèn)題。內(nèi)部寄存器之間同樣要滿(mǎn)足建立和保持時(shí)間要求,如上圖所示

其中Tdata為組合邏輯在電路中的延時(shí)。

建立時(shí)間余量=T+Tclk2-Tclk1-Tco-Tdata-Tsu>=0

保持時(shí)間余量=Tclk1+Tco+Tdata-Tclk2-Th>=0

通常在FPGA中忽略時(shí)鐘的skew(偏移),即有Tclk2-Tclk1=0

建立時(shí)間余量=T-Tco-Tdata-Tsu>=0

保持時(shí)間余量=Tco+Tdata -Th>=0

為了使FPGA設(shè)計(jì)的電路正常,就必須滿(mǎn)足以上的建立和保持時(shí)間要求,根據(jù)建立時(shí)間余量公式可知

T>=Tco+Tdata+Tsu

F=1/T

在FPGA中Tco、Tsu等的數(shù)值由所使用FPGA的特性決定,所以時(shí)序電路之間的組合電路延時(shí)決定了整個(gè)電路的速度,即決定了整個(gè)電路的最大工作時(shí)鐘頻率。

若FPGA工作頻率為130MHZ,如果在做設(shè)計(jì)時(shí),組合邏輯的過(guò)于復(fù)雜,寄存器到寄存器之間的延時(shí)Tdata過(guò)大,如果系統(tǒng)仍工作在130MHZ的頻率下就有可能出現(xiàn)時(shí)序問(wèn)題。所以在設(shè)計(jì)時(shí)我們應(yīng)盡可能減小組合邏輯的復(fù)雜度,以提高工作頻率。下面討論提高系統(tǒng)工作頻率的方法。

a. 通過(guò)減小Tdata值來(lái)提高頻率

在quartus的sdc約束中有關(guān)于寄存器到寄存器之間組合邏輯時(shí)延的約束,通過(guò)設(shè)置從REG1到REG2之間組合邏輯延時(shí)的最大最小值,來(lái)約束FPGA的布局布線(xiàn),從而來(lái)提高系統(tǒng)的工作頻率。

但這種方法通常只能提高5%左右的工作頻率,不能過(guò)多的限制組合邏輯的時(shí)延,否則不利于EDA工具的布局布線(xiàn)。

b. 采用流水線(xiàn)設(shè)計(jì)來(lái)提高頻率

wKgaomaxm5GAWhh0AACzRgAlrWw999.jpg

流水線(xiàn)分割組合邏輯

通過(guò)約束減小組合邏輯延時(shí)的方法并不能夠十分有效的提高系統(tǒng)的工作頻率,所以在設(shè)計(jì)時(shí)我們應(yīng)盡量減少大規(guī)模組合邏輯的使用。

如圖所示,采用流水線(xiàn)的設(shè)計(jì)思想,將兩個(gè)寄存器之間的組合邏輯拆分成兩級(jí)組合邏輯,從而減小組合邏輯的復(fù)雜度。采用流水線(xiàn)技術(shù)可以很好地提高系統(tǒng)運(yùn)行時(shí)鐘的工作頻率。

假設(shè)原來(lái)路徑延時(shí)為t,加入兩級(jí)流水線(xiàn)并且假設(shè)路徑切割均勻,則路徑延時(shí)減少到約t/3,從而系統(tǒng)的工作頻率提高到原來(lái)3倍左右。

wKgZomaxm5KANrjsAABg-rwiJSs532.jpg

如上圖所示,在我們做FPGA設(shè)計(jì)過(guò)程中,原來(lái)的judge_result是一個(gè)很大的組合邏輯,信號(hào)產(chǎn)生的路徑時(shí)延很大,很難滿(mǎn)足時(shí)序要求,在FPGA編譯完做驗(yàn)證時(shí),出現(xiàn)if條件不正確的情況,狀態(tài)機(jī)不能正確跳轉(zhuǎn)。

修改:將if中復(fù)雜的組合邏輯信號(hào)在時(shí)鐘的上升沿,賦值給中間變量寄存器judge_result和judge_result_en,這樣在做if判斷時(shí)就不用判斷原來(lái)的復(fù)雜組合邏輯值,只需判斷judge_result和judge_result_en的值。即采用流水線(xiàn)分割的方法把原來(lái)十分復(fù)雜的組合邏輯分成兩部分,這樣FPGA在編譯后就不會(huì)出現(xiàn)時(shí)序錯(cuò)誤的情況。

wKgaomaxm5KAXRcmAADXrJ2z2hI193.jpg

實(shí)例:使用vivado進(jìn)行簡(jiǎn)單的時(shí)鐘約束

之所以要進(jìn)行時(shí)鐘約束是因?yàn)椋寒?dāng)時(shí)鐘進(jìn)入了FPGA器件,通過(guò)時(shí)鐘樹(shù)傳遞時(shí),時(shí)鐘邊沿會(huì)有延時(shí),通常稱(chēng)作時(shí)鐘網(wǎng)絡(luò)延遲;噪聲或硬件表現(xiàn)會(huì)導(dǎo)致時(shí)鐘隨時(shí)可能發(fā)生變化,通常稱(chēng)作時(shí)鐘不確定性,包括時(shí)鐘抖動(dòng)、相位錯(cuò)位等等。

增加時(shí)鐘約束可以一定程度上減少時(shí)鐘延時(shí)帶來(lái)的問(wèn)題,比如大位寬數(shù)據(jù)(128位)從ram中讀出時(shí)由于路徑延時(shí)導(dǎo)致數(shù)據(jù)錯(cuò)誤的問(wèn)題。

這里介紹一下簡(jiǎn)單進(jìn)行時(shí)鐘約束的辦法(以vivado2018.2為例):

第一步:對(duì)工程進(jìn)行綜合,綜合之后點(diǎn)擊“Edit Timing Constraints”

wKgaomaxm5KAYiBfAAHzh3YtdcE653.jpg

第二步,打開(kāi)之后看到如下界面:

wKgaomaxm5KAEaExAAFmlho4WWQ556.jpg

第三步,雙擊create clock,打開(kāi)如下界面:

wKgZomaxm5KAZOolAAE0U4_2wKU816.jpg

第四步,一般會(huì)點(diǎn)擊sourcesobjects 旁邊的這個(gè)按鈕來(lái)選擇你要約束的時(shí)鐘:

wKgZomaxm5KAc3FxAAAlVUhWSGQ472.jpg

點(diǎn)擊之后彈出如下界面:

wKgaomaxm5KACS40AAD-I09vHwk054.jpg

第五步,輸入你要約束的時(shí)鐘,然后進(jìn)行查找,找到之后按照如下添加到右側(cè)框內(nèi),然后點(diǎn)擊set:

wKgZomaxm5KAJh0pAAEBapVKTbs158.jpg

第六步,然后set之后會(huì)返回到這個(gè)界面,你需要在這個(gè)界面輸入時(shí)鐘名,不然會(huì)生成一個(gè)虛擬時(shí)鐘:

wKgZomaxm5SAcfBgAADVOQ0_IXg771.jpg

第七步,然后到這個(gè)界面,按照?qǐng)D片進(jìn)行操作:

wKgZomaxm5SAXkFWAAFWmj0KvOA985.jpg

一般來(lái)說(shuō)要點(diǎn)擊add clock,然后按crtl+s保存你設(shè)置的時(shí)鐘約束,之后再點(diǎn)擊apply(或者直接點(diǎn)擊apply)。

然后你打開(kāi)你的xdc文件,會(huì)發(fā)現(xiàn)已經(jīng)有了這么一個(gè)約束了,然后再重新綜合和實(shí)現(xiàn)就好了。

create_clock -period 8.000-name clkb -waveform {0.000 4.000} -add [get_nets{u_TTE_switch_top/U_ET_switch_plane_top/U_fp_and_sch_0/u_schedule_top/u_bus_ram/clkau_TTE_switch_top/U_ET_switch_plane_top/U_fp_and_sch_0/u_schedule_top/u_bus_ram/clkb}]

create_clock -period 8.000-name clk_gtx_125m -waveform {0.000 4.000} -add [get_netsinst_sgmii_if/clk_gtx_125m]

wKgaomaxm5SAHlTbAAAvfvF1EbQ590.jpg

全文完。

來(lái)源:本文轉(zhuǎn)載自網(wǎng)絡(luò)交換FPGA公眾號(hào)

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

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

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120230
  • 時(shí)序分析
    +關(guān)注

    關(guān)注

    2

    文章

    127

    瀏覽量

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

    關(guān)注

    1

    文章

    115

    瀏覽量

    13416

原文標(biāo)題:FPGA中的時(shí)序約束--從原理到實(shí)例

文章出處:【微信號(hào):FPGA研究院,微信公眾號(hào):FPGA研究院】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA案例解析:針對(duì)源同步的時(shí)序約束

    約束流程 說(shuō)到FPGA時(shí)序約束的流程,不同的公司可能有些不一樣。反正條條大路通羅馬,找到一種適合自己的就行了。從系統(tǒng)上來(lái)看,同步時(shí)序
    的頭像 發(fā)表于 11-20 14:44 ?7802次閱讀
    <b class='flag-5'>FPGA</b>案例<b class='flag-5'>解析</b>:針對(duì)源同步的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

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

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

    FPGA時(shí)序約束的基礎(chǔ)知識(shí)

    FPGA開(kāi)發(fā)過(guò)程,離不開(kāi)時(shí)序約束,那么時(shí)序約束是什么?簡(jiǎn)單點(diǎn)說(shuō),
    發(fā)表于 06-06 17:53 ?1497次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的基礎(chǔ)知識(shí)

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

    FPGA設(shè)計(jì)時(shí)序約束的設(shè)置對(duì)于電路性能和可靠性都至關(guān)重要。在上一篇的文章,已經(jīng)詳細(xì)介紹了FPGA
    發(fā)表于 06-06 18:27 ?1.1w次閱讀
    <b class='flag-5'>FPGA</b>主時(shí)鐘<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
    發(fā)表于 06-12 17:29 ?2711次閱讀

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

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

    FPGA時(shí)序約束OFFSET

    FPGA時(shí)序約束,總體來(lái)分可以分為3類(lèi),輸入時(shí)序約束,輸出時(shí)序
    發(fā)表于 09-05 21:13

    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ā)表于 11-17 07:54 ?2560次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>設(shè)計(jì)

    深入了解時(shí)序約束以及如何利用時(shí)序約束實(shí)現(xiàn)FPGA 設(shè)計(jì)的最優(yōu)結(jié)果

    作為賽靈思用戶(hù)論壇的定期訪(fǎng)客(見(jiàn) ),我注意到新用戶(hù)往往對(duì)時(shí)序收斂以及如何使用時(shí)序約束來(lái)達(dá)到時(shí)序收斂感到困惑。為幫助 FPGA設(shè)計(jì)新手實(shí)現(xiàn)
    發(fā)表于 11-24 19:37 ?5477次閱讀
    深入了解<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>以及如何利用<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>實(shí)現(xiàn)<b class='flag-5'>FPGA</b> 設(shè)計(jì)的最優(yōu)結(jié)果

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

    上一篇《FPGA時(shí)序約束分享01_約束四大步驟》一文,介紹了時(shí)序
    發(fā)表于 03-18 10:29 ?1661次閱讀
    <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)容,來(lái)源于配置的明德?lián)P時(shí)序約束專(zhuān)題課視頻。
    發(fā)表于 05-11 10:07 ?4119次閱讀
    詳解<b class='flag-5'>FPGA</b>的<b class='flag-5'>時(shí)序</b>input delay<b class='flag-5'>約束</b>

    FPGA時(shí)序input delay約束

    本文章探討一下FPGA時(shí)序input delay約束,本文章內(nèi)容,來(lái)源于明德?lián)P時(shí)序約束專(zhuān)題課視頻。
    的頭像 發(fā)表于 07-25 15:37 ?3041次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>時(shí)序</b>input delay<b class='flag-5'>約束</b>

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

    前面幾篇文章已經(jīng)詳細(xì)介紹了FPGA時(shí)序約束基礎(chǔ)知識(shí)以及常用的時(shí)序約束命令,相信大家已經(jīng)基本掌握了時(shí)序
    的頭像 發(fā)表于 06-23 17:44 ?2368次閱讀
    如何在Vivado<b class='flag-5'>中</b>添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>

    FPGA時(shí)序約束的原理是什么?

    FPGA開(kāi)發(fā)過(guò)程,離不開(kāi)時(shí)序約束,那么時(shí)序約束是什么?簡(jiǎn)單點(diǎn)說(shuō),
    發(fā)表于 06-26 14:42 ?712次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>的原理是什么?
    RM新时代网站-首页