三防平板方案-混合模塊路徑延遲和分布式延遲
時間:2024-08-08 作者:樂凡信息 瀏覽:217

三防平板方案設(shè)計中混合模塊路徑延遲和分布式延遲

三防平板方案設(shè)計中如果模塊包含模塊路徑延遲和分布式延遲(模塊內(nèi)原語實例的延遲),將選擇每個路徑內(nèi)兩個延遲中較大的一個?;旌夏K路徑延遲和分布式延遲例子1。

圖1 給出了利用分布式延遲和路徑延遲組合建模的簡單電路(僅示出了D輸入到Q輸出路徑)。這里,從輸入D到輸出Q的模塊路徑上的延遲是22,而分布式延遲的總和是0+1=1。因此,由D上的跳變引起的Q上的跳變將在D上的跳變后22個時間單位發(fā)生。



圖1 模塊延遲比分布式延遲要長混合模塊路徑延遲和分布式延遲例子2。

在圖2中,從D到Q的模塊路徑上的延遲為22,但沿著該模塊路徑的分布式延遲現(xiàn)在加起來為10+20=30。因此,由D上的事件引起的Q上的事件將在D上事件發(fā)生30個時間單位后發(fā)生。



圖2 模塊延遲比分布式延遲要短

2、三防平板方案設(shè)計中驅(qū)動布邏輯

在模塊內(nèi),模塊路徑的輸出網(wǎng)絡(luò)不超過一個驅(qū)動器。因此,在模塊路徑輸出時,不允許線邏輯。

圖3給出了出現(xiàn)布線輸出規(guī)則的沖突,以及避免規(guī)則沖突的一個方法。如圖1.5(a)所示,由于一個路徑由兩個邏輯門的輸出驅(qū)動器,因此所有連接到網(wǎng)絡(luò)S的模塊路徑都是非法的。如圖1.5(b)所示,假設(shè)信號S 是“線與”的,通過放置包含門邏輯的布線邏輯來創(chuàng)建連到輸出的一個驅(qū)動器,就能規(guī)避這個限制。



圖3 非法和合法模塊路徑

圖4(a)的模塊路徑描述是非法的,當把Q和R連接到一起時,則產(chǎn)生規(guī)則沖突條件。盡管在相同的模塊內(nèi)禁止多個輸出驅(qū)動器連接到一個路徑目的端,但是在模塊外是允許的。圖1.6(b)給出的模塊路徑描述是合法的。



圖4 非法和合法模塊路徑


3、 三防平板方案設(shè)計中脈沖過濾行為的詳細控制

在時間上,將比模塊路徑延遲更接近的兩個連續(xù)調(diào)度的跳變看作脈沖。默認,拒絕模塊路徑的輸出脈沖。連續(xù)的跳變不能比模塊輸出延遲還要靠近,稱為脈沖傳播的慣性延遲模型。

脈沖寬度范圍控制如何處理模塊路徑輸出的脈沖,包括:

(1)應(yīng)拒絕脈沖寬度的范圍;

(2)允許脈沖傳播到路徑目的的脈沖寬度范圍;

(3)脈沖應(yīng)在路徑目的處生成邏輯x的脈沖寬度范圍。

三防平板方案設(shè)計中兩個脈沖限制值定義了與每個模塊路徑跳變延遲相關(guān)的脈沖寬度范圍,這兩個脈沖限制值為錯誤限制值和拒絕限制值。錯誤限制值應(yīng)該至少和拒絕限制值一樣大。不會過濾掉大于或等于錯誤限制值的脈沖(通過)。小于錯誤限制值但大于或等于拒絕限制值的脈沖過濾為x。拒絕小于拒絕限制值的脈沖。默認,將錯誤限制值和拒絕限制值設(shè)置成與延遲相等。這些默認值產(chǎn)生完整的慣性脈沖行為,拒絕所有小于延遲的脈沖。

如圖5所示,從輸入A到輸出Y的上升延遲為7、下降延遲為9。默認情況下,上升延遲的錯誤限制值和拒絕限制值都是7。下降延遲的

錯誤限制值和拒絕限制值都是9。與形成脈沖的后沿延遲相關(guān)聯(lián)的脈沖極限確定是否以及如何對脈沖進行濾波。波形Y’顯示了無脈沖過濾產(chǎn)生的波形。脈沖寬度為2,小于上升延遲7的拒絕限制值;因此如波形Y所示對脈沖進行濾波。



圖5 由于脈沖寬度小于模塊路徑延遲,因此過濾掉脈沖

三防平板方案設(shè)計中有三種方法可以從默認值修改脈沖限制值。首先,Verilog語言提供PATHPULSE$ specparam來修改默認值的脈沖限制值。其次,調(diào)用選項可以指定應(yīng)用于所有模塊路徑延遲的百分比,以形成相應(yīng)的錯誤限制值和拒絕限制值。第三,SDF注解可以單獨注解每個模塊路徑跳變延遲的錯誤極限和拒絕極限。1.指定塊控制脈沖限制值

可以使用PATHPULSE$ specparam從指定塊內(nèi)設(shè)置脈沖極限值。使用PATHPULSE$指定拒絕限制值和錯誤限制值的語法格式為

其中,reject_limit_value為拒絕限制值;error_limit_value為錯誤限制值;specify_input_terminal _descriptor為輸入終端描述符;specify_output_terminal_descriptor為輸出終端描述符。

如果只指定了拒絕限制值,則應(yīng)同時適用于拒絕限制值和錯誤限制值。

可以針對特定模塊路徑指定拒絕限制值和錯誤限制值。當沒有指定模塊路徑時,拒絕限制值和錯誤限制值應(yīng)適用于模塊中定義的所有模塊路徑。如果路徑特定的PATHPULSE$指定參數(shù)和非路徑特定的PATHPULSE$指定參數(shù)出現(xiàn)在同一模塊中,則路徑特定的參數(shù)應(yīng)優(yōu)先于指定的路徑。

模塊路徑輸入終端和輸出終端應(yīng)符合模塊路徑輸入和輸出的規(guī)則,但有以下限制,即終端不能是向量的位選擇或部分選擇。

三防平板方案設(shè)計中當模塊路徑聲明聲明多個路徑時,PATHPULSE$ 指定參數(shù)應(yīng)僅指定給第一個路徑輸入終端和第一個路徑輸出終端。三防平板方案設(shè)計中指定的拒絕限制值和錯誤限制值應(yīng)適用于多路徑聲明中的所有其他路徑。應(yīng)忽略指定除第一路徑輸入和路徑輸出終端以外的任何內(nèi)容的PATHPULSE$指定參數(shù)。【例1.31】PATHPULSE$修改脈沖限制值Verilog HDL描述的例子,如代碼清單1-19所示。代碼清單1-19 PATHPULSE$修改脈沖限制值的Verilog HDL描述

在該例子中,三防平板方案設(shè)計中通過第一個PATHPULSE$,路徑clk=>q獲取的拒絕限制值為2、錯誤限制值為9,如第一個PATHPULSE$聲明所定義。路徑(clk*>q)和(pre*>q)接收第二個PATHPULSE$聲明的拒絕限制值0和錯誤限制值4。路徑data=>q沒有使用PATHPULSE$明確的說明,因此它獲得的拒絕限制值和錯誤限制值為3,正如第三個PATHPULSE$聲明所定義的那樣。2.全局控制脈沖限制值

兩個調(diào)用選項可以指定全局應(yīng)用于所有模塊路徑跳變延遲的百分比。錯誤限制調(diào)用選項指定用于其錯誤限制值的每個模塊路徑跳變延遲的百分比。拒絕限制調(diào)用選項指定用于其拒絕限制值的每個模塊路徑跳變延遲的百分比。百分比值為0~100之間的整數(shù)。

拒絕和錯誤限制調(diào)用選項的默認值都是100%。當兩個選項都不存在時,則每個模塊跳變延遲的100%用作拒絕和誤差限制。

如果錯誤限制百分比小于拒絕限制百分比,則為錯誤。在這種情況下,錯誤限制百分比設(shè)置為等于拒絕限制百分比。

當同時存在PATHPULSE$和全局脈沖限制調(diào)用選項時,應(yīng)優(yōu)先考慮PATHPULES$值。3.脈沖限值的SDF注解

三防平板方案設(shè)計中SDF注解可用于指定模塊路徑跳變延遲的脈沖限制值。當存在PATHPULSE$、全局脈沖限制調(diào)用選項和脈沖限制值的SDF注解時,SDF注解值優(yōu)先。4.詳細的脈沖控制能力

脈沖過濾行為的默認類型有兩個缺點。首先,對x狀態(tài)的脈沖過濾可能不夠“悲觀”,x狀態(tài)的持續(xù)時間太短而不起作用。第二,不相等的延遲可以導致脈沖拒絕,只要后沿在前沿之前,就不會留下脈沖被拒絕的指示。