fmax優化 邏輯 FPGA設計優化及方案改進

2021-10-13 08:27:17 字數 1454 閱讀 6712

fpga設計優化及方案改進

在fpga設計中,必須首先明確hdl源**編寫非常重要;不同綜合工具包含的綜合子集不同致使有些hdl語句在某些綜合工具中不能綜合;同一邏輯功能可用不同hdl語句進行描述,但占用資源卻可能差別很大。同時應當深刻理解併發性是硬體描述語言與普通高階語言的根本區別,因而設計硬體電路不能受傳統順序執行思維的束縛。

此外,我們應當清楚速度優化與面積優化在fpga設計中占有重要地位。對於大多數數字系統設計而言,速度常常是第一要求,但fpga結構特性、綜合工具效能、系統電路構成、pcb製版情況及hdl**表述都會對工作速度產生重要影響。我們通過在電路結構設計中採用設計、暫存器配平、關鍵路徑法可以進行速度優化。

(1)流水線設計

流水線(pipelining)技術在速度優化中相當流行,它能顯著提高系統設計的執行速度上限,在現代微、數字訊號處理器、mcu、高速數字系統設計中都離不開流水線技術。圖4與圖5是流水線設計的典型圖示,其中圖4未使用流水線設計,圖5採用了2級流水線設計,在設計中將延時較大的組合邏輯塊切割成兩塊延時大致相等的'組合邏輯塊,並在這兩個邏輯塊中插入了觸發器,即滿足以下關係式:ta=t1+t2,t1≈t2。通過分析可知,圖4中fmax≈1/ta;圖5中流水線第1級最高工作頻率fmax1≈1/t1,流水線第2級最高工作頻率fmax2≈1/t2≈1/t1,總設計最高頻率為fmax≈fmax1≈fmax2≈1/t1,因此圖5設計速度較圖4提公升了近一倍。

(2)暫存器配平(register balancing)

暫存器配平是通過配平暫存器之間的組合延時邏輯塊來實現速度優化,兩個組合邏輯塊延時差別過大,導致設計總體工作頻率fmax取決於t1,即最大的延時模組,從而使設計整體效能受限。通過對圖7設計進行改進,將延時較大的組合邏輯1的部分邏輯轉移到組合邏輯2中,成為圖8結構,以減小延時t1,使t1≈t2,且滿足t1+t2=t1+t2。暫存器配平後的圖8結構中fmax≈1/t1>1/t1,從而提高了設計速度。

(3)關鍵路徑法

關鍵路徑是指設計中從輸入到輸出經過的延時最長的邏輯路徑,優化關鍵路徑是提高設計工作速度的有效方法。圖9中td1>td2,td1>td3,關鍵路徑為延時td1的模組,由於從輸入到輸出的延時取決於延時最長路徑,而與其他延時較小的路徑無關,因此減少td1則能改善輸入到輸出的總延時。

在優化設計過程中關鍵路徑法可反覆使用,直到不可能減少關鍵路徑延時為止。許多eda開發工具都提供時序分析器可以幫助找到延時最長的關鍵路徑,以便設計者改進設計。對於結構固定的設計,關鍵路徑法是進行速度優化的首選方法,可與其他方法配合使用。

在fpga設計中,面積優化實質上就是資源利用優化,面積優化有多種實現方法,諸如資源共享、邏輯優化、序列化,其中資源共享使用較多,下面舉例說明。

在利用fpga設計數字系統時經常遇到同一模組需要反覆被呼叫,例如多位乘法器、快速進製加法器等算術模組,它們占用晶元資源很多,使系統成本及器件功耗大幅上公升,因而使用資源共享技術能夠顯著優化資源。圖10和圖11是資源共享的乙個典型例項,由圖可見使用資源共享技術節省了乙個多位乘法器,從而達到減少資源消耗、優化面積的目的。

FPGA實戰演練邏輯篇 FPGA板級設計五要素

第一次寫部落格,排版也不太會,見諒!電源電路分為三部分包括 核心電壓 i o電壓 輔助電壓 一般為固定值 io引腳工作所需參考電壓 fpga的io分為多個bank,每乙個板塊的io引腳電壓相同,不同bank電壓可以不同 除了核心電壓和io電壓,fpga工作所需的其他電壓叫做輔助電壓 pll和dll ...

FPGA邏輯設計系列文章 模組劃分

1.fpga是自頂向下的設計模式,開始寫 時第一項面臨的就是模組劃分。模組劃分說容易就容易,說難就難,根據工程師的碼齡,可以分為下列幾種情況 第一階段 有啥好分的,就乙個.v檔案看著多方便 第二階段 寫的有點多啊,嘗試著分一下 第三階段 動手前,先想怎樣劃分 按a情況的劃分,介面端子數量太多啊 第四...

資料庫系統優化 業務邏輯設計優化

當我們優化乙個系統時,有時發現一種情況就是自己修改sql,索引以及分割槽是不能解決效能問題的。這時你要考慮業務邏輯優化和表設計的重構。這兩點的確和設計結合的很緊密。結合實際,我們先談談業務邏輯優化。案例一 我們的系統乙個文件模組,客戶點選時很慢,通過效能分析,是點選是去查詢資料庫,這時系統是通過hi...