資源優化(rtl結構)
資源共享
同樣結構的模組需要反覆被呼叫,但該結構模組需要占用的資源比較多,這類模組往往是基於組合電路的算數模組,比如乘法器、寬位加法器等。
主要針對資料通路中耗費邏輯資源比較多的模組,通過選擇、復用的方式共享使用該模組,以減少該模組的使用個數,達到較少資源使用,優化面積的目的。
並不是在任何情況下都能以此法實現資源優化,如果對與門之類的模組資源共享是無意義的,甚至會增加資源的使用。綜合器通過設定就能自動識別設計中需要資源共享的邏輯結構,自動地進行資源共享。
邏輯優化
使用優化後的邏輯進行設計。將常數定義為parameter。
序列化
序列化是指把原來耗用資源巨大、單時鐘週期內完成的並行執行的邏輯塊分割開來,提取出相同的邏輯模組(一般為組合模組),在時間上覆用該邏輯模組,用多個時鐘週期完成相同的功能,其代價是降低了工作速度。
速度優化(總體工作頻率)
流水線設計☆
在設計中加入流水線並不會減少原設計中的總延時,有時甚至會增加插入的暫存器的延時及訊號同步的時間差,但卻可以提高總體的執行速度。(最高工作頻率增加)
暫存器配平
如果兩個組合邏輯模組的延時差別大,其總體的工作頻率取決於最大的延時模組,從而導致設計的整體效能受到限制。類似問題可以利用流水線設計方法給予解決。這種優化方法的關鍵是配平暫存器之間的組合延時邏輯塊。
關鍵路徑法
關鍵路徑是指設計中從輸入到輸出經過的延時最長的邏輯路徑。優化關鍵路徑是一種提高設計工作速度的有效方法。一般從輸入到輸出的延時取決於訊號所經過的延時最長的路徑,而與其他延時小的路徑無關。在優化設計的過程中關鍵路徑法可以反覆使用,直到不可能減少關鍵路徑延時為止。
桌球操作法
可以看成是另一種形式的流水線技術。通過「輸入資料流選擇單元」和「輸出資料流選擇單元」按節拍、相互配合的切換,將經過緩衝的資料流「無縫」地,即沒有時間停頓的送到「資料流運算處理模組」進行處理。常應用於流水線式演算法,完成資料的無縫緩衝與處理,截**緩衝區空間。
加法樹法
部分類似於流水線法。
verilog設計經驗點滴
組合邏輯 1,敏感變數的描述完備性 verilog 中,用always塊設計組合邏輯電路時,在賦值表示式右端參與賦值的所有訊號都必須在always 敏感電平列表 中列出,always中if語句的判斷表示式必須在敏感電平列表中列出。如果在賦值表示式右端引用了敏感電平列表中沒有列出的訊號,在 綜合時將會...
verilog設計經驗點滴
verilog設計經驗點滴 2005 8 29 1,敏感變數的描述完備性 verilog中,用always塊設計組合邏輯電路時,在賦值表示式右端參與賦值的所有訊號都 必須在always 敏感電平列表 中列出,always中if語句的判斷表示式必須在敏感電平列 表中列出。如果在賦值表示式右端引用了敏感...
Verilog的層次化設計
在設計vorc時,發現對其進行層次化設計是一種好的方法。vorc的層次化設計就是將各個子功能模組 乘法 加法等 設計成子模組,而在頂層只進行例化。這樣層次清晰,邏輯關係明確,容易進行 和驗證。在對vorc進行功能 以及更正錯誤時效果非常明顯。在verilog中,頂層模組呼叫底層模組的語法很簡單 底層...