1 基本概念
在數(shù)字實(shí)現(xiàn)過程中,延遲一般有以下幾種:
分布式延遲(Distributed Delays)
一般用來指定模塊內(nèi)部信號(hào)通過邏輯單元或者線網(wǎng)耗費(fèi)的時(shí)間。
模塊路徑延遲(Module Path Delays)
模塊路徑一般指從源(輸入端口或者輸入輸出端口)到目的(輸出端口或者輸入輸出端口)的路徑,模塊路徑延遲是信號(hào)從源傳輸?shù)侥康牡厮馁M(fèi)的時(shí)間,即模塊內(nèi)部延遲。下圖為模塊路徑延遲為10的示意圖:
注意:模塊路徑延遲一般在“specify-endspecify”中指定。
互聯(lián)線延遲(Interconnect Delays)
當(dāng)兩個(gè)模塊通過線網(wǎng)連接時(shí),信號(hào)從一個(gè)模塊單元傳遞到另一個(gè)模塊單元會(huì)耗費(fèi)一定的時(shí)間,數(shù)據(jù)模塊間的延遲,即互聯(lián)線延遲。下圖為互聯(lián)線延遲為10的示意圖:
2 延遲
在仿真過程中,經(jīng)常會(huì)遇到傳輸延遲和慣性延遲,用來模擬實(shí)際的互聯(lián)線延遲和模塊間延遲。分布式延遲在仿真時(shí)一般都作為慣性延遲處理。
2.1 傳輸延遲
傳輸延遲一般為輸入信號(hào)變化到對(duì)應(yīng)輸出信號(hào)變化經(jīng)過的時(shí)間,不會(huì)對(duì)輸入信號(hào)進(jìn)行濾除處理,所以傳輸延遲是一種絕對(duì)延遲,這種延遲類似于物理傳輸線的延遲,在仿真中用于模擬連線延遲。如下圖所示,輸入一般不會(huì)被濾除。
.2.2 慣性延遲
慣性延遲考慮了電路中存在大量的分布電容,信號(hào)在電路中傳輸存在對(duì)電容充放電效應(yīng),
當(dāng)輸入較小寬度的脈沖將會(huì)被濾除,即不允許所有寬度小于指定延遲的脈沖通過電路單元,那么能夠讓對(duì)應(yīng)輸出有變化的最小脈沖寬度即為慣性延遲,是所有的電子器件均存在的一種延遲特性,因此為了使器件對(duì)輸入信號(hào)的變化產(chǎn)生響應(yīng),信號(hào)變化后要維持足夠長的時(shí)間,在仿真過程中,該延遲用于模擬元件延遲。一般原語、門單元、開關(guān)單元、連續(xù)賦值等中的延遲在模擬時(shí)均為慣性延遲。
如下圖所示,輸入較小脈沖寬度的信號(hào)被濾除:
2.3 仿真延遲
在仿真中,如果在仿真的elaboration過程中沒有顯示指定延遲的類型,那么仿真器一般都會(huì)將代碼中指定的延遲作為慣性延遲處理,即此時(shí)小于指定延遲寬度的脈沖將被濾除。為了說明不同延遲的仿真效果,此處以模塊路徑延遲為例進(jìn)行仿真說明。
【示例】
仿真結(jié)果如下:
此例中,在elaboration過程中沒有顯示指定仿真延遲類型,一般都默認(rèn)為慣性延遲,代碼中標(biāo)準(zhǔn)門單元buf指定的延遲為5ns,根據(jù)慣性延遲的特點(diǎn),當(dāng)輸入信號(hào)寬度小于指定的延遲時(shí),該信號(hào)將不能通過該電路單元,所以上圖中僅有信號(hào)寬度為5ns的信號(hào)有效通過了buf,其余信號(hào)均被屏蔽。
如果仿真過程中需要模擬傳輸延遲,需要在elaboration時(shí)指定相應(yīng)的傳輸延遲參數(shù),即使能傳輸延遲模擬功能,此時(shí)輸入信號(hào)原則上都能通過電路單元。
【示例】
在仿真elaboration時(shí),增加如下仿真參數(shù):“+transport_path_delays +pulse_r/<濾除百分比> +pulse_e/<濾除百分比>”等可在仿真階段實(shí)現(xiàn)傳輸延遲的模擬,并且配置不同的濾除百分比,輸出的結(jié)果也會(huì)有差異,一般輸出結(jié)果為三種情況:濾除、通過、不定態(tài),如下圖所示:
其中“+pulse_r”和“+pulse_e”后指定的參數(shù)表示允許通過和濾除的信號(hào)的寬度占指定延遲的百分比。例如,如果指定延遲為5ns,參數(shù)為“+pulse_r/40”和“+pulse_e/80”(其中的40和80為百分比),那么小于2ns(5x(40%))的信號(hào)將被濾除,大于等于4ns(5x(80%))的信號(hào)將可以通過,介于兩者之間的信號(hào)將輸出不定太,如下例中data_in的第一個(gè)脈沖信號(hào)小于2ns被濾除,不能輸出至data_out。第二、三個(gè)脈沖信號(hào)寬度均大于或等于4ns,所以均有效輸出,第四個(gè)脈沖寬度為3ns,介于2ns和4ns之間,所以不能被有效輸出,此時(shí)輸出為不定態(tài)。
注意:如果僅使用“+transport_path_delays”而不使用對(duì)脈沖寬度約束的參數(shù)(“+pulse_r/e”),那么仿真器將按照慣性延遲處理方式對(duì)輸入信號(hào)進(jìn)行處理,即小于指定延遲寬度的信號(hào)不能通過電路單元。同時(shí)在EDA工具中還有其他參數(shù)(“+pulse_r/e”與“+pulse_int__r/e”等),不同的參數(shù)將有不同的仿真效果,具體可參考相關(guān)EDA工具手冊(cè)。
-
EDA工具
+關(guān)注
關(guān)注
4文章
267瀏覽量
31787 -
仿真器
+關(guān)注
關(guān)注
14文章
1017瀏覽量
83722 -
傳輸線
+關(guān)注
關(guān)注
0文章
376瀏覽量
24022 -
脈沖信號(hào)
+關(guān)注
關(guān)注
6文章
398瀏覽量
36956
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論