18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

FPGA時序分析工具TimeQuest詳解

FPGA研究院 ? 來源:數(shù)字站 ? 2025-08-06 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

01提出問題(點燈程序)

觀看以下程序:

module led(

input clk ,//系統(tǒng)時鐘,50MHZ

input rst_n ,//系統(tǒng)復位,低電平有效

output reg led

);

reg [24:0] cnt ;//定義一個計數(shù)器

always @(posedge clk or negedge rst_n)begin

if(rst_n==1'b0)begin

cnt <= 25'd0;

end

else begin

cnt <= cnt + 1;

end

end

always @(posedge clk or negedge rst_n)begin

if(rst_n==1'b0)begin

led <= 1'b1;

end

else if(cnt == 25'd24_999_999)begin

led <= ~led;

end

end

endmodule

問題:上述代碼所描述的邏輯電路在Cyclone IV E的EP4CE10F17C8(65nm)這個器件上能最高運行在多少頻率的時鐘?

此問題需要時序分析軟件來告知我們答案,Altera通過QuartusTimeQuest軟件對___進行分析,并給出報告。

時序分析注意:

1、時序分析一定是基于特定器件(該器件需要具體到一個特定型號的特定速度等級);

2、時序分析一定是基于某個邏輯設計在特定器件上經(jīng)過布局布線之后的網(wǎng)表(該網(wǎng)表包含了設計中每一個邏輯具體在該器件的什么資源上實現(xiàn),而且還包括該資源在器件內(nèi)的具體位置,還包括信號從每個節(jié)點傳輸?shù)较乱粋€節(jié)點的具體延遲時間)。

3、時序分析不是在對代碼進行分析,而是在對真實的門級傳輸路徑進行分析。

wKgZPGiS_JeACGs0AAFkmN0qy-U740.png

圖1 quartus軟件顯示工程使用的器件

02時序約束

全編譯工程

準備好工程之后,先對工程全編譯一次,注意,是全編譯,不是分析和綜合,新手如果不確定,直接使用組合鍵 CTRL + L 吧。

為什么要全編譯呢?

這里有一個(知識)點:時序分析一定是基于軟件編譯好的具體到一個特定型號的芯片網(wǎng)表進行的。

時序分析的本質(zhì)是什么?

分析設計中每個信號在實際物理傳輸時的各種延遲是否滿足一定的要求。既然是延遲,那么就必須對應到具體的一個物理網(wǎng)表,純粹對代碼進行時序分析是沒有任何意義和依據(jù)的。時序分析分析的不是代碼,而是代碼描述的電路在某個具體型號芯片上實現(xiàn)時的物理特性。因此,進行時序分析前,全編譯工程很重要。

正常編譯之后,TimeQuest會變紅報錯,這是由于沒有手動加入時序約束,系統(tǒng)默認給CLK添加的時序約束是1GHZ,現(xiàn)綜合之后的最高時鐘頻率如圖2所示只能達到304.79MHZ,不能滿足默認的1GHZ,軟件當然就報錯了;

wKgZPGiS_JiAPpQFAAMFdpMaVlw478.png

圖2 工程編譯后TimeQuest報錯

默認添加1GHZ的最大時鐘頻率約束如圖3所示:

wKgZPGiS_JiACW1WAAHtzA278GQ466.png

圖3 quartus默認給工程添加1GHz時鐘約束

系統(tǒng)運行最高時鐘頻率查看方式如圖4所示:

wKgZO2iS_JiAdaScAAJ3mBSBHjQ008.png

圖4 quartus查看工程運行最大系統(tǒng)時鐘

理解時序與溫度的關聯(lián)

執(zhí)行全編譯之后,就可以查看整個工程的時序報告了。怎么看呢?每次編譯完成,Quartus軟件都會自動顯示編譯報告界面,如果沒有顯示,也可以點擊編譯報告圖標來切換到編譯報告頁面,編譯報告圖標就在下圖所示的位置,打開之后,時序報告都在 TimeQuest Timing Analyzer 這個欄目下面,點擊前面的三角符號即可展開,如圖5所示:

wKgZO2iS_JeAfNauAAKEPJ2IPrM596.png

圖5 quartus全編譯工程后查看時序報告

展開之后有好多個選項,例如 Clocks,Slow 1200mV 85C Model、Slow 1200mV 0C Model、Fast 1200mV 0C Model。這里先介紹下這幾項的物理意義。

1、Clocks:這一項是顯示當前的設計中有哪些時鐘信號,比如本節(jié)所用的例子中,就只有一個 clk的時鐘。

2、Slow 1200mV 85℃ Model:芯片內(nèi)核供電電壓 1200mV,工作溫度85度情況下的慢慢速傳輸模型。

3、Slow 1200mV 0℃Model:芯片內(nèi)核供電電壓 1200mV,工作溫度0度情況下的慢速傳輸模型。

4、Fast 1200mV 0℃ Model:芯片內(nèi)核供電電壓 1200mV,工作溫度0度情況下的快速傳輸模型。

根據(jù)專家說法(我還沒到能夠引經(jīng)據(jù)典講解芯片中信號傳輸特性隨溫度變化的能力,即使有講,也是 BD 來的,索性就不說原理了),溫度越高,芯片內(nèi)信號傳輸速度越慢,說是溫度會改變硅片材料,泄露電流和電子移動能力等特性,導致較高溫度下芯片內(nèi)信號傳輸速度變慢(這幾句我是借鑒來的)。信號在相同路徑中的傳輸時間變長,也就是延時會增加,這也就是做產(chǎn)品需要關心的問題。在實驗室環(huán)境下運行良好的系統(tǒng),能否在環(huán)境溫度達到 85℃ 的情況下依舊運行良好?如果到了 85℃ 環(huán)境下運行不好了,可能就是高溫導致的信號傳輸速度下降,從而導致時序不滿足了。

既然說溫度越高,芯片內(nèi)信號傳輸速度越慢,那么請問在“芯片內(nèi)核供電電壓 1200mV,工作溫度 0℃ 情況下也說個 Slow 又是什么意思呢?這個嘛,網(wǎng)上說法是晶體管閾值電壓會隨著溫度降低而降低,出現(xiàn)逆溫現(xiàn)象,有可能在低溫是克服載流子遷移加速問題,從而導致延時時間變長,實際上時序最差情況往往出現(xiàn)在低溫,而不是高溫狀態(tài)下。(不要問我更多,這幾句內(nèi)容我也是網(wǎng)上抄來的)。

不管是 0℃ 還是 85℃ 慢速條件下,信號傳輸速率變慢都有可能影響到目的寄存器的建立時間余量,信號傳輸速率變慢了,建立時間余量就小了。如果之前實驗室環(huán)境下建立時間余量都已經(jīng)處于臨界狀態(tài)了,結果一到高溫環(huán)境,數(shù)據(jù)速率變慢,建立時間可能就無法再滿足了,整個設計就工作異常了。

當然了,低溫情況下并不是所有的特性都會變慢,還是有些地方信號傳輸會變快,一旦傳輸速度變快,這個時候就要考慮另一個問題了——保持時間余量??焖偾闆r下數(shù)據(jù)傳輸速度變快了,如果之前實驗室環(huán)境下保持時間余量都已經(jīng)處于臨界狀態(tài)了,結果一到低溫環(huán)境,數(shù)據(jù)速率變更快,保持時間可能就無法再滿足了,整個設計就工作異常了。

所以,看報告的時候,一般 Slow 1200mV 85C Model 和 Slow 1200mV 0C Model 情況下重點關注寄存器建立時間余量,而 Fast 1200mV 0C Model 情況下重點關注寄存器保持時間余量。當然,話還是不說絕對了,在涉及到 IO 時序約束的時候,幾種情況還是都得看(雖然目前大部分情況下只關心了 Slow 1200mV 85C Model)

03查看最大時鐘運行頻率

大部分情況下關心 Slow 1200mV 85C Model 時的情況,那么就先看這種模式下的時序報告。

展開 “TimeQuest Timing Analyzer” 下的 “Slow 1200mV 85C Model”,可以看到,排在第一項的就是 “Fmax Summary”。點擊 “Fmax Summary”,則右側顯示了當前設計中每個時鐘域的邏輯能夠運行的最大時鐘頻率。由于本例子只有一個時鐘信號,所以只顯示 clk 這個時鐘的最大運行頻率,為 304.79MHz。

wKgZO2iS_JeABM20AANLNH8pO58997.png

圖6 quartus查看最大系統(tǒng)時鐘頻率

等等,大家有沒有發(fā)現(xiàn)一個神奇的事情,設計中有且僅有一個時鐘信號,而我們并沒有對設計加入任何的時序約束內(nèi)容,甚至連 SDC 文件都沒有,但是報告卻自動的搜尋到了這個 clk 信號,并且報告了其時鐘頻率,這。。。。是為啥呢?

這里就又有一個(知識)點。因為,對于這樣一個簡單的設計,Quartus 軟件能夠在編譯過程中自動的識別出設計中潛在的時鐘屬性的信號,并按照軟件默認的對時鐘的約束去分析設計。而對于一些較為復雜的設計或者多時鐘信號的設計,軟件可能就分析不出來或者無法確定到底誰是時鐘信號了,所以就無法給出時序報告。

只需要點擊 “TimeQuest Timing Analyzer” 下的 Clock 選項就可以查看軟件默認的對該信號加的約束是多少了,如圖7所示:

wKgZPGiS_JeADTQPAAINpC97R1A197.png

圖7 quartus默認添加的時鐘約束

可以看到,軟件自動識別了 clk 信號為設計的時鐘,而且認為其周期為 1ns,也就是時鐘頻率為 1000MHz,占空比為 50%。芯片也就最高 400 多兆的運行能力,軟件上來就加個 1000MHz 的時鐘信號,大概是想通過這種方式,讓每個設計都報時序錯誤,好提醒用戶記得加時序約束。當然了,另一個好處就是按照 1000MHz 這種超極限約束,全局會默認就按照最優(yōu)的可能去對設計進行布局布線,使得設計即使忘了加約束,編譯結果也能有個較好的時序性能。

當然,這只是對于簡單的設計,軟件能夠分析出來,而對于復雜的設計,軟件就沒這個本事了。所以還是希望大家不要以為軟件能幫你包辦一切,該自己動手的,還是不要讓軟件去浮想聯(lián)翩。

04加入時鐘約束

假如,這是一個很復雜的系統(tǒng),那么軟件將無法分析出系統(tǒng)中的時鐘信號,也就不能自動加入約束,所以,我們是無法查看到最大時鐘運行頻率的,因此,接下來我們自己來為工程加入時鐘約束。

加入時鐘約束的方法有很多,比如:

1. 高手可以直接自己寫 SDC 文件。 ?

2. 可以用 TimeQuest Timing Analyzer Wizard 軟件按照向導的指引一步一步操作。 ??

3. 可以使用 TimeQuest Timing Analyzer 工具以圖形化界面添加約束。

為了讓大家更加熟悉 TimeQuest Timing Analyzer 的用法,所以還是使用 TimeQuest Timing Analyzer 工具來對工程添加約束。

05打開 TimeQuest Timing Analyzer

打開TimeQuest Timing Analyzer的方法也有很多,通過菜單欄依次點擊:Tools->TimeQuest Timing Analyzer 可以打開,也可以直接點擊工具欄里的 TimeQuest Timing Analyzer 圖標,如下圖所示:

wKgZPGiS_JiAYds8AAA2wYeWLPk942.png

圖8 quartus的TimeQuest打開方式

不管用什么方法,總之打開就是了。打開之后的界面就是圖 9 的樣子了:

wKgZPGiS_JiAGHuDAAJr4fMVJKI974.png

圖9 quartus的TimeQuest界面

06創(chuàng)建網(wǎng)表(Create Timing Netlist)

要想進行時序約束或時序分析,必須要有一個能夠進行分析或約束的基本對象,那么什么是這個對象呢?對象就是網(wǎng)表模型。

網(wǎng)表模型是啥?先來說說網(wǎng)表是啥吧。簡單的理解,網(wǎng)表就是 Quartus 軟件經(jīng)過編譯,布局布線后得到的實際適配某一個特定型號芯片的電路信息,該電路信息就是對應下載到芯片中后實際在芯片中呈現(xiàn)的電路。

一個具體的設計,在不同的溫度環(huán)境下,其工作表現(xiàn)是不一樣的,而分析的時候,取了三種模型,分別為 Slow 1200mV 85C Model、Slow 1200mV 0C Model 和 Fast 1200mV 0C Model,這三種模型,就是進行時序分析時候的對象。

打開 TimeQuest Timing Analyzer 工具之后,是沒有選擇網(wǎng)表對象的,所以要想能夠進行時序分析,先要選擇網(wǎng)表。選擇網(wǎng)表的過程稱為創(chuàng)建時序網(wǎng)表(Create Timing Netlist),至于如何創(chuàng)建網(wǎng)表,很多時序約束之類的文章會講多種方法,這里只分享最簡單直接明了的方法,就是在 TimeQuest Timing Analyzer 界面中直接雙擊 Create Timing Netlist 選項即可,如下圖10所示:

wKgZO2iS_JiAEvWRAAGNA6-IxL8326.png

圖10 TimeQuest創(chuàng)建網(wǎng)表

這種情況下,默認創(chuàng)建的就是 Slow 1200mV 85C Model,創(chuàng)建完成后該選項會變成綠色,表示創(chuàng)建完成,同時,在這一欄的上方,也就是 Report 欄里,會出現(xiàn)各種當前以及能提高的報告。如果選中 TimeQuest Timing Analyzer Summary 選項,就能看的當前使用的延時模型確實是 Slow 1200mV 85C Model。

07讀取時序約束文件(Read SDC File)

什么是讀取時序約束文件?為什么要讀取時序約束文件?

先說時序約束文件的作用吧,時序約束文件有兩個作用,一是指導EDA軟件(Quartus)進行布局布線,二是指導時序分析軟件(TimeQuest Timing Analyzer)對EDA軟件編譯得到的網(wǎng)表進行分析報告。

指導EDA軟件(Quartus)進行布局布線這個功能很好理解,正如上面提到的一樣,如果沒有為工程加入時序約束,軟件就會默認自動分析出可能的時鐘信號,并按照 1000MHZ 的高頻率對該信號進行約束,那么軟件在進行布局布線時候,就會認為用戶希望所有的邏輯都必須能夠穩(wěn)定運行在 1000MHZ 的時鐘頻率下,軟件會按照這個指示,盡可能的對工程中的布局布線進行優(yōu)化,保證編譯結果能夠盡可能的穩(wěn)定運行在 1000MHZ 的頻率下(當然這在當前的技術下是不可能實現(xiàn)的)。這就是約束文件的第一個作用,即指導 EDA 軟件進行布局布線。

指導時序分析軟件(TimeQuest Timing Analyzer)對 EDA 軟件編譯得到的網(wǎng)表進行分析報告這個功能也很好理解,通過系統(tǒng)最大運行時鐘頻率的計算方法,要想知道當前設計實際能夠運行在多少 MHZ 的頻率下,需要有一個參考,既當前網(wǎng)表在指定的時鐘頻率下,寄存器的建立時間余量是多少,有了這個建立時間余量,就能夠計算出該邏輯能運行的最高時鐘頻率了。

這里,就可以回答上面的兩個問題了。

什么是讀取時序約束文件?就是查詢了解針對當前網(wǎng)表,添加了哪些約束內(nèi)容。為什么要讀取時序約束文件?就是為了能夠基于該時序約束信息對當前的網(wǎng)表進行分析,查看當前的網(wǎng)表是否滿足約束的內(nèi)容,或者說計算出當前的網(wǎng)表實際的表現(xiàn)參數(shù)與約束信息之間的關系。

針對上述的操作只需一秒間,讀取時序約束文件的方法也很簡單,直接雙擊“Read SDC File”選項即可。如圖 11 所示:

wKgZPGiS_JiAORvcAAF37yZZOyY827.png

圖11 TimeQuest讀取工程的時序約束文件

做到這里,相信就會有人質(zhì)疑了:這個工程并沒有加入任何的 SDC 文件,那這個操作,讀取的又是什么內(nèi)容呢?實際上,和前面說的一樣,因為沒有加約束,所以軟件就自己分析出了一個時鐘,然后對那個時鐘信號添加1000MHZ的約束。只是用戶看不到具體的 sdc 文件而已。這里執(zhí)行讀取 Read SDC File 操作的時候,讀取的就是這個看不見的默認約束文件。而如果用戶主動為當前工程添加了時序約束文件,那么讀取的就是用戶添加的約束文件了。

08創(chuàng)建時鐘(Create Clock)

創(chuàng)建時鐘,嚴格來說應該叫創(chuàng)建時鐘約束,就是為當前網(wǎng)表模型(注意,此時還只是針對網(wǎng)表模型)指定一個明確的時鐘信號。這樣時序分析軟件就能夠基于該時鐘參數(shù),對網(wǎng)表中的各信號進行分析了。創(chuàng)建時鐘(約束)步驟如下所示:

1、菜單欄依次點擊 Constraints -> Create Clock,打開時鐘約束界面。

wKgZPGiS_JiAVyLFAANJJ_axql0708.png

圖12 TimeQuest創(chuàng)建時鐘約束

2、在彈出的時鐘約束圖形界面中,輸入該時鐘的各項屬性。如圖 13 所示:

wKgZO2iS_JiAGIiUAABicpKtShI582.png

圖13 TimeQuest創(chuàng)建時鐘約束界面

時鐘名稱,這里的時鐘名稱是用戶為約束的該時鐘信號取一個方便識別的別名,而非被約束的時鐘的原本名稱。比如周星星是一個特工,組織上叫他 007,那么組織上在給他安排任務的時候,稱呼他就是 007,而不會叫他周星星,當然也可以使用原本名稱。本工程中,需要被約束的時鐘信號本身名稱為 clk,這里約束也為 clk。

周期,時鐘周期,clk 的時鐘頻率為 50MHz,所以換算過來其周期就是 1000/50 =20ns。約束的時候,時鐘信號的頻率不能直接作為參數(shù)輸入,而是需要換算為周期后再作為參數(shù)。

上升時間,這里的上升時間是指什么時刻時鐘信號出現(xiàn)上升沿,不寫就默認是0時刻了,右側的波形也能看出來。

下降時間,這里的下降時間是指什么時刻時鐘信號出現(xiàn)下降沿,不寫就默認是周期的一半時刻了,右側的波形也能看的出來。

目標,這才是真正的時鐘信號的本名,這才是 007 的真名——周星星,只不過這個名字在執(zhí)行任務的時候沒有人理會而已。但是組織上為了知道 007 究竟是哪個人,必須給他建個檔案,檔案里會寫,007,真名周星星。所以這里的目標就是指定約束的這個時鐘信號具體是對應的哪個物理上的時鐘。

上述所有參數(shù)輸入好之后,生成的一個真實起作用的腳本命令。換句話說,上面輸入的各種參數(shù)只是為了方便用戶更加方便的添加約束,這些參數(shù)輸入之后,軟件就會根據(jù)這些參數(shù)生成最終起作用的腳本命令。

3、 上述參數(shù)輸入完畢之后,點擊 Run 即可完成創(chuàng)建時鐘約束的操作。執(zhí)行操作后可以看到,軟件的信息窗口中執(zhí)行了前面 UI 界面中展示的那句腳本。

wKgZO2iS_JiAapy2AAEi9lmCYpM401.png

圖14 TimeQuest創(chuàng)建時鐘約束成功界面

=create_clock -name clk -period 20.000 [get_ports {clk}]=

部分Quartus版本可能會出現(xiàn)圖 15 的問題:

wKgZPGiS_JiALk--AAB-5L7W9Z4896.png

圖15 TimeQuest創(chuàng)建時鐘約束失敗界面

這句腳本下面緊跟著的一條警告信息才是關鍵,警告原話是:

Ignored create_clock: Incorrect assignment for clock. Source node: Clk9M already has a clock(s) assigned to it. Use the -add option to assign multiple clocks to this node. Clock was not created or updated.

EDA軟件居然把剛剛的命令給忽略了,為啥呢?就因為 Clk9M 這個信號已經(jīng)被綁定到一個時鐘上了,哪里綁定的呢?就是軟件默認自動的呀。哎,明明上面的約束才是真正想要的,結果軟件居然不認,還是認他自己分析總結到的那個時鐘信號。

到這里,也是希望借此例子告訴大家一個事情,那就是每次加入一個約束之后,一定要看工具對這條約束的執(zhí)行報告,看看這條約束是否被正確執(zhí)行了,有沒有報告其他信息說約束失敗之類的。否則很有可能出現(xiàn)上述情況,導致約束并沒有生效。

警告說可以通過-add 選項來為此節(jié)點創(chuàng)建多個時鐘,不能那樣做,因為那就違背本意了,本意就是這個節(jié)點有且只有一個時鐘約束,所以變換思路,既然約束加不了,改總行了吧。怎么改呢?

在 TimeQuest Timing Analyzer 中,找到 Reports 下面的 Diagnostic 下面的 Report Clocks 選項,如下圖 16 所示,雙擊該選項,即可彈出時鐘報告窗口,如下圖 17 所示:

wKgZO2iS_JiAa6pkAABPULdrb1g659.png

圖16 TimeQuest打開時鐘報告步驟

wKgZO2iS_JiAC3p7AADhMoMu3mo830.png

圖17 TimeQuest時鐘報告界面

從圖 17 中可以看到,確實已經(jīng)存在一個名為 Clk9M 的約束。本來想著,既然有這個約束存在,那就刪了再創(chuàng)建,不是就能搞定了么。于是選中該信號,右鍵,選中 Remove Clock 選項,將其刪除。本以為一切操作水到渠成,結果剛刪完,然后重新 Report Clocks,這廝馬上又回來了。

wKgZO2iS_JiAK-7pAADETw-LKlQ604.png

圖18 TimeQuest刪除時鐘約束

刪不掉,那試試編輯這個約束,改掉它呢?說干就干,還是選中該信號,右鍵,選中Edit Clock Constraint…選項,如圖 19 所示:

wKgZPGiS_JiAJPfuAACx3ArDX_0137.png

圖19 TimeQuest修改時鐘約束

點擊之后,果然彈出了熟悉的約束編輯畫面,如圖 20 所示:

wKgZPGiS_JiAPOjdAAED8hbC_QM967.png

圖20 TimeQuest修改時鐘約束界面

彈出的編輯框中注意看,要改的地方很多,所以基本上除了 targets 一項不需要動以外,其他都得改。所以按照前面的約束方法,修改時鐘約束參數(shù),如圖 21 所示。

wKgZO2iS_JiAYfLOAADby7mkqnA545.png

圖21 TimeQuest修改時鐘約束完成后的界面

=這里面又有 2 個大坑= :

1、 Clock name 改不得,一改就又認為是新創(chuàng)建時鐘,就是不給辦,依舊忽略。所以不得已,名字繼續(xù)保持為系統(tǒng)默認的 Clk9M。

2、 Rising 和 Falling 兩項的值,要改還得自己計算,太麻煩,干脆直接將這兩個選項內(nèi)容刪除了,就可以讓軟件自動計算了。

改好之后,再 Run,沒有報告忽略的信息了,再 Report Clocks,發(fā)現(xiàn)時鐘的約束信息終于和設定的是一樣的了。

wKgZPGiS_JiAF6ojAACxwc88P9s807.png

圖22 TimeQuest時鐘約束修改成功

到此為止,時鐘約束就算是完成了。接下來,就應該根據(jù)該時鐘約束生成對應的 sdc 文件了。TimeQuest Timing Analyzer 提供了將當前的所有 sdc 命令寫入到 sdc 文件的方法,在菜單欄依次點擊 Constraints -> Write SDC File 可以實現(xiàn),也可以在 Task 欄中直接雙擊 Write SDC File 選項。

wKgZO2iS_JiAeRnVAAMqEa4QUR8049.png

圖23 TimeQuest 保存時序約束文件

Write SDC File 打開之后,界面如圖 24 所示,默認會以工程名稱+.out+.sdc 的格式命名該文件,可以把第一項中的.out 刪掉,就變成了“l(fā)ed.sdc”,點擊 OK,即可自動將約束內(nèi)容寫到“l(fā)ed.sdc”文件里。

wKgZPGiS_JiABnF2AAAvdS2GB3Q869.png

圖24 TimeQuest時序約束文件名更改

wKgZO2iS_JiANb23AAAtfXGUrjE626.png

圖25 TimeQuest時鐘約束文件名修改完

補充說明,如果工程中已經(jīng)有同名文件,那么該操作會直接使用新內(nèi)容覆蓋文件里原本的內(nèi)容。如果工程中沒有該同名文件,軟件就會新建此文件并將所有約束寫入該內(nèi)容。

上述操作完成后,TimeQuest Timing Analyzer 軟件就可以關掉了。但每次關閉的時候,軟件又會提示說讓用戶寫 SDC 文件,如下圖所示。剛剛已經(jīng)寫過了。直接選 No 就 OK 了,選 Yes 無非就是再重新寫一遍。

09使用約束文件指導 Quartus 編譯

通過前面的操作,時鐘約束也約了,約束文件也創(chuàng)建了。但是這個文件是否就一定能夠指導 Quartus 軟件進行編譯了呢?接下來執(zhí)行下述幾步,以確保該文件已經(jīng)正確的被用于指導 Quartus 軟件布局布線。

在 Quartus 菜單欄中,依次點擊 Assignments -> Settings 打開工程設置界面,如圖 26 所示。

wKgZO2iS_JiAc3SZAACjnGkhkuU636.png

圖26 quartus添加時序約束文件步驟1

設置界面如圖 27 所示。點擊設置里面的 TimeQuest Timing Analyzer,發(fā)現(xiàn)“SDC files to include in the project”里面,沒有添加任何文件。要知道,一個工程可以有多個 SDC 文件,而 Quartus 最終使用哪個約束文件,一定是要在這里添加的。

wKgZPGiS_JiATPj0AAErMojv4tI644.png

圖27 quartus添加時序約束文件步驟2

所以在這里,將剛剛建好的 led.sdc 文件添加進來。如圖 28 所示。

wKgZO2iS_JiAJne4AACYuzCDIZg714.png

圖28 quartus添加時序約束文件步驟3

添加好之后,應用設置并關閉,回到 Quartus 主界面中,會發(fā)現(xiàn)該文件已經(jīng)被加入工程了,然后對工程進行全編譯(CTRL + L),軟件就會在該約束文件指導下進行編譯了。編譯完成之后,就可以根據(jù)本節(jié)內(nèi)容開頭的描述,查看最大運行時鐘頻率了,新的報告如圖 29 所示。

wKgZPGiS_JiACPicAAICox2gmL0192.png

圖29 quartus編譯含有SDC文件工程后查看最大系統(tǒng)時鐘頻率

然后你會發(fā)現(xiàn)一個真理,Quartus 編譯出來的結果,能夠運行的最大頻率與約束息息相關,約束要求不高,Quartus 也就隨便編譯優(yōu)化下,能滿足添加的約束要求即可。不會去做到最優(yōu)。

當然,也可以雙擊 led.sdc 文件,看看里面的內(nèi)容,里面內(nèi)容最關鍵的就是下面這句了。

=create_clock -name {clk} -period 20.000 -waveform { 0.000 10.000 } [get_ports {clk}=

本文轉載自數(shù)字站公眾號

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

    關注

    1650

    文章

    22214

    瀏覽量

    627647
  • 計數(shù)器
    +關注

    關注

    32

    文章

    2302

    瀏覽量

    97270
  • 程序
    +關注

    關注

    117

    文章

    3832

    瀏覽量

    84472
  • 時序分析
    +關注

    關注

    2

    文章

    128

    瀏覽量

    24122

原文標題:FPGA時序分析工具(TimeQuest)

文章出處:【微信號:FPGA研究院,微信公眾號:FPGA研究院】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    FPGA 高級設計:時序分析和收斂

    的綜合、映射、布局和布線,以減小邏輯和布線延時,從而提高 工作頻率。 2、獲得正確的時序分析報告 幾乎所有的 FPGA 設計平臺都包含靜態(tài)時序分析
    發(fā)表于 06-17 17:07

    fpga時序分析一般都做哪些分析

    如題:fpga時序分析一般都做哪些分析我自己研究時序分析也有一段時間了 ,從理論到altera的
    發(fā)表于 10-22 22:20

    TimeQuest新手入門

    筆者常常在思考,雖說TimeQuest是一個分析物理時序是否合格的數(shù)學工具,但是TimeQuest真正意義上是在針對什么?這是一個很有趣的問
    發(fā)表于 08-02 07:35

    FPGA的約束設計和時序分析

    FPGA/CPLD的綜合、實現(xiàn)過程中指導邏輯的映射和布局布線。下面主要總結一下Xilinx FPGA時序約束設計和分析
    發(fā)表于 09-21 07:45

    轉換到TimeQuest時序分析器教程(電子書)

    轉換到TimeQuest時序分析器教程(電子書)
    發(fā)表于 03-23 16:49 ?0次下載

    基于時序路徑的FPGA時序分析技術研究

    基于時序路徑的FPGA時序分析技術研究_周珊
    發(fā)表于 01-03 17:41 ?2次下載

    試用手記:為國產(chǎn)FPGA正名(四,時序工具)

    關鍵詞:FPGA , 國產(chǎn) , 國產(chǎn)FPGA , 試用 作者在:特權同學 關于時序工具的一些FAE解答: 問:你們的工具是否只提供所有輸入輸
    發(fā)表于 02-25 18:24 ?655次閱讀
    試用手記:為國產(chǎn)<b class='flag-5'>FPGA</b>正名(四,<b class='flag-5'>時序</b><b class='flag-5'>工具</b>)

    如何使用TimeQuest

    用Altera的話來說,TimeQuest Timing Analyzer是一個功能強大的,ASIC-style的時序分析工具。采用工業(yè)標準--SDC(synopsys design
    的頭像 發(fā)表于 03-08 14:52 ?2528次閱讀

    調(diào)用timequest工具對工程時序進行分析

    TimeQuest Timing Analyzer是一個功能強大的,ASIC-style的時序分析工具。采用工業(yè)標準--SDC(synopsys design contraints)-
    的頭像 發(fā)表于 11-28 07:09 ?2395次閱讀

    正點原子FPGA靜態(tài)時序分析時序約束教程

    時序分析結果,并根據(jù)設計者的修復使設計完全滿足時序約束的要求。本章包括以下幾個部分: 1.1 靜態(tài)時序分析簡介 1.2
    發(fā)表于 11-11 08:00 ?67次下載
    正點原子<b class='flag-5'>FPGA</b>靜態(tài)<b class='flag-5'>時序</b><b class='flag-5'>分析</b>與<b class='flag-5'>時序</b>約束教程

    華為FPGA硬件的靜態(tài)時序分析與邏輯設計

    本文檔的主要內(nèi)容詳細介紹的是華為FPGA硬件的靜態(tài)時序分析與邏輯設計包括了:靜態(tài)時序分析一概念與流程,靜態(tài)
    發(fā)表于 12-21 17:10 ?21次下載
    華為<b class='flag-5'>FPGA</b>硬件的靜態(tài)<b class='flag-5'>時序</b><b class='flag-5'>分析</b>與邏輯設計

    時序分析Timequest教程

    本文檔的主要內(nèi)容詳細介紹的是時序分析Timequest教程免費下載。
    發(fā)表于 01-14 16:04 ?3次下載
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b>的<b class='flag-5'>Timequest</b>教程

    時序分析Timequest教程

    本文檔的主要內(nèi)容詳細介紹的是時序分析Timequest教程免費下載。
    發(fā)表于 01-14 16:04 ?15次下載
    <b class='flag-5'>時序</b><b class='flag-5'>分析</b>的<b class='flag-5'>Timequest</b>教程

    FPGA設計中時序分析的基本概念

    時序分析FPGA設計中永恒的話題,也是FPGA開發(fā)人員設計進階的必由之路。慢慢來,先介紹時序分析
    的頭像 發(fā)表于 03-18 11:07 ?3715次閱讀

    FPGA靜態(tài)時序分析詳解

    靜態(tài)時序分析簡稱STA,它是一種窮盡的分析方法,它按照同步電路設計的要求,根據(jù)電路網(wǎng)表的拓撲結構,計算并檢查電路中每一個DFF(觸發(fā)器)的建立和保持時間以及其他基于路徑的時延要求是否滿足。STA作為
    的頭像 發(fā)表于 09-27 14:45 ?3848次閱讀