「關鍵路徑」與」面積與速度互換「

2022-09-28 04:18:13 字數 1273 閱讀 6315

關鍵路徑通常指在同步邏輯電路中,組合邏輯時延最大的路徑。關鍵路徑能過對設計效能起到決定性的影響。

採用靜態時序分析(sta)能找出邏輯電路的關鍵路徑,通過檢視靜態時序分析報告可以確定關鍵路徑。

對關鍵路徑進行時序優化可以提高設計效能,對同步邏輯最常用的優化方式包括pipeline(流水線)和retiming(暫存器平衡)由於組合邏輯的延時過長,就會成為關鍵路徑,這時可以考慮在該路徑上插入額外的暫存器。這些額外插入的暫存器增加的時鐘週期延時要不會影響設計的規範要求,從而達到不影響設計總體的功能性實現。

例如:由於資料傳播過程,有大部分組合邏輯模組在閒置,浪費了資源:

組合邏輯延時為加法器+求絕對值+求log函式;

當加入暫存器,三部分會在每個時刻都進行工作,此時延時變為其中最大延時的器件,遠遠小於之前的延時。

但是插入流水線會導致晶元面積增加,可能會導致佈線困難和時鐘偏差。且過多的級數不一定能產生最快的效率。在不增加暫存器數量的前提下,通過改變暫存器位置來優化關鍵路徑。比如在設計中就考慮到硬體的複雜程度和相應的延時。如下面兩組**:

if(a==1) out <=b+c;

else out <= d+e;

//if(a==1)begin

out1 <=b;

out2 <=c;

endelse begin

out1<=d;

out2 <=e;

endout <=out1+out2;

第一組的控制延時為乙個選擇器mux,第二組控制延時為乙個選擇器+乙個mux,明顯是第二個大,但是第一組使用了兩個加法器+1個mux;第二組用了兩個mux和一共個加法器,加法器的複雜度是比後者高的,這體現了面積與速度互換的原則。速度是設計在晶元上穩定執行時能過達到的最高頻率,而面積是乙個設計所消耗的目標器件的硬體資源數,對fpga而言,可用消耗的觸發器(ff)和查詢表(lut)來衡量。

兩者的優先順序不同,設計中一般優先考慮速度,當然具體的專案還得看對應的指標。

面積和速度的互換:

1.當設計的時序餘量比較大,可用考慮功能模組復用來減少設計消耗的晶元面積。

2.當設計的時序要求很高時,可用通過將資料並行處理或對設計採用桌球操作來提高處理的速度,但是這會耗費更多的資源也就是占用更多的面積。

參考**:

校招基礎 速度與面積

1 速度和面積互換原則 所謂速度,是指整個工程穩定執行所能達到的最高時鐘頻率,他不僅和fpga內部各個暫存器的建立時間 保持時間以及 fpga 與外部介面的各種時序要求有關,而且還和兩個緊鄰的暫存器間的邏輯延時 走線延時有關。所謂面積,可通過乙個工程執行所消耗的觸發器 查詢表數量或者等效門數量來衡量...

互換值與互換位址

乙個小實驗。includeusing namespace std 互換值 改變位址 相當於引用 void prswap int x,int y 互換值 位址不變 void pswap int x,int y int main 感謝xixi。另外的實驗。關於引用的指標,以及函式內交換的方式。void ...

拓撲排序與關鍵路徑

什麼是拓撲排序 設g v,e 是乙個具有n個頂點的有向圖,v中頂點序列v1,v2,vn,稱為乙個拓撲序列,當且僅當該頂點序列滿足下列條件 若是圖中的邊 或從頂點i到j有一條路徑 則在拓撲序列中頂點i必須排在頂點j之前。在乙個有向圖中找 乙個拓撲序列的過程稱為拓撲排序。拓撲排序步驟 1 從有向圖中選擇...