FPGA综合优化
1 速度和面積
在全面優(yōu)化水平將達(dá)到速度和面積RTL要利用邏輯拓?fù)涞膬?yōu)勢。
供FPGA由于在后端而言缺乏知識,門級優(yōu)化。普通情況下更高的速度要求更高的并行性以及更大的面積,可是在某些特殊情況下并非這樣。由于FPGA的布局布線具有二階效應(yīng)。
直到布局布線完畢。工具才會知道器件的擁堵或者布線的困難,可是這時實(shí)際邏輯拓?fù)湟呀?jīng)被提交,假設(shè)我們的優(yōu)化選項(xiàng)設(shè)置為速度,那么當(dāng)實(shí)現(xiàn)后器件過于擁擠而無法布局布線時,布局布線工具進(jìn)而會產(chǎn)生附加邏輯。從而是實(shí)際速度更慢。因此當(dāng)FPGA的資源利用率接近100%時進(jìn)行面積的優(yōu)化將獲得更快的速度。
2 利用綜合工具提供的資源共享選項(xiàng),能夠?qū)崿F(xiàn)一些互不相容的并且類似的操作,某些時候可能會減少面積,比如
assign outdata=isel?idata1+idata2:idat2+idata3; 沒有設(shè)置資源共享選項(xiàng)時實(shí)現(xiàn)例如以下:
打開資源共享設(shè)置后:
3 流水線、又一次定時和寄存器平衡
a 寄存器平衡不應(yīng)該用于非關(guān)鍵路徑。
b 帶有不同復(fù)位類型的相鄰觸發(fā)器會阻止寄存器平衡。
c 約束又一次同步寄存器,使其不被其它寄存器平衡影響。
4 有限狀態(tài)機(jī)的編譯
? 採用標(biāo)準(zhǔn)編碼的狀態(tài)機(jī)會被編譯器識別而且又一次優(yōu)化。
? 對于狀態(tài)機(jī),驅(qū)動異步輸出時應(yīng)該採用格雷碼,格雷碼產(chǎn)生例如以下圖所看到的:
編譯器會自己主動去除沒用的狀態(tài)。假設(shè)要求安全就別非常高。打開安全模式。無效的狀態(tài)產(chǎn)生時將會產(chǎn)生一個復(fù)位信號。
5 黑匣子,黑匣子被放在優(yōu)化模塊的網(wǎng)表或者布局圖的坐席。它包括在實(shí)現(xiàn)流程中的較后的設(shè)計總。
假設(shè)要求黑匣子時應(yīng)該給出I/O的時序模型。
6物理綜合提供綜合和布局圖之間的緊密聯(lián)系。
版權(quán)聲明:本文博主原創(chuàng)文章,博客,未經(jīng)同意不得轉(zhuǎn)載。
總結(jié)
- 上一篇: FL2440的U-boot-2009.0
- 下一篇: Mongodb基本操作之.net