1 判決樹
在fpga中判斷使用if else語句以及case實現。
a) if else 是有特權的,類似於優先編碼(當兩個條件同時成立,僅判斷條件靠前的成立),所以當有特權條件時應該採用if else結構,對於並行的if條件語句其特權順序恰好與if else 相反。
b) case 語句常常(不總是)用在所有條件互不相容的條件下進行的。但是預設條件下case依然是有特權的,編譯器會選擇附加邏輯產生特權邏輯。如果我們確定條件是互斥的,那麼我們可以利用編譯偽指令『parallel_case』來實現完全並行結構。
c) 對於case預設條件下當所有條件均不滿足則保持當前值,我們也可以採用偽指令full_case來取消預設條件。
2 利用阻塞賦值可以模擬組合邏輯,非阻塞賦值可以模擬時序邏輯。但是不能把阻塞和非阻塞混合到乙個always模組中。
3 for loop可以用來壓縮某些功能一致的語句。
4 idef應該為全域性定義利用。
5 引數應該為區域性利用,從模組到模組轉換。
6 命名引數傳遞優於位置引數傳遞或者deparameter.
FPGA綜合優化
1 速度和面積 在全面優化水平將達到速度和面積rtl要利用邏輯拓撲的優勢。供 由於在後端而言缺乏知識,門級優化。普通情況下更高的速度要求更高的並行性以及更大的面積,可是在某些特殊情況下並非這樣。由於fpga的布局佈線具有二階效應。直到布局佈線完畢。工具才會知道器件的擁堵或者佈線的困難,可是這時實際邏...
FPGA之綜合篇
1 綜合注意事項 綜合部分可以用setting進行所需要求來配置,比如fsm狀態機的碼型,rtl的綜合屬性。要進行網表層次重建可以設定 synth design flatten rebuild 基於專案的綜合可以直接按按鈕或者執行tcl指令 launch runs synth 1 基於非專案批作業的...
FPGA綜合與VHDL語法
下面的內容是在富欣實習時總結下來的。綜合相關 1.劉工說,d觸發器最好不要一直重新整理,需要用到使能訊號,若使能訊號是長時間持續的,則需要取其的上公升沿和下降沿。2.以前寫 時,為了防止生成鎖存器,會像下面這樣寫 elsif clk event and clk 1 then if en 1 then...