存儲器、同步、異步總結(jié)

卿萃科技
卿萃科技ALIFPGA
在學習一門技術(shù)之前往往應(yīng)該從它的編程語言入手,比如學習單片機時,往往從匯編或者C語言入門。所以不少開始接觸FPGA的開發(fā)人員,往往是從VHDL或者Verilog開始入手學習的。但小編認為,若能先結(jié)合《數(shù)字電路基礎(chǔ)》系...

在學習一門技術(shù)之前往往應(yīng)該從它的編程語言入手,比如學習單片機時,往往從匯編或者C語言入門。所以不少開始接觸FPGA的開發(fā)人員,往往是從VHDL或者Verilog開始入手學習的。但小編認為,若能先結(jié)合《數(shù)字電路基礎(chǔ)》系統(tǒng)學習各種74系列邏輯電路,深刻理解邏輯功能,對于學習HDL語言大有裨益,往往會起到事半功倍的效果。

當然,任何編程語言的學習都不是一朝一夕的事,經(jīng)驗技巧的積累都是在點滴中完成,F(xiàn)PGA設(shè)計也無例外。下面繼續(xù)分享一些FPGA經(jīng)驗。

FPGA中的Block RAM:

3種塊RAM結(jié)構(gòu),M512 RAM(512bit)、M4K RAM(4Kbit)、M-RAM(64Kbit)。

M512 RAM:適合做一些小的Buffer、FIFO、DPRAM、SPRAM、ROM等;

M4K RAM: 適用于一般的需求;

M-RAM: 適合做大塊數(shù)據(jù)的緩沖區(qū)。

Xlinx 和 LatTIce FPGA的LUT可以靈活配置成小的RAM、ROM、FIFO等存儲結(jié)構(gòu),這種技術(shù)被稱為分布式RAM。

補充:但是在一般的設(shè)計中,不提倡用FPGA/CPLD的片內(nèi)資源配置成大量的存儲器,這是處于成本的考慮。所以盡量采用外接存儲器。

善用芯片內(nèi)部的PLL或DLL資源完成時鐘的分頻、倍頻率、移相等操作不僅簡化了設(shè)計,并且能有效地提高系統(tǒng)的精度和工作穩(wěn)定性。

異步電路和同步時序電路的區(qū)別。

異步電路:

電路核心邏輯有用組合電路實現(xiàn);

異步時序電路的最大缺點是容易產(chǎn)生毛刺;

不利于器件移植;

不利于靜態(tài)時序分析(STA)、驗證設(shè)計時序性能。

同步時序電路:

電路核心邏輯是用各種觸發(fā)器實現(xiàn);

電路主要信號、輸出信號等都是在某個時鐘沿驅(qū)動觸發(fā)器產(chǎn)生的;

同步時序電路可以很好的避免毛刺;

利于器件移植;

利于靜態(tài)時序分析(STA)、驗證設(shè)計時序性能。

同步設(shè)計中,穩(wěn)定可靠的數(shù)據(jù)采樣必須遵從以下兩個基本原則:

(1)在有效時鐘沿到達前,數(shù)據(jù)輸入至少已經(jīng)穩(wěn)定了采樣寄存器的Setup時間之久,這條原則簡稱滿足Setup時間原則;

(2)在有效時鐘沿到達后,數(shù)據(jù)輸入至少還將穩(wěn)定保持采樣寄存器的Hold時鐘之久,這條原則簡稱滿足Hold時間原則。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論