亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

當前消息!FPGA時序分析之關鍵路徑

2023-06-21 14:16:55 來源:FPGA探索者


【資料圖】

關鍵路徑通常是指同步邏輯電路中,組合邏輯時延最大的路徑(這里我認為還需要加上布線的延遲),也就是說關鍵路徑是對設計性能起決定性影響的時序路徑。

對關鍵路徑進行時序優(yōu)化,可以直接提高設計性能。對同步邏輯來說,常用的時序優(yōu)化方法包括** PipelineRetiming、邏輯復制、加法/**乘法樹、關鍵信號后移、消除優(yōu)先級****等解決。

靜態(tài)時序分析能夠找出邏輯電路的關鍵路徑。通過查看靜態(tài)時序分析報告,可以確定關鍵路徑。在Vivado工具中,可以通過report_timing_summary 等來查看,如下圖所示, WNSWorst Nagative Slack)對應最大延遲分析的所有時序路徑的最差裕量(Setup,顯示的Slack為時序裕量,Levels為該條路徑上源邏輯驅(qū)動的級數(shù),HignFanout為高扇出的值,源和目的,總的延時=邏輯延時+布線延時,這里,使用100MHz的時鐘,對應周期10ns,邏輯延時最大0.535ns,布線延時1.950ns。

1. 組合邏輯中插入寄存器(插入流水線)

組合邏輯的延時過長,就會成為關鍵路徑,這時可以考慮 在該路徑上插入額外的寄存器,這種方法也稱為插入流水線,多用于高度流水的設計中,因為這種設計中 額外插入寄存器增加的時鐘周期延時并不會違反整個設計的規(guī)范要求,從而不會影響設計的總體功能性實現(xiàn),也 即額外插入的寄存器在保持吞吐量不變的情況下改善了設計的時序性能。當然,其不可避免地會帶來部分面積的增加,如圖6-11所示。

在插入寄存器時,要在組合邏輯中選擇合適的位置進行插入,使得插入寄存器后被分割出的幾塊小的組合邏輯延時基本一致,也相當于下圖所示的先加入寄存器,再對寄存器進行重定時Retiming。

2. 寄存器平衡(重定時Retiming)

在不增加寄存器個數(shù)的前提下,通過改變寄存器的位置來優(yōu)化關鍵路徑,可以 對比和流水線插入寄存器的不同。

3. 操作符平衡(加法樹、乘法樹)

平衡前,a和b均經(jīng)過3個乘法器帶來的延時,c經(jīng)歷2個,d經(jīng)歷1個,最長延時為3個乘法器延時。平衡后,樹形結構,a、b、c、d均經(jīng)歷2個乘法器延時,最長延時為2個乘法器延時。

4. 消除代碼優(yōu)先級(case代替if…else)

本身確實不需要優(yōu)先級的地方,可以使用case代替if…else,使得順序執(zhí)行的語句編程并行執(zhí)行。如果確實有優(yōu)先級兵,則不能這樣做。這種消除代碼中的優(yōu)先級的策略也稱為代碼結構平坦化技術,主要針對那些帶優(yōu)先級的編碼結構。

5. 邏輯復制

當某個信號的扇出fanout比較大時,會造成該信號到各個目的邏輯節(jié)點的路徑變得過長,從而成為設計中的關鍵路徑,此時可以通過對該信號進行復制來降低扇出。高扇出的危害是大大增加了布局布線的難度,這樣其扇出的節(jié)點也就無法被布局得彼此靠近,所以就導致了布線長度過大的問題。

6. 關鍵信號后移

關鍵輸入應該在邏輯最后一級提供,其中關鍵輸入為芯片、Slice、或者LUT提供的時延最大的輸入,比如在if…else if…鏈中,將關鍵信號放在第一級。

標簽:

上一篇:當前訊息:6個經(jīng)典的PLC程序?qū)嵗?/a>
下一篇:最后一頁