Virtex-5FPGA設(shè)計Gbps無線通信基站
3.2.2 多時鐘與亞穩(wěn)態(tài)的解決
在通常的UART設(shè)計中,由于CPU時鐘與UART的數(shù)據(jù)接收、發(fā)送時鐘是處在不同的時鐘域,時鐘頻率和相位上存在差異,導致時序不能滿足建立時間和保持時間的要求,即數(shù)據(jù)的輸出處于不確定狀態(tài),從而出現(xiàn)時序違反(slack0)和亞穩(wěn)態(tài)。本文通過采用同步電路設(shè)計,有效地解決時序和亞穩(wěn)態(tài)的問題[6][7]。
3.2.3 UART 核的綜合與優(yōu)化
通過對RTL級進行優(yōu)化,再仿真驗證正確后,可以對UART核進行綜合優(yōu)化。本文采用SYNOPSYS軟件的design compile進行綜合優(yōu)化,利用tcl(tool command language)語言編寫綜合優(yōu)化的腳本。采用0.35um的工藝,將時鐘周期設(shè)置為5ns,在滿足時序(slack>0)的基礎(chǔ)上經(jīng)過綜合優(yōu)化,生成的時序、功耗、面積等參數(shù)如表1所示,優(yōu)化后的功耗和面積滿足了ASIC/SoC的要求。
表1 接收/發(fā)送模塊綜合得出的功耗、面積、時序等參數(shù)
4 結(jié)束語
本文利用SYNOPSYS軟件設(shè)計IP核,更適合用于ASIC/SoC設(shè)計,而采用傳統(tǒng)的EDA軟件實現(xiàn)的則適合用在FPGA上,不適合用來做掩膜生成ASIC/SoC。本UART核的邏輯設(shè)計采用VerilogHDL語言,用狀態(tài)機和移位寄存器設(shè)計使整個設(shè)計的時序清晰,同時減少了接收模塊停止位的判斷,通過對RTL級優(yōu)化避免了毛刺、亞穩(wěn)態(tài)、多時鐘等問題,仿真和驗證采用的是SYNOPSYS軟件的VCS,通過對時序、功耗、面積的綜合考慮,最后通過SYNOPSYS軟件的design compile 綜合優(yōu)化完成的IP 核可成功應用到ASIC/SoC 設(shè)計上。
本文作者創(chuàng)新點是利用SYNOPSYS軟件設(shè)計IP核,適合直接應用到ASIC/SoC設(shè)計中,并對RTL級做了優(yōu)化,消除了在UART設(shè)計中碰到毛刺、亞穩(wěn)態(tài)、多時鐘等問題;通過測試平臺(testbench)來仿真和驗證,RTL 代碼精簡,時序、面積和功耗都做了優(yōu)化,達到了IP核的要求。
評論